Browse Source

BUG修改

master
叶佳兴 2 years ago
parent
commit
79a4ccf059
  1. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainBaseVO.java
  2. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainImportVO.java
  3. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/PurchasePlanMainController.java
  4. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/vo/PurchasePlanMainBaseVO.java
  5. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/vo/PurchasePlanMainImportVO.java
  6. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/demandforecasting/DemandforecastingMainServiceImpl.java
  7. 16
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java
  8. 53
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainServiceImpl.java
  9. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainServiceImpl.java

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainBaseVO.java

@ -21,7 +21,6 @@ public class PurchaseMainBaseVO {
private Long id;
@Schema(description = "供应商代码")
@OnlyOne
private String supplierCode;
@Schema(description = "单据号", requiredMode = Schema.RequiredMode.REQUIRED)

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchase/vo/PurchaseMainImportVO.java

@ -3,6 +3,7 @@ package com.win.module.wms.controller.purchase.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.annotations.OnlyOne;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -27,6 +28,7 @@ public class PurchaseMainImportVO {
@ExcelProperty("单据号")
private String number;
@ExcelProperty("供应商代码")
@OnlyOne
private String supplierCode;
//日程/离散
@ExcelProperty("订单类型")

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/PurchasePlanMainController.java

@ -3,14 +3,18 @@ package com.win.module.wms.controller.purchasePlan;
import com.win.framework.common.pojo.CommonResult;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.framework.dict.core.util.DictFrameworkUtils;
import com.win.framework.excel.core.util.ConvertUtil;
import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.purchase.vo.PurchaseMainCreateReqVO;
import com.win.module.wms.controller.purchase.vo.PurchaseMainImportVO;
import com.win.module.wms.controller.purchasePlan.vo.*;
import com.win.module.wms.convert.purchasePlan.PurchasePlanMainConvert;
import com.win.module.wms.dal.dataobject.purchasePlan.PurchasePlanMainDO;
import com.win.module.wms.enums.DictTypeConstants;
import com.win.module.wms.service.purchasePlan.PurchasePlanMainService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
@ -129,10 +133,8 @@ public class PurchasePlanMainController {
// 手动创建导出 demo
List<PurchasePlanMainImportVO> list = new ArrayList<>();
Map<Integer, String[]> mapDropDown = new HashMap<>();
// String[] purchaseReturnReason = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.PURCHASE_RETURN_REASON);
// mapDropDown.put(16, purchaseReturnReason);
// String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
// mapDropDown.put(25, uom);
String[] uom = DictFrameworkUtils.dictTypeDictDataValue(DictTypeConstants.UOM);
mapDropDown.put(5, uom);
// 输出
ExcelUtils.write(response, "要货计划信息导入模板.xlsx", "要货计划信息列表", PurchasePlanMainImportVO.class, list, mapDropDown);
}
@ -152,6 +154,8 @@ public class PurchasePlanMainController {
List<PurchasePlanMainImportVO> list = ExcelUtils.read(file, PurchasePlanMainImportVO.class);
ConvertUtil<PurchasePlanMainCreateReqVO> convertUtil = new ConvertUtil<>(PurchasePlanMainCreateReqVO.class);
List<PurchasePlanMainCreateReqVO> createReqVOList = convertUtil.invoke(list).getDataList();
List<PurchasePlanMainImportErrorVO> errorList = purchasePlanMainService.importPurchasePlanMainList(createReqVOList, mode, updatePart);
Map<String, Object> returnMap = new HashMap<>();
returnMap.put("errorCount", errorList.size());

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/vo/PurchasePlanMainBaseVO.java

@ -1,5 +1,6 @@
package com.win.module.wms.controller.purchasePlan.vo;
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;
@ -21,6 +22,7 @@ public class PurchasePlanMainBaseVO {
private Long id;
@Schema(description = "供应商代码")
@OnlyOne
private String supplierCode;
@Schema(description = "时间窗口")

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/purchasePlan/vo/PurchasePlanMainImportVO.java

@ -1,6 +1,8 @@
package com.win.module.wms.controller.purchasePlan.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.win.framework.excel.core.annotations.DictFormat;
import com.win.framework.excel.core.annotations.OnlyOne;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -22,6 +24,7 @@ public class PurchasePlanMainImportVO {
//主表数据
@ExcelProperty("供应商代码")
@OnlyOne
private String supplierCode;
//子表数据
@ -34,5 +37,6 @@ public class PurchasePlanMainImportVO {
@ExcelProperty("计划数量")
private String planQty;
@ExcelProperty("计量单位")
@DictFormat("uom")
private String uom;
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/demandforecasting/DemandforecastingMainServiceImpl.java

@ -93,7 +93,6 @@ public class DemandforecastingMainServiceImpl implements DemandforecastingMainSe
validateDemandforecastingMainExists(updateReqVO.getId());
DemandforecastingMainDO demandforecastingMainDO = validatorToUpdate(updateReqVO);
if(RequestStatusEnum.HANDLING.getCode().equals(demandforecastingMainDO.getStatus())) {
}
trendsApi.createTrends(demandforecastingMainDO.getId(), "Demandforecasting", "修改了要货预测", TrendsTypeEnum.CREATE);
}

16
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java

@ -116,6 +116,8 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
@Resource
private DictDataApi dictDataApi;
@Override
public Long createPurchaseMain(PurchaseMainCreateReqVO createReqVO) {
// 插入主表
@ -246,6 +248,10 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseOrder");
mainDo.setBusinessType(businesstypeDO.getCode());
mainDo.setAvailable("TRUE");
DictDataRespDTO type = dictDataApi.selectDictTypeAndLabel(DictTypeConstants.PURCHASE_ORDER_TYPE,mainDo.getType());
mainDo.setType(type.getValue());
DictDataRespDTO isConsignment = dictDataApi.selectDictTypeAndLabel(DictTypeConstants.TRUE_FALSE,mainDo.getIsConsignment());
mainDo.setIsConsignment(isConsignment.getValue());
purchaseMainMapper.insert(mainDo);
for (PurchaseDetailDO detailDO : subDOList) {
detailDO.setMasterId(mainDo.getId());
@ -258,6 +264,8 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
detailDO.setErpLocationCode(null);
detailDO.setAvailable("TRUE");
detailDO.setStatus(OrderStatusEnum.READY.getCode());
DictDataRespDTO uom = dictDataApi.selectDictTypeAndLabel(DictTypeConstants.UOM,detailDO.getUom());
detailDO.setUom(uom.getValue());
}
purchaseDetailMapper.insertBatch(subDOList);
}
@ -415,9 +423,10 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
// 校验物品基础信息
try {
ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDo.getItemCode());
// if (itembasicDO.getUom() != dictDataRespDTO.getValue()) {
// messageDetail += "计量单位" + itembasicDO.getUom() + "错误,应该是" + detailDo.getUom() + ",";
// }
DictDataRespDTO dictDataRespDTO = dictDataApi.selectDictTypeAndLabel(DictTypeConstants.UOM,detailDo.getUom());
if (!itembasicDO.getUom().equals(dictDataRespDTO.getValue())) {
messageDetail += "计量单位" + detailDo.getUom() + "错误,应该是" + itembasicDO.getUom() + ",";
}
detailDo.setProjectCode(itembasicDO.getCode());
} catch (ServiceException ex) {
messageDetail += ex.getMessage() + ",";
@ -542,6 +551,7 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
purchasePlanDetailDO.setPoLine(purchaseDetailDO.getLineNumber());
purchasePlanDetailDO.setItemCode(purchaseDetailDO.getItemCode());
purchasePlanDetailDO.setUom(purchaseDetailDO.getUom());
purchasePlanDetailDO.setShippedQty(BigDecimal.ZERO);
purchasePlanDetailDO.setAvailable("TRUE");
purchasePlanDetailDO.setTenantId(1L);
purchasePlanDetailMapper.insert(purchasePlanDetailDO);

53
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasePlan/PurchasePlanMainServiceImpl.java

@ -9,6 +9,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.purchasePlan.vo.*;
@ -16,12 +18,16 @@ import com.win.module.wms.convert.purchasePlan.PurchasePlanDetailConvert;
import com.win.module.wms.convert.purchasePlan.PurchasePlanMainConvert;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.purchase.PurchaseDetailDO;
import com.win.module.wms.dal.dataobject.purchase.PurchaseMainDO;
import com.win.module.wms.dal.dataobject.purchasePlan.PurchasePlanDetailDO;
import com.win.module.wms.dal.dataobject.purchasePlan.PurchasePlanMainDO;
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.supplier.SupplierDO;
import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO;
import com.win.module.wms.dal.mysql.purchase.PurchaseDetailMapper;
import com.win.module.wms.dal.mysql.purchase.PurchaseMainMapper;
import com.win.module.wms.dal.mysql.purchasePlan.PurchasePlanDetailMapper;
import com.win.module.wms.dal.mysql.purchasePlan.PurchasePlanMainMapper;
import com.win.module.wms.enums.DictTypeConstants;
@ -29,6 +35,7 @@ import com.win.module.wms.enums.plan.PlanStatusEnum;
import com.win.module.wms.enums.plan.PurchasePlanStatusEnum;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.purchase.PurchaseMainService;
import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.service.shift.ShiftService;
import com.win.module.wms.service.supplier.SupplierService;
@ -77,6 +84,16 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService {
private SupplierService supplierService;
@Resource
private RequestsettingService requestsettingService;
@Resource
private DictDataApi dictDataApi;
@Resource
private PurchaseMainService purchaseMainService;
@Resource
private PurchaseMainMapper purchaseMainMapper;
@Resource
private PurchaseDetailMapper purchaseDetailMapper;
@Override
public Long createPurchasePlanMain(PurchasePlanMainCreateReqVO createReqVO) {
@ -223,7 +240,7 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService {
boolean flag = true;
for (PurchasePlanDetailDO detailDO : subDOList) {
String messageDetail = validatorPurchasePlanDetailImport(detailDO, mainDo);
if (!messageMain.isEmpty() || messageDetail.isEmpty()) {
if (!messageMain.isEmpty() || !messageDetail.isEmpty()) {
PurchasePlanMainImportErrorVO importErrorVO = PurchasePlanDetailConvert.INSTANCE.convert(createReqVO, detailDO);
importErrorVO.setImportStatus("失败");
messageMain = messageMain + messageDetail;
@ -235,10 +252,10 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService {
//写入数据
if (flag) {
mainDo.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增"));
// mainDo.setOrderDate(LocalDateTime.now());
// mainDo.setTaxRate(BigDecimal.ZERO);
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseOrder");
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchasePlan");
mainDo.setBusinessType(businesstypeDO.getCode());
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_PLAN.getCode());
mainDo.setNumber(number);
mainDo.setAvailable("TRUE");
purchasePlanMainMapper.insert(mainDo);
for (PurchasePlanDetailDO detailDO : subDOList) {
@ -246,6 +263,21 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService {
detailDO.setNumber(mainDo.getNumber());
detailDO.setShippedQty(BigDecimal.ZERO);
detailDO.setAvailable("TRUE");
DictDataRespDTO uom = dictDataApi.selectDictTypeAndLabel(DictTypeConstants.UOM,detailDO.getUom());
detailDO.setUom(uom.getValue());
//选择已发布状态下订单号、订单行、零件号 判断订单类型
QueryWrapper<PurchaseDetailDO> purchaseDetailDOQueryWrapper = new QueryWrapper();
purchaseDetailDOQueryWrapper.eq("number", detailDO.getPoNumber());
purchaseDetailDOQueryWrapper.eq("item_code", detailDO.getItemCode());
purchaseDetailDOQueryWrapper.eq("line_number ", detailDO.getPoLine());
PurchaseDetailDO purchaseDetailDO = purchaseDetailMapper.selectOne(purchaseDetailDOQueryWrapper);
if(purchaseDetailDO!=null){
PurchaseMainDO purchaseMainDO = purchaseMainService.getPurchaseMain(purchaseDetailDO.getMasterId());
//如果是离散单
if ("DISCRETE".equals(purchaseMainDO.getType())) {
detailDO.setPlanQty(purchaseDetailDO.getOrderQty().subtract(purchaseDetailDO.getPlannedQty()));
}
}
}
purchasePlanDetailMapper.insertBatch(subDOList);
}
@ -300,6 +332,19 @@ public class PurchasePlanMainServiceImpl implements PurchasePlanMainService {
purchasePlanMainMapper.insert(purchasePlanMainDO);
for (PurchasePlanDetailDO purchasePlanDetailDO : subDOList) {
validatorDetailMethod(purchasePlanDetailDO, purchasePlanMainDO);
//选择已发布状态下订单号、订单行、零件号 判断订单类型
QueryWrapper<PurchaseDetailDO> purchaseDetailDOQueryWrapper = new QueryWrapper();
purchaseDetailDOQueryWrapper.eq("number", purchasePlanDetailDO.getPoNumber());
purchaseDetailDOQueryWrapper.eq("item_code", purchasePlanDetailDO.getItemCode());
purchaseDetailDOQueryWrapper.eq("line_number ", purchasePlanDetailDO.getPoLine());
PurchaseDetailDO purchaseDetailDO = purchaseDetailMapper.selectOne(purchaseDetailDOQueryWrapper);
if(purchaseDetailDO!=null){
PurchaseMainDO purchaseMainDO = purchaseMainService.getPurchaseMain(purchaseDetailDO.getMasterId());
//如果是离散单
if ("DISCRETE".equals(purchaseMainDO.getType())) {
purchasePlanDetailDO.setPlanQty(purchaseDetailDO.getOrderQty().subtract(purchaseDetailDO.getPlannedQty()));
}
}
purchasePlanDetailDO.setMasterId(purchasePlanMainDO.getId());
purchasePlanDetailDO.setNumber(purchasePlanMainDO.getNumber());
purchasePlanDetailDO.setShippedQty(BigDecimal.ZERO);

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestMainServiceImpl.java

@ -142,8 +142,6 @@ public class SupplierdeliverRequestMainServiceImpl implements SupplierdeliverReq
}
trendsApi.createTrends(supplierdeliverRequestMainDO.getId(), "PurchaseOrder", "增加了采购订单", TrendsTypeEnum.CREATE);
return supplierdeliverRequestMainDO.getId();
}
@Override

Loading…
Cancel
Save