zhangyuewww 2 yıl önce
ebeveyn
işleme
f5d0aa8b85

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

@@ -1322,6 +1322,43 @@ public class TranProcessInfoServiceImpl extends ServiceImpl<TranProcessInfoMappe
                     if (stockSaleReceiptReport != null){
                         stockSaleReceiptReport.setFeedbackWeight(Double.valueOf(String.valueOf(tranCarInfo.getUnloadNetWeight())));
                         stockSaleReceiptReport.setFeedbackDate(tranCarInfo.getUnloadingDate());
+                        //按收货重量结算时
+                        if ("2".equals(contractManagementInfo.getSettlementWeightMethod()) && tranCarInfo.getUnloadNetWeight() > 0) {
+                            //扣重不为空
+                            if (tranCarInfo.getDeductionWeight() != null) {
+                                stockSaleReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(tranCarInfo.getUnloadNetWeight() - tranCarInfo.getDeductionWeight())));
+                            } else {
+                                stockSaleReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(tranCarInfo.getUnloadNetWeight())));
+                            }
+                            //定价销售
+                            if (contractManagementInfo.getUnitContractPrice() != null) {
+                                stockSaleReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
+                                stockSaleReceiptReport.setAmountIngReceivable(stockSaleReceiptReport.getSettlementWeight() *
+                                        (contractManagementInfo.getUnitContractPrice()));
+                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                            }
+                            //随行就市
+                            else {
+                                if (tranCarInfo.getContractPrice() != null) {
+                                    stockSaleReceiptReport.setSettlementPrice(tranCarInfo.getContractPrice());
+                                    stockSaleReceiptReport.setAmountIngReceivable(Double.valueOf(String.valueOf(stockSaleReceiptReport.getSettlementWeight() * tranCarInfo.getContractPrice())));
+                                    stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                    stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                                }
+                            }
+                        }
+                        //按出库重量结算时
+                        else if ("1".equals(contractManagementInfo.getSettlementWeightMethod())) {
+                            //随行就市
+                            if (contractManagementInfo.getUnitContractPrice() == null && tranCarInfo.getContractPrice() != null) {
+                                stockSaleReceiptReport.setSettlementPrice(tranCarInfo.getContractPrice());
+                                stockSaleReceiptReport.setAmountIngReceivable(stockSaleReceiptReport.getSettlementWeight() *
+                                        (tranCarInfo.getContractPrice()));
+                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                            }
+                        }
                         stockSaleReceiptReportService.updateById(stockSaleReceiptReport);
                     }
                 }
@@ -1339,6 +1376,43 @@ public class TranProcessInfoServiceImpl extends ServiceImpl<TranProcessInfoMappe
                     if (stockSaleReceiptReport != null){
                         stockSaleReceiptReport.setFeedbackWeight(Double.valueOf(String.valueOf(tranCarInfo.getUnloadNetWeight())));
                         stockSaleReceiptReport.setFeedbackDate(tranCarInfo.getUnloadingDate());
+                        //按收货重量结算时
+                        if ("2".equals(contractManagementInfo.getSettlementWeightMethod()) && tranCarInfo.getUnloadNetWeight() > 0) {
+                            //扣重不为空
+                            if (tranCarInfo.getDeductionWeight() != null) {
+                                stockSaleReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(tranCarInfo.getUnloadNetWeight() - tranCarInfo.getDeductionWeight())));
+                            } else {
+                                stockSaleReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(tranCarInfo.getUnloadNetWeight())));
+                            }
+                            //定价销售
+                            if (contractManagementInfo.getUnitContractPrice() != null) {
+                                stockSaleReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
+                                stockSaleReceiptReport.setAmountIngReceivable(stockSaleReceiptReport.getSettlementWeight() *
+                                        (contractManagementInfo.getUnitContractPrice()));
+                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                            }
+                            //随行就市
+                            else {
+                                if (tranCarInfo.getContractPrice() != null) {
+                                    stockSaleReceiptReport.setSettlementPrice(tranCarInfo.getContractPrice());
+                                    stockSaleReceiptReport.setAmountIngReceivable(Double.valueOf(String.valueOf(stockSaleReceiptReport.getSettlementWeight() * tranCarInfo.getContractPrice())));
+                                    stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                    stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                                }
+                            }
+                        }
+                        //按出库重量结算时
+                        else if ("1".equals(contractManagementInfo.getSettlementWeightMethod())) {
+                            //随行就市
+                            if (contractManagementInfo.getUnitContractPrice() == null && tranCarInfo.getContractPrice() != null) {
+                                stockSaleReceiptReport.setSettlementPrice(tranCarInfo.getContractPrice());
+                                stockSaleReceiptReport.setAmountIngReceivable(stockSaleReceiptReport.getSettlementWeight() *
+                                        (tranCarInfo.getContractPrice()));
+                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                            }
+                        }
                         stockSaleReceiptReportService.updateById(stockSaleReceiptReport);
                     }
                 }
