|  | @@ -1,13 +1,25 @@
 | 
	
		
			
				|  |  |  package com.ruoyi.finance.service.impl;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import com.alibaba.fastjson.JSONArray;
 | 
	
		
			
				|  |  | +import com.alibaba.fastjson.JSONObject;
 | 
	
		
			
				|  |  | +import com.ruoyi.common.core.domain.AjaxResult;
 | 
	
		
			
				|  |  | +import com.ruoyi.common.core.domain.model.LoginUser;
 | 
	
		
			
				|  |  |  import com.ruoyi.common.utils.DateUtils;
 | 
	
		
			
				|  |  | +import com.ruoyi.common.utils.StringUtils;
 | 
	
		
			
				|  |  |  import com.ruoyi.finance.domain.TFee;
 | 
	
		
			
				|  |  | +import com.ruoyi.finance.domain.TFeeDo;
 | 
	
		
			
				|  |  | +import com.ruoyi.finance.domain.TWareHouseFees;
 | 
	
		
			
				|  |  |  import com.ruoyi.finance.service.ITFeeService;
 | 
	
		
			
				|  |  |  import com.ruoyi.warehouse.mapper.TFeeMapper;
 | 
	
		
			
				|  |  | +import com.ruoyi.warehouseBusiness.domain.TEnclosure;
 | 
	
		
			
				|  |  | +import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
 | 
	
		
			
				|  |  | +import com.ruoyi.warehouseBusiness.domain.TWarehousebillsfees;
 | 
	
		
			
				|  |  | +import com.ruoyi.warehouseBusiness.domain.TWarehousebillsitems;
 | 
	
		
			
				|  |  | +import com.ruoyi.warehouseBusiness.service.impl.BillnoSerialServiceImpl;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -import java.util.List;
 | 
	
		
			
				|  |  | +import java.util.*;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  |   * 财务数据主Service业务层处理
 | 
	
	
		
			
				|  | @@ -20,6 +32,12 @@ public class TFeeServiceImpl implements ITFeeService {
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private TFeeMapper tFeeMapper;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private com.ruoyi.warehouse.mapper.TFeeDoMapper tFeeDoMapper;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private BillnoSerialServiceImpl billnoSerialServiceImpl;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  |       * 查询财务数据主
 | 
	
		
			
				|  |  |       *
 | 
	
	
		
			
				|  | @@ -55,6 +73,50 @@ public class TFeeServiceImpl implements ITFeeService {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  | +     *    新增对账 、收费、
 | 
	
		
			
				|  |  | +     * @param tfee
 | 
	
		
			
				|  |  | +     * @param tfeeDo
 | 
	
		
			
				|  |  | +     * @param loginUser
 | 
	
		
			
				|  |  | +     * @param fBilltype
 | 
	
		
			
				|  |  | +     * @return
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public AjaxResult insertTFeeTFeeDo(String tfee, String tfeeDo, LoginUser loginUser, String fBilltype) {
 | 
	
		
			
				|  |  | +        Long fPid = null;
 | 
	
		
			
				|  |  | +        TFee tFee = JSONArray.parseObject(tfee, TFee.class);
 | 
	
		
			
				|  |  | +        if (StringUtils.isNull(tFee.getfId())) {
 | 
	
		
			
				|  |  | +            // 如果是新数据
 | 
	
		
			
				|  |  | +            tFee.setCreateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  | +            tFee.setfBilltype(fBilltype);
 | 
	
		
			
				|  |  | +            // 业务编码
 | 
	
		
			
				|  |  | +            Date time = new Date();
 | 
	
		
			
				|  |  | +            String billNo = billnoSerialServiceImpl.getBillNo(fBilltype, time);
 | 
	
		
			
				|  |  | +            tFee.setfBillno(billNo);
 | 
	
		
			
				|  |  | +            tFeeMapper.insertTFee(tFee);
 | 
	
		
			
				|  |  | +            fPid = tFee.getfId();
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            fPid = tFee.getfId();
 | 
	
		
			
				|  |  | +            tFee.setUpdateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  | +            tFee.setUpdateTime(new Date());
 | 
	
		
			
				|  |  | +            tFeeMapper.updateTFee(tFee);
 | 
	
		
			
				|  |  | +            // 删除从表
 | 
	
		
			
				|  |  | +            tFeeDoMapper.deleteByFPid(fPid);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        //  财务从表
 | 
	
		
			
				|  |  | +        if (StringUtils.isNotNull(tfeeDo)) {
 | 
	
		
			
				|  |  | +            JSONArray jsonDrArray = JSONArray.parseArray(tfeeDo);
 | 
	
		
			
				|  |  | +            List<TFeeDo> tFeeDoList = JSONObject.parseArray(jsonDrArray.toJSONString(), TFeeDo.class);
 | 
	
		
			
				|  |  | +            for (TFeeDo tFeeDo : tFeeDoList) {
 | 
	
		
			
				|  |  | +                tFeeDo.setfPid(fPid);
 | 
	
		
			
				|  |  | +                tFeeDo.setCreateBy(loginUser.getUser().getUserName());
 | 
	
		
			
				|  |  | +                tFeeDo.setCreateTime(new Date());
 | 
	
		
			
				|  |  | +                tFeeDoMapper.insertTFeeDo(tFeeDo);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return AjaxResult.success();
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  |       * 修改财务数据主
 | 
	
		
			
				|  |  |       *
 | 
	
		
			
				|  |  |       * @param tFee 财务数据主
 | 
	
	
		
			
				|  | @@ -87,4 +149,20 @@ public class TFeeServiceImpl implements ITFeeService {
 | 
	
		
			
				|  |  |      public int deleteTFeeById(Long fId) {
 | 
	
		
			
				|  |  |          return tFeeMapper.deleteTFeeById(fId);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public List<Map<String, Object>> warehouseBillsFeesList(TWareHouseFees tWareHouseFees) {
 | 
	
		
			
				|  |  | +        // 获取费用list
 | 
	
		
			
				|  |  | +        List<Long> feeIdList =new ArrayList<Long>();
 | 
	
		
			
				|  |  | +        if(tWareHouseFees.getfFeeid() != null ){
 | 
	
		
			
				|  |  | +            List<String> lis = Arrays.asList(tWareHouseFees.getfFeeid().split(","));
 | 
	
		
			
				|  |  | +            for (String string : lis) {
 | 
	
		
			
				|  |  | +                feeIdList.add(Long.parseLong(string));
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        Map<String, Object> map = new HashMap<>();
 | 
	
		
			
				|  |  | +        map.put("feeIdList", feeIdList);
 | 
	
		
			
				|  |  | +        map.put("tWareHouseFees", tWareHouseFees);
 | 
	
		
			
				|  |  | +        return tFeeMapper.warehouseBillsFeesList(map);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  }
 |