Kaynağa Gözat

清仓,临时库流转记录

huangfuli 4 yıl önce
ebeveyn
işleme
a3c16bd8c5

+ 9 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehouseBaseInfoController.java

@@ -102,5 +102,14 @@ public class WarehouseBaseInfoController {
         warehouseBaseInfoService.deleteWarehouse(warehouseBaseInfo.getId());
     }
 
+    /**
+     * 清仓状态
+     * @param warehouseBaseInfo
+     * @return
+     */
+    @PostMapping("/api/editCleared")
+    public String editCleared(@RequestBody WarehouseBaseInfo warehouseBaseInfo){
+        return warehouseBaseInfoService.editCleared(warehouseBaseInfo.getId());
+    }
 }
 

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

@@ -20,6 +20,7 @@ public enum YExceptionEnum {
 	TASK_NO_ERROR("ERROR","任务编号已存在,不可重复!"),
 	TRAN_PROCESS_SORT_ERROR("ERROR","多阶段任务,不可删除!"),
 	TRAN_PROCESS_ERROR("ERROR","运输阶段已完成,不可修改!"),
+	WAREHOUSE_NO_CLEARED("ERROR","还有未完成记录,不可以清仓!")
 
 	;
 	@Getter

+ 7 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehouseBaseInfoService.java

@@ -68,4 +68,11 @@ public interface IWarehouseBaseInfoService extends IService<WarehouseBaseInfo> {
      * 删除库房
      */
      void deleteWarehouse(String id);
+
+    /**
+     * 清仓状态
+     * @param id
+     * @return
+     */
+     String editCleared(String id);
 }

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

@@ -112,7 +112,18 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
                 warehouseBaseInfo.setWarehouseCity(contractManagementInfo.getSourceCity());
                 warehouseBaseInfo.setWarehouseArea(contractManagementInfo.getSourceArea());
                 warehouseBaseInfo.setDetailedAddress(contractManagementInfo.getSourceGoods());
+                //临时库流转页面
+                WarehouseInOutInfo warehouseInOutInfo = new WarehouseInOutInfo();
+                warehouseInOutInfo.setId(IdGenerator.generateUUID());
+                warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
+                warehouseInOutInfo.setWarehouseName(contractManagementInfo.getContractNo());
+                warehouseInOutInfo.setInOutFlag("2");
+                warehouseInOutInfo.setNetWeight(contractManagementInfo.getFinalTradingVolume());
+                warehouseInOutInfo.setInOutType("采购入库");
+                warehouseInOutInfo.setBackOffice("合同创建人");
+                warehouseInOutInfo.setInOutDate(contractManagementInfo.getSigningDate());
                 warehouseBaseInfoService.addTemporaryWarehouse(warehouseBaseInfo);
+                warehouseInOutInfoService.insert(warehouseInOutInfo);
             }
             return "OK";
         } else {

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

@@ -461,4 +461,33 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
         }
 
     }
+
+    /**
+     * 清仓状态
+     * @param id
+     * @return
+     */
+    @Override
+    public String editCleared(String id) {
+        //查询仓库信息
+        WarehouseBaseInfo warehouseBaseInfo = this.selectById(id);
+        //查询出入库信息
+        List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                .eq("base_id",warehouseBaseInfo.getId()));
+        if (!CollectionUtils.isEmpty(warehouseInOutInfoList)){
+            for (WarehouseInOutInfo warehouseInOutInfo : warehouseInOutInfoList){
+                if ("1".equals(warehouseInOutInfo.getStatusFlag())){
+                    //如果有未完成记录,不可清仓
+                    throw new YException(YExceptionEnum.WAREHOUSE_NO_CLEARED);
+                }else{
+                    //状态改为已清仓
+                    warehouseBaseInfo.setClearStatusFlag(StatusEnum.CLEARED.getFlag());
+                }
+            }
+            //更改仓库信息
+            this.updateById(warehouseBaseInfo);
+            return "OK";
+        }
+        return "NG";
+    }
 }