|  | @@ -42,9 +42,9 @@ import com.ruoyi.system.mapper.SysConfigMapper;
 | 
	
		
			
				|  |  |  import com.ruoyi.system.mapper.SysDeptMapper;
 | 
	
		
			
				|  |  |  import com.ruoyi.system.mapper.SysDictDataMapper;
 | 
	
		
			
				|  |  |  import com.ruoyi.system.mapper.SysUserMapper;
 | 
	
		
			
				|  |  | -import com.ruoyi.system.service.ISysConfigService;
 | 
	
		
			
				|  |  |  import com.ruoyi.system.service.impl.SysConfigServiceImpl;
 | 
	
		
			
				|  |  |  import com.ruoyi.warehouseBusiness.component.WarehouseBillsfilterService;
 | 
	
		
			
				|  |  | +import com.ruoyi.warehouseBusiness.component.impl.QueryWhgenlegServiceImpl;
 | 
	
		
			
				|  |  |  import com.ruoyi.warehouseBusiness.domain.*;
 | 
	
		
			
				|  |  |  import com.ruoyi.warehouseBusiness.domain.dto.CalculateStorageFeesDTO;
 | 
	
		
			
				|  |  |  import com.ruoyi.warehouseBusiness.domain.dto.WarehousebillsDTO;
 | 
	
	
		
			
				|  | @@ -433,10 +433,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |       * @param warehouseBills      仓库主表
 | 
	
		
			
				|  |  |       * @param warehousebillsitems 仓库明细表
 | 
	
		
			
				|  |  |       * @param ifCntrno            是否判断箱号
 | 
	
		
			
				|  |  | -     * @param operate             操作(确认、撤回)
 | 
	
		
			
				|  |  |       * @return 库存总账
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    public TWhgenleg queryTWhgenleg(TWarehouseBills warehouseBills, TWarehousebillsitems warehousebillsitems, String ifCntrno, String operate) {
 | 
	
		
			
				|  |  | +    public TWhgenleg queryTWhgenleg(TWarehouseBills warehouseBills, TWarehousebillsitems warehousebillsitems, String ifCntrno) {
 | 
	
		
			
				|  |  |          // 货转时如果调出操作是10-1且计费日期10-1那么调入的时候也要判断计费日期10-1业务日期10-1,调入之后吧id赋值给费用明细新加字段中
 | 
	
		
			
				|  |  |          // 调拨同理
 | 
	
		
			
				|  |  |          TWhgenleg tWhgenleg = new TWhgenleg();
 | 
	
	
		
			
				|  | @@ -3038,7 +3037,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                  TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  |                  return AjaxResult.error("更新库存总账失败-->入库毛重大于库容");
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            TWhgenleg tWhgenle = queryTWhgenleg(warehouseBills, warehousebillsitems, goods.getIfCntrno(), WarehouseTypeEnum.CONFIRM_OPERATION.getType());
 | 
	
		
			
				|  |  | +            TWhgenleg tWhgenle = queryTWhgenleg(warehouseBills, warehousebillsitems, goods.getIfCntrno());
 | 
	
		
			
				|  |  |              if (StringUtils.isNotNull(tWhgenle)) {
 | 
	
		
			
				|  |  |                  int i = updateTWhgenlegData(tWarehousebillsitems, tWhgenle.getfId(), billsType);
 | 
	
		
			
				|  |  |                  if (i <= 0) {
 | 
	
	
		
			
				|  | @@ -3069,7 +3068,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          } else if ("SJCK".equals(billsType)) {
 | 
	
		
			
				|  |  |              // 查询总账是否存在
 | 
	
		
			
				|  |  | -            TWhgenleg tWhgenle = queryTWhgenleg(warehouseBills, warehousebillsitems, goods.getIfCntrno(), WarehouseTypeEnum.CONFIRM_OPERATION.getType());
 | 
	
		
			
				|  |  | +            TWhgenleg tWhgenle = queryTWhgenleg(warehouseBills, warehousebillsitems, goods.getIfCntrno());
 | 
	
		
			
				|  |  |              if (StringUtils.isNull(tWhgenle)) { // 为空 提示没有库存
 | 
	
		
			
				|  |  |                  TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  |                  return AjaxResult.error("库存明细库存为空");
 | 
	
	
		
			
				|  | @@ -3962,132 +3961,11 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |       * 生成计算仓储费信息
 | 
	
		
			
				|  |  |       *
 | 
	
		
			
				|  |  |       * @param warehouseBills
 | 
	
		
			
				|  |  | -     * @param mapItem
 | 
	
		
			
				|  |  |       * @param loginUser
 | 
	
		
			
				|  |  |       * @param cangKey
 | 
	
		
			
				|  |  |       * @return
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    public Map<String, Object> getWarehouseItems(TWarehouseBills warehouseBills, List<Map<String, Object>> mapItem, LoginUser loginUser, String cangKey) {
 | 
	
		
			
				|  |  | -        Map<String, Object> map = new HashMap<>();
 | 
	
		
			
				|  |  | -        BigDecimal sumAmt = new BigDecimal(0);
 | 
	
		
			
				|  |  | -        List<TWarehousebillsfees> itemsList = new ArrayList<>();
 | 
	
		
			
				|  |  | -        List<SysDictData> taxRate = sysDictDataMapper.selectDictDataByType("tax_rate");
 | 
	
		
			
				|  |  | -        for (Map<String, Object> item : mapItem) {
 | 
	
		
			
				|  |  | -            if (StringUtils.isNull(item.get("fBillingway"))) {
 | 
	
		
			
				|  |  | -                throw new WarehouseException("单号:" + item.get("fBillno") + ",业务日期:" + item.get("fBsdate") + "未找到库存总账的计费单位,请确认");
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            CalculateStorageFeesDTO storageFeesDto = new CalculateStorageFeesDTO();
 | 
	
		
			
				|  |  | -            storageFeesDto.setfCorpid(warehouseBills.getfCorpid());
 | 
	
		
			
				|  |  | -            storageFeesDto.setCangKey(cangKey);
 | 
	
		
			
				|  |  | -            storageFeesDto.setWarehouseId(Long.parseLong(String.valueOf(item.get("warehouse"))));
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            Date fBsdate = (Date) item.get("fBsdate");
 | 
	
		
			
				|  |  | -            String fBilltype = (String) item.get("fBilltype");
 | 
	
		
			
				|  |  | -            String fGoodsid = (String) item.get("fTypeid");
 | 
	
		
			
				|  |  | -            if (StringUtils.isNotEmpty(fGoodsid)) {
 | 
	
		
			
				|  |  | -                fGoodsid = "\"" + fGoodsid + "\"";
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            storageFeesDto.setfGoodsid(fGoodsid);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            long fId = Long.valueOf(String.valueOf(item.get("fId")));
 | 
	
		
			
				|  |  | -            // 累计计费天数
 | 
	
		
			
				|  |  | -            if (Objects.equals(((Date) item.get("fChargedate")).getTime(), ((Date) item.get("fOriginalbilldate")).getTime())) {
 | 
	
		
			
				|  |  | -                storageFeesDto.setEarlySumDays(0L);
 | 
	
		
			
				|  |  | -            } else {
 | 
	
		
			
				|  |  | -                storageFeesDto.setEarlySumDays(DateUtils.getDateDay((Date) item.get("fChargedate"), (Date) item.get("fOriginalbilldate")));
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            // 库存天数
 | 
	
		
			
				|  |  | -            long fInventoryDays;
 | 
	
		
			
				|  |  | -            // 要计费天数
 | 
	
		
			
				|  |  | -            long fBillingDays;
 | 
	
		
			
				|  |  | -            if (WarehouseTypeEnum.SJCK.getType().equals(fBilltype)) {
 | 
	
		
			
				|  |  | -                fInventoryDays = DateUtils.getDateDay(fBsdate, (Date) item.get("fChargedate"));
 | 
	
		
			
				|  |  | -                fBillingDays = fInventoryDays;
 | 
	
		
			
				|  |  | -                storageFeesDto.setStartTime((Date) item.get("fOriginalbilldate"));
 | 
	
		
			
				|  |  | -                storageFeesDto.setEndTime(fBsdate);
 | 
	
		
			
				|  |  | -            } else if (WarehouseTypeEnum.HQZY.getType().equals(fBilltype)) {
 | 
	
		
			
				|  |  | -                fInventoryDays = DateUtils.getDateDay(fBsdate, (Date) item.get("fChargedate"));
 | 
	
		
			
				|  |  | -                fBillingDays = fInventoryDays;
 | 
	
		
			
				|  |  | -                storageFeesDto.setStartTime(fBsdate);
 | 
	
		
			
				|  |  | -                storageFeesDto.setEndTime((Date) item.get("fOriginalbilldate"));
 | 
	
		
			
				|  |  | -            } else {
 | 
	
		
			
				|  |  | -                storageFeesDto.setStartTime((Date) item.get("fChargedate"));
 | 
	
		
			
				|  |  | -//                storageFeesDto.setStartTime((Date) item.get("fOriginalbilldate"));
 | 
	
		
			
				|  |  | -                storageFeesDto.setEndTime(warehouseBills.getfBillingDeadline());
 | 
	
		
			
				|  |  | -                fInventoryDays = DateUtils.getDateDay(warehouseBills.getfBillingDeadline(), (Date) item.get("fOriginalbilldate"));
 | 
	
		
			
				|  |  | -                fBillingDays = DateUtils.getDateDay(warehouseBills.getfBillingDeadline(), (Date) item.get("fChargedate"));
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            if (fBillingDays <= 0) {
 | 
	
		
			
				|  |  | -                continue;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            storageFeesDto.setDays(fBillingDays);
 | 
	
		
			
				|  |  | -            storageFeesDto.setfMblno((String) item.get("fMblno"));
 | 
	
		
			
				|  |  | -            // 赋值要计算的数量单位
 | 
	
		
			
				|  |  | -            storageFeesDto.setfQty(new BigDecimal(String.valueOf(item.get("fQty"))));
 | 
	
		
			
				|  |  | -            storageFeesDto.setfVolumn(new BigDecimal(String.valueOf(item.get("fQty"))));
 | 
	
		
			
				|  |  | -            storageFeesDto.setfNetweight(new BigDecimal(String.valueOf(item.get("fNetweight"))));
 | 
	
		
			
				|  |  | -            storageFeesDto.setfGrossweight(new BigDecimal(String.valueOf(item.get("fGrossweight"))));
 | 
	
		
			
				|  |  | -            // 仓储费协议计算
 | 
	
		
			
				|  |  | -            StorageFeeCalculationResultVO feeCalculationResultVO = tWarehouseAgreementService.getCarryingCost(storageFeesDto);
 | 
	
		
			
				|  |  | -            if (Objects.isNull(feeCalculationResultVO)) {
 | 
	
		
			
				|  |  | -                continue;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            String mblno = "";
 | 
	
		
			
				|  |  | -            if (StringUtils.isNotNull(item.get("fMblno"))) {
 | 
	
		
			
				|  |  | -                mblno = item.get("fMblno").toString();
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            map.put("feeId", feeCalculationResultVO.getFeeId());
 | 
	
		
			
				|  |  | -            map.put("itemFeeId", feeCalculationResultVO.getFeeId());
 | 
	
		
			
				|  |  | -            sumAmt = sumAmt.add(feeCalculationResultVO.getAmt());
 | 
	
		
			
				|  |  | -            TWarehousebillsfees fees = new TWarehousebillsfees();
 | 
	
		
			
				|  |  | -            fees.setfFeeid(feeCalculationResultVO.getFeeId());
 | 
	
		
			
				|  |  | -            fees.setfDc("D");
 | 
	
		
			
				|  |  | -            fees.setfAmt(feeCalculationResultVO.getAmt());
 | 
	
		
			
				|  |  | -            fees.setSrcId(fId);
 | 
	
		
			
				|  |  | -            fees.setfMblno(mblno);
 | 
	
		
			
				|  |  | -            fees.setRemark(feeCalculationResultVO.getRemark());
 | 
	
		
			
				|  |  | -            fees.setfFeeunitid(2L);
 | 
	
		
			
				|  |  | -            fees.setfAmount(feeCalculationResultVO.getAmt());
 | 
	
		
			
				|  |  | -            fees.setfBillstatus(2L);
 | 
	
		
			
				|  |  | -            fees.setfCurrency("RMB");
 | 
	
		
			
				|  |  | -            fees.setfBsdate(fBsdate);
 | 
	
		
			
				|  |  | -            fees.setfBillingQty(feeCalculationResultVO.getQty());
 | 
	
		
			
				|  |  | -            fees.setfUnitprice(feeCalculationResultVO.getAmt());
 | 
	
		
			
				|  |  | -            fees.setfBilltype(fBilltype);
 | 
	
		
			
				|  |  | -            fees.setCreateTime(new Date());
 | 
	
		
			
				|  |  | -            fees.setfBillingDays(fBillingDays);
 | 
	
		
			
				|  |  | -            fees.setfQty(new BigDecimal(1));
 | 
	
		
			
				|  |  | -            fees.setfPid(warehouseBills.getfId());
 | 
	
		
			
				|  |  | -            fees.setfInventoryDays(fInventoryDays);
 | 
	
		
			
				|  |  | -            fees.setfExrate(new BigDecimal(1));
 | 
	
		
			
				|  |  | -            fees.setPriceDateRemarks(feeCalculationResultVO.getBillingInterval());
 | 
	
		
			
				|  |  | -            fees.setfCorpid(warehouseBills.getfCorpid());
 | 
	
		
			
				|  |  | -            fees.setfMarks(item.get("fMarks").toString());
 | 
	
		
			
				|  |  | -            fees.setSrcBillNo((String) item.get("fBillno"));
 | 
	
		
			
				|  |  | -            fees.setCreateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  | -            fees.setfWarehouseid(storageFeesDto.getWarehouseId());
 | 
	
		
			
				|  |  | -            fees.setfProductName(item.get("fGoodsids").toString());
 | 
	
		
			
				|  |  | -            if (WarehouseTypeEnum.SJCK.getType().equals(fBilltype) ||
 | 
	
		
			
				|  |  | -                    WarehouseTypeEnum.HQZY.getType().equals(fBilltype)) {
 | 
	
		
			
				|  |  | -                fees.setfBillingDeadline(fBsdate);
 | 
	
		
			
				|  |  | -            } else {
 | 
	
		
			
				|  |  | -                fees.setfBillingDeadline(warehouseBills.getfBillingDeadline());
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            fees.setfChargedate((Date) item.get("fChargedate"));
 | 
	
		
			
				|  |  | -            fees.setfTaxrate(new BigDecimal(taxRate.get(0).getDictValue()));
 | 
	
		
			
				|  |  | -            fees.setfOriginalbilldate((Date) item.get("fOriginalbilldate"));
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            fees.setfBillingway(feeCalculationResultVO.getUnit());
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            tWarehousebillsfeesMapper.insertTWarehousebillsfees(fees);
 | 
	
		
			
				|  |  | -            itemsList.add(fees);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        map.put("sumAmt", sumAmt);
 | 
	
		
			
				|  |  | -        map.put("itemsList", itemsList);
 | 
	
		
			
				|  |  | -        return map;
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    public StorageFeeCalculationResultVO getWarehouseItems1(TWarehouseBills warehouseBills, List<CalculateStorageFeesInfoVO> feesInfoVOList, LoginUser loginUser, String cangKey) {
 | 
	
		
			
				|  |  | +    public StorageFeeCalculationResultVO getWarehouseItems(TWarehouseBills warehouseBills, List<CalculateStorageFeesInfoVO> feesInfoVOList, LoginUser loginUser, String cangKey) {
 | 
	
		
			
				|  |  |          StorageFeeCalculationResultVO resultVO = new StorageFeeCalculationResultVO();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          BigDecimal sumAmt = BigDecimal.ZERO;
 | 
	
	
		
			
				|  | @@ -4215,93 +4093,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      @Transactional
 | 
	
		
			
				|  |  | -    /*public AjaxResult calculateStorageFees(TWarehouseBills tWarehouseBills, LoginUser loginUser, String billsType) {
 | 
	
		
			
				|  |  | -        if (StringUtils.isNull(tWarehouseBills.getfCorpid())) {
 | 
	
		
			
				|  |  | -            return AjaxResult.error("请选择客户信息");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        tWarehouseBills.setfBillingDeadline(DateUtils.dateConversionMax(tWarehouseBills.getfBillingDeadline()));
 | 
	
		
			
				|  |  | -        long fPid;
 | 
	
		
			
				|  |  | -        if (StringUtils.isNull(tWarehouseBills.getfId())) {
 | 
	
		
			
				|  |  | -            // 生成流水号
 | 
	
		
			
				|  |  | -            Date time = new Date();
 | 
	
		
			
				|  |  | -            String billNo = billnoSerialServiceImpl.getSerialNumber(WarehouseTypeEnum.JSCCF.getType(), time);
 | 
	
		
			
				|  |  | -            tWarehouseBills.setfBillno(billNo);
 | 
	
		
			
				|  |  | -            if (StringUtils.isNull(tWarehouseBills.getfBillstatus())) {
 | 
	
		
			
				|  |  | -                tWarehouseBills.setfBillstatus(2L);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            tWarehouseBills.setfBilltype(billsType);
 | 
	
		
			
				|  |  | -            tWarehouseBills.setfBsdeptid(loginUser.getUser().getDeptId());
 | 
	
		
			
				|  |  | -            tWarehouseBills.setCreateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  | -            tWarehouseBills.setCreateTime(new Date());
 | 
	
		
			
				|  |  | -            tWarehouseBillsMapper.insertTWarehousebills(tWarehouseBills);
 | 
	
		
			
				|  |  | -            fPid = tWarehouseBills.getfId();
 | 
	
		
			
				|  |  | -        } else {
 | 
	
		
			
				|  |  | -            tWarehousebillsfeesMapper.deleteByFPid(tWarehouseBills.getfId());
 | 
	
		
			
				|  |  | -            tWarehousebillsitemsMapper.deleteByFPid(tWarehouseBills.getfId());
 | 
	
		
			
				|  |  | -            tWarehouseBills.setUpdateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  | -            tWarehouseBills.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | -            tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);
 | 
	
		
			
				|  |  | -            fPid = tWarehouseBills.getfId();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        // 计划物资明细
 | 
	
		
			
				|  |  | -        List<TWarehousebillsfees> itemsList = new ArrayList<>();
 | 
	
		
			
				|  |  | -        Map<String, Object> map = new HashMap<>();
 | 
	
		
			
				|  |  | -        //调一次公共方法,获取字符类型的true或者false传
 | 
	
		
			
				|  |  | -        String cangKey = sysConfigServiceImpl.selectConfigByKey("agreement.warehouse");
 | 
	
		
			
				|  |  | -        // 查出所有仓库 给后续匹配仓库名字使用
 | 
	
		
			
				|  |  | -        List<TWarehouse> warehouseList = tWarehouseMapper.selectTWarehouseList(new TWarehouse());
 | 
	
		
			
				|  |  | -        // 查询 出库 货转的库存明细
 | 
	
		
			
				|  |  | -        tWarehouseBills.setfId(null);
 | 
	
		
			
				|  |  | -        List<Map<String, Object>> warehousebillsitemsList = tWarehousebillsitemsMapper.selectStorageFeeItemList(tWarehouseBills);
 | 
	
		
			
				|  |  | -        tWarehouseBills.setfId(fPid);
 | 
	
		
			
				|  |  | -        if (warehousebillsitemsList.size() != 0) {
 | 
	
		
			
				|  |  | -            Map<String, Object> mapItem = getWarehouseItems(tWarehouseBills, warehousebillsitemsList, loginUser, cangKey);
 | 
	
		
			
				|  |  | -            if (mapItem.containsKey("error")) {
 | 
	
		
			
				|  |  | -                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | -                return AjaxResult.error((String) mapItem.get("error"));
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            itemsList = (List<TWarehousebillsfees>) mapItem.get("itemsList");
 | 
	
		
			
				|  |  | -            // 给仓库信息赋值
 | 
	
		
			
				|  |  | -            itemsList.forEach(li -> {
 | 
	
		
			
				|  |  | -                TWarehouse tWarehouse = warehouseList.stream().filter(warehouse -> Objects.equals(warehouse.getfId(), li.getfWarehouseid()))
 | 
	
		
			
				|  |  | -                        .findFirst().orElseThrow(() -> new WarehouseException("找不到仓库信息"));
 | 
	
		
			
				|  |  | -                li.setWarehouseName(tWarehouse.getfName());
 | 
	
		
			
				|  |  | -            });
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        List<Map<String, Object>> tWhgenlegs = tWhgenlegMapper.selectStorageFeeItemList(tWarehouseBills);
 | 
	
		
			
				|  |  | -        if (CollectionUtils.isNotEmpty(tWhgenlegs)) {
 | 
	
		
			
				|  |  | -            // 如果是计算之前日期的库存总帐则需要使用当时日期的准确数量
 | 
	
		
			
				|  |  | -            if (!tWarehouseBills.getfBillingDeadline().after(new Date())) {
 | 
	
		
			
				|  |  | -                updateWhgenlegs(tWarehouseBills, tWhgenlegs);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            Map<String, Object> mapItem = getWarehouseItems(tWarehouseBills, tWhgenlegs, loginUser, cangKey);
 | 
	
		
			
				|  |  | -            if (mapItem.containsKey("error")) {
 | 
	
		
			
				|  |  | -                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | -                return AjaxResult.error((String) mapItem.get("error"));
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            List<TWarehousebillsfees> itemList = (List<TWarehousebillsfees>) mapItem.get("itemsList");
 | 
	
		
			
				|  |  | -            // 给仓库信息赋值
 | 
	
		
			
				|  |  | -            for (TWarehousebillsfees li : itemList) {
 | 
	
		
			
				|  |  | -                TWarehouse tWarehouse = warehouseList.stream().filter(warehouse -> Objects.equals(warehouse.getfId(), li.getfWarehouseid()))
 | 
	
		
			
				|  |  | -                        .findFirst().orElseThrow(() -> new WarehouseException("找不到仓库信息"));
 | 
	
		
			
				|  |  | -                li.setWarehouseName(tWarehouse.getfName());
 | 
	
		
			
				|  |  | -                itemsList.add(li);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        TFees tFees = new TFees();
 | 
	
		
			
				|  |  | -        tFees.setfStatus("2");
 | 
	
		
			
				|  |  | -        tFees.setDelFlag("0");
 | 
	
		
			
				|  |  | -        List<TFees> feesList = tFeesMapper.selectTFeesList(tFees);
 | 
	
		
			
				|  |  | -        if (CollectionUtils.isEmpty(itemsList)) {
 | 
	
		
			
				|  |  | -            throw new WarehouseException("未找到合适的库存明细");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        map.put("feesList", feesList);
 | 
	
		
			
				|  |  | -        map.put("warehouseBills", tWarehouseBills);
 | 
	
		
			
				|  |  | -        map.put("warehouseItemList", itemsList);
 | 
	
		
			
				|  |  | -        return AjaxResult.success(map);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -*/
 | 
	
		
			
				|  |  |      public AjaxResult calculateStorageFees(TWarehouseBills tWarehouseBills, LoginUser loginUser, String billsType) {
 | 
	
		
			
				|  |  |          if (StringUtils.isNull(tWarehouseBills.getfCorpid())) {
 | 
	
		
			
				|  |  |              return AjaxResult.error("请选择客户信息");
 | 
	
	
		
			
				|  | @@ -4342,7 +4133,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          List<CalculateStorageFeesInfoVO> feesInfoVOList = tWarehousebillsitemsMapper.selectStorageFeeItemList1(tWarehouseBills);
 | 
	
		
			
				|  |  |          tWarehouseBills.setfId(fPid);
 | 
	
		
			
				|  |  |          if (CollectionUtils.isNotEmpty(feesInfoVOList)) {
 | 
	
		
			
				|  |  | -            StorageFeeCalculationResultVO resultVO = getWarehouseItems1(tWarehouseBills, feesInfoVOList, loginUser, cangKey);
 | 
	
		
			
				|  |  | +            StorageFeeCalculationResultVO resultVO = getWarehouseItems(tWarehouseBills, feesInfoVOList, loginUser, cangKey);
 | 
	
		
			
				|  |  |              if (CollectionUtils.isNotEmpty(resultVO.getItemFeesList())) {
 | 
	
		
			
				|  |  |                  // 给仓库信息赋值
 | 
	
		
			
				|  |  |                  resultVO.getItemFeesList().forEach(li -> {
 | 
	
	
		
			
				|  | @@ -4359,7 +4150,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |              if (!tWarehouseBills.getfBillingDeadline().after(new Date())) {
 | 
	
		
			
				|  |  |                  updateWhgenlegs1(tWarehouseBills, whgenlegfeesInfoVOList);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            StorageFeeCalculationResultVO resultVO = getWarehouseItems1(tWarehouseBills, whgenlegfeesInfoVOList, loginUser, cangKey);
 | 
	
		
			
				|  |  | +            StorageFeeCalculationResultVO resultVO = getWarehouseItems(tWarehouseBills, whgenlegfeesInfoVOList, loginUser, cangKey);
 | 
	
		
			
				|  |  |              if (CollectionUtils.isNotEmpty(resultVO.getItemFeesList())) {
 | 
	
		
			
				|  |  |                  // 给仓库信息赋值
 | 
	
		
			
				|  |  |                  for (TWarehousebillsfees li : resultVO.getItemFeesList()) {
 | 
	
	
		
			
				|  | @@ -6137,7 +5928,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      wb.setfBillstatus(10L);
 | 
	
		
			
				|  |  |                  } else if (WarehouseTypeEnum.CKDB_REVOKE.getType().equals(billsType)) { // 调拨 撤销
 | 
	
		
			
				|  |  | -                    if (wb.getCreateTime().before(new Date(1637025878284L))) {
 | 
	
		
			
				|  |  | +                    if (wb.getCreateTime().before(new Date(1637196750745L))) {
 | 
	
		
			
				|  |  |                          throw new WarehouseException("该单据已被锁定,请联系管理员");
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      if (!Objects.equals(wb.getfWarehouselocid(), wb.getfTransferWarehouselocid())) {
 | 
	
	
		
			
				|  | @@ -6154,7 +5945,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      wb.setfBillstatus(10L);
 | 
	
		
			
				|  |  |                  } else if (WarehouseTypeEnum.HWTG_REVOKE.getType().equals(billsType)) { // 调拨 撤销
 | 
	
		
			
				|  |  | -                    if (wb.getCreateTime().before(new Date(1637025878284L))) {
 | 
	
		
			
				|  |  | +                    if (wb.getCreateTime().before(new Date(1637196750745L))) {
 | 
	
		
			
				|  |  |                          throw new WarehouseException("该单据已被锁定,请联系管理员");
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      //  1、新货权方撤销入库
 | 
	
	
		
			
				|  | @@ -6172,7 +5963,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                      updateTWhgenlegData(wb, whgenleg.getfId(), WarehouseTypeEnum.SJCK_REVOKE.getType());
 | 
	
		
			
				|  |  |                      wb.setfBillstatus(10L);
 | 
	
		
			
				|  |  |                  } else if (WarehouseTypeEnum.HQZY_REVOKE.getType().equals(billsType)) { // 货转撤销
 | 
	
		
			
				|  |  | -                    if (wb.getCreateTime().before(new Date(1637025878284L))) {
 | 
	
		
			
				|  |  | +                    if (wb.getCreateTime().before(new Date(1637196750745L))) {
 | 
	
		
			
				|  |  |                          throw new WarehouseException("该单据已被锁定,请联系管理员");
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      Long fCorpid = tWarehousebills.getfCorpid();// 原货权方
 | 
	
	
		
			
				|  | @@ -6848,17 +6639,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                      tWarehousebillsfeesMapper.insertTWarehousebillsfees(tWarehousebillsfees);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            /*List<TWarehousebillsfees> WarehousebillsfeesList = tWarehousebillsfeesMapper.selectWarehousebillsfeesByPId(selectOne.getfId());
 | 
	
		
			
				|  |  | -            if (CollectionUtils.isNotEmpty(WarehousebillsfeesList)){
 | 
	
		
			
				|  |  | -                //修改原单费用
 | 
	
		
			
				|  |  | -                for (TWarehousebillsfees tWarehousebillsfees : WarehousebillsfeesList) {
 | 
	
		
			
				|  |  | -                    tWarehousebillsfees.setUpdateBy(SecurityUtils.getUsername());
 | 
	
		
			
				|  |  | -                    tWarehousebillsfees.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | -                    tWarehousebillsfees.setfQty(tWarehousebillsfees.getfQty().subtract(new BigDecimal(number)));
 | 
	
		
			
				|  |  | -                    tWarehousebillsfees.setfAmount(tWarehousebillsfees.getfQty().multiply(tWarehousebillsfees.getfUnitprice()));
 | 
	
		
			
				|  |  | -                    tWarehousebillsfeesMapper.updateTWarehousebillsfees(tWarehousebillsfees);
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -            }*/
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |              TWarehouseBills tWarehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId());
 | 
	
		
			
				|  |  |              warehouseBills.setUpdateTime(DateUtils.getNowDate());
 | 
	
	
		
			
				|  | @@ -6872,7 +6652,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                      warehousebillsCntr.setfPid(warehouseBills.getfId());
 | 
	
		
			
				|  |  |                      warehousebillsCntr.setCreateTime(DateUtils.getNowDate());
 | 
	
		
			
				|  |  |                      warehousebillsCntr.setCreateBy(SecurityUtils.getUsername());
 | 
	
		
			
				|  |  | -                    int cntr = tWarehousebillsCntrMapper.insertTWarehousebillsCntr(warehousebillsCntr);
 | 
	
		
			
				|  |  | +                    tWarehousebillsCntrMapper.insertTWarehousebillsCntr(warehousebillsCntr);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              tWarehousebillsCntritemsMapper.deleteTWarehousebillsCntritemsfPid(warehouseBills.getfId());
 | 
	
	
		
			
				|  | @@ -6888,10 +6668,10 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                      warehousebillsCntritems.setfPid(warehouseBills.getfId());
 | 
	
		
			
				|  |  |                      warehousebillsCntritems.setCreateTime(DateUtils.getNowDate());
 | 
	
		
			
				|  |  |                      warehousebillsCntritems.setCreateBy(SecurityUtils.getUsername());
 | 
	
		
			
				|  |  | -                    int cntr = tWarehousebillsCntritemsMapper.insertTWarehousebillsCntritems(warehousebillsCntritems);
 | 
	
		
			
				|  |  | +                    tWarehousebillsCntritemsMapper.insertTWarehousebillsCntritems(warehousebillsCntritems);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            int i = tWarehousebillsfeesMapper.deleteByFPid(warehouseBills.getfId());
 | 
	
		
			
				|  |  | +            tWarehousebillsfeesMapper.deleteByFPid(warehouseBills.getfId());
 | 
	
		
			
				|  |  |              //保存新单费用信息 修改原单费用信息
 | 
	
		
			
				|  |  |              List<TWarehousebillsfees> tWarehousebillsfeesList = tWarehousebillsfeesMapper.selectWarehousebillsfeesByPId(selectOne.getfId());
 | 
	
		
			
				|  |  |              if (CollectionUtils.isNotEmpty(tWarehousebillsfeesList)) {
 | 
	
	
		
			
				|  | @@ -6906,30 +6686,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |                      tWarehousebillsfeesMapper.insertTWarehousebillsfees(tWarehousebillsfees);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            /*List<TWarehousebillsfees> WarehousebillsfeesList = tWarehousebillsfeesMapper.selectWarehousebillsfeesByPId(selectOne.getfId());
 | 
	
		
			
				|  |  | -            if (CollectionUtils.isNotEmpty(WarehousebillsfeesList)){
 | 
	
		
			
				|  |  | -                //修改原单费用
 | 
	
		
			
				|  |  | -                for (TWarehousebillsfees tWarehousebillsfees : WarehousebillsfeesList) {
 | 
	
		
			
				|  |  | -                    tWarehousebillsfees.setUpdateBy(SecurityUtils.getUsername());
 | 
	
		
			
				|  |  | -                    tWarehousebillsfees.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | -                    tWarehousebillsfees.setfQty(tWarehousebillsfees.getfQty().subtract(new BigDecimal(number)));
 | 
	
		
			
				|  |  | -                    tWarehousebillsfees.setfAmount(tWarehousebillsfdees.getfQty().multiply(tWarehousebillsfees.getfUnitprice()));
 | 
	
		
			
				|  |  | -                    tWarehousebillsfeesMapper.updateTWarehousebillsfees(tWarehousebillsfees);
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -            }*/
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        /*//修改原单的货物信息
 | 
	
		
			
				|  |  | -        TWarehousebillsCntr warehousebillsCntr = tWarehousebillsCntrMapper.selectTWarehousebillsCntrByPId(selectOne.getfId());
 | 
	
		
			
				|  |  | -        warehousebillsCntr.setUpdateBy(SecurityUtils.getUsername());
 | 
	
		
			
				|  |  | -        warehousebillsCntr.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | -        warehousebillsCntr.setfCntrcount(warehousebillsCntr.getfCntrcount() - number);
 | 
	
		
			
				|  |  | -        tWarehousebillsCntrMapper.updateTWarehousebillsCntr(warehousebillsCntr);
 | 
	
		
			
				|  |  | -        //修改箱信息
 | 
	
		
			
				|  |  | -        if (CollectionUtils.isNotEmpty(tWarehousebillsCntritemsList)) {
 | 
	
		
			
				|  |  | -            for (TWarehousebillsCntritems warehousebillsCntritems : tWarehousebillsCntritemsList) {
 | 
	
		
			
				|  |  | -                tWarehousebillsCntritemsMapper.deleteTWarehousebillsCntritemOlder(selectOne.getfId(), warehousebillsCntritems.getfCntrno());
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        }*/
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          if (isApprove) {
 | 
	
		
			
				|  |  |              AuditItems auditItems = new AuditItems();
 | 
	
		
			
				|  |  |              auditItems.setLevelId(0L);
 |