diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/ProductrepairRequestMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/ProductrepairRequestMainController.java index d2f1a7ca..8f2f7287 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/ProductrepairRequestMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/ProductrepairRequestMainController.java @@ -136,14 +136,25 @@ public class ProductrepairRequestMainController { // 手动创建导出 demo List list = new ArrayList<>(); Map mapDropDown = new HashMap<>(); -// String[] transferMode = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRANSFER_MODE); -// mapDropDown.put(2, transferMode); -// String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS); -// mapDropDown.put(10, inventoryStatus); + String[] inventoryStatus = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.INVENTORY_STATUS); + mapDropDown.put(11, inventoryStatus); + String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); + mapDropDown.put(14, uom); + String[] childUom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); + mapDropDown.put(16, childUom); // 输出 ExcelUtils.write(response, "制品返修申请信息导入模板.xlsx", "制品返修申请信息列表", ProductrepairRequestMainImportVO.class, list, mapDropDown); } + /** + * 导入先不做,暂时没有主-->子表-->子表的结构 + * @param response + * @param file + * @param mode + * @param updatePart + * @return + * @throws Exception + */ @PostMapping("/import") @Operation(summary = "导入制品返修申请") @Parameters({ @@ -157,7 +168,7 @@ public class ProductrepairRequestMainController { List list = ExcelUtils.read(file, ProductrepairRequestMainImportVO.class); ConvertUtil convertUtil = new ConvertUtil<>(ProductrepairRequestMainCreateReqVO.class); List createReqVOList = convertUtil.invoke(list).getDataList(); - List errorList = productrepairRequestMainService.importProductrepairRequestMainList(createReqVOList, mode, updatePart); + List errorList = productrepairRequestMainService.importProductrepairRequestMainList(createReqVOList, mode, updatePart); Map returnMap = new HashMap<>(); returnMap.put("errorCount", errorList.size()); if (!errorList.isEmpty()) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestMainImportVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestMainImportVO.java index 6ac38fee..b8221810 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestMainImportVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productrepairRequest/vo/ProductrepairRequestMainImportVO.java @@ -4,11 +4,13 @@ package com.win.module.wms.controller.productrepairRequest.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; import java.time.LocalDateTime; @Data @@ -17,6 +19,7 @@ import java.time.LocalDateTime; @Accessors(chain = false) // 设置 chain = false,避免用户导入有问题 public class ProductrepairRequestMainImportVO { + // 主表字段 @ExcelProperty("车间代码") private String workshopCode; @@ -26,60 +29,52 @@ public class ProductrepairRequestMainImportVO { @ExcelProperty("班次") private String shift; - @ExcelProperty("从仓库代码") - private String fromWarehouseCode; - - @ExcelProperty("单据号") - private String number; - - @ExcelProperty("业务类型") - private String businessType; - - @ExcelProperty("备注") - private String remark; + @ExcelProperty("截止时间") + private LocalDateTime dueTime; - @ExcelProperty("创建时间") - private LocalDateTime createTime; + // 一级子表字段 + @ExcelProperty("生产线代码") + private String productionlineCode; - @ExcelProperty("创建者用户名") - private String creator; + @ExcelProperty("工位代码") + private String workStationCode; - @ExcelProperty("申请时间") - private LocalDateTime requestTime; + @ExcelProperty("工序代码") + private String processCode; - @ExcelProperty("截止时间") - private LocalDateTime dueTime; + @ExcelProperty("包装号") + private String packingNumber; - @ExcelProperty("部门") - private String departmentCode; + @ExcelProperty("器具号") + private String containerNumber; - @ExcelProperty(value = "状态", converter = DictConvert.class) - @DictFormat("request_status") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String status; + @ExcelProperty("批次") + private String batch; - @ExcelProperty("最后更新时间") - private LocalDateTime updateTime; + @ExcelProperty("从库位代码") + private String fromLocationCode; - @ExcelProperty("最后更新者用户名") - private String updater; + @ExcelProperty(value = "库存状态", converter = DictConvert.class) + @DictFormat(DictTypeConstants.INVENTORY_STATUS) + private String inventoryStatus; - @ExcelProperty(value = "从库位类型范围", converter = DictConvert.class) - @DictFormat("location_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 - private String fromLocationTypes; + @ExcelProperty("物品代码") + private String itemCode; - @ExcelProperty("从库区代码范围") - private String fromAreaCodes; + @ExcelProperty("数量") + private BigDecimal qty; - @ExcelProperty("自动提交") - private String autoCommit; + @ExcelProperty(value = "计量单位", converter = DictConvert.class) + @DictFormat(DictTypeConstants.UOM) + private String uom; - @ExcelProperty("自动通过") - private String autoAgree; + //二级子表 + @ExcelProperty("BOM子物品代码") + private String childItemCode; - @ExcelProperty("自动执行") - private String autoExecute; + @ExcelProperty(value = "BOM子计量单位", converter = DictConvert.class) + @DictFormat(DictTypeConstants.UOM) + private String childUom; - @ExcelProperty("直接生成记录") - private String directCreateRecord; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainService.java index f05e92ba..1c0cf2f7 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainService.java @@ -135,5 +135,5 @@ public interface ProductrepairRequestMainService { * @param updatePart * @return */ - List importProductrepairRequestMainList(List createReqVOList, Integer mode, Boolean updatePart); + List importProductrepairRequestMainList(List createReqVOList, Integer mode, Boolean updatePart); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainServiceImpl.java index dcf845dd..934ad660 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productrepairRequest/ProductrepairRequestMainServiceImpl.java @@ -1,5 +1,6 @@ package com.win.module.wms.service.productrepairRequest; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.win.framework.common.exception.ServiceException; import com.win.framework.common.pojo.CustomConditions; @@ -9,11 +10,13 @@ import com.win.module.infra.api.trends.TrendsApi; import com.win.module.infra.enums.TrendsTypeEnum; import com.win.module.system.api.serialnumber.SerialNumberApi; import com.win.module.system.api.user.AdminUserApi; +import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.wms.controller.productrepairRecord.vo.ProductrepairRecordDetailCreateReqVO; import com.win.module.wms.controller.productrepairRecord.vo.ProductrepairRecordMainCreateReqVO; import com.win.module.wms.controller.productrepairRequest.vo.*; import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; +import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestDetailCreateReqVO; import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestMainImportErrorVO; import com.win.module.wms.convert.productrepairRecord.ConsumeRecordDetailbConvert; import com.win.module.wms.convert.productrepairRecord.ProductrepairRecordDetailConvert; @@ -21,6 +24,8 @@ import com.win.module.wms.convert.productrepairRecord.ProductrepairRecordMainCon import com.win.module.wms.convert.productrepairRequest.ProductrepairRequestDetailaConvert; import com.win.module.wms.convert.productrepairRequest.ProductrepairRequestDetailbConvert; import com.win.module.wms.convert.productrepairRequest.ProductrepairRequestMainConvert; +import com.win.module.wms.convert.transferissueRequest.TransferissueRequestDetailConvert; +import com.win.module.wms.convert.transferissueRequest.TransferissueRequestMainConvert; import com.win.module.wms.dal.dataobject.balance.BalanceDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; @@ -35,6 +40,8 @@ import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; import com.win.module.wms.dal.dataobject.shift.ShiftDO; import com.win.module.wms.dal.dataobject.team.TeamDO; import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; +import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestDetailDO; +import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestMainDO; import com.win.module.wms.dal.dataobject.workstation.WorkstationDO; import com.win.module.wms.dal.mysql.productrepairRecord.ConsumeRecordDetailbMapper; import com.win.module.wms.dal.mysql.productrepairRecord.ProductrepairRecordDetailMapper; @@ -118,6 +125,7 @@ public class ProductrepairRequestMainServiceImpl implements ProductrepairRequest @Resource private TransactionService transactionService; + @Transactional @Override public Long createProductrepairRequestMain(ProductrepairRequestMainCreateReqVO createReqVO) { RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("ProductRepairRequest"); @@ -130,7 +138,7 @@ public class ProductrepairRequestMainServiceImpl implements ProductrepairRequest return productrepairRequestMainDO.getId(); } - private void generateJob(ProductrepairRequestMainDO mainDO, List detailaDOList) { + public void generateJob(ProductrepairRequestMainDO mainDO, List detailaDOList) { //跳过任务直接生成记录 if("TRUE".equals(mainDO.getDirectCreateRecord())) { ProductrepairRecordMainCreateReqVO productrepairRecordMainCreateReqVO = new ProductrepairRecordMainCreateReqVO(); @@ -196,7 +204,7 @@ public class ProductrepairRequestMainServiceImpl implements ProductrepairRequest } } - private ProductrepairRequestMainDO validatorToCreate(ProductrepairRequestMainCreateReqVO createReqVO, RequestsettingDO requestsettingDO) { + public ProductrepairRequestMainDO validatorToCreate(ProductrepairRequestMainCreateReqVO createReqVO, RequestsettingDO requestsettingDO) { // DBT——>DBT3("ProductRepairRequest") BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ProductRepairRequest"); ProductrepairRequestMainDO mainBo = validateMainMethod(createReqVO,businesstypeDO,requestsettingDO); @@ -230,7 +238,7 @@ public class ProductrepairRequestMainServiceImpl implements ProductrepairRequest return mainBo; } - private void validateDetailbBom(ProductrepairRequestDetailbDO detailbDO, ProductrepairRequestDetailaDO detailaDO, ProductrepairRequestMainDO mainBo) { + public void validateDetailbBom(ProductrepairRequestDetailbDO detailbDO, ProductrepairRequestDetailaDO detailaDO, ProductrepairRequestMainDO mainBo) { // 校验--物品基本信息 ItembasicDO itembasicDO = itembasicService.selectItembasic(detailbDO.getItemCode()); // 赋值物品Item相关信息 @@ -535,9 +543,22 @@ public class ProductrepairRequestMainServiceImpl implements ProductrepairRequest return pageResult; } + @Transactional @Override - public List importProductrepairRequestMainList(List createReqVOList, Integer mode, Boolean updatePart) { - return null; + public List importProductrepairRequestMainList(List createReqVOList, Integer mode, Boolean updatePart) { + if (CollUtil.isEmpty(createReqVOList)) { + throw exception(PRODUCTREPAIR_REQUEST_MAIN_NOT_EXISTS); + } + List errorList = new ArrayList<>(); + createReqVOList.forEach(createReqVO -> { + ProductrepairRequestMainDO mainDo = new ProductrepairRequestMainDO(); + mainDo.setWorkshopCode(createReqVO.getWorkshopCode());//车间代码 + mainDo.setTeam(createReqVO.getTeam());//班组 + mainDo.setShift(createReqVO.getShift()); // 班次 + mainDo.setDueTime(createReqVO.getDueTime()); //截止时间 + }); + // log.info("调拨出库申请错误信息:{}",errorList); + return errorList; }