Browse Source

Merge remote-tracking branch 'origin/master'

master
廉洪喜 2 years ago
parent
commit
9af7e2fdc6
  1. 1
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java
  2. 52
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/IssueRequestMainController.java
  3. 25
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/vo/IssueRequestImportErrorVO.java
  4. 50
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/vo/IssueRequestImportVO.java
  5. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/vo/IssueRequestMainBaseVO.java
  6. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/vo/IssueRequestMainCreateReqVO.java
  7. 28
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/issueRequest/IssueRequestDetailConvert.java
  8. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/issueRequest/IssueRequestMainConvert.java
  9. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/issueRequest/IssueRequestMainMapper.java
  10. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainService.java
  11. 218
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainServiceImpl.java
  12. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/jobsetting/JobsettingService.java
  13. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionline/ProductionlineService.java
  14. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionline/ProductionlineServiceImpl.java
  15. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionlineitem/ProductionlineitemServiceImpl.java
  16. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRequest/PurchaseclaimRequestMainServiceImpl.java
  17. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/recordsetting/RecordsettingService.java
  18. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/requestsetting/RequestsettingService.java

1
win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java

@ -465,6 +465,7 @@ public interface ErrorCodeConstants {
ErrorCode PREPARETOISSUE_MAIN_NOT_EXISTS = new ErrorCode(1_000_085_000, "备料计划主不存在");
//备料计划子ErrorCode
ErrorCode PREPARETOISSUE_DETAIL_NOT_EXISTS = new ErrorCode(1_000_085_001, "备料计划子不存在");
ErrorCode PREPARETOISSUE_REQUEST_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_085_002, "导入备料计划不能为空");
//补料申请主ErrorCode
ErrorCode REPLEINSH_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_086_000, "补料申请主不存在");

52
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/IssueRequestMainController.java

@ -1,8 +1,15 @@
package com.win.module.wms.controller.issueRequest;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ConvertUtil;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.inspectRequest.vo.IssueRequestImportErrorVO;
import com.win.module.wms.controller.inspectRequest.vo.IssueRequestImportVO;
import com.win.module.wms.controller.inspectRequest.vo.IssueRequestMainCreateReqVO;
import com.win.module.wms.enums.DictTypeConstants;
import io.swagger.v3.oas.annotations.Parameters;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -13,6 +20,8 @@ import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*;
import javax.servlet.http.*;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*;
import java.io.IOException;
@ -29,6 +38,7 @@ import com.win.module.wms.controller.issueRequest.vo.*;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestMainDO;
import com.win.module.wms.convert.issueRequest.IssueRequestMainConvert;
import com.win.module.wms.service.issueRequest.IssueRequestMainService;
import org.springframework.web.multipart.MultipartFile;
@Tag(name = "管理后台 - 发料申请主")
@RestController
@ -120,7 +130,47 @@ public class IssueRequestMainController {
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
}
ExcelUtils.write(response, "发料申请主.xls", "数据", IssueRequestMainExcelVO.class, datas);
Map<Integer, String[]> mapDropDown = new HashMap<>();
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(7, uom);
ExcelUtils.write(response, "发料申请主.xls", "数据", IssueRequestMainExcelVO.class, datas,mapDropDown);
}
@GetMapping("/get-import-template")
@Operation(summary = "获得导入发料申请主信息模板")
public void importTemplate(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<IssueRequestImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(7, uom);
// 输出
ExcelUtils.write(response, "检验发料申请导入模板.xlsx", "发料申请信息列表", IssueRequestImportVO.class, list, mapDropDown);
}
@PostMapping("/import")
@Operation(summary = "导入发料申请基本信息")
@Parameters({
@Parameter(name = "file", description = "Excel 文件", required = true),
@Parameter(name = "mode", description = "导入模式1更新2追加3覆盖", example = "1"),
@Parameter(name = "updatePart", description = "部分更新,默认为 true", example = "true")
})
@PreAuthorize("@ss.hasPermission('wms:inspect-request-main:import')")
public CommonResult<Map<String, Object>> importExcel(HttpServletResponse response,
@RequestParam("file") MultipartFile file,
@RequestParam(value = "mode") Integer mode,
@RequestParam(value = "updatePart", required = false, defaultValue = "false") Boolean updatePart) throws Exception {
List<IssueRequestImportVO> list = ExcelUtils.read(file, IssueRequestImportVO.class);
ConvertUtil<IssueRequestMainCreateReqVO> convertUtil = new ConvertUtil<>(IssueRequestMainCreateReqVO.class);
List<IssueRequestMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<IssueRequestImportErrorVO> errorList = issueRequestMainService.importIssueRequestList(createReqVOList, mode, updatePart);
Map<String, Object> returnMap = new HashMap<>();
returnMap.put("errorCount", errorList.size());
if(!errorList.isEmpty()) {
String url = ExcelUtils.writeLocalFile("发料申请基本信息导入错误数据" + LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")) + ".xlsx", "错误列表", errorList);
returnMap.put("errorFile", url);
}
return success(returnMap);
}
}

