|
|
@ -298,10 +298,28 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public int insertSysSalesOrder(SysSalesOrder sysSalesOrder){ |
|
|
|
|
|
|
|
|
|
|
|
List<SysSalesOrderChild> sysSalesOrderChildList = sysSalesOrder.getSysSalesOrderChildList(); |
|
|
|
|
|
|
|
// 校验子表数据
|
|
|
|
checkSysSalesOrderChildList(sysSalesOrder,sysSalesOrderChildList); |
|
|
|
|
|
|
|
|
|
|
|
//数量合计
|
|
|
|
int sumMaterialNum = sysSalesOrderChildList.stream().mapToInt(SysSalesOrderChild::getMaterialNum).sum(); |
|
|
|
//物料合计
|
|
|
|
int size = sysSalesOrderChildList.size(); |
|
|
|
|
|
|
|
|
|
|
|
String loginName = ShiroUtils.getLoginName(); |
|
|
|
sysSalesOrder.setCreateBy(loginName); |
|
|
|
sysSalesOrder.setCreateTime(DateUtils.getNowDate()); |
|
|
|
sysSalesOrder.setSalesOrderCode(getId()); |
|
|
|
sysSalesOrder.setMaterialSum(sumMaterialNum); |
|
|
|
sysSalesOrder.setEnterpriseSum(size); |
|
|
|
|
|
|
|
|
|
|
|
String commonCurrency = sysSalesOrder.getCommonCurrency(); |
|
|
|
if(RMB.equals(commonCurrency)){ |
|
|
|
sysSalesOrder.setConfirmTax("1"); |
|
|
@ -315,10 +333,7 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService |
|
|
|
if (s == 0){ |
|
|
|
return 0; |
|
|
|
} |
|
|
|
List<SysSalesOrderChild> sysSalesOrderChildList = sysSalesOrder.getSysSalesOrderChildList(); |
|
|
|
|
|
|
|
// 校验子表数据
|
|
|
|
checkSysSalesOrderChildList(sysSalesOrder,sysSalesOrderChildList); |
|
|
|
|
|
|
|
for (int i = 0; i < s ;i++) { |
|
|
|
SysSalesOrderChild sysSalesOrderChild = sysSalesOrder.getSysSalesOrderChildList().get(i); |
|
|
@ -348,7 +363,7 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService |
|
|
|
throw new BusinessException("物料不含税单价美元不能为空"); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
// 检查物料数量是否为空
|
|
|
|
boolean anyMaterialNum = sysSalesOrderChildList.stream() |
|
|
|
.anyMatch(sysSalesOrderChild -> sysSalesOrderChild.getMaterialNum() == null); |
|
|
@ -370,7 +385,7 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService |
|
|
|
throw new BusinessException("质保天数不能为空"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 修改销售订单 |
|
|
@ -592,6 +607,7 @@ public class SysSalesOrderServiceImpl implements ISysSalesOrderService |
|
|
|
if (hasApplyShippingNum == null) { |
|
|
|
hasApplyShippingNum = 0; // 确保 hasApplyShippingNum 不为 null
|
|
|
|
} |
|
|
|
|
|
|
|
if (hasApplyShippingNum+oldChild.getApplyShippingNum() > oldChild.getMaterialNum()){ |
|
|
|
throw new BusinessException("申请出货数与已申请出货数之和不能大于订单数量"); |
|
|
|
} |
|
|
|