Bladeren bron

销售出库导入

zhangyuewww 2 jaren geleden
bovenliggende
commit
375ccb94a1

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

@@ -149,7 +149,7 @@ public class WeighingManagementController {
         return weighingManagementService.changeWarehouse(weighingManagement);
     }
     /**
-     * 导入
+     * 导入移库入库
      *  @param weighingManagement
      * @return
      */
@@ -157,5 +157,14 @@ public class WeighingManagementController {
     public String importWeighing(@RequestBody WeighingManagement weighingManagement) {
         return weighingManagementService.importWeighing(weighingManagement);
     }
+    /**
+     * 导入销售出库
+     *  @param weighingManagement
+     * @return
+     */
+    @PostMapping("/api/importWeighingOut")
+    public String importWeighingOut(@RequestBody WeighingManagement weighingManagement) {
+        return weighingManagementService.importWeighingOut(weighingManagement);
+    }
 }
 

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

@@ -429,6 +429,28 @@ public class WeighingManagement extends BaseModel<WeighingManagement> {
      */
     @TableField(exist = false)
     private List<WeighingManagement> weighingManagementList;
+    /**
+     * 结算数量
+     */
+    @TableField(exist = false)
+    private Double settleWeight;
+    /**
+     * 结算单价
+     */
+    @TableField(exist = false)
+    private Double settlePrice;
+    /**
+     * 结算日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @TableField(exist = false)
+    private Date settleDate;
+    /**
+     * 结算金额
+     */
+    @TableField(exist = false)
+    private Double settleMoney;
     @Override
     protected Serializable pkVal() {
         return this.id;

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

@@ -91,5 +91,10 @@ public interface IWeighingManagementService extends IService<WeighingManagement>
      * @param weighingManagement
      */
     String importWeighing(WeighingManagement weighingManagement);
+    /**
+     * 销售出库导入
+     * @param weighingManagement
+     */
+    String importWeighingOut(WeighingManagement weighingManagement);
 
 }

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

@@ -12,6 +12,7 @@ import com.winsea.svc.base.security.util.AuthSecurityUtils;
 import com.winsea.svc.base.workflow.entity.Workflow;
 import com.yh.saas.common.support.util.IdGenerator;
 import com.yh.saas.common.support.util.StringUtils;
+import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.entity.*;
 import com.yh.saas.plugin.yiliangyiyun.exception.YException;
@@ -76,6 +77,12 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
     @Autowired
     private IWarehousePositionInfoService warehousePositionInfoService;
     @Autowired
+    private ITranTaskInfoService tranTaskInfoService;
+    @Autowired
+    private ITranProcessInfoService tranProcessInfoService;
+    @Autowired
+    private ICostManagementInfoService costManagementInfoService;
+    @Autowired
     private INewWorkflowService workflowService;
 
 
@@ -1040,4 +1047,418 @@ public class WeighingManagementServiceImpl extends ServiceImpl<WeighingManagemen
         }
         return "ok";
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public String importWeighingOut(WeighingManagement weighingManagement) {
+        List<WeighingManagement> weighingManagementList=weighingManagement.getWeighingManagementList();
+        InOutWarehouseTask inOutWarehouseTask=inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
+                .eq("in_out_task_no",weighingManagementList.get(0).getInOutTaskNo()));
+        //合计净重
+        double weight = weighingManagementList.stream().mapToDouble(WeighingManagement::getNetWeight).sum();
+        //可超出重量
+        Float overNeight = 0.0f;
+        //更新任务完成量
+        ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                .eq("comp_id", inOutWarehouseTask.getCompId())
+                .eq("contract_no", inOutWarehouseTask.getContractNo()));
+        //出入库有合同
+        if (contractManagementInfo != null) {
+            overNeight = inOutWarehouseTask.getWeight() * (contractManagementInfo.getOverShort() / 100);
+        }
+        //出库无合同情况
+        else {
+            overNeight = inOutWarehouseTask.getWeight() * 0.05f;
+        }
+        inOutWarehouseTask.setCompletedQuantity(inOutWarehouseTask.getCompletedQuantity() + weight);
+        if (inOutWarehouseTask.getCompletedQuantity() > inOutWarehouseTask.getWeight() + overNeight) {
+            throw new YException(YExceptionEnum.TASK_WEIGHT_EXCEEDED_ERROR);
+        } else {
+            inOutWarehouseTaskService.updateById(inOutWarehouseTask);
+        }
+        //更新库存量
+        WarehouseBaseInfo warehouseBaseInfo=warehouseBaseInfoService.selectOne(new EntityWrapper<WarehouseBaseInfo>()
+                .eq("warehouse_name",weighingManagement.getWarehouseName())
+                .eq("comp_id",inOutWarehouseTask.getCompId()));
+        //  查询库位
+        WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectOne(new EntityWrapper<WarehousePositionInfo>()
+                .eq("base_id", warehouseBaseInfo.getId())
+                .eq("delete_flag", "0"));
+        if (warehousePositionInfo != null&&"1".equals(warehouseBaseInfo.getWarehouseType())) {
+            // 查询货物库存量
+            WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
+                    .eq("position_id", warehousePositionInfo.getId())
+                    .eq("goods_name", "玉米")
+                    .eq("delete_flag", "0"));
+            // 判断是否有货
+            if (warehousePositionStorageInfo != null) {
+                if (weight <= warehousePositionStorageInfo.getStorage()) {
+                    // 更新库存量
+                    warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() - weight);
+                    warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
+                }
+                //出库量大于库存量
+                else {
+                    throw new YException(YExceptionEnum.INVENTORY_NO_ERROR);
+                }
+            }
+            // 没有储存量
+            else {
+                throw new YException(YExceptionEnum.POSITIONSTORAGE_NO_ERROR);
+            }
+        }
+        //库位不存在
+        else {
+            throw new YException(YExceptionEnum.POSITION_NO_ERROR);
+        }
+        for (WeighingManagement weighingManagement1:weighingManagementList) {
+            //生成出库记录
+            WarehouseInOutInfo warehouseInOutInfo = new WarehouseInOutInfo();
+            warehouseInOutInfo.setId(IdGenerator.generateUUID());
+            warehouseInOutInfo.setBaseId(warehouseBaseInfo.getId());
+            warehouseInOutInfo.setInOutTaskNo(weighingManagement1.getInOutTaskNo());
+            warehouseInOutInfo.setContractNo(weighingManagement1.getContractNo());
+            warehouseInOutInfo.setWarehouseName(weighingManagement.getWarehouseName());
+            warehouseInOutInfo.setOutType(weighingManagement1.getOutType());
+            warehouseInOutInfo.setInOutFlag("1");
+            warehouseInOutInfo.setBinNumber("1");
+            warehouseInOutInfo.setPositionId(warehousePositionInfo.getId());
+            warehouseInOutInfo.setGoodsNameKey("1");
+            warehouseInOutInfo.setGoodsName("玉米");
+            warehouseInOutInfo.setGrossWeight(weighingManagement1.getGrossWeight());
+            warehouseInOutInfo.setTare(weighingManagement1.getTare());
+            warehouseInOutInfo.setNetWeight(Double.valueOf(String.valueOf(weighingManagement1.getNetWeight())));
+            warehouseInOutInfo.setInOutDate(weighingManagement1.getGrossDate());
+            warehouseInOutInfo.setInOutTypeKey("3");
+            warehouseInOutInfo.setInOutType("销售出库");
+            warehouseInOutInfo.setCarNo(weighingManagement1.getCarNumber());
+            warehouseInOutInfo.setStatusFlag(StatusEnum.SUBMITTED.getFlag());
+            warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
+            //生成入库详情
+            WarehouseInOutDetail warehouseInOutDetail = new WarehouseInOutDetail();
+            warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
+            warehouseInOutDetail.setId(IdGenerator.generateUUID());
+            String relationId = IdGenerator.generateUUID();
+            QualityInspectionManagement qualityInspectionManagement = new QualityInspectionManagement();
+            qualityInspectionManagement.setId(IdGenerator.generateUUID());
+            qualityInspectionManagement.setWarehouseInOutId(warehouseInOutInfo.getId());
+            qualityInspectionManagement.setCompId(AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getCompId());
+            qualityInspectionManagement.setRelationId(relationId);
+            qualityInspectionManagement.setGoodsName("玉米");
+            qualityInspectionManagement.setNatureOfGrainPurchase("贸易粮");
+            qualityInspectionManagement.setBinNumber("1");
+            qualityInspectionManagement.setServiceManagementType("2");
+            qualityInspectionManagement.setQualityNo(weighingManagement1.getNumber());
+            qualityInspectionManagement.setContractNo(weighingManagement1.getContractNo());
+            qualityInspectionManagement.setCarNumber(weighingManagement1.getCarNumber());
+            qualityInspectionManagement.setWarehouseName(weighingManagement.getWarehouseName());
+            qualityInspectionManagement.setInOutTaskNo(weighingManagement1.getInOutTaskNo());
+            qualityInspectionManagement.setInOutTypeKey("3");
+            qualityInspectionManagement.setInOutType("销售出库");
+            qualityInspectionManagement.setQualityDate(weighingManagement1.getGrossDate());
+            qualityInspectionManagement.setManagementType("3");
+            qualityInspectionManagement.setType("干粮");
+            CommonStaff commonStaff = staffService.getInfo(AuthSecurityUtils.getCurrentUserId());
+            qualityInspectionManagement.setQualityInspector(commonStaff.getStaffName());
+            qualityInspectionManagement.setReInspector(commonStaff.getStaffName());
+            //状态为已称皮重
+            qualityInspectionManagement.setStatus(StatusEnum.TARED.getName());
+            qualityInspectionManagement.setStatusFlag(StatusEnum.TARED.getFlag());
+            qualityInspectionManagement.setAgentKey(AuthSecurityUtils.getCurrentUserId());
+            qualityInspectionManagement.setAgent(AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getStaffName());
+            //生成检斤信息
+            weighingManagement1.setId(IdGenerator.generateUUID());
+            weighingManagement1.setRelationId(relationId);
+            weighingManagement1.setNumber(weighingManagement1.getNumber());
+            weighingManagement1.setCarNumber(weighingManagement1.getCarNumber());
+            weighingManagement1.setWarehouseInOutId(warehouseInOutInfo.getId());
+            weighingManagement1.setContractNo(weighingManagement1.getContractNo());
+            weighingManagement1.setCompId(AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getCompId());
+            weighingManagement1.setServiceManagementType("2");
+            weighingManagement1.setInOutTaskNo(weighingManagement1.getInOutTaskNo());
+            weighingManagement1.setGoodsName("玉米");
+            weighingManagement1.setType("干粮");
+            weighingManagement1.setBinNumber("1");
+            weighingManagement1.setPositionId(warehousePositionInfo.getId());
+            weighingManagement1.setOutType(weighingManagement1.getOutType());
+            weighingManagement1.setSecretaryWeigher(commonStaff.getStaffName());
+            weighingManagement1.setSkinInspector(commonStaff.getStaffName());
+            weighingManagement1.setContractPrice(weighingManagement1.getContractPrice());
+            weighingManagement1.setGrossWeight(weighingManagement1.getGrossWeight() * 1000);
+            weighingManagement1.setTare(weighingManagement1.getTare() * 1000);
+            weighingManagement1.setNetWeight(weighingManagement1.getNetWeight() * 1000);
+            weighingManagement1.setManagementType("3");
+            weighingManagement1.setWarehouseName(weighingManagement.getWarehouseName());
+            weighingManagement1.setGrossDate(weighingManagement1.getGrossDate());
+            weighingManagement1.setTareDate(weighingManagement1.getGrossDate());
+            //状态为已称皮重
+            weighingManagement1.setStatus(StatusEnum.TARED.getName());
+            weighingManagement1.setStatusFlag(StatusEnum.TARED.getFlag());
+            warehouseInOutInfoService.insert(warehouseInOutInfo);
+            warehouseInOutDetailService.insert(warehouseInOutDetail);
+            qualityInspectionManagementService.insert(qualityInspectionManagement);
+            this.insert(weighingManagement1);
+            //更新合同销售库存
+            ContractInventoryDistribution contractInventoryDistribution = contractInventoryDistributionService.selectOne(new EntityWrapper<ContractInventoryDistribution>()
+                    .eq("comp_id", warehouseBaseInfo.getCompId()).eq("inventory_type", "1").eq("contract_no", warehouseInOutInfo.getContractNo())
+                    .eq("warehouse", warehouseInOutInfo.getWarehouseName()));
+            if (contractInventoryDistribution != null) {
+                contractInventoryDistribution.setSaleStorage(contractInventoryDistribution.getSaleStorage() + warehouseInOutInfo.getNetWeight());
+                contractInventoryDistributionService.updateById(contractInventoryDistribution);
+            }
+            //常用库出库
+            if ("1".equals(warehouseBaseInfo.getWarehouseType())) {
+                //他运的销售合同
+                ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                        .eq("contract_no", warehouseInOutInfo.getContractNo())
+                        .eq("deliver_type", "2")
+                        .eq("contract_type", "1")
+                        .eq("delete_flag", "0"));
+                if (contractManagementInfo1 != null) {
+                    if (contractManagementInfo1.getUnitContractPrice() == null) {
+                        contractManagementInfo1.setUnitContractPrice(0d);
+                    }
+                    //现货销售出库报表
+                    StockSaleReceiptReport stockSaleReceiptReport = new StockSaleReceiptReport();
+                    stockSaleReceiptReport.setId(IdGenerator.generateUUID());
+                    stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                    stockSaleReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
+                    stockSaleReceiptReport.setCompId(warehouseBaseInfo.getCompId());
+                    TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
+                            .eq("contract_no", contractManagementInfo.getContractNo())
+                            .eq("comp_id", contractManagementInfo.getCompId()));
+                    if (tranTaskInfo != null) {
+                        TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
+                                .eq("info_id", tranTaskInfo.getId()));
+                        if (tranProcessInfo != null) {
+                            if (tranProcessInfo.getThreeTranType() == null) {
+                                tranProcessInfo.setThreeTranType(warehouseInOutInfo.getOutType());
+
+                            } else if (!tranProcessInfo.getThreeTranType().contains(warehouseInOutInfo.getOutType())) {
+                                tranProcessInfo.setThreeTranType(tranProcessInfo.getThreeTranType() + "," + warehouseInOutInfo.getOutType());
+                            }
+                            tranProcessInfoService.updateById(tranProcessInfo);
+                            stockSaleReceiptReport.setProcessId(tranProcessInfo.getId());
+                            TranCarInfo tranCarInfo = new TranCarInfo();
+                            tranCarInfo.setId(IdGenerator.generateUUID());
+                            tranCarInfo.setProcessId(tranProcessInfo.getId());
+                            tranCarInfo.setCompId(tranTaskInfo.getCompId());
+                            tranCarInfo.setInfoId(tranProcessInfo.getInfoId());
+                            tranCarInfo.setTranType("4");
+                            tranCarInfo.setSubmit("1");
+                            tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
+                            tranCarInfo.setLoadNetWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                            tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
+                            tranCarInfo.setStatus(StatusEnum.LOADED.getName());
+                            tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
+                            tranCarInfo.setThreeTranType("汽运");
+                            stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                            tranCarInfoService.insert(tranCarInfo);
+                        }
+                    }
+                    stockSaleReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
+                    stockSaleReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+                    stockSaleReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
+                    stockSaleReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
+                    stockSaleReceiptReport.setNetWeight(warehouseInOutInfo.getNetWeight());
+                    stockSaleReceiptReport.setDeliveryDate(warehouseInOutInfo.getInOutDate());
+                    //按出库重量结算时
+                    if ("1".equals(contractManagementInfo.getSettlementWeightMethod())) {
+                        stockSaleReceiptReport.setSettlementWeight(weighingManagement1.getSettleWeight());
+                    }
+                    stockSaleReceiptReport.setSettlementPrice(weighingManagement1.getSettlePrice());
+                    stockSaleReceiptReport.setAmountIngReceivable(weighingManagement1.getSettleMoney());
+                    stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                    stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                    stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
+                    stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
+                    CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId()));
+                    if (costManagementInfo != null) {
+                        stockSaleReceiptReport.setCost(costManagementInfo.getCost());
+
+                    }
+                    stockSaleReceiptReportService.insert(stockSaleReceiptReport);
+                }
+                //自运的销售合同
+                ContractManagementInfo contractManagementInfo2 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                        .eq("contract_no", warehouseInOutInfo.getContractNo())
+                        .eq("deliver_type", "1")
+                        .eq("contract_type", "1")
+                        .eq("delete_flag", "0"));
+                if (contractManagementInfo2 != null) {
+                    //现货销售出库报表
+                    StockSaleReceiptReport stockSaleReceiptReport = new StockSaleReceiptReport();
+                    stockSaleReceiptReport.setId(IdGenerator.generateUUID());
+                    stockSaleReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
+                    stockSaleReceiptReport.setCompId(warehouseBaseInfo.getCompId());
+                    TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
+                            .eq("contract_no", contractManagementInfo2.getContractNo())
+                            .eq("comp_id", contractManagementInfo2.getCompId()));
+                    if (tranTaskInfo != null) {
+                        TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
+                                .eq("info_id", tranTaskInfo.getId()));
+                        if (tranProcessInfo != null) {
+                            stockSaleReceiptReport.setProcessId(tranProcessInfo.getId());
+                            stockSaleReceiptReport.setProcessNo(tranProcessInfo.getProcessNo());
+                            stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                            List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
+                                    .eq("contract_no", contractManagementInfo2.getContractNo()).eq("tran_type", "1"));
+                            TranCarInfo tranCarInfo = new TranCarInfo();
+                            tranCarInfo.setProcessId(tranProcessInfo.getId());
+                            tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice() != null ? tranProcessInfo.getTranPrice() : 0f));
+                            tranCarInfo.setInfoId(tranTaskInfo.getId());
+                            tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
+                            tranCarInfo.setTranType("1");
+                            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(contractManagementInfo2.getContractNo());
+                            tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
+                            tranCarInfo.setStatus(StatusEnum.LOADED.getName());
+                            warehouseInOutInfo.setCarId(tranCarInfo.getId());
+                            warehouseInOutInfo.setTranCarNo(tranCarNo);
+                            stockSaleReceiptReport.setTranCarNo(tranCarNo);
+                            warehouseInOutInfoService.updateById(warehouseInOutInfo);
+                            tranCarInfoService.insert(tranCarInfo);
+                        }
+                    } else {
+                        throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
+                    }
+                    stockSaleReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
+                    stockSaleReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+                    stockSaleReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
+                    stockSaleReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
+                    stockSaleReceiptReport.setNetWeight(warehouseInOutInfo.getNetWeight());
+                    stockSaleReceiptReport.setDeliveryDate(warehouseInOutInfo.getInOutDate());
+                    stockSaleReceiptReport.setSettlementWeight(weighingManagement1.getSettleWeight());
+                    //按出库重量结算时
+                    if ("1".equals(contractManagementInfo2.getSettlementWeightMethod())) {
+                        stockSaleReceiptReport.setSettlementWeight(weighingManagement1.getSettleWeight());
+                        stockSaleReceiptReport.setSettlementPrice(weighingManagement1.getSettlePrice());
+                        stockSaleReceiptReport.setAmountIngReceivable(weighingManagement1.getSettleMoney());
+                        stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                        stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                    }
+                    stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
+                    stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
+                    CostManagementInfo costManagementInfo = costManagementInfoService.selectOne(new EntityWrapper<CostManagementInfo>().eq("warehouse_id", warehouseInOutInfo.getBaseId()));
+                    if (costManagementInfo != null) {
+                        stockSaleReceiptReport.setCost(costManagementInfo.getCost());
+
+                    }
+                    stockSaleReceiptReportService.insert(stockSaleReceiptReport);
+                }
+            }
+            //临时库出库
+            else {
+                //自动创建的临时库(采购报表进数据,销售报表也进数据)
+                if ("1".equals(warehouseBaseInfo.getCreateType())) {
+                    ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                            .eq("contract_no", warehouseBaseInfo.getWarehouseName())
+                            .eq("deliver_type", "1")
+                            .eq("delete_flag", "0"));
+                    if (contractManagementInfo1 != null) {
+                        //现货采购入库报表
+                        StockPurchaseReceiptReport stockPurchaseReceiptReport = new StockPurchaseReceiptReport();
+                        stockPurchaseReceiptReport.setId(IdGenerator.generateUUID());
+                        stockPurchaseReceiptReport.setCompId(warehouseBaseInfo.getCompId());
+                        stockPurchaseReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
+                        stockPurchaseReceiptReport.setContractNo(contractManagementInfo1.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())));
+                        stockPurchaseReceiptReport.setNetWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
+                        stockPurchaseReceiptReport.setWarehousingDate(warehouseInOutInfo.getInOutDate());
+                        stockPurchaseReceiptReport.setSettlementWeight(weighingManagement1.getSettleWeight());
+                        stockPurchaseReceiptReport.setSettlementPrice(weighingManagement1.getSettlePrice());
+                        stockPurchaseReceiptReport.setAmountIngPayable(weighingManagement1.getSettleMoney());
+                        stockPurchaseReceiptReport.setAmountEdPayable(0.0d);
+                        stockPurchaseReceiptReport.setAmountNotPayable(stockPurchaseReceiptReport.getAmountIngPayable());
+                        stockPurchaseReceiptReport.setStatusFlag(StatusEnum.FORM_REVIEWED.getFlag());
+                        stockPurchaseReceiptReport.setStatus(StatusEnum.FORM_REVIEWED.getName());
+                        stockPurchaseReceiptReportService.insert(stockPurchaseReceiptReport);
+                        boolean isStartWorkflow = org.apache.commons.lang3.StringUtils.isBlank(stockPurchaseReceiptReport.getWorkflowId());
+                        // 不是退回的单子
+                        if (isStartWorkflow) {
+                            Workflow workflow = workflowService
+                                    .findLatestWorkflowByBusinessCodeByApp(stockPurchaseReceiptReport.getCompId(), "STOCK-PROCUREMENT-RECEIPT-REPORT");
+                            // 没配置审核流程,直接结束并处理信息
+                            if (workflow == null) {
+                                throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                            }
+                            // 开启审核流
+                            else {
+                                // 设置状态 已提交审核
+                                stockPurchaseReceiptReport.setWorkflowId(workflow.getId());
+                                stockPurchaseReceiptReportService.updateById(stockPurchaseReceiptReport);
+                                workflowService.startInstance(workflow.getId(), stockPurchaseReceiptReport.getId());
+                            }
+                        }
+                        // 退回的单子 再启用
+                        else {
+                            stockPurchaseReceiptReportService.updateById(stockPurchaseReceiptReport);
+                            workflowService.activateInstance(stockPurchaseReceiptReport.getWorkflowId(), stockPurchaseReceiptReport.getId());
+                        }
+                    }
+                    ContractManagementInfo contractManagementInfoSale = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                            .eq("contract_no", warehouseInOutInfo.getContractNo())
+                            .eq("deliver_type", "2")
+                            .eq("contract_type", "1")
+                            .eq("delete_flag", "0"));
+                    //现货销售出库报表
+                    StockSaleReceiptReport stockSaleReceiptReport = new StockSaleReceiptReport();
+                    stockSaleReceiptReport.setId(IdGenerator.generateUUID());
+                    stockSaleReceiptReport.setCompId(warehouseBaseInfo.getCompId());
+                    stockSaleReceiptReport.setWarehouseRecordId(warehouseInOutInfo.getId());
+                    stockSaleReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
+                    stockSaleReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+                    stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                    stockSaleReceiptReport.setGrossWeight(Double.valueOf(String.valueOf(warehouseInOutInfo.getGrossWeight())));
+                    stockSaleReceiptReport.setTare(Double.valueOf(String.valueOf(warehouseInOutInfo.getTare())));
+                    stockSaleReceiptReport.setNetWeight(warehouseInOutInfo.getNetWeight());
+                    stockSaleReceiptReport.setSettlementWeight(weighingManagement1.getSettleWeight());
+                    stockSaleReceiptReport.setSettlementPrice(weighingManagement1.getSettlePrice());
+                    stockSaleReceiptReport.setAmountEdReceivable(0.0d);
+                    stockSaleReceiptReport.setDeliveryDate(warehouseInOutInfo.getInOutDate());
+                    stockSaleReceiptReport.setAmountIngReceivable(weighingManagement1.getSettleMoney());
+                    stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                    stockSaleReceiptReport.setStatusFlag(StatusEnum.FORM_REVIEWED.getFlag());
+                    stockSaleReceiptReport.setStatus(StatusEnum.FORM_REVIEWED.getName());
+                    stockSaleReceiptReportService.insert(stockSaleReceiptReport);
+                    boolean isStartWorkflow1 = org.apache.commons.lang3.StringUtils.isBlank(stockSaleReceiptReport.getWorkflowId());
+                    // 不是退回的单子
+                    if (isStartWorkflow1) {
+                        Workflow workflow = workflowService
+                                .findLatestWorkflowByBusinessCodeByApp(stockSaleReceiptReport.getCompId(), "SALE-RECEIPT-REPORT");
+                        // 没配置审核流程,直接结束并处理信息
+                        if (workflow == null) {
+                            throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                        }
+                        // 开启审核流
+                        else {
+                            // 设置状态 已提交审核
+                            stockSaleReceiptReport.setWorkflowId(workflow.getId());
+                            stockSaleReceiptReportService.updateById(stockSaleReceiptReport);
+                            workflowService.startInstance(workflow.getId(), stockSaleReceiptReport.getId());
+                        }
+                    }
+                    // 退回的单子 再启用
+                    else {
+                        stockSaleReceiptReportService.updateById(stockSaleReceiptReport);
+                        workflowService.activateInstance(stockSaleReceiptReport.getWorkflowId(), stockSaleReceiptReport.getId());
+                    }
+                }
+            }
+        }
+        return "ok";
+    }
 }