25
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/vo/IssueRequestImportErrorVO.java

@ -0,0 +1,25 @@
package com.win.module.wms.controller.issueRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
/**
* 发料申请 Excel VO
*
* @author 超级管理员
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class IssueRequestImportErrorVO extends IssueRequestImportVO {
@ExcelProperty(value = "导入状态", index = 0)
private String importStatus;
@ExcelProperty(value = "导入说明", index = 1)
private String importRemark;
}

50
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/vo/IssueRequestImportVO.java

@ -0,0 +1,50 @@
package com.win.module.wms.controller.issueRequest.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.convert.DictConvert;
import com.win.module.wms.enums.DictTypeConstants;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* 发料申请 Excel VO
*
* @author 超级管理员
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
public class IssueRequestImportVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("车间代码")
private String workshopCode;
@ExcelProperty("使用在途库")
private String useOnTheWayLocation;
@ExcelProperty("生产线代码")
private String productionLineCode;
@ExcelProperty("工位代码")
private String workStationCode;
@ExcelProperty("物品代码")
private String itemCode;
@ExcelProperty("数量")
private BigDecimal qty;
@ExcelProperty(value = "计量单位", converter = DictConvert.class)
@DictFormat(DictTypeConstants.UOM)
private String uom;
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/vo/IssueRequestMainBaseVO.java

@ -1,5 +1,6 @@
package com.win.module.wms.controller.issueRequest.vo;
import com.win.framework.excel.core.annotations.OnlyOne;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
@ -43,6 +44,7 @@ public class IssueRequestMainBaseVO {
@Schema(description = "到库区代码范围")
private String toAreaCodes;
@OnlyOne
@Schema(description = "单据号")
private String number;

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/issueRequest/vo/IssueRequestMainCreateReqVO.java

@ -1,12 +1,20 @@
package com.win.module.wms.controller.issueRequest.vo;
import com.win.framework.excel.core.annotations.SubObject;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestDetailCreateReqVO;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List;
@Schema(description = "管理后台 - 发料申请主创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class IssueRequestMainCreateReqVO extends IssueRequestMainBaseVO {
@SubObject
@Schema(description = "子表数据")
private List<IssueRequestDetailCreateReqVO> subList;
}

28
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/issueRequest/IssueRequestDetailConvert.java

@ -4,11 +4,11 @@ import java.util.*;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestDetailCreateReqVO;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestDetailExcelVO;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestDetailRespVO;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestDetailUpdateReqVO;
import com.win.module.wms.controller.issueRequest.vo.*;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestMainDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestDetailDO;
@ -34,4 +34,24 @@ public interface IssueRequestDetailConvert {
List<IssueRequestDetailExcelVO> convertList02(List<IssueRequestDetailDO> list);
List<IssueRequestDetailDO> convertList03(List<IssueRequestDetailCreateReqVO> list);
List<IssueRequestDetailDO> convertList04(List<IssueRequestDetailUpdateReqVO> list);
@Mappings({
@Mapping(source = "mainDO.number", target = "number"),
@Mapping(source = "mainDO.remark", target = "remark"),
@Mapping(source = "mainDO.createTime", target = "createTime"),
@Mapping(source = "mainDO.creator", target = "creator"),
@Mapping(source = "mainDO.updateTime", target = "updateTime"),
@Mapping(source = "mainDO.updater", target = "updater"),
})
IssueRequestDetailExcelVO convert(IssueRequestMainDO mainDO, IssueRequestDetailDO detailDO);
@Mappings({
@Mapping(source = "mainVo.number", target = "number"),
})
IssueRequestImportErrorVO convert(IssueRequestMainCreateReqVO mainVo, IssueRequestDetailCreateReqVO detailVo);
IssueRequestDetailCreateReqVO convert1(IssueRequestDetailDO detailDO);
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/issueRequest/IssueRequestMainConvert.java

@ -34,4 +34,5 @@ public interface IssueRequestMainConvert {
List<IssueRequestMainExcelVO> convertList02(List<IssueRequestMainDO> list);
IssueRequestMainCreateReqVO convert1(IssueRequestMainCreateReqVO createReqVO);
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/issueRequest/IssueRequestMainMapper.java

@ -78,4 +78,7 @@ public interface IssueRequestMainMapper extends BaseMapperX<IssueRequestMainDO>
.orderByDesc(IssueRequestMainDO::getId));
}
default IssueRequestMainDO selectWorkShopCodeAndUseOnTheWayLocation(String workshopCode, String useOnTheWayLocation){
return selectOne(IssueRequestMainDO::getWorkshopCode,workshopCode, IssueRequestMainDO::getUseOnTheWayLocation,useOnTheWayLocation);
};
}

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainService.java

@ -4,10 +4,9 @@ import java.util.*;
import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestMainCreateReqVO;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestMainExportReqVO;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestMainPageReqVO;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestMainUpdateReqVO;
import com.win.module.wms.controller.issueRequest.vo.*;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestImportErrorVO;
import com.win.module.wms.controller.purchasereturnRequest.vo.PurchasereturnRequestMainCreateReqVO;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestMainDO;
import com.win.framework.common.pojo.PageResult;
@ -80,4 +79,6 @@ public interface IssueRequestMainService {
*/
List<IssueRequestMainDO> getIssueRequestMainList(IssueRequestMainExportReqVO exportReqVO);
public List<IssueRequestImportErrorVO> importIssueRequestList(List<IssueRequestMainCreateReqVO> datas, Integer mode, boolean updatePart);
}

