diff --git a/src/main/java/com/xujie/sys/modules/deliverySchedule/controller/DeliveryScheduleController.java b/src/main/java/com/xujie/sys/modules/deliverySchedule/controller/DeliveryScheduleController.java index 5f3bde9..e9e80fb 100644 --- a/src/main/java/com/xujie/sys/modules/deliverySchedule/controller/DeliveryScheduleController.java +++ b/src/main/java/com/xujie/sys/modules/deliverySchedule/controller/DeliveryScheduleController.java @@ -9,6 +9,7 @@ import com.xujie.sys.modules.deliverySchedule.mapper.DeliveryScheduleMapper; import com.xujie.sys.modules.deliverySchedule.service.DeliveryPlanService; import com.xujie.sys.modules.deliverySchedule.service.DeliveryScheduleService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -119,9 +120,7 @@ public class DeliveryScheduleController { @PostMapping("/removeSupplierDeliveryPlan") @ResponseBody public R removeSupplierDeliveryPlan(@RequestBody DeliveryPlanData data){ - data.getIds().forEach(id -> { - deliveryPlanService.removeById(id); - }); + deliveryPlanService.updateSupplierDeliveryQty(data); return R.ok(); } } diff --git a/src/main/java/com/xujie/sys/modules/deliverySchedule/data/DeliveryPlanData.java b/src/main/java/com/xujie/sys/modules/deliverySchedule/data/DeliveryPlanData.java index 5d9d327..f56dc24 100644 --- a/src/main/java/com/xujie/sys/modules/deliverySchedule/data/DeliveryPlanData.java +++ b/src/main/java/com/xujie/sys/modules/deliverySchedule/data/DeliveryPlanData.java @@ -19,7 +19,7 @@ import org.springframework.format.annotation.DateTimeFormat; @TableName(value ="PODelNotify") @Data public class DeliveryPlanData extends QueryPage implements Serializable { - @TableId(value = "id",type = IdType.AUTO) + @TableId(value = "ID",type = IdType.AUTO) private Integer id; @TableField(exist = false) diff --git a/src/main/java/com/xujie/sys/modules/deliverySchedule/service/DeliveryPlanService.java b/src/main/java/com/xujie/sys/modules/deliverySchedule/service/DeliveryPlanService.java index d5d9d53..908f156 100644 --- a/src/main/java/com/xujie/sys/modules/deliverySchedule/service/DeliveryPlanService.java +++ b/src/main/java/com/xujie/sys/modules/deliverySchedule/service/DeliveryPlanService.java @@ -22,4 +22,6 @@ public interface DeliveryPlanService extends IService { List summaryMethod(DeliveryPlanData data); Double updateSupplierDeliveryPlan(DeliveryPlanData data); + + void updateSupplierDeliveryQty(DeliveryPlanData data); } diff --git a/src/main/java/com/xujie/sys/modules/deliverySchedule/service/impl/DeliveryPlanServiceImpl.java b/src/main/java/com/xujie/sys/modules/deliverySchedule/service/impl/DeliveryPlanServiceImpl.java index b0a6d6f..398dbf7 100644 --- a/src/main/java/com/xujie/sys/modules/deliverySchedule/service/impl/DeliveryPlanServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/deliverySchedule/service/impl/DeliveryPlanServiceImpl.java @@ -14,6 +14,8 @@ import com.xujie.sys.modules.deliverySchedule.mapper.DeliveryPlanMapper; import com.xujie.sys.modules.deliverySchedule.mapper.DeliveryScheduleMapper; import com.xujie.sys.modules.deliverySchedule.service.DeliveryPlanService; import com.xujie.sys.modules.deliverySchedule.service.DeliveryScheduleService; +import com.xujie.sys.modules.sys.entity.SysUserEntity; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -147,6 +149,36 @@ public class DeliveryPlanServiceImpl extends ServiceImpl ids = data.getIds(); + for (Integer id : ids) { + DeliveryPlanData deliveryPlanData = new DeliveryPlanData(); + deliveryPlanData.setId(id); + deliveryPlanData.setSite(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getSite()); + deliveryPlanData.setPage(1); + deliveryPlanData.setLimit(-1); + IPage deliveryPlanDataIPage = deliveryPlanMapper.searchSupplierDeliveryPlan(new Page<>(deliveryPlanData.getPage(), deliveryPlanData.getLimit()), deliveryPlanData); + List list = deliveryPlanDataIPage.getRecords(); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("OrderNo", list.get(0).getOrderNo()); + queryWrapper.eq("itemNo", list.get(0).getOrderItemNo()); + queryWrapper.eq("site", list.get(0).getSite()); + DeliveryScheduleData one = deliveryScheduleService.getOne(queryWrapper); + DeliveryScheduleData deliveryScheduleData = new DeliveryScheduleData(); + if (one.getDelNotifyQty() - list.get(0).getNotifyQty() > one.getQty()){ + throw new RuntimeException("无法删除该送货计划:待发货数量将大于订单数量,请检查送货计划!"); + } + deliveryScheduleData.setDelNotifyQty(one.getDelNotifyQty() - list.get(0).getNotifyQty()); + deliveryScheduleData.setDeliveryQty(one.getQty() - deliveryScheduleData.getDelNotifyQty()); + deliveryScheduleService.getBaseMapper().update(deliveryScheduleData, queryWrapper); + + removeById(id); + } + } } diff --git a/src/main/resources/mapper/deliverySchedule/DeliveryPlanMapper.xml b/src/main/resources/mapper/deliverySchedule/DeliveryPlanMapper.xml index c8bfbd8..1c12970 100644 --- a/src/main/resources/mapper/deliverySchedule/DeliveryPlanMapper.xml +++ b/src/main/resources/mapper/deliverySchedule/DeliveryPlanMapper.xml @@ -45,6 +45,9 @@ LEFT JOIN POHeader AS POH ON PODN.OrderNo = POH.OrderNo and PODN.Site = POH.Site AND PODN.site = #{query.site} + + AND PODN.ID = #{query.id} + AND PODN.OrderNo like #{query.OrderNo}