Browse Source

[feat]销售管理

新增销售订单加上通过销售单选择的含税不含税,分别判断销售订单物料的不含税单价美元和不含税单价人民币是否填写了,没填写不可提交
dev
liuxiaoxu 3 months ago
parent
commit
780e206fbb
  1. 57
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesOrderServiceImpl.java

57
ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesOrderServiceImpl.java

@ -318,7 +318,7 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService
List<SysSalesOrderChild> sysSalesOrderChildList = sysSalesOrder.getSysSalesOrderChildList(); List<SysSalesOrderChild> sysSalesOrderChildList = sysSalesOrder.getSysSalesOrderChildList();
// 校验子表数据 // 校验子表数据
checkSysSalesOrderChildList(sysSalesOrderChildList); checkSysSalesOrderChildList(sysSalesOrder,sysSalesOrderChildList);
for (int i = 0; i < s ;i++) { for (int i = 0; i < s ;i++) {
SysSalesOrderChild sysSalesOrderChild = sysSalesOrder.getSysSalesOrderChildList().get(i); SysSalesOrderChild sysSalesOrderChild = sysSalesOrder.getSysSalesOrderChildList().get(i);
@ -331,30 +331,47 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService
//自定义校验 //自定义校验
private void checkSysSalesOrderChildList(List<SysSalesOrderChild> sysSalesOrderChildList) { private void checkSysSalesOrderChildList(SysSalesOrder sysSalesOrder,List<SysSalesOrderChild> sysSalesOrderChildList) {
// 检查物料数量是否为空 String commonCurrency = sysSalesOrder.getCommonCurrency();
boolean anyMaterialNum = sysSalesOrderChildList.stream() if (RMB.equals(commonCurrency)) {
.anyMatch(sysSalesOrderChild -> sysSalesOrderChild.getMaterialNum() == null); // 检查物料不含税单价RMB是否为空
if (anyMaterialNum) { boolean anyMaterialNoRmb = sysSalesOrderChildList.stream()
throw new BusinessException("物料数量不能为空"); .anyMatch(sysSalesOrderChild -> sysSalesOrderChild.getMaterialNoRmb() == null);
} if (anyMaterialNoRmb) {
throw new BusinessException("物料不含税单价RMB不能为空");
}
} else {
// 检查物料不含税单价美元是否为空
boolean anyMaterialNoUsd = sysSalesOrderChildList.stream()
.anyMatch(sysSalesOrderChild -> sysSalesOrderChild.getMaterialNoUsd() == null);
if (anyMaterialNoUsd) {
throw new BusinessException("物料不含税单价美元不能为空");
}
// 检查计划交付时间是否为空
boolean anyDeliveryTime = sysSalesOrderChildList.stream()
.anyMatch(sysSalesOrderChild -> sysSalesOrderChild.getDeliveryTime() == null);
if (anyDeliveryTime) {
throw new BusinessException("计划交付时间不能为空");
}
// 检查质保天数是否为空 // 检查物料数量是否为空
boolean anyExpiryDay = sysSalesOrderChildList.stream() boolean anyMaterialNum = sysSalesOrderChildList.stream()
.anyMatch(sysSalesOrderChild -> sysSalesOrderChild.getExpiryDay() == null); .anyMatch(sysSalesOrderChild -> sysSalesOrderChild.getMaterialNum() == null);
if (anyExpiryDay) { if (anyMaterialNum) {
throw new BusinessException("质保天数不能为空"); throw new BusinessException("物料数量不能为空");
}
// 检查计划交付时间是否为空
boolean anyDeliveryTime = sysSalesOrderChildList.stream()
.anyMatch(sysSalesOrderChild -> sysSalesOrderChild.getDeliveryTime() == null);
if (anyDeliveryTime) {
throw new BusinessException("计划交付时间不能为空");
}
// 检查质保天数是否为空
boolean anyExpiryDay = sysSalesOrderChildList.stream()
.anyMatch(sysSalesOrderChild -> sysSalesOrderChild.getExpiryDay() == null);
if (anyExpiryDay) {
throw new BusinessException("质保天数不能为空");
}
} }
} }
/** /**
* 修改销售订单 * 修改销售订单
* *

Loading…
Cancel
Save