|
|
@@ -386,12 +386,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
if (!orderListDS.isEmpty()) {
|
|
|
BigDecimal returnCostprie = new BigDecimal("0.00");
|
|
|
for (PjOrderItems items : pjOrderItemsList) {
|
|
|
- if (!"1".equals(items.getDeduplication())){
|
|
|
- if (orderListDS.contains(items.getPid())){
|
|
|
+ if (!"1".equals(items.getDeduplication())) {
|
|
|
+ if (orderListDS.contains(items.getPid())) {
|
|
|
salesAmount = salesAmount.add(items.getSubTotalMoney());
|
|
|
costprie = costprie.add(items.getCostprie());
|
|
|
if ((ObjectUtils.isNotNull(items.getReturnsNumber()) &&
|
|
|
- new BigDecimal("0").compareTo(items.getReturnsNumber()) != 0)){
|
|
|
+ new BigDecimal("0").compareTo(items.getReturnsNumber()) != 0)) {
|
|
|
returnAmount = returnAmount.add(items.getReturnsAmount());
|
|
|
if (ObjectUtils.isNotNull(items.getCostprie())) {
|
|
|
BigDecimal price = items.getCostprie().divide(items.getGoodsNum(), MathContext.DECIMAL32);
|
|
|
@@ -542,12 +542,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
if (!orderListDS.isEmpty()) {
|
|
|
BigDecimal returnCostprie = new BigDecimal("0.00");
|
|
|
for (PjOrderItems items : pjOrderItemsList) {
|
|
|
- if (!"1".equals(items.getDeduplication())){
|
|
|
- if (orderListDS.contains(items.getPid())){
|
|
|
+ if (!"1".equals(items.getDeduplication())) {
|
|
|
+ if (orderListDS.contains(items.getPid())) {
|
|
|
salesAmount = salesAmount.add(items.getSubTotalMoney());
|
|
|
costprie = costprie.add(items.getCostprie());
|
|
|
if ((ObjectUtils.isNotNull(items.getReturnsNumber()) &&
|
|
|
- new BigDecimal("0").compareTo(items.getReturnsNumber()) != 0)){
|
|
|
+ new BigDecimal("0").compareTo(items.getReturnsNumber()) != 0)) {
|
|
|
returnAmount = returnAmount.add(items.getReturnsAmount());
|
|
|
if (ObjectUtils.isNotNull(items.getCostprie())) {
|
|
|
BigDecimal price = items.getCostprie().divide(items.getGoodsNum(), MathContext.DECIMAL32);
|
|
|
@@ -891,7 +891,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
public R shortcutWarehousing(PjOrder order) {
|
|
|
PjOrder pjOrder = baseMapper.selectById(order.getId());
|
|
|
-
|
|
|
+ if (!pjOrder.getVersion().equals(order.getVersion())) {
|
|
|
+ throw new RuntimeException("订单数据已被修改,请返回列表重新操作!");
|
|
|
+ }
|
|
|
+ pjOrder.setVersion(order.getVersion() + 1);
|
|
|
PjShip pjShip = new PjShip();
|
|
|
// 获取系统编号
|
|
|
R billNo = serialClient.getBillNo(OrderTypeEnum.SHRW.getType(), OrderTypeEnum.SHRW.getType(), OrderTypeEnum.SHRW.getType());
|
|
|
@@ -1475,6 +1478,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
}
|
|
|
baseMapper.insert(order);
|
|
|
} else {
|
|
|
+ PjOrder orderVersion = baseMapper.selectById(order.getId());
|
|
|
+ if (orderVersion != null && !orderVersion.getVersion().equals(order.getVersion())) {
|
|
|
+ throw new RuntimeException("订单数据已被修改,请返回列表重新操作!");
|
|
|
+ }
|
|
|
+ order.setVersion(order.getVersion() + 1);
|
|
|
order.setUpdateUser(AuthUtil.getUserId());
|
|
|
order.setUpdateTime(new Date());
|
|
|
baseMapper.updateById(order);
|
|
|
@@ -1599,6 +1607,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
}
|
|
|
baseMapper.insert(order);
|
|
|
} else {
|
|
|
+ PjOrder orderVersion = baseMapper.selectById(order.getId());
|
|
|
+ if (orderVersion != null && !orderVersion.getVersion().equals(order.getVersion())) {
|
|
|
+ throw new RuntimeException("订单数据已被修改,请返回列表重新操作!");
|
|
|
+ }
|
|
|
+ order.setVersion(order.getVersion() + 1);
|
|
|
order.setUpdateUser(AuthUtil.getUserId());
|
|
|
order.setUpdateTime(new Date());
|
|
|
baseMapper.updateById(order);
|
|
|
@@ -1710,6 +1723,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
pjShip.setSourceCompanyName(pjOrder.getSalesCompanyName());
|
|
|
shipMapper.insert(pjShip);
|
|
|
|
|
|
+ if ( !pjOrder.getVersion().equals(order.getVersion())) {
|
|
|
+ throw new RuntimeException("订单数据已被修改,请返回列表重新操作!");
|
|
|
+ }
|
|
|
+ pjOrder.setVersion(order.getVersion() + 1);
|
|
|
//修改销售状态为待发货
|
|
|
pjOrder.setStatus(OrderTypeEnum.TOBESHIPPEDOUT.getType());
|
|
|
pjOrder.setXcxStatus(OrderTypeEnum.TOBESHIPPEDOUT.getType());
|
|
|
@@ -1801,6 +1818,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
} else {
|
|
|
throw new RuntimeException("出库已完成,禁止撤销!");
|
|
|
}
|
|
|
+ if ( !pjOrder.getVersion().equals(order.getVersion())) {
|
|
|
+ throw new RuntimeException("订单数据已被修改,请返回列表重新操作!");
|
|
|
+ }
|
|
|
+ pjOrder.setVersion(order.getVersion() + 1);
|
|
|
//修改销售状态为待发货
|
|
|
pjOrder.setStatus(OrderTypeEnum.XSDQR.getType());
|
|
|
pjOrder.setGenerateTask(OrderTypeEnum.NSCRW.getType());
|
|
|
@@ -1905,6 +1926,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
pjShip.setCreateTime(new Date());
|
|
|
shipMapper.insert(pjShip);
|
|
|
|
|
|
+ if ( !pjOrder.getVersion().equals(order.getVersion())) {
|
|
|
+ throw new RuntimeException("订单数据已被修改,请返回列表重新操作!");
|
|
|
+ }
|
|
|
+ pjOrder.setVersion(order.getVersion() + 1);
|
|
|
//修改采购状态
|
|
|
pjOrder.setStatus(OrderTypeEnum.TREATWAREHOUSING.getType());
|
|
|
pjOrder.setGenerateTask(OrderTypeEnum.SCRW.getType());
|
|
|
@@ -2004,6 +2029,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
} else {
|
|
|
throw new RuntimeException("入库已完成,禁止撤销!");
|
|
|
}
|
|
|
+ if ( !pjOrder.getVersion().equals(order.getVersion())) {
|
|
|
+ throw new RuntimeException("订单数据已被修改,请返回列表重新操作!");
|
|
|
+ }
|
|
|
+ pjOrder.setVersion(order.getVersion() + 1);
|
|
|
//修改销售状态为待发货
|
|
|
pjOrder.setStatus(OrderTypeEnum.XSDQR.getType());
|
|
|
pjOrder.setGenerateTask(OrderTypeEnum.NSCRW.getType());
|
|
|
@@ -2081,6 +2110,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
public PjOrder checkOrderReturns(PjOrder order) {
|
|
|
PjOrder declare = baseMapper.selectById(order.getId());
|
|
|
+ declare.setVersion(declare.getVersion() + 1);
|
|
|
//审批数据
|
|
|
PjAuditProecessDTO auditProecessDTO = new PjAuditProecessDTO();
|
|
|
//获取审批级次
|
|
|
@@ -2169,6 +2199,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
public PjOrder revokeCheckOrderReturns(PjOrder order) {
|
|
|
PjOrder declare = baseMapper.selectById(order.getId());
|
|
|
+ declare.setVersion(declare.getVersion() + 1);
|
|
|
R financeProcess = auditProecessService.deteleByBillId(order.getId());
|
|
|
if (!financeProcess.isSuccess()) {
|
|
|
throw new SecurityException("操作失败,请联系管理员");
|
|
|
@@ -2198,7 +2229,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
public PjOrder checkOrderCGReturns(PjOrder order) {
|
|
|
PjOrder declare = baseMapper.selectById(order.getId());
|
|
|
-
|
|
|
+ declare.setVersion(declare.getVersion() + 1);
|
|
|
//审批数据
|
|
|
PjAuditProecessDTO auditProecessDTO = new PjAuditProecessDTO();
|
|
|
//获取审批级次
|
|
|
@@ -2284,6 +2315,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
public PjOrder revokeCheckOrderCGReturns(PjOrder order) {
|
|
|
PjOrder declare = baseMapper.selectById(order.getId());
|
|
|
+ declare.setVersion(declare.getVersion() + 1);
|
|
|
R financeProcess = auditProecessService.deteleByBillId(order.getId());
|
|
|
if (!financeProcess.isSuccess()) {
|
|
|
throw new SecurityException("操作失败,请联系管理员");
|
|
|
@@ -2648,12 +2680,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
if (!orderListDS.isEmpty()) {
|
|
|
BigDecimal returnCostprie = new BigDecimal("0.00");
|
|
|
for (PjOrderItems items : pjOrderItemsList) {
|
|
|
- if (!"1".equals(items.getDeduplication())){
|
|
|
- if (orderListDS.contains(items.getPid())){
|
|
|
+ if (!"1".equals(items.getDeduplication())) {
|
|
|
+ if (orderListDS.contains(items.getPid())) {
|
|
|
salesAmount = salesAmount.add(items.getSubTotalMoney());
|
|
|
costprie = costprie.add(items.getCostprie());
|
|
|
if ((ObjectUtils.isNotNull(items.getReturnsNumber()) &&
|
|
|
- new BigDecimal("0").compareTo(items.getReturnsNumber()) != 0)){
|
|
|
+ new BigDecimal("0").compareTo(items.getReturnsNumber()) != 0)) {
|
|
|
returnAmount = returnAmount.add(items.getReturnsAmount());
|
|
|
if (ObjectUtils.isNotNull(items.getCostprie())) {
|
|
|
BigDecimal price = items.getCostprie().divide(items.getGoodsNum(), MathContext.DECIMAL32);
|
|
|
@@ -2814,6 +2846,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
}
|
|
|
baseMapper.insert(order);
|
|
|
} else {
|
|
|
+ PjOrder orderVersion = baseMapper.selectById(order.getId());
|
|
|
+ if (orderVersion != null && !orderVersion.getVersion().equals(order.getVersion())) {
|
|
|
+ throw new RuntimeException("订单数据已被修改,请返回列表重新操作!");
|
|
|
+ }
|
|
|
+ order.setVersion(order.getVersion() + 1);
|
|
|
order.setUpdateUser(AuthUtil.getUserId());
|
|
|
order.setUpdateTime(new Date());
|
|
|
baseMapper.updateById(order);
|
|
|
@@ -2991,6 +3028,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
}
|
|
|
baseMapper.insert(order);
|
|
|
} else {
|
|
|
+ PjOrder orderVersion = baseMapper.selectById(order.getId());
|
|
|
+ if (orderVersion != null && !orderVersion.getVersion().equals(order.getVersion())) {
|
|
|
+ throw new RuntimeException("订单数据已被修改,请返回列表重新操作!");
|
|
|
+ }
|
|
|
+ order.setVersion(order.getVersion() + 1);
|
|
|
order.setUpdateUser(AuthUtil.getUserId());
|
|
|
order.setUpdateTime(new Date());
|
|
|
baseMapper.updateById(order);
|
|
|
@@ -3108,6 +3150,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
pjShip.setSourceCompanyName(pjOrder.getSalesCompanyName());
|
|
|
shipMapper.insert(pjShip);
|
|
|
|
|
|
+ if (!pjOrder.getVersion().equals(order.getVersion())) {
|
|
|
+ throw new RuntimeException("订单数据已被修改,请返回列表重新操作!");
|
|
|
+ }
|
|
|
+ pjOrder.setVersion(order.getVersion() + 1);
|
|
|
+
|
|
|
//修改销售状态为待发货
|
|
|
pjOrder.setStatus(OrderTypeEnum.XSDFH.getType());
|
|
|
pjOrder.setXcxStatus(OrderTypeEnum.XSDFH.getType());
|
|
|
@@ -3338,6 +3385,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
} else {
|
|
|
throw new RuntimeException("出库已完成,禁止撤销!");
|
|
|
}
|
|
|
+
|
|
|
+ if (!pjOrder.getVersion().equals(order.getVersion())) {
|
|
|
+ throw new RuntimeException("订单数据已被修改,请返回列表重新操作!");
|
|
|
+ }
|
|
|
+ pjOrder.setVersion(order.getVersion() + 1);
|
|
|
//修改销售状态为待发货
|
|
|
pjOrder.setStatus(OrderTypeEnum.XSDQR.getType());
|
|
|
pjOrder.setGenerateTask(OrderTypeEnum.NSCRW.getType());
|
|
|
@@ -3445,6 +3497,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
pjShip.setCreateTime(new Date());
|
|
|
shipMapper.insert(pjShip);
|
|
|
|
|
|
+ if (!pjOrder.getVersion().equals(order.getVersion())) {
|
|
|
+ throw new RuntimeException("订单数据已被修改,请返回列表重新操作!");
|
|
|
+ }
|
|
|
+ pjOrder.setVersion(order.getVersion() + 1);
|
|
|
//修改采购状态
|
|
|
pjOrder.setStatus(OrderTypeEnum.GOODSRECEIVED.getType());
|
|
|
pjOrder.setGenerateTask(OrderTypeEnum.SCRW.getType());
|
|
|
@@ -3583,6 +3639,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
public PjOrder checkOrder(PjOrder order) {
|
|
|
PjOrder declare = baseMapper.selectById(order.getId());
|
|
|
+ declare.setVersion(declare.getVersion() + 1);
|
|
|
List<PjOrder> pjOrderList = baseMapper.selectList(new LambdaQueryWrapper<PjOrder>()
|
|
|
.eq(PjOrder::getSrcNo, declare.getOrdNo())
|
|
|
.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
|
|
|
@@ -3680,6 +3737,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
if (order == null) {
|
|
|
throw new SecurityException("审批通过失败");
|
|
|
}
|
|
|
+ order.setVersion(order.getVersion() + 1);
|
|
|
List<Long> goodsIds = new ArrayList<>();
|
|
|
if ("XS".equals(order.getBsType()) || "TKXS".equals(order.getBsType())) {
|
|
|
PjCorpsDesc corpsDesc = corpsDescMapper.selectById(order.getCustomerId());
|
|
|
@@ -4051,6 +4109,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
public PjOrder revokeCheckOrder(PjOrder order) {
|
|
|
PjOrder declare = baseMapper.selectById(order.getId());
|
|
|
+ declare.setVersion(declare.getVersion() + 1);
|
|
|
R financeProcess = auditProecessService.deteleByBillId(order.getId());
|
|
|
if (!financeProcess.isSuccess()) {
|
|
|
throw new SecurityException("操作失败,请联系管理员");
|
|
|
@@ -4076,6 +4135,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
public PjOrder checkOrderCG(PjOrder order) {
|
|
|
PjOrder declare = baseMapper.selectById(order.getId());
|
|
|
+ declare.setVersion(declare.getVersion() + 1);
|
|
|
|
|
|
//审批数据
|
|
|
PjAuditProecessDTO auditProecessDTO = new PjAuditProecessDTO();
|
|
|
@@ -4153,6 +4213,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
public PjOrder revokeCheckOrderCG(PjOrder order) {
|
|
|
PjOrder declare = baseMapper.selectById(order.getId());
|
|
|
+ declare.setVersion(declare.getVersion() + 1);
|
|
|
R financeProcess = auditProecessService.deteleByBillId(order.getId());
|
|
|
if (!financeProcess.isSuccess()) {
|
|
|
throw new SecurityException("操作失败,请联系管理员");
|
|
|
@@ -4177,6 +4238,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
|
|
|
} else {
|
|
|
throw new RuntimeException("入库已完成,禁止撤销!");
|
|
|
}
|
|
|
+ if (!pjOrder.getVersion().equals(order.getVersion())) {
|
|
|
+ throw new RuntimeException("订单数据已被修改,请返回列表重新操作!");
|
|
|
+ }
|
|
|
+ pjOrder.setVersion(order.getVersion() + 1);
|
|
|
//修改销售状态为待发货
|
|
|
if ("1".equals(pjOrder.getShortcutWarehousingStatus())) {
|
|
|
pjOrder.setStatus(OrderTypeEnum.XSLR.getType());
|