218
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/issueRequest/IssueRequestMainServiceImpl.java

@ -1,14 +1,43 @@
package com.win.module.wms.service.issueRequest;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.exceptions.UtilException;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestMainCreateReqVO;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestMainExportReqVO;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestMainPageReqVO;
import com.win.module.wms.controller.issueRequest.vo.IssueRequestMainUpdateReqVO;
import com.win.framework.common.util.validation.ValidationUtils;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.module.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.issueRequest.vo.*;
import com.win.module.wms.controller.rule.vo.RuleRespVO;
import com.win.module.wms.convert.issueRequest.IssueRequestDetailConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestDetailDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.dataobject.workstation.WorkstationDO;
import com.win.module.wms.dal.mysql.issueRequest.IssueRequestDetailMapper;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.productionline.ProductionlineService;
import com.win.module.wms.service.productionlineitem.ProductionlineitemService;
import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.service.rule.RuleService;
import com.win.module.wms.service.workshop.WorkshopService;
import com.win.module.wms.service.workstation.WorkstationService;
import com.win.module.wms.util.JobUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.validation.Validator;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.validation.annotation.Validated;
import java.time.LocalDateTime;
import java.util.*;
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestMainDO;
@ -31,6 +60,28 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService {
@Resource
private IssueRequestMainMapper issueRequestMainMapper;
@Resource
private IssueRequestDetailMapper issueRequestDetailMapper;
@Resource
private Validator validator;
@Resource
private SerialNumberApi serialNumberApi;
@Resource
private ItembasicService itembasicService;
@Resource
private WorkshopService workshopService;
@Resource
private ProductionlineitemService productionlineitemService;
@Resource
private ProductionlineService productionlineService;
@Resource
private WorkstationService workstationService;
@Resource
private JobUtils jobUtils;
@Resource
private RuleService ruleService;
@Resource
private RequestsettingService requestsettingService;
@Override
public Long createIssueRequestMain(IssueRequestMainCreateReqVO createReqVO) {
@ -60,6 +111,8 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService {
private void validateIssueRequestMainExists(Long id) {
if (issueRequestMainMapper.selectById(id) == null) {
return;
} else {
throw exception(ISSUE_REQUEST_MAIN_NOT_EXISTS);
}
}
@ -78,6 +131,7 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService {
public PageResult<IssueRequestMainDO> getIssueRequestMainPage(IssueRequestMainPageReqVO pageReqVO) {
return issueRequestMainMapper.selectPage(pageReqVO);
}
@Override
public PageResult<IssueRequestMainDO> getIssueRequestMainSenior(CustomConditions conditions) {
return issueRequestMainMapper.selectSenior(conditions);
@ -88,4 +142,160 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService {
return issueRequestMainMapper.selectList(exportReqVO);
}
private void ifUomSuccess(String itemUom, String uom) {
if (!itemUom.equals(uom)) {
throw new UtilException("提示单位" + uom + "错误,应该是" + itemUom);
}
}
private Boolean ifLocationCodeInRule(String itemCode, String locationCode, String ruleLocationCode) {
String[] ruleLocationCodes = ruleLocationCode.split(",");
Boolean request = false;
for (String code : ruleLocationCodes) {
if (code.equals(locationCode)) {
request = true;
} else {
throw new UtilException("未查找到零件" + itemCode + "与库位" + locationCode + "对应的上架策略");
}
}
return request;
}
@Override
@Transactional
public List<IssueRequestImportErrorVO> importIssueRequestList(List<IssueRequestMainCreateReqVO> datas, Integer mode, boolean updatePart) {
if (CollUtil.isEmpty(datas)) {
throw exception(PREPARETOISSUE_REQUEST_IMPORT_LIST_IS_EMPTY);
}
List<IssueRequestImportErrorVO> errorList = new ArrayList<>();
datas.forEach(createReqVO -> {
String messageMain = "";
BusinesstypeDO businesstypeDO = null;
//主表校验方法
try {
validateIssueRequestMainExists(null);
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try {
workshopService.selectWorkshopExist(createReqVO.getWorkshopCode());
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
createReqVO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
createReqVO.setRequestTime(LocalDateTime.now());
try {
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("IssueRequest");
if (requestsettingDO != null) {
createReqVO.setAutoAgree(requestsettingDO.getAutoAgree());
createReqVO.setAutoCommit(requestsettingDO.getAutoCommit());
createReqVO.setAutoExecute(requestsettingDO.getAutoExecute());
createReqVO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord());
}
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try {
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("IssueRequest");
createReqVO.setBusinessType(businesstypeDO.getCode());
createReqVO.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
createReqVO.setToLocationTypes(businesstypeDO.getInLocationTypes());
createReqVO.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
createReqVO.setToAreaCodes(businesstypeDO.getInAreaCodes());
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try {
ValidationUtils.validate(validator, createReqVO);
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RETURN_REQUEST.getCode());
createReqVO.setNumber(number);
List<IssueRequestDetailCreateReqVO> subList = createReqVO.getSubList();
List<IssueRequestDetailDO> subDOList = IssueRequestDetailConvert.INSTANCE.convertList03(subList);
for (IssueRequestDetailDO detailDO : subDOList) {
String messageDetail = "";
// 校验,判断是否有不符合的原因,并加入errorList,同主表,只把有错误的子表加入errorList
//子表校验方法
try {
ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDO.getItemCode());
detailDO.setItemDesc1(itembasicDO.getDesc1());
detailDO.setItemDesc2(itembasicDO.getDesc2());
detailDO.setItemName(itembasicDO.getName());
detailDO.setProjectCode(itembasicDO.getProject());
try {
jobUtils.ifInType(itembasicDO.getType(), businesstypeDO);
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try {
ifUomSuccess(itembasicDO.getUom(), detailDO.getUom());
} catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
} catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
try {
ProductionlineDO productionlineDO = productionlineService.productionLineCodeExist(detailDO.getProductionLineCode());
detailDO.setToLocationCode(productionlineDO.getRawLocationCode());
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try {
if (detailDO.getWorkStationCode() != "") {
WorkstationDO workstationDO = workstationService.selectWorkstationExist(detailDO.getWorkStationCode(), createReqVO.getWorkshopCode(), detailDO.getProductionLineCode());
detailDO.setToLocationCode(workstationDO.getRawLocationCode());
}
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try {
productionlineitemService.productionLineCodeAndpItemCodeExist(detailDO.getProductionLineCode(), detailDO.getItemCode());
} catch (Exception ex) {
messageMain += ex.getMessage() + ",";
}
try {
RuleRespVO grounding = ruleService.grounding(null, null, null, null, null, null, detailDO.getItemCode(), null, null, null, null, null, null);
JSONObject json = JSONUtil.parseObj(grounding);
String locationCode = json.get("LocationCode").toString();
try {
ifLocationCodeInRule(detailDO.getItemCode(), detailDO.getToLocationCode(), locationCode);
} catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
} catch (Exception ex) {
messageDetail += ex.getMessage() + ",";
}
IssueRequestDetailCreateReqVO purchaseturnRequestDetailCreateReqVO = IssueRequestDetailConvert.INSTANCE.convert1(detailDO);
IssueRequestImportErrorVO importVO = IssueRequestDetailConvert.INSTANCE.convert(createReqVO, purchaseturnRequestDetailCreateReqVO);
if (!messageMain.equals("") || !messageDetail.equals("")) {
importVO.setImportStatus("失败");
messageMain = messageMain + messageDetail;
importVO.setImportRemark(messageMain.substring(0, messageMain.length() - 1));
errorList.add(importVO);
} else {
detailDO.setNumber(createReqVO.getNumber());
detailDO.setMasterId(createReqVO.getId());
}
}
IssueRequestMainDO createobj = IssueRequestMainConvert.INSTANCE.convert(createReqVO);
if (errorList.isEmpty()) {
IssueRequestMainDO existIssueRequestMainDO = issueRequestMainMapper.selectWorkShopCodeAndUseOnTheWayLocation(createReqVO.getWorkshopCode(), createobj.getUseOnTheWayLocation());
if (existIssueRequestMainDO == null && mode != 3) {
issueRequestMainMapper.insert(createobj);
issueRequestDetailMapper.insertBatch(subDOList);
} else if (existIssueRequestMainDO != null && mode != 2) {
issueRequestMainMapper.updateById(createobj);
issueRequestDetailMapper.updateBatch(subDOList);
}
}
});
//错误不为空并非部分更新,手工回滚
if (!errorList.isEmpty() && !updatePart) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return errorList;
}
}

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/jobsetting/JobsettingService.java

@ -80,7 +80,7 @@ public interface JobsettingService {
List<JobsettingImportExcelVO> importJobsettingList(List<JobsettingImportExcelVO> jobsettings, Integer mode, Boolean updatePart);
/**
* Setting------QJS
* Setting------QJobs
* 查询任务单设置是否存在
* @author chenfang
* @param pcode code

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionline/ProductionlineService.java

@ -97,4 +97,13 @@ public interface ProductionlineService {
* @return 分页列表
*/
PageResult<ProductionlineDO> getProductionlineSenior(CustomConditions conditions);
/**
* BQ---QPL
* 校验生产线基础信息
* @author chenfang
* @param pproductionLineCode
* @return
*/
public ProductionlineDO productionLineCodeExist(String pproductionLineCode);
}

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionline/ProductionlineServiceImpl.java

@ -13,6 +13,7 @@ import com.win.module.wms.convert.productionline.ProductionlineConvert;
import com.win.module.wms.dal.dataobject.accountcalendar.AccountcalendarDO;
import com.win.module.wms.dal.dataobject.owner.OwnerDO;
import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO;
import com.win.module.wms.dal.dataobject.productionlineitem.ProductionlineitemDO;
import com.win.module.wms.dal.mysql.productionline.ProductionlineMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
@ -196,4 +197,15 @@ public class ProductionlineServiceImpl implements ProductionlineService {
return productionlineMapper.selectSenior(conditions);
}
@Override
public ProductionlineDO productionLineCodeExist(String pproductionLineCode){
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("code",pproductionLineCode);
ProductionlineDO productionlineDO = productionlineMapper.selectOne(queryWrapper);
if(productionlineDO != null && "TRUE".equals(productionlineDO.getAvailable())){
return productionlineDO;
}else {
throw exception(PRODUCTIONLINE_NOT_EXISTS);
}
}
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionlineitem/ProductionlineitemServiceImpl.java

@ -168,6 +168,7 @@ public class ProductionlineitemServiceImpl implements ProductionlineitemService
}
}
//零件生产线关系有效
@Override
public List<ProductionlineitemDO> productionLineCodeAndpItemCodeExist(String pproductionLineCode,String pitemCode) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("production_line_code",pproductionLineCode);

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchaseclaimRequest/PurchaseclaimRequestMainServiceImpl.java

@ -155,7 +155,7 @@ public class PurchaseclaimRequestMainServiceImpl implements PurchaseclaimRequest
}
private void selectUomExist(String itemUom,String uom) {
if(itemUom == uom){
if(itemUom.equals(uom)){
return;
}else {
throw new UtilException("提示单位"+ uom + "错误,应该是" + itemUom);

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/recordsetting/RecordsettingService.java

@ -81,7 +81,7 @@ public interface RecordsettingService {
List<RecordsettingImportExcelVO> importRecordsettingList(List<RecordsettingImportExcelVO> recordsettings, Integer mode, Boolean updatePart);
/**
* Setting-----QRS
* Setting-----QRecs
* 查询记录单设置是否存在
* @author chenfang
* @param pcode

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/requestsetting/RequestsettingService.java

@ -78,7 +78,7 @@ public interface RequestsettingService {
List<RequestsettingImportExcelVO> importRequestsettingList(List<RequestsettingImportExcelVO> requestsettings, Integer mode, Boolean updatePart);
/**
* Setting-----QRS
* Setting-----QReqs
* 查询申请单设置是否存在
* @author chenfang
* @param pcode

Loading…
Cancel
Save