zhangyuewww il y a 1 an
Parent
commit
83cf9a05a7

+ 4 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/TradeWarehouseReceiptAppl.java

@@ -120,6 +120,10 @@ public class TradeWarehouseReceiptAppl extends BaseModel<TradeWarehouseReceiptAp
      * 本单重量
      */
     private Double weight;
+    /**
+     * 折干重量
+     */
+    private Double dryOutWeight;
     /**
      * 现有储量
      */

+ 1 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/exception/YExceptionEnum.java

@@ -62,6 +62,7 @@ public enum YExceptionEnum {
 	PHONE_NO_ERROR("ERROR", "手机号已存在,不可重复!"),
 	LOGIN_OUT_TIME("ERROR", "登录状态已失效,请重新登录!"),
 	RETURN_EXCEED_OUTBOUND_ERROR("ERROR", "退库量不可超出出库总量!"),
+	SOURCE_BOUNDED_ERROR("ERROR", "所选货源已被其他仓单绑定!"),
 	;
 	@Getter
 	private String value;

+ 48 - 3
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TradeWarehouseReceiptApplServiceImpl.java

@@ -158,9 +158,14 @@ public class TradeWarehouseReceiptApplServiceImpl extends ServiceImpl<TradeWareh
 
         if (!CollectionUtils.isEmpty(tradeWarehouseReceiptAppl.getWarehouseInOutInfoList())){
             for (WarehouseInOutInfo warehouseInOutInfo:tradeWarehouseReceiptAppl.getWarehouseInOutInfoList()){
-                warehouseInOutInfo.setWarehouseReceipt(tradeWarehouseReceiptAppl.getBillNo());
-                warehouseInOutInfo.setBinded("1");
-                warehouseInOutInfoService.updateById(warehouseInOutInfo);
+                if ("1".equals(warehouseInOutInfo.getWarehouseReceipt())){
+                    throw new YException(YExceptionEnum.SOURCE_BOUNDED_ERROR);
+                }
+                else {
+                    warehouseInOutInfo.setWarehouseReceipt(tradeWarehouseReceiptAppl.getBillNo());
+                    warehouseInOutInfo.setBinded("1");
+                    warehouseInOutInfoService.updateById(warehouseInOutInfo);
+                }
             }
         }
         // 操作主表数据
@@ -216,6 +221,29 @@ public class TradeWarehouseReceiptApplServiceImpl extends ServiceImpl<TradeWareh
             this.updateById(tradeWarehouseReceiptAppl);
         } else {
             this.updateById(tradeWarehouseReceiptAppl);
+            if (!CollectionUtils.isEmpty(tradeWarehouseReceiptAppl.getWarehouseInOutInfoList())){
+                List<WarehouseInOutInfo> warehouseInOutInfoList=warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                .eq("warehouse_receipt",tradeWarehouseReceiptAppl.getBillNo())
+                .eq("binded","1"));
+                //编辑时还原绑定仓单数据
+                if (!CollectionUtils.isEmpty(warehouseInOutInfoList)){
+                    for (WarehouseInOutInfo warehouseInOutInfo:warehouseInOutInfoList){
+                        warehouseInOutInfo.setWarehouseReceipt("");
+                        warehouseInOutInfo.setBinded("0");
+                        warehouseInOutInfoService.updateById(warehouseInOutInfo);
+                    }
+                }
+                for (WarehouseInOutInfo warehouseInOutInfo:tradeWarehouseReceiptAppl.getWarehouseInOutInfoList()){
+                    if ("1".equals(warehouseInOutInfo.getWarehouseReceipt())){
+                        throw new YException(YExceptionEnum.SOURCE_BOUNDED_ERROR);
+                    }
+                    else {
+                        warehouseInOutInfo.setWarehouseReceipt(tradeWarehouseReceiptAppl.getBillNo());
+                        warehouseInOutInfo.setBinded("1");
+                        warehouseInOutInfoService.updateById(warehouseInOutInfo);
+                    }
+                }
+            }
             if("0".equals(tradeWarehouseReceiptAppl.getStatusFlag())){
                 boolean isStartWorkflow = StringUtils.isBlank(tradeWarehouseReceiptAppl.getWorkflowId());
                 // 不是退回的单子
@@ -254,6 +282,12 @@ public class TradeWarehouseReceiptApplServiceImpl extends ServiceImpl<TradeWareh
     @Override
     public TradeWarehouseReceiptAppl getTrageInfo(String id){
         TradeWarehouseReceiptAppl tradeWarehouseReceiptAppl = this.selectById(id);
+        List<WarehouseInOutInfo> warehouseInOutInfoList=warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                .eq("warehouse_receipt",tradeWarehouseReceiptAppl.getBillNo())
+                .eq("binded","1"));
+        if (!CollectionUtils.isEmpty(warehouseInOutInfoList)){
+           tradeWarehouseReceiptAppl.setWarehouseInOutInfoList(warehouseInOutInfoList);
+        }
         String taskId = "";
         // 只有待审核状态才有taskId
         if (StringUtils.isNotBlank(tradeWarehouseReceiptAppl.getWorkflowId())) {
@@ -272,6 +306,17 @@ public class TradeWarehouseReceiptApplServiceImpl extends ServiceImpl<TradeWareh
     @Override
     public void deleteTrageInfo(String id){
         TradeWarehouseReceiptAppl tradeWarehouseReceiptAppl = this.selectById(id);
+        List<WarehouseInOutInfo> warehouseInOutInfoList=warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                .eq("warehouse_receipt",tradeWarehouseReceiptAppl.getBillNo())
+                .eq("binded","1"));
+        //删除解绑仓单数据
+        if (!CollectionUtils.isEmpty(warehouseInOutInfoList)){
+            for (WarehouseInOutInfo warehouseInOutInfo:warehouseInOutInfoList){
+                warehouseInOutInfo.setWarehouseReceipt("");
+                warehouseInOutInfo.setBinded("0");
+                warehouseInOutInfoService.updateById(warehouseInOutInfo);
+            }
+        }
         this.deleteById(tradeWarehouseReceiptAppl.getId());
     }
 

+ 1 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseBaseInfoServiceImpl.java

@@ -628,6 +628,7 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
                         }
                     }
                     warehouseBaseInfo.setGoodsNameInfos(temp);
+                    warehouseBaseInfo.setPositionInfos(warehousePositionInfos);
                 }
             }
 

+ 1 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/TradeWarehouseReceiptApplMapper.xml

@@ -68,6 +68,7 @@
         warehouse_name  as warehouseName,
         amount_repaid AS amountRepaid,
         amount_to_repaid as amountToRepaid,
+        dry_out_weight as dryOutWeight,
         status,
         approve_status as approveStatus,
         status_flag as statusFlag,

+ 2 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/WarehouseInOutInfoMapper.xml

@@ -108,6 +108,8 @@
         w.consignee,
         w.tran_car_no as tranCarNo,
         w.agent,
+        w.warehouse_receipt as warehouseReceipt,
+        w.binded,
         w.sales_transfer_status as salesTransferStatus,
         w.sales_transfer_id as salesTransferId,
         w.back_office as backOffice,