|
@@ -104,6 +104,10 @@ public class InOutWarehouseTaskServiceImpl extends ServiceImpl<InOutWarehouseTas
|
|
|
@Autowired
|
|
|
private IContractManagementInfoService contractManagementInfoService;
|
|
|
@Autowired
|
|
|
+ private ITradeWarehouseReceiptApplService tradeWarehouseReceiptApplService;
|
|
|
+ @Autowired
|
|
|
+ private IRepaymentManagementService repaymentManagementService;
|
|
|
+ @Autowired
|
|
|
private IWarehouseBaseInfoService warehouseBaseInfoService;
|
|
|
@Value("${file-root-path}")
|
|
|
private String localPath;
|
|
@@ -130,6 +134,39 @@ public class InOutWarehouseTaskServiceImpl extends ServiceImpl<InOutWarehouseTas
|
|
|
inOutWarehouseTask.setEstablishDate(new Date());
|
|
|
//出库插入货源关联数据
|
|
|
if ("1".equals(inOutWarehouseTask.getInOutFlag())) {
|
|
|
+ Wrapper<TradeWarehouseReceiptAppl> tradeWarehouseReceiptApplWrapper = new EntityWrapper<>();
|
|
|
+ tradeWarehouseReceiptApplWrapper.eq("comp_id",inOutWarehouseTask.getCompId())
|
|
|
+ .eq("warehouse_name",inOutWarehouseTask.getWarehouseName());
|
|
|
+ tradeWarehouseReceiptApplWrapper.andNew().eq("status_flag", "3")
|
|
|
+ .or().eq("status_flag","5");
|
|
|
+ //有贸易仓单的仓库校验累计出库任务重量不可大于累计放粮重量
|
|
|
+ List<TradeWarehouseReceiptAppl> tradeWarehouseReceiptApplList=tradeWarehouseReceiptApplService.selectList(tradeWarehouseReceiptApplWrapper);
|
|
|
+ if (CollectionUtils.isNotEmpty(tradeWarehouseReceiptApplList)){
|
|
|
+ List<RepaymentManagement> repaymentManagementList=repaymentManagementService.selectList(new EntityWrapper<RepaymentManagement>()
|
|
|
+ .eq("comp_id",inOutWarehouseTask.getCompId())
|
|
|
+ .eq("borrowing_warehouse",inOutWarehouseTask.getWarehouseName()));
|
|
|
+ if (CollectionUtils.isNotEmpty(repaymentManagementList)){
|
|
|
+ //累计放粮>0
|
|
|
+ Double weight=repaymentManagementList.stream().mapToDouble(RepaymentManagement::getRepaymentEdAmount).sum();
|
|
|
+ //累计出库量
|
|
|
+ Double outWeight=0d;
|
|
|
+ Wrapper<InOutWarehouseTask> inOutWarehouseTaskWrapper = new EntityWrapper<>();
|
|
|
+ inOutWarehouseTaskWrapper.eq("comp_id",inOutWarehouseTask.getCompId())
|
|
|
+ .eq("warehouse_name",inOutWarehouseTask.getWarehouseName());
|
|
|
+ inOutWarehouseTaskWrapper.andNew().eq("task_status_key", "5")
|
|
|
+ .or().eq("task_status_key","7");
|
|
|
+ List<InOutWarehouseTask> inOutWarehouseTasks=this.selectList(inOutWarehouseTaskWrapper);
|
|
|
+ if (CollectionUtils.isNotEmpty(inOutWarehouseTasks)){
|
|
|
+ outWeight=inOutWarehouseTasks.stream().mapToDouble(InOutWarehouseTask::getWeight).sum();
|
|
|
+ }
|
|
|
+ if (outWeight+inOutWarehouseTask.getWeight()>weight){
|
|
|
+ throw new YException(YExceptionEnum.WEIGHT_EXCEED_ERROR);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ throw new YException(YExceptionEnum.WEIGHT_EXCEED_ERROR);
|
|
|
+ }
|
|
|
+ }
|
|
|
List<SourceRelationInfo> sourceRelationInfoList = inOutWarehouseTask.getSourceRelationInfoList();
|
|
|
if (CollectionUtils.isNotEmpty(sourceRelationInfoList)) {
|
|
|
for (int i=0;i<sourceRelationInfoList.size();i++){
|