From 1279bec2972d10b32eb9ac2aa8b1e7ac7d6fc3a8 Mon Sep 17 00:00:00 2001 From: yejiaxing <591141169@qq.com> Date: Fri, 8 Dec 2023 13:56:05 +0800 Subject: [PATCH] =?UTF-8?q?BUG=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../purchase/PurchaseMainController.java | 6 ++-- .../purchase/vo/PurchaseDetailBaseVO.java | 3 ++ .../purchase/vo/PurchaseMainBaseVO.java | 3 +- .../purchase/vo/PurchaseMainImportVO.java | 6 +--- .../DemandforecastingMainServiceImpl.java | 6 ++++ .../purchase/PurchaseMainServiceImpl.java | 31 ++++++++++--------- .../PurchasePlanMainServiceImpl.java | 10 +++--- 7 files changed, 37 insertions(+), 28 deletions(-) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/PurchaseMainController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/PurchaseMainController.java index 643e7abd..314d4fa2 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/PurchaseMainController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/PurchaseMainController.java @@ -137,8 +137,10 @@ public class PurchaseMainController { Map mapDropDown = new HashMap<>(); String[] type = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_ORDER_TYPE); mapDropDown.put(2, type); -// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); -// mapDropDown.put(25, uom); + String[] isConsignment = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.TRUE_FALSE); + mapDropDown.put(6, isConsignment); + String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM); + mapDropDown.put(11, uom); // 输出 ExcelUtils.write(response, "采购订单导入模板.xlsx", "采购订单列表", PurchaseMainImportVO.class, list, mapDropDown); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseDetailBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseDetailBaseVO.java index ae1e3e7f..a4dbce86 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseDetailBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseDetailBaseVO.java @@ -1,5 +1,7 @@ package com.win.module.wms.controller.purchase.vo; +import com.win.framework.excel.core.annotations.DictFormat; +import com.win.module.wms.enums.DictTypeConstants; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; @@ -102,6 +104,7 @@ public class PurchaseDetailBaseVO { @Schema(description = "计量单位", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "计量单位不能为空") + @DictFormat(DictTypeConstants.UOM) private String uom; @Schema(description = "最后更新时间") diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainBaseVO.java index eb2e6319..e43e2a5b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainBaseVO.java @@ -4,7 +4,6 @@ import com.win.framework.excel.core.annotations.OnlyOne; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; - import javax.validation.constraints.NotNull; import java.math.BigDecimal; import java.time.LocalDateTime; @@ -22,10 +21,10 @@ public class PurchaseMainBaseVO { private Long id; @Schema(description = "供应商代码") + @OnlyOne private String supplierCode; @Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED) - @OnlyOne private String number; @Schema(description = "订单类型", requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainImportVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainImportVO.java index 6834ffd7..2bd3fd82 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainImportVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainImportVO.java @@ -32,21 +32,16 @@ public class PurchaseMainImportVO { @ExcelProperty("订单类型") @DictFormat("purchase_order_type") // TODO 代码优化:建议设置到对应的 XXXDictTypeConstants 枚举类中 private String type; - @ExcelProperty("联系人姓名") private String contactName; - @ExcelProperty("联系人电话") @ColumnWidth(value = 16) private String contactPhone; - @ExcelProperty("联系人电子邮件") @ColumnWidth(value = 16) private String contactEmail; - @ExcelProperty("是否寄存订单") private String isConsignment; - @ExcelProperty("截止日期") private LocalDateTime dueDate; @@ -58,6 +53,7 @@ public class PurchaseMainImportVO { @ExcelProperty("数量") private BigDecimal orderQty; @ExcelProperty("计量单位") + @DictFormat("uom") private String uom; @ExcelProperty("超收百分比") private BigDecimal overReceivingPercent; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/demandforecasting/DemandforecastingMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/demandforecasting/DemandforecastingMainServiceImpl.java index 68c2d057..e9c0ff09 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/demandforecasting/DemandforecastingMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/demandforecasting/DemandforecastingMainServiceImpl.java @@ -34,6 +34,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -73,6 +74,11 @@ public class DemandforecastingMainServiceImpl implements DemandforecastingMainSe @Override public Long createDemandforecastingMain(DemandforecastingMainCreateReqVO createReqVO) { + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchasePrediction"); + createReqVO.setBusinessType(businesstypeDO.getCode()); + String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_PREDICTION.getCode()); + createReqVO.setNumber(number); + createReqVO.setCreateTime(LocalDateTime.now()); DemandforecastingMainDO demandforecastingMainDO = validatorToCreate(createReqVO); //调用自动执行方法 if(RequestStatusEnum.HANDLING.getCode().equals(demandforecastingMainDO.getStatus())) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java index ad48f3f3..401e802b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java @@ -11,6 +11,8 @@ import com.win.framework.common.pojo.PageResult; import com.win.framework.dict.core.util.DictFrameworkUtils; import com.win.module.infra.api.trends.TrendsApi; import com.win.module.infra.enums.TrendsTypeEnum; +import com.win.module.system.api.dict.DictDataApi; +import com.win.module.system.api.dict.dto.DictDataRespDTO; import com.win.module.system.api.serialnumber.SerialNumberApi; import com.win.module.system.enums.serialNumber.RuleCodeEnum; import com.win.module.wms.controller.purchase.vo.*; @@ -56,7 +58,6 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; - import javax.annotation.Resource; import java.math.BigDecimal; import java.time.LocalDateTime; @@ -112,6 +113,8 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { private SerialNumberApi serialNumberApi; @Resource private SupplierService supplierService; + @Resource + private DictDataApi dictDataApi; @Override public Long createPurchaseMain(PurchaseMainCreateReqVO createReqVO) { @@ -226,7 +229,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { boolean flag = true; for (PurchaseDetailDO detailDO : subDOList) { String messageDetail = validatorPurchaseDetailImport(detailDO, mainDo); - if (!messageMain.isEmpty() || messageDetail.isEmpty()) { + if (!messageMain.isEmpty() || !messageDetail.isEmpty()) { PurchaseMainImportErrorVO importErrorVO = PurchaseDetailConvert.INSTANCE.convert(createReqVO, detailDO); importErrorVO.setImportStatus("失败"); messageMain = messageMain + messageDetail; @@ -303,20 +306,20 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { this.validatorItembasic(detailDo.getItemCode()); this.validatorItemPackagingExist(detailDo.getItemCode()); ItempackagingDO itempackagingDO = itempackagingService.selectItemPackagingExist(detailDo.getItemCode()); - if(itempackagingDO != null){ + if (itempackagingDO != null) { detailDo.setStdPackUnit(itempackagingDO.getStdPackUnit()); detailDo.setStdPackQty(itempackagingDO.getStdPackQty()); } SupplieritemDO supplieritemDO = this.validatorSupplierItemExist(mainDo.getSupplierCode(), detailDo.getItemCode()); - if(supplieritemDO != null){ + if (supplieritemDO != null) { detailDo.setSupplierUom(supplieritemDO.getSupplierUom()); detailDo.setSupplierQty(supplieritemDO.getPackQty()); detailDo.setConvertRate(supplieritemDO.getConvertRate()); - }else { + } else { throw exception(SUPPLIERITEM_NOT_EXISTS); } StdcostpriceDO stdcostpriceDO = this.validatorStdcostpriceExist(mainDo.getSupplierCode(), detailDo.getItemCode()); - if(stdcostpriceDO!=null){ + if (stdcostpriceDO != null) { detailDo.setSinglePrice(stdcostpriceDO.getPrice()); if ("CNY".equals(stdcostpriceDO.getCurrency())) { detailDo.setAmount(detailDo.getSinglePrice().multiply(detailDo.getOrderQty())); @@ -324,7 +327,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { CurrencyexchangeDO currencyexchangeDO = currencyexchangeService.selectCurrencyexchangeExist(stdcostpriceDO.getCurrency(), "CNY"); detailDo.setAmount(detailDo.getSinglePrice().multiply(detailDo.getOrderQty()).multiply(currencyexchangeDO.getRate())); } - }else { + } else { throw exception(STDCOSTPRICE_NOT_EXISTS); } } @@ -378,8 +381,8 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { //主表的验证 //校验供应商基础信息 try { - ShiftDO shiftDO = shiftService.selectShiftExist(mainDo.getSupplierCode()); - if (shiftDO == null) { + SupplierDO supplierDO = supplierService.selectSupplier(mainDo.getSupplierCode()); + if (supplierDO == null) { messageMain += "未查找到供应商" + mainDo.getSupplierCode() + "信息" + ","; } } catch (ServiceException ex) { @@ -412,9 +415,9 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { // 校验物品基础信息 try { ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDo.getItemCode()); - if (itembasicDO.getUom() != detailDo.getUom()) { - messageDetail += "计量单位" + itembasicDO.getUom() + "错误,应该是" + detailDo.getUom() + ","; - } +// if (itembasicDO.getUom() != dictDataRespDTO.getValue()) { +// messageDetail += "计量单位" + itembasicDO.getUom() + "错误,应该是" + detailDo.getUom() + ","; +// } detailDo.setProjectCode(itembasicDO.getCode()); } catch (ServiceException ex) { messageDetail += ex.getMessage() + ","; @@ -705,8 +708,8 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { for (PurchaseMainDO purchaseMainDO : purchaseMainDOList) { QueryWrapper purchaseDetailDOQueryWrapper = new QueryWrapper<>(); purchaseDetailDOQueryWrapper.eq("number", poNumber); - purchaseDetailDOQueryWrapper.eq("line_number", poNumber); - purchaseDetailDOQueryWrapper.eq("item_code", poNumber); + purchaseDetailDOQueryWrapper.eq("line_number", poLine); + purchaseDetailDOQueryWrapper.eq("item_code", itemCode); purchaseDetailDOQueryWrapper.eq("available", "TRUE"); List purchaseDetailDOList = purchaseDetailMapper.selectList(purchaseDetailDOQueryWrapper); for (PurchaseDetailDO purchaseDetailDO : purchaseDetailDOList) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainServiceImpl.java index adb1c9c1..4068f35f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainServiceImpl.java @@ -329,7 +329,7 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService { @Transactional public Integer closePurchasePlanMain(Long id) { PurchasePlanMainDO mainDO = validatePurchasePlanMainExists(id); - mainDO.setStatus(PlanStatusEnum.CLOSED.getCode());//增加操作记录 + mainDO.setStatus(PurchasePlanStatusEnum.CLOSED.getCode());//增加操作记录 trendsApi.createTrends(id, "plan_purchase_main", "关闭了要货计划申请", TrendsTypeEnum.UPDATE); return purchasePlanMainMapper.updateById(mainDO); } @@ -338,7 +338,7 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService { @Transactional public Integer openPurchasePlanMain(Long id) { PurchasePlanMainDO mainDO = validatePurchasePlanMainExists(id); - mainDO.setStatus(PlanStatusEnum.NEW.getCode());//增加操作记录 + mainDO.setStatus(PurchasePlanStatusEnum.NEW.getCode());//增加操作记录 trendsApi.createTrends(id, "plan_purchase_main", "打开了要货计划申请", TrendsTypeEnum.UPDATE); return purchasePlanMainMapper.updateById(mainDO); } @@ -347,7 +347,7 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService { @Transactional public Integer publishPurchasePlanMain(Long id) { PurchasePlanMainDO mainDO = validatePurchasePlanMainExists(id); - mainDO.setStatus(PlanStatusEnum.PUBLISHED.getCode());//增加操作记录 + mainDO.setStatus(PurchasePlanStatusEnum.PUBLISHED.getCode());//增加操作记录 trendsApi.createTrends(id, "plan_purchase_main", "发布了要货计划申请", TrendsTypeEnum.UPDATE); return purchasePlanMainMapper.updateById(mainDO); } @@ -356,7 +356,7 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService { @Transactional public Integer witPurchasePlanMain(Long id) { PurchasePlanMainDO mainDO = validatePurchasePlanMainExists(id); - mainDO.setStatus(PlanStatusEnum.NEW.getCode());//增加操作记录 + mainDO.setStatus(PurchasePlanStatusEnum.NEW.getCode());//增加操作记录 trendsApi.createTrends(id, "plan_purchase_main", "下架了要货计划申请", TrendsTypeEnum.UPDATE); return purchasePlanMainMapper.updateById(mainDO); } @@ -365,7 +365,7 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService { @Transactional public Integer accPurchasePlanMain(Long id) { PurchasePlanMainDO mainDO = validatePurchasePlanMainExists(id); - mainDO.setStatus(PlanStatusEnum.AGREED.getCode());//增加操作记录 + mainDO.setStatus(PurchasePlanStatusEnum.ACCEPTED.getCode());//增加操作记录 trendsApi.createTrends(id, "plan_purchase_main", "接受了要货计划申请", TrendsTypeEnum.UPDATE); return purchasePlanMainMapper.updateById(mainDO); }