zhangyuewww 3 سال پیش
والد
کامیت
378ac6451a

+ 18 - 2
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseInOutInfoServiceImpl.java

@@ -256,8 +256,16 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                 InOutWarehouseTask inOutWarehouseTask=inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
                 .eq("in_out_task_no",warehouseInOutInfo.getInOutTaskNo()));
                 if (inOutWarehouseTask!=null){
+                    //可超出重量
+                    Float overNeight=0.0f;
+                    ContractManagementInfo contractManagementInfo=contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                    .eq("comp_id",inOutWarehouseTask.getCompId())
+                    .eq("contract",inOutWarehouseTask.getContractNo()));
+                    if (contractManagementInfo!=null){
+                        overNeight=inOutWarehouseTask.getWeight()*(contractManagementInfo.getOverShort()/100);
+                    }
                     inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity()+warehouseInOutInfo.getNetWeight());
-                    if (inOutWarehouseTask.getCompletedQuantity()>inOutWarehouseTask.getWeight()){
+                    if (inOutWarehouseTask.getCompletedQuantity()>inOutWarehouseTask.getWeight()+overNeight){
                         throw new YException(YExceptionEnum.TASK_WEIGHT_EXCEEDED_ERROR);
                     }
                     else {
@@ -276,8 +284,16 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                 InOutWarehouseTask inOutWarehouseTask=inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
                         .eq("in_out_task_no",warehouseInOutInfo.getInOutTaskNo()));
                 if (inOutWarehouseTask!=null){
+                    //可超出重量
+                    Float overNeight=0.0f;
+                    ContractManagementInfo contractManagementInfo=contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                            .eq("comp_id",inOutWarehouseTask.getCompId())
+                            .eq("contract",inOutWarehouseTask.getContractNo()));
+                    if (contractManagementInfo!=null){
+                        overNeight=inOutWarehouseTask.getWeight()*(contractManagementInfo.getOverShort()/100);
+                    }
                     inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity()+warehouseInOutInfo.getNetWeight());
-                    if (inOutWarehouseTask.getCompletedQuantity()>inOutWarehouseTask.getWeight()){
+                    if (inOutWarehouseTask.getCompletedQuantity()>inOutWarehouseTask.getWeight()+overNeight){
                         throw new YException(YExceptionEnum.TASK_WEIGHT_EXCEEDED_ERROR);
                     }
                     else {