caifc 3 年 前
コミット
b47170ec13

+ 5 - 5
ruoyi-warehouse/src/main/java/com/ruoyi/finance/service/impl/TFeeServiceImpl.java

@@ -165,17 +165,17 @@ public class TFeeServiceImpl implements ITFeeService {
                 List<SysDictData> sysDictDataList = iSysDictDataService.selectDictDataList(sysDictData);
 
                 List<SysDictData> sysDictDataListIn = new ArrayList<>();
-                if (tWarehousebillsfees.getfBilltype().equals("SJRK")) {
+                if (StringUtils.isNotEmpty(tWarehousebillsfees.getfBilltype()) && tWarehousebillsfees.getfBilltype().equals("SJRK")) {
                     sysDictData.setDictType(ST_IN_TYPE);
                     sysDictData.setDictValue(String.valueOf(tWarehousebillsfees.getfBusinessType()));
                     sysDictData.setStatus("0");
                     sysDictDataListIn = iSysDictDataService.selectDictDataList(sysDictData);
-                } else if (tWarehousebillsfees.getfBilltype().equals("SJCK")) {
+                } else if (StringUtils.isNotEmpty(tWarehousebillsfees.getfBilltype()) && tWarehousebillsfees.getfBilltype().equals("SJCK")) {
                     sysDictData.setDictType(ST_OUT_TYPE);
                     sysDictData.setDictValue(String.valueOf(tWarehousebillsfees.getfBusinessType()));
                     sysDictData.setStatus("0");
                     sysDictDataListIn = iSysDictDataService.selectDictDataList(sysDictData);
-                } else if (tWarehousebillsfees.getfBilltype().equals("CKDB") | tWarehousebillsfees.getfBilltype().equals("HWTG")) {
+                } else if (StringUtils.isNotEmpty(tWarehousebillsfees.getfBilltype()) && tWarehousebillsfees.getfBilltype().equals("CKDB") | tWarehousebillsfees.getfBilltype().equals("HWTG")) {
                     sysDictData.setDictType(ST_TRANS_TYPE);
                     sysDictData.setDictValue(String.valueOf(tWarehousebillsfees.getfBusinessType()));
                     sysDictData.setStatus("0");
@@ -390,7 +390,7 @@ public class TFeeServiceImpl implements ITFeeService {
         }
         List<FinancialTFeeDoExcel> list = tFeeDoMapper.selectFinancialTFeeDo(fPid);
         map.put("tFee", tFee);
-        map.put("tFeeDo",list);
+        map.put("tFeeDo", list);
         return AjaxResult.success("成功", map);
     }
 
@@ -1520,7 +1520,7 @@ public class TFeeServiceImpl implements ITFeeService {
 
     @Override
     public Map<String, Object> selectFinancialTFeeId(Long fId) {
-        Map<String,Object> map = new HashMap<>();
+        Map<String, Object> map = new HashMap<>();
         FinancialTFee financialTFee = tFeeMapper.selectFinancialTFeeId(fId);
         List<FinancialTFeeDoExcel> financialTFeeDoExcels = tFeeDoMapper.selectFinancialTFeeDo(fId);
         map.put("tFee", financialTFee);

+ 62 - 12
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/domain/vo/StorageFeeCalculationResultVO.java

@@ -1,20 +1,17 @@
 package com.ruoyi.warehouseBusiness.domain.vo;
 
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
+import com.ruoyi.basicData.domain.TFees;
+import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
+import com.ruoyi.warehouseBusiness.domain.TWarehousebillsfees;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
- *
- *
- * @author  caifc
+ * @author caifc
  * @date 2021-10-27 18:21
-*/
-@Builder
-@AllArgsConstructor
+ */
 public class StorageFeeCalculationResultVO implements Serializable {
     private static final long serialVersionUID = 1L;
 
@@ -35,20 +32,73 @@ public class StorageFeeCalculationResultVO implements Serializable {
     private BigDecimal qty;
 
     /**
-     *  仓储费
+     * 仓储费
      */
     private BigDecimal amt;
 
     /**
-     *  备注  天*钱=金额
+     * 备注  天*钱=金额
      */
     private String remark;
 
     /**
-     *  计费区间  月日-月日 * 钱
+     * 计费区间  月日-月日 * 钱
      */
     private String billingInterval;
 
+    /**
+     * 仓储主表信息
+     */
+    private TWarehouseBills warehouseBills;
+
+    /**
+     * 仓储费用信息
+     */
+    private List<TWarehousebillsfees> warehouseItemList;
+
+    /**
+     * 费用集合
+     */
+    private List<TWarehousebillsfees> itemFeesList;
+
+    /**
+     * 费用集合
+     */
+    private List<TFees> feesList;
+
+
+    public TWarehouseBills getWarehouseBills() {
+        return warehouseBills;
+    }
+
+    public void setWarehouseBills(TWarehouseBills warehouseBills) {
+        this.warehouseBills = warehouseBills;
+    }
+
+    public List<TWarehousebillsfees> getWarehouseItemList() {
+        return warehouseItemList;
+    }
+
+    public void setWarehouseItemList(List<TWarehousebillsfees> warehouseItemList) {
+        this.warehouseItemList = warehouseItemList;
+    }
+
+    public List<TFees> getFeesList() {
+        return feesList;
+    }
+
+    public void setFeesList(List<TFees> feesList) {
+        this.feesList = feesList;
+    }
+
+    public List<TWarehousebillsfees> getItemFeesList() {
+        return itemFeesList;
+    }
+
+    public void setItemFeesList(List<TWarehousebillsfees> itemFeesList) {
+        this.itemFeesList = itemFeesList;
+    }
+
     public Long getFeeId() {
         return feeId;
     }

+ 8 - 9
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseAgreementServiceImpl.java

@@ -527,17 +527,16 @@ public class TWarehouseAgreementServiceImpl implements ITWarehouseAgreementServi
                 break;
             }
         }
-        return StorageFeeCalculationResultVO.builder()
-                .qty(qty)
-                .amt(money)
-                .feeId(feeId)
-                .remark(remark)
-                .unit(agreementitems.getfFeeunitid())
-                .billingInterval(billingInterval)
-                .build();
+        StorageFeeCalculationResultVO resultVO = new StorageFeeCalculationResultVO();
+        resultVO.setQty(qty);
+        resultVO.setAmt(money);
+        resultVO.setFeeId(feeId);
+        resultVO.setRemark(remark);
+        resultVO.setUnit(agreementitems.getfFeeunitid());
+        resultVO.setBillingInterval(billingInterval);
+        return resultVO;
     }
 
-
     /**
      * 根据不同计费单位获取不同 计算库存明细数量
      *

+ 22 - 28
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -4108,9 +4108,10 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         return map;
     }
 
-    public Map<String, Object> getWarehouseItems1(TWarehouseBills warehouseBills, List<CalculateStorageFeesInfoVO> feesInfoVOList, LoginUser loginUser, String cangKey) {
-        Map<String, Object> map = new HashMap<>();
-        BigDecimal sumAmt = new BigDecimal(0);
+    public StorageFeeCalculationResultVO getWarehouseItems1(TWarehouseBills warehouseBills, List<CalculateStorageFeesInfoVO> feesInfoVOList, LoginUser loginUser, String cangKey) {
+        StorageFeeCalculationResultVO resultVO = new StorageFeeCalculationResultVO();
+
+        BigDecimal sumAmt = BigDecimal.ZERO;
         List<TWarehousebillsfees> itemsList = new ArrayList<>();
         List<SysDictData> taxRate = sysDictDataMapper.selectDictDataByType("tax_rate");
 
@@ -4175,8 +4176,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             if (StringUtils.isNotNull(item.getFMblno())) {
                 mblno = item.getFMblno();
             }
-            map.put("feeId", feeCalculationResultVO.getFeeId());
-            map.put("itemFeeId", feeCalculationResultVO.getFeeId());
+            resultVO.setFeeId(feeCalculationResultVO.getFeeId());
             sumAmt = sumAmt.add(feeCalculationResultVO.getAmt());
             TWarehousebillsfees fees = new TWarehousebillsfees();
             fees.setfFeeid(feeCalculationResultVO.getFeeId());
@@ -4221,9 +4221,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             tWarehousebillsfeesMapper.insertTWarehousebillsfees(fees);
             itemsList.add(fees);
         }
-        map.put("sumAmt", sumAmt);
-        map.put("itemsList", itemsList);
-        return map;
+        resultVO.setAmt(sumAmt);
+        resultVO.setItemFeesList(itemsList);
+        return resultVO;
     }
 
     /**
@@ -4323,6 +4323,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         return AjaxResult.success(map);
     }
 
+    // todo:: asdasd
     public AjaxResult calculateStorageFees1(TWarehouseBills tWarehouseBills, LoginUser loginUser, String billsType) {
         if (StringUtils.isNull(tWarehouseBills.getfCorpid())) {
             return AjaxResult.error("请选择客户信息");
@@ -4353,7 +4354,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         }
         // 计划物资明细
         List<TWarehousebillsfees> itemsList = new ArrayList<>();
-        Map<String, Object> map = new HashMap<>();
+        StorageFeeCalculationResultVO calculationResultVO = new StorageFeeCalculationResultVO();
         //调一次公共方法,获取字符类型的true或者false传
         String cangKey = sysConfigServiceImpl.selectConfigByKey("agreement.warehouse");
         // 查出所有仓库 给后续匹配仓库名字使用
@@ -4363,14 +4364,12 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         List<CalculateStorageFeesInfoVO> feesInfoVOList = tWarehousebillsitemsMapper.selectStorageFeeItemList1(tWarehouseBills);
         tWarehouseBills.setfId(fPid);
         if (CollectionUtils.isNotEmpty(feesInfoVOList)) {
-            Map<String, Object> mapItem = getWarehouseItems1(tWarehouseBills, feesInfoVOList, loginUser, cangKey);
-            if (mapItem.containsKey("error")) {
-                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return AjaxResult.error((String) mapItem.get("error"));
+            StorageFeeCalculationResultVO resultVO = getWarehouseItems1(tWarehouseBills, feesInfoVOList, loginUser, cangKey);
+            if (CollectionUtils.isEmpty(resultVO.getItemFeesList())) {
+                throw new WarehouseException("计费明细信息为空");
             }
-            itemsList = (List<TWarehousebillsfees>) mapItem.get("itemsList");
             // 给仓库信息赋值
-            itemsList.forEach(li -> {
+            resultVO.getItemFeesList().forEach(li -> {
                 TWarehouse tWarehouse = warehouseList.stream().filter(warehouse -> Objects.equals(warehouse.getfId(), li.getfWarehouseid()))
                         .findFirst().orElseThrow(() -> new WarehouseException("找不到仓库信息"));
                 li.setWarehouseName(tWarehouse.getfName());
@@ -4382,15 +4381,12 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             if (!tWarehouseBills.getfBillingDeadline().after(new Date())) {
                 updateWhgenlegs1(tWarehouseBills, whgenlegfeesInfoVOList);
             }
-
-            Map<String, Object> mapItem = getWarehouseItems1(tWarehouseBills, whgenlegfeesInfoVOList, loginUser, cangKey);
-            if (mapItem.containsKey("error")) {
-                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return AjaxResult.error((String) mapItem.get("error"));
+            StorageFeeCalculationResultVO resultVO = getWarehouseItems1(tWarehouseBills, whgenlegfeesInfoVOList, loginUser, cangKey);
+            if (CollectionUtils.isEmpty(resultVO.getItemFeesList())) {
+                throw new WarehouseException("计费明细信息为空");
             }
-            List<TWarehousebillsfees> itemList = (List<TWarehousebillsfees>) mapItem.get("itemsList");
             // 给仓库信息赋值
-            for (TWarehousebillsfees li : itemList) {
+            for (TWarehousebillsfees li : resultVO.getItemFeesList()) {
                 TWarehouse tWarehouse = warehouseList.stream().filter(warehouse -> Objects.equals(warehouse.getfId(), li.getfWarehouseid()))
                         .findFirst().orElseThrow(() -> new WarehouseException("找不到仓库信息"));
                 li.setWarehouseName(tWarehouse.getfName());
@@ -4404,10 +4400,10 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         if (CollectionUtils.isEmpty(itemsList)) {
             throw new WarehouseException("未找到合适的库存明细");
         }
-        map.put("feesList", feesList);
-        map.put("warehouseBills", tWarehouseBills);
-        map.put("warehouseItemList", itemsList);
-        return AjaxResult.success(map);
+        calculationResultVO.setFeesList(feesList);
+        calculationResultVO.setWarehouseBills(tWarehouseBills);
+        calculationResultVO.setWarehouseItemList(itemsList);
+        return AjaxResult.success(calculationResultVO);
     }
 
     /**
@@ -4683,7 +4679,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             StorageFeeCalculationResultVO carryingCost = tWarehouseAgreementService.getCarryingCost(storageFeesDto);
             if (StringUtils.isNull(carryingCost)) {
                 continue;
-//                map.put("error", "单号:" + item.get("fBillno") + ",业务日期:" + item.get("fBsdate") + "未找到仓储费协议,请确认");
             }
             String mblno = "";
             if (StringUtils.isNotNull(item.get("fMblno"))) {
@@ -4755,7 +4750,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         if (tWarehousebillsitemsMapper.selectIsCalculateStorageFeesByIdsOrType(ids, WarehouseTypeEnum.CALCULATE.getType()) > 0) {
             throw new WarehouseException("该出库已被计算仓储费");
         }
-        ;
         List<TWarehousebillsfees> list = new ArrayList<>();
         for (TWarehouseBills tWarehouseBills : tWarehouseBillsList) {
             // 计划物资明细