|  | @@ -474,6 +474,17 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  | +     * 查询详情主表列表
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  | +     * @param tWarehousebills 详情主表
 | 
	
		
			
				|  |  | +     * @return 详情主表
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public List<Map<String, Object>> getWarehouseBusinessList(TWarehouseBills tWarehousebills) {
 | 
	
		
			
				|  |  | +        return tWarehouseBillsMapper.selectWarehouseBusinessList(tWarehousebills);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  |       * 查询导出所需主表列表
 | 
	
		
			
				|  |  |       *
 | 
	
		
			
				|  |  |       * @param tWarehousebills 详情主表
 | 
	
	
		
			
				|  | @@ -1975,6 +1986,164 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 | 
	
		
			
				|  |  |          return AjaxResult.success();
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 查看其他账务
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  | +     * @param fId 其他账务id
 | 
	
		
			
				|  |  | +     * @return
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public AjaxResult selectOtherFees(Long fId) {
 | 
	
		
			
				|  |  | +        TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(fId);
 | 
	
		
			
				|  |  | +        if (StringUtils.isNull(warehouseBills)) {
 | 
	
		
			
				|  |  | +            return AjaxResult.error("未找到主表信息,请确认该信息是否存在");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        TWarehousebillsfees fee1 = new TWarehousebillsfees();
 | 
	
		
			
				|  |  | +        fee1.setfPid(fId);
 | 
	
		
			
				|  |  | +        fee1.setfDc("D");
 | 
	
		
			
				|  |  | +        TWarehousebillsfees fee2 = new TWarehousebillsfees();
 | 
	
		
			
				|  |  | +        fee2.setfPid(fId);
 | 
	
		
			
				|  |  | +        fee2.setfDc("C");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        return AjaxResult.success(new HashMap<String, Object>() {{
 | 
	
		
			
				|  |  | +            this.put("warehouseBills", warehouseBills);
 | 
	
		
			
				|  |  | +            this.put("feesDrList", tWarehousebillsfeesMapper.selectTWarehousebillsfeesList(fee1));
 | 
	
		
			
				|  |  | +            this.put("feesCrList", tWarehousebillsfeesMapper.selectTWarehousebillsfeesList(fee2));
 | 
	
		
			
				|  |  | +        }});
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 其他账务保存、提交接口
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  | +     * @param tWarehouseBills 主表业务
 | 
	
		
			
				|  |  | +     * @param feesCr          收费
 | 
	
		
			
				|  |  | +     * @param feesDr          付费
 | 
	
		
			
				|  |  | +     * @return
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    @Transactional
 | 
	
		
			
				|  |  | +    public AjaxResult saveOtherFees(String tWarehouseBills, String feesCr, String feesDr, String type) {
 | 
	
		
			
				|  |  | +        TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehouseBills, TWarehouseBills.class);
 | 
	
		
			
				|  |  | +        warehouseBills.setfBilltype("QTZW");
 | 
	
		
			
				|  |  | +        // 判断提单号是否存在
 | 
	
		
			
				|  |  | +        if (StringUtils.isNull(warehouseBills.getfId()) && tWarehouseBillsMapper.selectContainMblno(warehouseBills) > 0) {
 | 
	
		
			
				|  |  | +            return AjaxResult.error("该参看编号已存在");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        Long billStatus = 2L;
 | 
	
		
			
				|  |  | +        if ("add".equals(type)) {
 | 
	
		
			
				|  |  | +            billStatus = 6L;
 | 
	
		
			
				|  |  | +            warehouseBills.setfReviewDate(warehouseBills.getfBsdate());
 | 
	
		
			
				|  |  | +            warehouseBills.setfBillstatus(billStatus);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            if (StringUtils.isNull(warehouseBills.getfBillstatus())) {
 | 
	
		
			
				|  |  | +                warehouseBills.setfBillstatus(billStatus);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (StringUtils.isNull(warehouseBills.getfId())) {
 | 
	
		
			
				|  |  | +            warehouseBills.setCreateTime(new Date());
 | 
	
		
			
				|  |  | +            warehouseBills.setCreateBy(SecurityUtils.getUsername());
 | 
	
		
			
				|  |  | +            warehouseBills.setfDeptid(SecurityUtils.getLoginUser().getUser().getDeptId());
 | 
	
		
			
				|  |  | +            warehouseBills.setfBsdeptid(SecurityUtils.getLoginUser().getUser().getDeptId());
 | 
	
		
			
				|  |  | +            tWarehouseBillsMapper.insertTWarehousebills(warehouseBills);
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            warehouseBills.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | +            warehouseBills.setUpdateBy(SecurityUtils.getUsername());
 | 
	
		
			
				|  |  | +            tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        tWarehousebillsfeesMapper.deleteByFPid(warehouseBills.getfId());
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotEmpty(feesCr) && !"[]".equals(feesCr)) {
 | 
	
		
			
				|  |  | +            JSONArray jsonDrArray = JSONArray.parseArray(feesCr);
 | 
	
		
			
				|  |  | +            List<TWarehousebillsfees> crs = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsfees.class);
 | 
	
		
			
				|  |  | +            int line = 1;
 | 
	
		
			
				|  |  | +            for (TWarehousebillsfees cr : crs) {
 | 
	
		
			
				|  |  | +                if (StringUtils.isNull(cr.getfCorpid()) || StringUtils.isNull(cr.getfFeeunitid())) {
 | 
	
		
			
				|  |  | +                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +                    return AjaxResult.error("付款费用第" + line + "行,缺少必填信息");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                cr.setfDc("C");
 | 
	
		
			
				|  |  | +                cr.setfBillstatus(billStatus);
 | 
	
		
			
				|  |  | +                cr.setCreateTime(new Date());
 | 
	
		
			
				|  |  | +                cr.setfPid(warehouseBills.getfId());
 | 
	
		
			
				|  |  | +                cr.setCreateBy(SecurityUtils.getUsername());
 | 
	
		
			
				|  |  | +                tWarehousebillsfeesMapper.insertTWarehousebillsfees(cr);
 | 
	
		
			
				|  |  | +                line++;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotEmpty(feesDr) && !"[]".equals(feesDr)) {
 | 
	
		
			
				|  |  | +            JSONArray jsonDrArray = JSONArray.parseArray(feesDr);
 | 
	
		
			
				|  |  | +            List<TWarehousebillsfees> crs = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsfees.class);
 | 
	
		
			
				|  |  | +            int line = 1;
 | 
	
		
			
				|  |  | +            for (TWarehousebillsfees dr : crs) {
 | 
	
		
			
				|  |  | +                if (StringUtils.isNull(dr.getfCorpid()) || StringUtils.isNull(dr.getfFeeunitid())) {
 | 
	
		
			
				|  |  | +                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +                    return AjaxResult.error("收款费用第" + line + "行,缺少必填信息");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                dr.setfDc("D");
 | 
	
		
			
				|  |  | +                dr.setfBillstatus(billStatus);
 | 
	
		
			
				|  |  | +                dr.setCreateTime(new Date());
 | 
	
		
			
				|  |  | +                dr.setfPid(warehouseBills.getfId());
 | 
	
		
			
				|  |  | +                dr.setCreateBy(SecurityUtils.getUsername());
 | 
	
		
			
				|  |  | +                tWarehousebillsfeesMapper.insertTWarehousebillsfees(dr);
 | 
	
		
			
				|  |  | +                line++;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return AjaxResult.success();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 其他账务撤销
 | 
	
		
			
				|  |  | +     *
 | 
	
		
			
				|  |  | +     * @param fId  主表id
 | 
	
		
			
				|  |  | +     * @param type 类型
 | 
	
		
			
				|  |  | +     * @return
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    @Transactional
 | 
	
		
			
				|  |  | +    public AjaxResult revokeOtherFees(Long fId, String type) {
 | 
	
		
			
				|  |  | +        TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(fId);
 | 
	
		
			
				|  |  | +        if (StringUtils.isNull(warehouseBills)) {
 | 
	
		
			
				|  |  | +            return AjaxResult.error("未找到主表信息,请确认是否存在");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        TWarehousebillsfees fees = new TWarehousebillsfees();
 | 
	
		
			
				|  |  | +        fees.setfPid(fId);
 | 
	
		
			
				|  |  | +        List<TWarehousebillsfees> feesList = tWarehousebillsfeesMapper.selectTWarehousebillsfeesList(fees);
 | 
	
		
			
				|  |  | +        if (StringUtils.isEmpty(feesList)) {
 | 
	
		
			
				|  |  | +            return AjaxResult.error("未找到费用信息,请确认是否存在");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        for (TWarehousebillsfees fee : feesList) {
 | 
	
		
			
				|  |  | +            if (StringUtils.isNotEmpty(fee.getfStatementNo()) || StringUtils.isNotEmpty(fee.getfStlamountNo())) {
 | 
	
		
			
				|  |  | +                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 | 
	
		
			
				|  |  | +                return AjaxResult.error("费用信息存在已对账或已收费付费操作,无法撤销");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if ("remove".equals(type)) {
 | 
	
		
			
				|  |  | +                tWarehousebillsfeesMapper.deleteTWarehousebillsfeesById(fee.getfId());
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                fee.setfStatus("2");
 | 
	
		
			
				|  |  | +                fee.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | +                fee.setUpdateBy(SecurityUtils.getUsername());
 | 
	
		
			
				|  |  | +                tWarehousebillsfeesMapper.updateTWarehousebillsfees(fee);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if ("remove".equals(type)) {
 | 
	
		
			
				|  |  | +            if (warehouseBills.getfBillstatus() != 2L) {
 | 
	
		
			
				|  |  | +                return AjaxResult.error("主表状态有误,请确认状态是否为暂存状态");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            tWarehouseBillsMapper.deleteTWarehousebillsById(fId);
 | 
	
		
			
				|  |  | +            return AjaxResult.success();
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            if (warehouseBills.getfBillstatus() != 6L) {
 | 
	
		
			
				|  |  | +                return AjaxResult.error("主表状态有误,请确认状态是否已提交");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        warehouseBills.setfBillstatus(2L);
 | 
	
		
			
				|  |  | +        warehouseBills.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | +        warehouseBills.setUpdateBy(SecurityUtils.getUsername());
 | 
	
		
			
				|  |  | +        tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
 | 
	
		
			
				|  |  | +        return AjaxResult.success();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public AjaxResult importCreateCompanyMsg(MultipartFile file) throws Exception {
 | 
	
		
			
				|  |  |          List<TWarehousebillsCntritemsExcel> fleetCompanyMsgs = new ArrayList<>();
 |