zhangyuewww 3 vuotta sitten
vanhempi
commit
3408765acb

+ 134 - 110
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TranProcessInfoServiceImpl.java

@@ -478,7 +478,7 @@ public class TranProcessInfoServiceImpl extends ServiceImpl<TranProcessInfoMappe
                         tranCarInfo.setStatus(StatusEnum.DELIVERED.getName());
                         TranProcessInfo tranProcessInfo1 = this.selectById(tranProcessInfo.getId());
                         //粮款结算阶段
-                        if ("1".equals(tranProcessInfo1.getEndFlag())) {
+//                        if ("1".equals(tranProcessInfo1.getEndFlag())) {
                             CommonStaff commonStaff = staffService.getInfo(AuthSecurityUtils.getCurrentUserId());
                             //自运的销售合同
                             ContractManagementInfo contractManagementInfo = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
@@ -487,153 +487,177 @@ public class TranProcessInfoServiceImpl extends ServiceImpl<TranProcessInfoMappe
                                     .eq("delete_flag", "0"));
                             if (contractManagementInfo != null) {
                                 if ("汽运".equals(tranProcessInfo1.getTranType())) {
-                                    StockSaleReceiptReport stockSaleReceiptReport1 = stockSaleReceiptReportService.selectOne(new EntityWrapper<StockSaleReceiptReport>()
-                                            .eq("process_no", tranProcessInfo1.getProcessNo())
+                                    StockSaleReceiptReport stockSaleReceiptReport = stockSaleReceiptReportService.selectOne(new EntityWrapper<StockSaleReceiptReport>()
+                                            .eq("process_id", tranProcessInfo1.getId())
                                             .eq("tran_car_no", tranCarInfo.getTranCarNo()));
-                                    if (stockSaleReceiptReport1 == null) {
+                                    if (stockSaleReceiptReport != null) {
                                         //现货销售出库报表
-                                        StockSaleReceiptReport stockSaleReceiptReport = new StockSaleReceiptReport();
-                                        stockSaleReceiptReport.setId(IdGenerator.generateUUID());
-                                        stockSaleReceiptReport.setCompId(tranTaskInfo.getCompId());
-                                        stockSaleReceiptReport.setContractNo(tranProcessInfo1.getContractNo());
-                                        stockSaleReceiptReport.setProcessNo(tranProcessInfo1.getProcessNo());
-                                        stockSaleReceiptReport.setCarNo(tranCarInfo.getCarNo());
-                                        stockSaleReceiptReport.setTranCarNo(tranCarInfo.getTranCarNo());
-                                        stockSaleReceiptReport.setCaseNo(tranCarInfo.getCaseNo());
-                                        stockSaleReceiptReport.setDeliveryDate(tranProcessInfo1.getDeliveryDateStart());
-                                        stockSaleReceiptReport.setTitleNo(tranCarInfo.getTitleNo());
                                         stockSaleReceiptReport.setFeedbackPerson(commonStaff.getStaffName());
-                                        stockSaleReceiptReport.setNetWeight(tranCarInfo.getUnloadNetWeight());
                                         stockSaleReceiptReport.setFeedbackDate(new Date());
-                                        stockSaleReceiptReport.setProcessId(tranProcessInfo.getId());
                                         stockSaleReceiptReport.setFeedbackWeight(tranCarInfo.getUnloadNetWeight());
-                                        stockSaleReceiptReport.setSettlementWeight(tranCarInfo.getUnloadNetWeight());
-                                        if(contractManagementInfo.getUnitContractPrice()!=null) {
-                                            stockSaleReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
-                                            stockSaleReceiptReport.setAmountIngReceivable(tranCarInfo.getUnloadNetWeight() *
-                                                    (contractManagementInfo.getUnitContractPrice()));
+                                        //按收货重量结算时
+                                        if("2".equals(contractManagementInfo.getSettlementWeightMethod())){
+                                            stockSaleReceiptReport.setSettlementWeight(tranCarInfo.getUnloadNetWeight());
+                                            //定价销售
+                                            if(contractManagementInfo.getUnitContractPrice()!=null) {
+                                                stockSaleReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
+                                                stockSaleReceiptReport.setAmountIngReceivable(tranCarInfo.getUnloadNetWeight()*
+                                                        (contractManagementInfo.getUnitContractPrice()));
+                                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                                            }
+                                            //随行就市
+                                            else {
+                                                stockSaleReceiptReport.setSettlementPrice(Double.valueOf(String.valueOf(tranCarInfo.getContractPrice())));
+                                                stockSaleReceiptReport.setAmountIngReceivable(Double.valueOf(String.valueOf(tranCarInfo.getUnloadNetWeight() *tranCarInfo.getContractPrice())));
+                                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                                            }
                                         }
-                                        //随行就市
-                                        else {
-                                            stockSaleReceiptReport.setSettlementPrice(Double.valueOf(String.valueOf(tranCarInfo.getContractPrice())));
-                                            stockSaleReceiptReport.setAmountIngReceivable(Double.valueOf(String.valueOf(tranCarInfo.getUnloadNetWeight() *tranCarInfo.getContractPrice())));
+                                        //按出库重量结算时
+                                        else{
+                                            //随行就市
+                                            if(contractManagementInfo.getUnitContractPrice()==null) {
+                                                stockSaleReceiptReport.setSettlementPrice(Double.valueOf(String.valueOf(tranCarInfo.getContractPrice())));
+                                                stockSaleReceiptReport.setAmountIngReceivable(Double.valueOf(String.valueOf(stockSaleReceiptReport.getSettlementWeight()*
+                                                        (tranCarInfo.getContractPrice()))));
+                                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                                            }
                                         }
-                                        stockSaleReceiptReport.setAmountEdReceivable(0.00);
-                                        stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
-                                        stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
-                                        stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
-                                        stockSaleReceiptReportService.insert(stockSaleReceiptReport);
+                                        stockSaleReceiptReportService.updateById(stockSaleReceiptReport);
                                     }
                                 }
                                 else if ("火运".equals(tranProcessInfo1.getTranType())) {
-                                    StockSaleReceiptReport stockSaleReceiptReport1 = stockSaleReceiptReportService.selectOne(new EntityWrapper<StockSaleReceiptReport>()
-                                            .eq("process_no", tranProcessInfo1.getProcessNo())
+                                    StockSaleReceiptReport stockSaleReceiptReport = stockSaleReceiptReportService.selectOne(new EntityWrapper<StockSaleReceiptReport>()
+                                            .eq("process_id", tranProcessInfo1.getId())
+                                            .eq("car_no", tranCarInfo.getCarNo())
                                             .eq("box_no", tranCarInfo.getBoxNo()));
-                                    if (stockSaleReceiptReport1 == null) {
+                                    if (stockSaleReceiptReport != null) {
                                         //现货销售出库报表
-                                        StockSaleReceiptReport stockSaleReceiptReport = new StockSaleReceiptReport();
-                                        stockSaleReceiptReport.setId(IdGenerator.generateUUID());
-                                        stockSaleReceiptReport.setCompId(tranTaskInfo.getCompId());
-                                        stockSaleReceiptReport.setContractNo(tranProcessInfo1.getContractNo());
-                                        stockSaleReceiptReport.setProcessNo(tranProcessInfo1.getProcessNo());
-                                        stockSaleReceiptReport.setBoxNo(tranCarInfo.getBoxNo());
-                                        stockSaleReceiptReport.setDeliveryDate(tranProcessInfo1.getDeliveryDateStart());
                                         stockSaleReceiptReport.setFeedbackPerson(commonStaff.getStaffName());
-                                        stockSaleReceiptReport.setNetWeight(tranCarInfo.getUnloadNetWeight());
                                         stockSaleReceiptReport.setFeedbackDate(new Date());
-                                        stockSaleReceiptReport.setProcessId(tranProcessInfo.getId());
                                         stockSaleReceiptReport.setFeedbackWeight(tranCarInfo.getUnloadNetWeight());
-                                        stockSaleReceiptReport.setSettlementWeight(tranCarInfo.getUnloadNetWeight());
-                                        if(contractManagementInfo.getUnitContractPrice()!=null) {
-                                            stockSaleReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
-                                            stockSaleReceiptReport.setAmountIngReceivable(tranCarInfo.getUnloadNetWeight() *
-                                                    (contractManagementInfo.getUnitContractPrice()));
+                                        //按收货重量结算时
+                                        if("1".equals(contractManagementInfo.getSettlementWeightMethod())){
+                                            stockSaleReceiptReport.setSettlementWeight(tranCarInfo.getUnloadNetWeight());
+                                            //定价销售
+                                            if(contractManagementInfo.getUnitContractPrice()!=null) {
+                                                stockSaleReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
+                                                stockSaleReceiptReport.setAmountIngReceivable(tranCarInfo.getUnloadNetWeight()*
+                                                        (contractManagementInfo.getUnitContractPrice()));
+                                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                                            }
+                                            //随行就市
+                                            else {
+                                                stockSaleReceiptReport.setSettlementPrice(Double.valueOf(String.valueOf(tranCarInfo.getContractPrice())));
+                                                stockSaleReceiptReport.setAmountIngReceivable(Double.valueOf(String.valueOf(tranCarInfo.getUnloadNetWeight() *tranCarInfo.getContractPrice())));
+                                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                                            }
                                         }
-                                        //随行就市
-                                        else {
-                                            stockSaleReceiptReport.setSettlementPrice(Double.valueOf(String.valueOf(tranCarInfo.getContractPrice())));
-                                            stockSaleReceiptReport.setAmountIngReceivable(Double.valueOf(String.valueOf(tranCarInfo.getUnloadNetWeight() *tranCarInfo.getContractPrice())));
+                                        //按出库重量结算时
+                                        else{
+                                            //随行就市
+                                            if(contractManagementInfo.getUnitContractPrice()==null) {
+                                                stockSaleReceiptReport.setSettlementPrice(Double.valueOf(String.valueOf(tranCarInfo.getContractPrice())));
+                                                stockSaleReceiptReport.setAmountIngReceivable(Double.valueOf(String.valueOf(stockSaleReceiptReport.getSettlementWeight()*
+                                                        (tranCarInfo.getContractPrice()))));
+                                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                                            }
                                         }
-                                        stockSaleReceiptReport.setAmountEdReceivable(0.00);
-                                        stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
-                                        stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
-                                        stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
-                                        stockSaleReceiptReportService.insert(stockSaleReceiptReport);
+                                        stockSaleReceiptReportService.updateById(stockSaleReceiptReport);
                                     }
-
                                 }
                                 else if (tranCarInfo.getShipType() != null && "散船".equals(tranCarInfo.getShipType())) {
-                                    StockSaleReceiptReport stockSaleReceiptReport1 = stockSaleReceiptReportService.selectOne(new EntityWrapper<StockSaleReceiptReport>()
-                                            .eq("process_no", tranProcessInfo1.getProcessNo())
-                                            .eq("bin_number", tranCarInfo.getBinNumber()));
-                                    if (stockSaleReceiptReport1 == null) {
+                                    StockSaleReceiptReport stockSaleReceiptReport = stockSaleReceiptReportService.selectOne(new EntityWrapper<StockSaleReceiptReport>()
+                                            .eq("process_id", tranProcessInfo1.getId())
+                                            .eq("ship_no", tranCarInfo.getShipNo())
+                                            .eq("ship_name", tranCarInfo.getShipName()));
+                                    if (stockSaleReceiptReport != null) {
                                         //现货销售出库报表
-                                        StockSaleReceiptReport stockSaleReceiptReport = new StockSaleReceiptReport();
-                                        stockSaleReceiptReport.setId(IdGenerator.generateUUID());
-                                        stockSaleReceiptReport.setCompId(tranTaskInfo.getCompId());
-                                        stockSaleReceiptReport.setContractNo(tranProcessInfo1.getContractNo());
-                                        stockSaleReceiptReport.setProcessNo(tranProcessInfo1.getProcessNo());
-                                        stockSaleReceiptReport.setBinNumber(tranCarInfo.getBinNumber());
-                                        stockSaleReceiptReport.setDeliveryDate(tranProcessInfo1.getDeliveryDateStart());
                                         stockSaleReceiptReport.setFeedbackPerson(commonStaff.getStaffName());
                                         stockSaleReceiptReport.setFeedbackDate(new Date());
-                                        stockSaleReceiptReport.setProcessId(tranProcessInfo.getId());
                                         stockSaleReceiptReport.setFeedbackWeight(tranCarInfo.getUnloadNetWeight());
-                                        stockSaleReceiptReport.setNetWeight(tranCarInfo.getUnloadNetWeight());
-                                        stockSaleReceiptReport.setSettlementWeight(tranCarInfo.getUnloadNetWeight());
-                                        if(contractManagementInfo.getUnitContractPrice()!=null) {
-                                            stockSaleReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
-                                            stockSaleReceiptReport.setAmountIngReceivable(tranCarInfo.getUnloadNetWeight() *
-                                                    (contractManagementInfo.getUnitContractPrice()));
+                                        //按收货重量结算时
+                                        if("1".equals(contractManagementInfo.getSettlementWeightMethod())){
+                                            stockSaleReceiptReport.setSettlementWeight(tranCarInfo.getUnloadNetWeight());
+                                            //定价销售
+                                            if(contractManagementInfo.getUnitContractPrice()!=null) {
+                                                stockSaleReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
+                                                stockSaleReceiptReport.setAmountIngReceivable(tranCarInfo.getUnloadNetWeight()*
+                                                        (contractManagementInfo.getUnitContractPrice()));
+                                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                                            }
+                                            //随行就市
+                                            else {
+                                                stockSaleReceiptReport.setSettlementPrice(Double.valueOf(String.valueOf(tranCarInfo.getContractPrice())));
+                                                stockSaleReceiptReport.setAmountIngReceivable(Double.valueOf(String.valueOf(tranCarInfo.getUnloadNetWeight() *tranCarInfo.getContractPrice())));
+                                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                                            }
                                         }
-                                        //随行就市
-                                        else {
-                                            stockSaleReceiptReport.setSettlementPrice(Double.valueOf(String.valueOf(tranCarInfo.getContractPrice())));
-                                            stockSaleReceiptReport.setAmountIngReceivable(Double.valueOf(String.valueOf(tranCarInfo.getUnloadNetWeight() *tranCarInfo.getContractPrice())));
+                                        //按出库重量结算时
+                                        else{
+                                            //随行就市
+                                            if(contractManagementInfo.getUnitContractPrice()==null) {
+                                                stockSaleReceiptReport.setSettlementPrice(Double.valueOf(String.valueOf(tranCarInfo.getContractPrice())));
+                                                stockSaleReceiptReport.setAmountIngReceivable(Double.valueOf(String.valueOf(stockSaleReceiptReport.getSettlementWeight()*
+                                                        (tranCarInfo.getContractPrice()))));
+                                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                                            }
                                         }
-                                        stockSaleReceiptReport.setAmountEdReceivable(0.00);
-                                        stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
-                                        stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
-                                        stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
-                                        stockSaleReceiptReportService.insert(stockSaleReceiptReport);
+                                        stockSaleReceiptReportService.updateById(stockSaleReceiptReport);
                                     }
                                 }
                                 else if (tranCarInfo.getShipType() != null && "集装箱".equals(tranCarInfo.getShipType())) {
-                                    StockSaleReceiptReport stockSaleReceiptReport1 = stockSaleReceiptReportService.selectOne(new EntityWrapper<StockSaleReceiptReport>()
-                                            .eq("process_no", tranProcessInfo1.getProcessNo())
+                                    StockSaleReceiptReport stockSaleReceiptReport = stockSaleReceiptReportService.selectOne(new EntityWrapper<StockSaleReceiptReport>()
+                                            .eq("process_id", tranProcessInfo1.getId())
                                             .eq("title_no", tranCarInfo.getTitleNo())
                                             .eq("case_no", tranCarInfo.getCaseNo()));
-                                    if (stockSaleReceiptReport1 == null) {
+                                    if (stockSaleReceiptReport != null) {
                                         //现货销售出库报表
-                                        StockSaleReceiptReport stockSaleReceiptReport = new StockSaleReceiptReport();
-                                        stockSaleReceiptReport.setId(IdGenerator.generateUUID());
-                                        stockSaleReceiptReport.setCompId(tranTaskInfo.getCompId());
-                                        stockSaleReceiptReport.setContractNo(tranProcessInfo1.getContractNo());
-                                        stockSaleReceiptReport.setProcessNo(tranProcessInfo1.getProcessNo());
-                                        stockSaleReceiptReport.setCaseNo(tranCarInfo.getCaseNo());
-                                        stockSaleReceiptReport.setTitleNo(tranCarInfo.getTitleNo());
                                         stockSaleReceiptReport.setFeedbackPerson(commonStaff.getStaffName());
-                                        stockSaleReceiptReport.setNetWeight(tranCarInfo.getUnloadNetWeight());
-                                        stockSaleReceiptReport.setSettlementWeight(tranCarInfo.getUnloadNetWeight());
-                                        if(contractManagementInfo.getUnitContractPrice()!=null) {
-                                            stockSaleReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
-                                            stockSaleReceiptReport.setAmountIngReceivable(tranCarInfo.getUnloadNetWeight() *
-                                                    (contractManagementInfo.getUnitContractPrice()));
+                                        stockSaleReceiptReport.setFeedbackDate(new Date());
+                                        stockSaleReceiptReport.setFeedbackWeight(tranCarInfo.getUnloadNetWeight());
+                                        //按收货重量结算时
+                                        if("1".equals(contractManagementInfo.getSettlementWeightMethod())){
+                                            stockSaleReceiptReport.setSettlementWeight(tranCarInfo.getUnloadNetWeight());
+                                            //定价销售
+                                            if(contractManagementInfo.getUnitContractPrice()!=null) {
+                                                stockSaleReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
+                                                stockSaleReceiptReport.setAmountIngReceivable(tranCarInfo.getUnloadNetWeight()*
+                                                        (contractManagementInfo.getUnitContractPrice()));
+                                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                                            }
+                                            //随行就市
+                                            else {
+                                                stockSaleReceiptReport.setSettlementPrice(Double.valueOf(String.valueOf(tranCarInfo.getContractPrice())));
+                                                stockSaleReceiptReport.setAmountIngReceivable(Double.valueOf(String.valueOf(tranCarInfo.getUnloadNetWeight() *tranCarInfo.getContractPrice())));
+                                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                                            }
                                         }
-                                        //随行就市
-                                        else {
-                                            stockSaleReceiptReport.setSettlementPrice(Double.valueOf(String.valueOf(tranCarInfo.getContractPrice())));
-                                            stockSaleReceiptReport.setAmountIngReceivable(Double.valueOf(String.valueOf(tranCarInfo.getUnloadNetWeight() *tranCarInfo.getContractPrice())));
+                                        //按出库重量结算时
+                                        else{
+                                            //随行就市
+                                            if(contractManagementInfo.getUnitContractPrice()==null) {
+                                                stockSaleReceiptReport.setSettlementPrice(Double.valueOf(String.valueOf(tranCarInfo.getContractPrice())));
+                                                stockSaleReceiptReport.setAmountIngReceivable(Double.valueOf(String.valueOf(stockSaleReceiptReport.getSettlementWeight()*
+                                                        (tranCarInfo.getContractPrice()))));
+                                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                                            }
                                         }
-                                        stockSaleReceiptReport.setAmountEdReceivable(0.00);
-                                        stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
-                                        stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
-                                        stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
-                                        stockSaleReceiptReportService.insert(stockSaleReceiptReport);
+                                        stockSaleReceiptReportService.updateById(stockSaleReceiptReport);
                                     }
                                 }
                             }
-                        }
                     }
                     //船运集装箱
                     if (tranCarInfoList.get(0).getTranType().equals(NumberConstant.CONSTANT3)&&"集装箱".equals(tranCarInfoList.get(0).getShipType())) {

+ 67 - 10
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseInOutInfoServiceImpl.java

@@ -1053,6 +1053,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                                     tranCarInfo.setProcessId(tranProcessInfo.getId());
                                     tranCarInfo.setInfoId(tranProcessInfo.getInfoId());
                                     tranCarInfo.setTranType("4");
+                                    tranCarInfo.setSubmit("1");
                                     tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
                                     tranCarInfo.setLoadNetWeight(warehouseInOutInfo.getNetWeight());
                                     tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
@@ -1093,12 +1094,14 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             }
                             stockSaleReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
                             stockSaleReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
-//                            stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
                             stockSaleReceiptReport.setGrossWeight(warehouseInOutInfo.getGrossWeight());
                             stockSaleReceiptReport.setTare(warehouseInOutInfo.getTare());
                             stockSaleReceiptReport.setNetWeight(warehouseInOutInfo.getNetWeight());
                             stockSaleReceiptReport.setDeliveryDate(warehouseInOutInfo.getInOutDate());
-                            stockSaleReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
+                            //按出库重量结算时
+                            if("1".equals(contractManagementInfo.getSettlementWeightMethod())) {
+                                stockSaleReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
+                            }
                             stockSaleReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
                             stockSaleReceiptReport.setAmountIngReceivable(warehouseInOutInfo.getNetWeight() *
                                     (contractManagementInfo.getUnitContractPrice()));
@@ -1108,13 +1111,68 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
                             stockSaleReceiptReportService.insert(stockSaleReceiptReport);
                         }
-//                        Wrapper wrapper = new EntityWrapper<TranCarInfo>()
-//                                .eq("contract_no", warehouseInOutInfo.getContractNo())
-//                                .eq("car_no", warehouseInOutInfo.getCarNo())
-//                                .eq(TranCarInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0);
-//                        if (warehouseInOutInfo.getTranCarNo() != null && !warehouseInOutInfo.getTranCarNo().isEmpty()) {
-//                            wrapper.eq("tran_car_no", warehouseInOutInfo.getTranCarNo());
-//                        }
+                        //自运的销售合同
+                        ContractManagementInfo contractManagementInfo1 = contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
+                                .eq("contract_no", warehouseInOutInfo.getContractNo())
+                                .eq("deliver_type", "1")
+                                .eq("contract_type","1")
+                                .eq("delete_flag", "0"));
+                        if (contractManagementInfo1 != null) {
+                            //现货销售出库报表
+                            StockSaleReceiptReport stockSaleReceiptReport = new StockSaleReceiptReport();
+                            stockSaleReceiptReport.setId(IdGenerator.generateUUID());
+                            stockSaleReceiptReport.setCompId(warehouseBaseInfo.getCompId());
+                            TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
+                                    .eq("contract_no",contractManagementInfo1.getContractNo())
+                                    .eq("comp_id",contractManagementInfo1.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());
+                                    if("汽运".equals(warehouseInOutInfo.getOutType())){
+                                        stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                                        stockSaleReceiptReport.setTranCarNo(warehouseInOutInfo.getTranCarNo());
+                                        stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo());
+                                        stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
+                                        stockSaleReceiptReport.setCaseNoOther(warehouseInOutInfo.getBoxNoOther());
+                                        stockSaleReceiptReport.setTitleNoOther(warehouseInOutInfo.getTitleNoOther());
+                                    }else if("火运".equals(warehouseInOutInfo.getOutType())){
+                                        stockSaleReceiptReport.setCarNo(warehouseInOutInfo.getCarNo());
+                                        stockSaleReceiptReport.setBoxNo(warehouseInOutInfo.getWingNumber());
+                                    }else if("散船".equals(warehouseInOutInfo.getOutType())){
+                                        stockSaleReceiptReport.setShipName(warehouseInOutInfo.getShipName());
+                                        stockSaleReceiptReport.setShipNo(warehouseInOutInfo.getShipNumber());
+                                    }else if("集装箱船".equals(warehouseInOutInfo.getOutType())){
+                                        stockSaleReceiptReport.setCaseNo(warehouseInOutInfo.getBoxNo());
+                                        stockSaleReceiptReport.setTitleNo(warehouseInOutInfo.getTitleNo());
+                                    }
+                                }
+                            }
+                            stockSaleReceiptReport.setContractNo(warehouseInOutInfo.getContractNo());
+                            stockSaleReceiptReport.setWarehouseName(warehouseInOutInfo.getWarehouseName());
+                            stockSaleReceiptReport.setGrossWeight(warehouseInOutInfo.getGrossWeight());
+                            stockSaleReceiptReport.setTare(warehouseInOutInfo.getTare());
+                            stockSaleReceiptReport.setNetWeight(warehouseInOutInfo.getNetWeight());
+                            stockSaleReceiptReport.setDeliveryDate(warehouseInOutInfo.getInOutDate());
+                            stockSaleReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
+                            //按出库重量结算时
+                            if("1".equals(contractManagementInfo1.getSettlementWeightMethod())){
+                                stockSaleReceiptReport.setSettlementWeight(warehouseInOutInfo.getNetWeight());
+                                //定价销售
+                                if(contractManagementInfo1.getUnitContractPrice()!=null) {
+                                    stockSaleReceiptReport.setSettlementPrice(contractManagementInfo1.getUnitContractPrice());
+                                    stockSaleReceiptReport.setAmountIngReceivable(warehouseInOutInfo.getNetWeight()*
+                                            (contractManagementInfo1.getUnitContractPrice()));
+                                    stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                    stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                                }
+                            }
+                            stockSaleReceiptReport.setStatusFlag(StatusEnum.TO_BE_RECEIVED.getFlag());
+                            stockSaleReceiptReport.setStatus(StatusEnum.TO_BE_RECEIVED.getName());
+                            stockSaleReceiptReportService.insert(stockSaleReceiptReport);
+                        }
                         TranCarInfo tranCarInfo = tranCarInfoService.selectById(warehouseInOutInfo.getCarId());
                         if (tranCarInfo != null) {
                             //将发货数据同步到派车表
@@ -1124,7 +1182,6 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                             }
                             tranCarInfo.setLoadingDate(warehouseInOutInfo.getInOutDate());
                             tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
-//                                    tranCarInfo.setDeductionAmount(warehouseInOutInfo.getDeductionAmount());
                             tranCarInfo.setStatus(StatusEnum.LOADED.getName());
                             tranCarInfo.setStatusFlag(StatusEnum.LOADED.getFlag());
                             if ("1".equals(tranCarInfo.getSubmit())) {