|
|
|
@ -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<DeliveryPlanMapper, Del |
|
|
|
return (double) -1; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void updateSupplierDeliveryQty(DeliveryPlanData data) { |
|
|
|
List<Integer> 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<DeliveryPlanData> deliveryPlanDataIPage = deliveryPlanMapper.searchSupplierDeliveryPlan(new Page<>(deliveryPlanData.getPage(), deliveryPlanData.getLimit()), deliveryPlanData); |
|
|
|
List<DeliveryPlanData> list = deliveryPlanDataIPage.getRecords(); |
|
|
|
|
|
|
|
QueryWrapper<DeliveryScheduleData> 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); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|