123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- package com.ruoyi.finance.service.impl;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import com.ruoyi.basicData.domain.TCorps;
- import com.ruoyi.basicData.domain.TFees;
- import com.ruoyi.basicData.mapper.TCorpsMapper;
- import com.ruoyi.basicData.mapper.TFeesMapper;
- 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.mapper.TFeeDoMapper;
- import com.ruoyi.finance.mapper.TFeeMapper;
- import com.ruoyi.finance.service.ITFeeService;
- import com.ruoyi.warehouseBusiness.domain.*;
- import com.ruoyi.warehouseBusiness.mapper.BillnoDelMapper;
- import com.ruoyi.warehouseBusiness.mapper.TWarehouseBillsMapper;
- import com.ruoyi.warehouseBusiness.service.impl.BillnoSerialServiceImpl;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.*;
- /**
- * 财务数据主Service业务层处理
- *
- * @author ruoyi
- * @date 2021-01-18
- */
- @Service
- public class TFeeServiceImpl implements ITFeeService {
- @Autowired
- private TFeeMapper tFeeMapper;
- @Autowired
- private TFeeDoMapper tFeeDoMapper;
- @Autowired
- private BillnoSerialServiceImpl billnoSerialServiceImpl;
- @Autowired
- private BillnoDelMapper billnoDelMapper;
- @Autowired
- private TCorpsMapper tCorpsMapper;
- @Autowired
- private TFeesMapper tFeesMapper;
- @Autowired
- private TWarehouseBillsMapper tWarehouseBillsMapper;
- /**
- * 查询财务数据主
- *
- * @param fId 财务数据主ID
- * @return 财务数据主
- */
- @Override
- public Map<String, Object> selectTFeeById(Long fId) {
- Map<String, Object> map = new HashMap<>();
- // 客户表
- List<Long> corpsId = new ArrayList<>();
- // 费用
- List<Long> feesId = new ArrayList<>();
- TFee tFee=tFeeMapper.selectTFeeById(fId);
- if (StringUtils.isNotNull(tFee.getfCorpid())) {
- corpsId.add(tFee.getfCorpid());
- }
- corpsId.add(tFee.getfCorpid());
- // 查询从表数据
- TFeeDo tFeeDo = new TFeeDo();
- tFeeDo.setfPid(fId);
- List<TFeeDo> tFeeDoList= tFeeDoMapper.selectTFeeDoList(tFeeDo);
- List<Map<String, Object>> feeDoList=new ArrayList<>();
- if (StringUtils.isNotEmpty(tFeeDoList)) {
- for (TFeeDo fees : tFeeDoList) {
- Map<String, Object> map1 = new HashMap<>();
- feesId.add(fees.getfFeeid());
- // 查询主表
- TWarehouseBills tWarehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(fees.getfSrcpid());
- // 费用名称
- TFees tFees= tFeesMapper.selectTFeesById(fees.getfFeeid());
- map1.put("fId",fees.getfId());
- map1.put("fSrcid",fees.getfSrcid());
- map1.put("fSrcpid",fees.getfSrcpid());
- map1.put("fMblno",tWarehousebills.getfMblno());
- map1.put("fBscorpno",tWarehousebills.getfBscorpno());
- map1.put("fProductName",tWarehousebills.getfProductName());
- map1.put("fBsdate",tWarehousebills.getfBsdate());
- map1.put("fFeeid",fees.getfFeeid());
- map1.put("fFeeName",tFees.getfName());
- map1.put("fSrcdc",fees.getfSrcdc());
- map1.put("fAmt",fees.getfAmt());
- if(tWarehousebills.getfBilltype().equals("SJRK")){
- map1.put("fBilltype","入库");
- } else if(tWarehousebills.getfBilltype().equals("SJCK")){
- map1.put("fBilltype","出库");
- } else if(tWarehousebills.getfBilltype().equals("CKDB")){
- map1.put("fBilltype","调拨");
- } else if(tWarehousebills.getfBilltype().equals("HQZY")){
- map1.put("fBilltype","货权转移");
- }
- feeDoList.add(map1);
- }
- }
- List<TCorps> corpsList = new ArrayList<>();
- List<Long> corpsIdList = StringUtils.integerDeduplication(corpsId);
- for (Long corpId : corpsIdList) {
- TCorps corps = tCorpsMapper.selectTCorpsById(corpId);
- if (StringUtils.isNotNull(corps)) {
- corpsList.add(corps);
- }
- }
- List<TFees> feesList = new ArrayList<>();
- List<Long> longList = StringUtils.integerDeduplication(feesId);
- for (Long fees : longList) {
- TFees tFees = tFeesMapper.selectTFeesById(fees);
- if (StringUtils.isNotNull(tFees)) {
- feesList.add(tFees);
- }
- }
- map.put("tFee",tFee);
- map.put("corps",corpsList);
- map.put("feesList", feesList);
- map.put("feeDoList",feeDoList);
- return map;
- }
- /**
- * 查询财务数据主列表
- *
- * @param tFee 财务数据主
- * @return 财务数据主
- */
- @Override
- public List<TFee> selectTFeeList(TFee tFee) {
- return tFeeMapper.selectTFeeList(tFee);
- }
- /**
- * 新增财务数据主
- *
- * @param tFee 财务数据主
- * @return 结果
- */
- @Override
- public int insertTFee(TFee tFee) {
- tFee.setCreateTime(DateUtils.getNowDate());
- return tFeeMapper.insertTFee(tFee);
- }
- /**
- * 新增对账 、收费、
- * @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 财务数据主
- * @return 结果
- */
- @Override
- public int updateTFee(TFee tFee) {
- tFee.setUpdateTime(DateUtils.getNowDate());
- return tFeeMapper.updateTFee(tFee);
- }
- /**
- * 批量删除财务数据主
- *
- * @param fIds 需要删除的财务数据主ID
- * @return 结果
- */
- @Override
- public int deleteTFeeByIds(Long[] fIds) {
- // 取出业务编号、 放入 billno_del
- for (Long id : fIds) {
- // 1、查询主表信息
- TFee tFee = tFeeMapper.selectTFeeById(id);
- // 2、业务编号、客存编号 放入 billno_del
- BillnoDel billnoDel = new BillnoDel();
- billnoDel.setBillType(tFee.getfBilltype());
- billnoDel.setBillNo(tFee.getfBillno());
- billnoDelMapper.insertBillnoDel(billnoDel);
- }
- return tFeeMapper.deleteTFeeByIds(fIds);
- }
- /**
- * 删除财务数据主信息
- *
- * @param fId 财务数据主ID
- * @return 结果
- */
- @Override
- public int deleteTFeeById(Long fId) {
- return tFeeMapper.deleteTFeeById(fId);
- }
- @Override
- public List<Map<String, Object>> warehouseBillsFeesList(TWareHouseFees tWareHouseFees) {
- Map<String, Object> map = new HashMap<>();
- map.put("tWareHouseFees", tWareHouseFees);
- return tFeeMapper.warehouseBillsFeesList(map);
- }
- }
|