zhangyuewww 2 år sedan
förälder
incheckning
ab1c9d2448

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

@@ -166,6 +166,14 @@ public class WarehousingOrder extends BaseModel<WarehousingOrder> {
      * 请款
      */
     private Double requestFunds;
+    /**
+     * 客户
+     */
+    private String customer;
+    /**
+     * 备注
+     */
+    private String remark;
     /**
      * 状态
      */

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

@@ -103,6 +103,8 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
     private IExpenseAllocationInfoService expenseAllocationInfoService;
     @Autowired
     private ISourceRelationInfoService sourceRelationInfoService;
+    @Autowired
+    private IContractManagementInfoService contractManagementInfoService;
 
     /**
      * 退库货源列表
@@ -319,6 +321,9 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
         //采购入库
         List<WarehousingOrder> dataList1 = baseMapper.getPurchaseListByCondition(pageView);
         if (!CollectionUtils.isEmpty(dataList1)){
+            ContractManagementInfo contractManagementInfo=contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+            .eq("contract_no",dataList1.get(0).getContractNo())
+            .eq("comp_id",dataList1.get(0).getCompId()));
             for (WarehousingOrder warehousingOrder1:dataList1) {
                 if(warehousingOrder1.getGoodsName().contains("玉米")&&!warehousingOrder1.getGoodsName().contains("潮粮")){
                     costList.forEach(warehousingOrder -> {
@@ -346,6 +351,7 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
                 warehousingOrder.setWarehouseName(warehousingOrder1.getWarehouseName());
                 warehousingOrder.setGoodsSource(warehousingOrder1.getContractNo());
                 warehousingOrder.setInType("采购入库");
+                warehousingOrder.setCustomer(contractManagementInfo.getSeller());
                 warehousingOrder.setAvgCost(warehousingOrder1.getAvgCost());
                 warehousingOrder.setCompId(warehousingOrder1.getCompId());
                 warehousingOrder.setGoodsName(warehousingOrder1.getGoodsName());

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

@@ -879,8 +879,10 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
             warehouseInOutInfo.setWarehouseName(weighingManagement.getWarehouseName());
             warehouseInOutInfo.setOutType(weighingManagement1.getOutType());
             warehouseInOutInfo.setInOutFlag("2");
-            warehouseInOutInfo.setBinNumber("1");
-            warehouseInOutInfo.setPositionId(warehousePositionInfo.getId());
+            if(warehousePositionInfo!=null) {
+                warehouseInOutInfo.setBinNumber("1");
+                warehouseInOutInfo.setPositionId(warehousePositionInfo.getId());
+            }
             warehouseInOutInfo.setGoodsNameKey("1");
             warehouseInOutInfo.setGoodsName("玉米");
             warehouseInOutInfo.setGrossWeight(weighingManagement1.getGrossWeight());
@@ -1484,6 +1486,60 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
                         stockSaleReceiptReportService.updateById(stockSaleReceiptReport);
                         workflowService.activateInstance(stockSaleReceiptReport.getWorkflowId(), stockSaleReceiptReport.getId());
                     }
+                    Wrapper<InOutWarehouseTask> inOutWarehouseTaskWrapper = new EntityWrapper<>();
+                    inOutWarehouseTaskWrapper.eq("in_out_flag", "1").eq("delete_flag", "0");
+                    inOutWarehouseTaskWrapper.andNew().eq("move_task_no", warehouseInOutInfo.getContractNo()).or()
+                            .eq("contract_no", warehouseInOutInfo.getContractNo());
+                    InOutWarehouseTask inOutWarehouseTask1 = inOutWarehouseTaskService.selectOne(inOutWarehouseTaskWrapper);
+                    if (inOutWarehouseTask1 != null) {
+                        //自运出库时手动加的车
+                        List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
+                                .eq("contract_no", warehouseInOutInfo.getContractNo()).eq("tran_type", "1")
+                                .orderBy("create_date", false));
+                        TranCarInfo tranCarInfo = new TranCarInfo();
+                        TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
+                                .eq("comp_id", warehouseBaseInfo.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));
+                            tranCarInfo.setInfoId(tranTaskInfo.getId());
+                        } else {
+                            throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
+                        }
+                        tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
+                        tranCarInfo.setTranType("1");
+                        tranCarInfo.setSubmit("1");
+                        //出库时打入成本
+                        CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
+                                .eq("goods_name", warehouseInOutInfo.getGoodsName()));
+                        if (costManagementInfo != null) {
+                            tranCarInfo.setCost(costManagementInfo.getCost());
+                        }
+                        tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                        tranCarInfo.setLoadingDate(new Date());
+                        tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
+                        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.setId(IdGenerator.generateUUID());
+                        tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
+                        tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
+                        tranCarInfo.setStatus(StatusEnum.LOADED.getName());
+                        warehouseInOutInfo.setSelfLoading("1");
+                        warehouseInOutInfo.setCarId(tranCarInfo.getId());
+                        warehouseInOutInfo.setTranCarNo(tranCarNo);
+                        warehouseInOutInfoService.updateById(warehouseInOutInfo);
+                        tranCarInfoService.insert(tranCarInfo);
+                    }
                 }
             }
         }
@@ -1615,8 +1671,10 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
             weighingManagement1.setOutType(weighingManagement1.getOutType());
             weighingManagement1.setSecretaryWeigher(commonStaff.getStaffName());
             weighingManagement1.setSkinInspector(commonStaff.getStaffName());
-            weighingManagement1.setGrossWeight(weighingManagement1.getGrossWeight() * 1000);
-            weighingManagement1.setTare(weighingManagement1.getTare() * 1000);
+            if (weighingManagement1.getGrossWeight()!=null) {
+                weighingManagement1.setGrossWeight(weighingManagement1.getGrossWeight() * 1000);
+                weighingManagement1.setTare(weighingManagement1.getTare() * 1000);
+            }
             weighingManagement1.setNetWeight(weighingManagement1.getNetWeight() * 1000);
             weighingManagement1.setManagementType("3");
             weighingManagement1.setWarehouseName(weighingManagement.getWarehouseName());
@@ -1722,13 +1780,15 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
                     stockPurchaseReceiptReport.setContractNo(contractManagementInfo.getContractNo());
                     stockPurchaseReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
                     stockPurchaseReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
-                    stockPurchaseReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
-                    stockPurchaseReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
+                    if(warehouseInOutInfo.getGrossWeight()!=null) {
+                        stockPurchaseReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
+                        stockPurchaseReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
+                    }
                     stockPurchaseReceiptReport.setNetWeight(warehouseInOutInfo.getNetWeight());
                     stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
                     stockPurchaseReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
                     if (contractManagementInfo.getUnitContractPrice() != null) {
-                        stockPurchaseReceiptReport.setSettlementPrice(Double.valueOf(String.valueOf(weighingManagement.getContractPrice())));
+                        stockPurchaseReceiptReport.setSettlementPrice(Double.valueOf(String.valueOf(contractManagementInfo.getUnitContractPrice())));
                         stockPurchaseReceiptReport.setAmountIngPayable(warehouseInOutInfo.getNetWeight() *
                                 (Double.valueOf(String.valueOf(contractManagementInfo.getUnitContractPrice()))));
                     }
@@ -1760,6 +1820,60 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
                         workflowService.activateInstance(stockPurchaseReceiptReport.getWorkflowId(), stockPurchaseReceiptReport.getId());
                     }
                 }
+                Wrapper<InOutWarehouseTask> inOutWarehouseTaskWrapper = new EntityWrapper<>();
+                inOutWarehouseTaskWrapper.eq("in_out_flag", "1").eq("delete_flag", "0");
+                inOutWarehouseTaskWrapper.andNew().eq("move_task_no", warehouseInOutInfo.getContractNo()).or()
+                        .eq("contract_no", warehouseInOutInfo.getContractNo());
+                InOutWarehouseTask inOutWarehouseTask1 = inOutWarehouseTaskService.selectOne(inOutWarehouseTaskWrapper);
+                if (inOutWarehouseTask1 != null) {
+                    //自运出库时手动加的车
+                    List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
+                            .eq("contract_no", warehouseInOutInfo.getContractNo()).eq("tran_type", "1")
+                            .orderBy("create_date", false));
+                    TranCarInfo tranCarInfo = new TranCarInfo();
+                    TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
+                            .eq("comp_id", warehouseBaseInfo.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));
+                        tranCarInfo.setInfoId(tranTaskInfo.getId());
+                    } else {
+                        throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
+                    }
+                    tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
+                    tranCarInfo.setTranType("1");
+                    tranCarInfo.setSubmit("1");
+                    //出库时打入成本
+                    CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId())
+                            .eq("goods_name", warehouseInOutInfo.getGoodsName()));
+                    if (costManagementInfo != null) {
+                        tranCarInfo.setCost(costManagementInfo.getCost());
+                    }
+                    tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                    tranCarInfo.setLoadingDate(new Date());
+                    tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
+                    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.setId(IdGenerator.generateUUID());
+                    tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
+                    tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
+                    tranCarInfo.setStatus(StatusEnum.LOADED.getName());
+                    warehouseInOutInfo.setSelfLoading("1");
+                    warehouseInOutInfo.setCarId(tranCarInfo.getId());
+                    warehouseInOutInfo.setTranCarNo(tranCarNo);
+                    warehouseInOutInfoService.updateById(warehouseInOutInfo);
+                    tranCarInfoService.insert(tranCarInfo);
+                }
             }
         }
         return "ok";

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

@@ -57,6 +57,8 @@
         w.comp_id as compId,
         w.warehouse_name as warehouseName,
         wbi.warehouse_type as warehouseType,
+        w.customer,
+        w.remark,
         w.batch_id as batchId,
         w.issuing_time as issuingTime
         FROM warehousing_order w