@@ -1356,6 +1430,43 @@ public class TranProcessInfoServiceImpl extends ServiceImpl<TranProcessInfoMappe
                     if (stockSaleReceiptReport != null){
                         stockSaleReceiptReport.setFeedbackWeight(Double.valueOf(String.valueOf(tranCarInfo.getUnloadNetWeight())));
                         stockSaleReceiptReport.setFeedbackDate(tranCarInfo.getUnloadingDate());
+                        //按收货重量结算时
+                        if ("2".equals(contractManagementInfo.getSettlementWeightMethod()) && tranCarInfo.getUnloadNetWeight() > 0) {
+                            //扣重不为空
+                            if (tranCarInfo.getDeductionWeight() != null) {
+                                stockSaleReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(tranCarInfo.getUnloadNetWeight() - tranCarInfo.getDeductionWeight())));
+                            } else {
+                                stockSaleReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(tranCarInfo.getUnloadNetWeight())));
+                            }
+                            //定价销售
+                            if (contractManagementInfo.getUnitContractPrice() != null) {
+                                stockSaleReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
+                                stockSaleReceiptReport.setAmountIngReceivable(stockSaleReceiptReport.getSettlementWeight() *
+                                        (contractManagementInfo.getUnitContractPrice()));
+                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                            }
+                            //随行就市
+                            else {
+                                if (tranCarInfo.getContractPrice() != null) {
+                                    stockSaleReceiptReport.setSettlementPrice(tranCarInfo.getContractPrice());
+                                    stockSaleReceiptReport.setAmountIngReceivable(Double.valueOf(String.valueOf(stockSaleReceiptReport.getSettlementWeight() * tranCarInfo.getContractPrice())));
+                                    stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                    stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                                }
+                            }
+                        }
+                        //按出库重量结算时
+                        else if ("1".equals(contractManagementInfo.getSettlementWeightMethod())) {
+                            //随行就市
+                            if (contractManagementInfo.getUnitContractPrice() == null && tranCarInfo.getContractPrice() != null) {
+                                stockSaleReceiptReport.setSettlementPrice(tranCarInfo.getContractPrice());
+                                stockSaleReceiptReport.setAmountIngReceivable(stockSaleReceiptReport.getSettlementWeight() *
+                                        (tranCarInfo.getContractPrice()));
+                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                            }
+                        }
                         stockSaleReceiptReportService.updateById(stockSaleReceiptReport);
                     }
                 }
@@ -1373,6 +1484,43 @@ public class TranProcessInfoServiceImpl extends ServiceImpl<TranProcessInfoMappe
                     if (stockSaleReceiptReport != null){
                         stockSaleReceiptReport.setFeedbackWeight(Double.valueOf(String.valueOf(tranCarInfo.getUnloadNetWeight())));
                         stockSaleReceiptReport.setFeedbackDate(tranCarInfo.getUnloadingDate());
+                        //按收货重量结算时
+                        if ("2".equals(contractManagementInfo.getSettlementWeightMethod()) && tranCarInfo.getUnloadNetWeight() > 0) {
+                            //扣重不为空
+                            if (tranCarInfo.getDeductionWeight() != null) {
+                                stockSaleReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(tranCarInfo.getUnloadNetWeight() - tranCarInfo.getDeductionWeight())));
+                            } else {
+                                stockSaleReceiptReport.setSettlementWeight(Double.valueOf(String.valueOf(tranCarInfo.getUnloadNetWeight())));
+                            }
+                            //定价销售
+                            if (contractManagementInfo.getUnitContractPrice() != null) {
+                                stockSaleReceiptReport.setSettlementPrice(contractManagementInfo.getUnitContractPrice());
+                                stockSaleReceiptReport.setAmountIngReceivable(stockSaleReceiptReport.getSettlementWeight() *
+                                        (contractManagementInfo.getUnitContractPrice()));
+                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                            }
+                            //随行就市
+                            else {
+                                if (tranCarInfo.getContractPrice() != null) {
+                                    stockSaleReceiptReport.setSettlementPrice(tranCarInfo.getContractPrice());
+                                    stockSaleReceiptReport.setAmountIngReceivable(Double.valueOf(String.valueOf(stockSaleReceiptReport.getSettlementWeight() * tranCarInfo.getContractPrice())));
+                                    stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                    stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                                }
+                            }
+                        }
+                        //按出库重量结算时
+                        else if ("1".equals(contractManagementInfo.getSettlementWeightMethod())) {
+                            //随行就市
+                            if (contractManagementInfo.getUnitContractPrice() == null && tranCarInfo.getContractPrice() != null) {
+                                stockSaleReceiptReport.setSettlementPrice(tranCarInfo.getContractPrice());
+                                stockSaleReceiptReport.setAmountIngReceivable(stockSaleReceiptReport.getSettlementWeight() *
+                                        (tranCarInfo.getContractPrice()));
+                                stockSaleReceiptReport.setAmountEdReceivable(0.00);
+                                stockSaleReceiptReport.setAmountNotReceivable(stockSaleReceiptReport.getAmountIngReceivable());
+                            }
+                        }
                         stockSaleReceiptReportService.updateById(stockSaleReceiptReport);
                     }
                 }

+ 8 - 4
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ContractManagementInfoMapper.xml

@@ -1400,12 +1400,16 @@
         SELECT
             ((
                  SELECT
-                     IFNULL( SUM( ssrr.amount_ing_receivable ), 0 )
+                     IFNULL( SUM( exi.amount_money ), 0 )
                  FROM
-                     stock_sale_receipt_report ssrr
+                     expense_info exi
                  WHERE
-                     ssrr.contract_no = cmi.contract_no
-                   AND ssrr.delete_flag = 0
+                     exi.contract_no = cmi.contract_no
+                   AND exi.comp_id = cmi.comp_id
+                   AND exi.expenses_type = '1'
+                   AND exi.expenses_purpose = '1'
+                   AND exi.status_flag >= '5'
+                   AND exi.delete_flag = '0'
              )- (
                  SELECT
                      IFNULL( SUM( exi.amount_money ), 0 )