Browse Source

BUG修改

master
叶佳兴 2 years ago
parent
commit
b5fb525954
  1. 22
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierdeliverRequest/vo/SupplierdeliverRequestDetailBaseVO.java
  2. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierdeliverRequest/vo/SupplierdeliverRequestDetailPageReqVO.java
  3. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplierdeliverRequest/SupplierdeliverRequestDetailMapper.java
  4. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java
  5. 76
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestDetailServiceImpl.java

22
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierdeliverRequest/vo/SupplierdeliverRequestDetailBaseVO.java

@ -34,34 +34,34 @@ public class SupplierdeliverRequestDetailBaseVO {
private String altBatch;
@Schema(description = "到货日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "到货日期不能为空")
// @NotNull(message = "到货日期不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime arriveDate;
@Schema(description = "生产日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "生产日期不能为空")
// @NotNull(message = "生产日期不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime produceDate;
@Schema(description = "过期日期", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "过期日期不能为空")
// @NotNull(message = "过期日期不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime expireDate;
@Schema(description = "订单号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "订单号不能为空")
// @NotNull(message = "订单号不能为空")
private String poNumber;
@Schema(description = "订单行", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "订单行不能为空")
// @NotNull(message = "订单行不能为空")
private String poLine;
@Schema(description = "标包数量", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "标包数量不能为空")
// @NotNull(message = "标包数量不能为空")
private BigDecimal stdPackQty;
@Schema(description = "标包单位", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "标包单位不能为空")
// @NotNull(message = "标包单位不能为空")
private String stdPackUnit;
@Schema(description = "供应商计量数量")
@ -71,14 +71,14 @@ public class SupplierdeliverRequestDetailBaseVO {
private String supplierPackUnit;
@Schema(description = "转换率", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "转换率不能为空")
// @NotNull(message = "转换率不能为空")
private BigDecimal convertRate;
@Schema(description = "单据号")
private String number;
@Schema(description = "物品代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "物品代码不能为空")
// @NotNull(message = "物品代码不能为空")
private String itemCode;
@Schema(description = "备注")
@ -121,5 +121,9 @@ public class SupplierdeliverRequestDetailBaseVO {
@Schema(description = "到货主代码")
private String toOwnerCode;
/**
* 主表ID
*/
private Long masterId;
}

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/supplierdeliverRequest/vo/SupplierdeliverRequestDetailPageReqVO.java

@ -102,5 +102,9 @@ public class SupplierdeliverRequestDetailPageReqVO extends PageParam {
@Schema(description = "到货主代码")
private String toOwnerCode;
/**
* 主表ID
*/
private Long masterId;
}

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/supplierdeliverRequest/SupplierdeliverRequestDetailMapper.java

@ -22,6 +22,7 @@ public interface SupplierdeliverRequestDetailMapper extends BaseMapperX<Supplier
default PageResult<SupplierdeliverRequestDetailDO> selectPage(SupplierdeliverRequestDetailPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<SupplierdeliverRequestDetailDO>()
.eqIfPresent(SupplierdeliverRequestDetailDO::getMasterId, reqVO.getMasterId())
.eqIfPresent(SupplierdeliverRequestDetailDO::getBatch, reqVO.getBatch())
.eqIfPresent(SupplierdeliverRequestDetailDO::getAltBatch, reqVO.getAltBatch())
.betweenIfPresent(SupplierdeliverRequestDetailDO::getArriveDate, reqVO.getArriveDate())

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

@ -629,10 +629,10 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
purchaseDetailDOQueryWrapper.eq("item_code", itemCode);
purchaseDetailDOQueryWrapper.eq("available", "TRUE");
List<PurchaseDetailDO> purchaseDetailDOList = purchaseDetailMapper.selectList(purchaseDetailDOQueryWrapper);
boolean res = false;
boolean res = true;
for (PurchaseDetailDO purchaseDetailDO : purchaseDetailDOList) {
if ("TRUE".equals(purchaseDetailDO.getAvailable())) {
res = true;
res = false;
}
}
if ("DISCRETE".equals(purchaseMainDO.getType()) && res) {
@ -641,12 +641,11 @@ public class PurchaseMainServiceImpl implements PurchaseMainService {
for (PurchaseDetailDO purchaseDetailDO : purchaseDetailDOList) {
//如果是离散单
if ("DISCRETE".equals(purchaseMainDO.getType())) {
purchaseDetailDO.setReceivedQty(receivedQty);
if (purchaseDetailDO.getReceivedQty().compareTo(purchaseDetailDO.getOrderQty()) == 0
|| purchaseDetailDO.getReceivedQty().compareTo(purchaseDetailDO.getOrderQty().multiply(new BigDecimal(1).add(purchaseDetailDO.getOverReceivingPercent())))
>= 0) {
purchaseDetailDO.setAvailable("FALSE");
} else {
purchaseDetailDO.setReceivedQty(receivedQty);
}
} else {
purchaseDetailDO.setReceivedQty(purchaseDetailDO.getReceivedQty().add(receivedQty));

76
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierdeliverRequest/SupplierdeliverRequestDetailServiceImpl.java

@ -1,14 +1,27 @@
package com.win.module.wms.service.supplierdeliverRequest;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.supplierdeliverRequest.vo.SupplierdeliverRequestDetailCreateReqVO;
import com.win.module.wms.controller.supplierdeliverRequest.vo.SupplierdeliverRequestDetailExportReqVO;
import com.win.module.wms.controller.supplierdeliverRequest.vo.SupplierdeliverRequestDetailPageReqVO;
import com.win.module.wms.controller.supplierdeliverRequest.vo.SupplierdeliverRequestDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.itempackaging.ItempackagingDO;
import com.win.module.wms.dal.dataobject.purchasePlan.PurchasePlanDetailDO;
import com.win.module.wms.dal.dataobject.supplierdeliverRequest.SupplierdeliverRequestMainDO;
import com.win.module.wms.dal.dataobject.supplieritem.SupplieritemDO;
import com.win.module.wms.dal.mysql.supplierdeliverRequest.SupplierdeliverRequestMainMapper;
import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.itempackaging.ItempackagingService;
import com.win.module.wms.service.purchasePlan.PurchasePlanMainService;
import com.win.module.wms.service.supplieritem.SupplieritemService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import java.math.BigDecimal;
import java.util.*;
import com.win.module.wms.dal.dataobject.supplierdeliverRequest.SupplierdeliverRequestDetailDO;
@ -31,14 +44,32 @@ public class SupplierdeliverRequestDetailServiceImpl implements SupplierdeliverR
@Resource
private SupplierdeliverRequestDetailMapper supplierdeliverRequestDetailMapper;
@Resource
private SupplierdeliverRequestMainMapper supplierdeliverRequestMainMapper;
@Resource
private ItembasicService itembasicService;
@Resource
private SupplieritemService supplieritemService;
@Resource
private ItempackagingService itempackagingService;
@Resource
private PurchasePlanMainService purchasePlanMainService;
@Override
public Long createSupplierdeliverRequestDetail(SupplierdeliverRequestDetailCreateReqVO createReqVO) {
// 插入
SupplierdeliverRequestDetailDO supplierdeliverRequestDetail = SupplierdeliverRequestDetailConvert.INSTANCE.convert(createReqVO);
supplierdeliverRequestDetailMapper.insert(supplierdeliverRequestDetail);
SupplierdeliverRequestDetailDO supplierdeliverRequestDetailDO = SupplierdeliverRequestDetailConvert.INSTANCE.convert(createReqVO);
QueryWrapper<SupplierdeliverRequestMainDO> queryWrapper = new QueryWrapper();
queryWrapper.eq("number", createReqVO.getNumber());
SupplierdeliverRequestMainDO mainDO = supplierdeliverRequestMainMapper.selectOne(queryWrapper);
validatorDetailMethod(supplierdeliverRequestDetailDO, mainDO);
supplierdeliverRequestDetailDO.setMasterId(mainDO.getId());
supplierdeliverRequestDetailDO.setNumber(mainDO.getNumber());
supplierdeliverRequestDetailDO.setConvertRate(new BigDecimal(0));
supplierdeliverRequestDetailMapper.insert(supplierdeliverRequestDetailDO);
// 返回
return supplierdeliverRequestDetail.getId();
return supplierdeliverRequestDetailDO.getId();
}
@Override
@ -49,6 +80,7 @@ public class SupplierdeliverRequestDetailServiceImpl implements SupplierdeliverR
SupplierdeliverRequestDetailDO updateObj = SupplierdeliverRequestDetailConvert.INSTANCE.convert(updateReqVO);
supplierdeliverRequestDetailMapper.updateById(updateObj);
}
@Override
public PageResult<SupplierdeliverRequestDetailDO> getSupplierdeliverRequestDetailSenior(CustomConditions conditions) {
return supplierdeliverRequestDetailMapper.selectSenior(conditions);
@ -88,4 +120,42 @@ public class SupplierdeliverRequestDetailServiceImpl implements SupplierdeliverR
return supplierdeliverRequestDetailMapper.selectList(exportReqVO);
}
//子表校验 校验供应商基础信息
private void validatorItembasic(String itemCode) {
itembasicService.selectItembasic(itemCode);
}
//子表校验 校验供应商物品
private SupplieritemDO validatorSupplierItemExist(String supplierCode, String itemCode) {
return supplieritemService.selectSupplierItemExist(supplierCode, itemCode);
}
//子表校验 校验物品标包信息
private ItempackagingDO validatorItemPackagingExist(String itemCode) {
return itempackagingService.selectItemPackagingExist(itemCode);
}
//子表校验 校验要货计划
private PurchasePlanDetailDO validatorPurchasePlan(SupplierdeliverRequestMainDO supplierdeliverRequestMainDO, SupplierdeliverRequestDetailDO supplierdeliverRequestDetailDO) {
PurchasePlanDetailDO purchasePlanDetailDO =
purchasePlanMainService.selectPurchasePlan(supplierdeliverRequestMainDO.getPpNumber(), supplierdeliverRequestMainDO.getSupplierCode(),
supplierdeliverRequestDetailDO.getPoNumber(), supplierdeliverRequestDetailDO.getPoLine(), supplierdeliverRequestDetailDO.getItemCode());
return purchasePlanDetailDO;
}
//校验子表公共方法(适用于新增/修改)
private void validatorDetailMethod(SupplierdeliverRequestDetailDO detailDo, SupplierdeliverRequestMainDO mainDo) {
this.validatorItembasic(detailDo.getItemCode());
this.validatorSupplierItemExist(mainDo.getSupplierCode(), detailDo.getItemCode());
PurchasePlanDetailDO purchasePlanDetailDO = this.validatorPurchasePlan(mainDo, detailDo);
if ((purchasePlanDetailDO.getPlanQty().subtract(purchasePlanDetailDO.getShippedQty())).compareTo(detailDo.getQty()) == -1) {
throw exception(QTY_ERROR, detailDo.getQty(), null, detailDo.getPoLine(), null, purchasePlanDetailDO.getPlanQty().subtract(purchasePlanDetailDO.getShippedQty()));
}
ItempackagingDO itempackagingDO = itempackagingService.selectItemPackagingExist(detailDo.getItemCode());
if (itempackagingDO != null) {
detailDo.setStdPackUnit(itempackagingDO.getStdPackUnit());
detailDo.setStdPackQty(itempackagingDO.getStdPackQty());
}
}
}

Loading…
Cancel
Save