zhangyuewww преди 2 години
родител
ревизия
22323949fe

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

@@ -148,6 +148,15 @@ public class WeighingManagementController {
     public String changeWarehouse(@RequestBody WeighingManagement weighingManagement) {
     public String changeWarehouse(@RequestBody WeighingManagement weighingManagement) {
         return weighingManagementService.changeWarehouse(weighingManagement);
         return weighingManagementService.changeWarehouse(weighingManagement);
     }
     }
+    /**
+     * 换任务号
+     * @param weighingManagement
+     * @return
+     */
+    @PostMapping("/api/changeTaskNo")
+    public String changeTaskNo(@RequestBody WeighingManagement weighingManagement) {
+        return weighingManagementService.changeTaskNo(weighingManagement);
+    }
     /**
     /**
      * 导入移库入库
      * 导入移库入库
      *  @param weighingManagement
      *  @param weighingManagement

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

@@ -86,6 +86,12 @@ public interface IWeighingManagementService extends IService<WeighingManagement>
      * @return
      * @return
      */
      */
     String changeWarehouse(WeighingManagement weighingManagement);
     String changeWarehouse(WeighingManagement weighingManagement);
+    /**
+     * 换任务号
+     * @param
+     * @return
+     */
+    String changeTaskNo(WeighingManagement weighingManagement);
     /**
     /**
      * 移库导入
      * 移库导入
      * @param weighingManagement
      * @param weighingManagement

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

@@ -86,6 +86,8 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
     @Autowired
     @Autowired
     private ITranProcessInfoService tranProcessInfoService;
     private ITranProcessInfoService tranProcessInfoService;
     @Autowired
     @Autowired
+    private ITranSettlementReportService tranSettlementReportService;
+    @Autowired
     private ICostManagementInfoService costManagementInfoService;
     private ICostManagementInfoService costManagementInfoService;
     @Autowired
     @Autowired
     private INewWorkflowService workflowService;
     private INewWorkflowService workflowService;
@@ -1014,6 +1016,96 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
         return "ok";
         return "ok";
     }
     }
 
 
+    /**
+     * 换任务号
+     * @param weighingManagement
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public String changeTaskNo(WeighingManagement weighingManagement) {
+        //查询检斤信息
+        WeighingManagement weighingManagement1 = this.selectById(weighingManagement.getId());
+        if (weighingManagement1 != null){
+            weighingManagement1.setInOutTaskNo(weighingManagement.getInOutTaskNo());
+            weighingManagement1.setContractNo(weighingManagement.getContractNo());
+            this.updateById(weighingManagement1);
+        }
+        //查询质检信息
+        QualityInspectionManagement qualityInspectionManagement = qualityInspectionManagementService.selectOne(new EntityWrapper<QualityInspectionManagement>()
+                .eq("relation_id",weighingManagement1.getRelationId())
+                .eq("delete_flag","0"));
+        if (qualityInspectionManagement != null){
+            qualityInspectionManagement.setInOutTaskNo(weighingManagement.getInOutTaskNo());
+            qualityInspectionManagement.setContractNo(weighingManagement.getContractNo());
+            qualityInspectionManagementService.updateById(qualityInspectionManagement);
+        }
+        //查询出入库信息
+        WarehouseInOutInfo warehouseInOutInfo = warehouseInOutInfoService.selectOne(new EntityWrapper<WarehouseInOutInfo>()
+                .eq("id",weighingManagement1.getWarehouseInOutId())
+                .eq("delete_flag","0"));
+        if (warehouseInOutInfo != null){
+            warehouseInOutInfo.setInOutTaskNo(weighingManagement.getInOutTaskNo());
+            warehouseInOutInfo.setContractNo(weighingManagement.getContractNo());
+            if (warehouseInOutInfo.getCarId()!=null){
+                TranCarInfo tranCarInfo=tranCarInfoService.selectById(warehouseInOutInfo.getCarId());
+                TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
+                        .eq("comp_id", weighingManagement1.getCompId())
+                        .eq("contract_no", warehouseInOutInfo.getContractNo()));
+                if (tranTaskInfo != null) {
+                    TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
+                            .eq("info_id", tranTaskInfo.getId()));
+                    tranCarInfo.setProcessId(tranProcessInfo.getId());
+                    tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice() != null ? tranProcessInfo.getTranPrice() : 0f));
+                    warehouseInOutInfo.setFreight(tranProcessInfo.getTranPrice());
+                    warehouseInOutInfo.setTaskNo(tranTaskInfo.getTaskNo());
+                    tranCarInfo.setInfoId(tranTaskInfo.getId());
+                    ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                            .eq("contract_no", warehouseInOutInfo.getContractNo()).eq("delete_flag", "0"));
+                    if (contractManagementInfo1 != null) {
+                        tranCarInfo.setCost(contractManagementInfo1.getUnitContractPrice());
+                    } else {
+                        //出库时打入成本
+                        CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
+                                .eq("goods_name", warehouseInOutInfo.getGoodsName()));
+                        if (costManagementInfo != null) {
+                            tranCarInfo.setCost(costManagementInfo.getCost());
+                        }
+                    }
+                    List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
+                            .eq("info_id", tranTaskInfo.getId()));
+                    String tranCarNo = "";
+                    if ((tranCarInfoList.size() + 1) < 10) {
+                        tranCarNo = "C00" + (tranCarInfoList.size() + 1);
+                    } else if (tranCarInfoList.size() + 1 < 100) {
+                        tranCarNo = "C0" + (tranCarInfoList.size() + 1);
+                    } else {
+                        tranCarNo = "C" + (tranCarInfoList.size() + 1);
+                    }
+                    tranCarInfo.setTranCarNo(tranCarNo);
+                    tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
+                    warehouseInOutInfo.setTranCarNo(tranCarNo);
+                    tranCarInfoService.updateById(tranCarInfo);
+                    TranSettlementReport tranSettlementReport=tranSettlementReportService.selectOne(new EntityWrapper<TranSettlementReport>()
+                            .eq("car_id", tranCarInfo.getId()));
+                    if (tranSettlementReport!=null){
+                        tranSettlementReport.setContractNo(weighingManagement.getContractNo());
+                        tranSettlementReport.setTranCarNo(tranCarNo);
+                        tranSettlementReport.setTaskNo(tranTaskInfo.getTaskNo());
+                        tranSettlementReport.setProcessNo(tranProcessInfo.getProcessNo());
+                        tranSettlementReportService.updateById(tranSettlementReport);
+                    }
+                } else {
+                    throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
+                }
+            }
+            warehouseInOutInfoService.updateById(warehouseInOutInfo);
+        }
+        cacheComponent.delPrefixKey(Const.ADMIN_WEIGHINGINFO);
+        cacheComponent.delPrefixKey(Const.ADMIN_WEIGHINGINFO_NUM);
+        return "ok";
+    }
+
     /**
     /**
      * 移库导入
      * 移库导入
      * @param weighingManagement
      * @param weighingManagement