|
|
@@ -1,14 +1,20 @@
|
|
|
package com.ruoyi.logistics.service.impl;
|
|
|
|
|
|
-import java.util.Collections;
|
|
|
-import java.util.List;
|
|
|
+import java.util.*;
|
|
|
+
|
|
|
import com.ruoyi.common.core.utils.DateUtils;
|
|
|
import com.ruoyi.common.datascope.annotation.DataScope;
|
|
|
+import com.ruoyi.common.security.utils.SecurityUtils;
|
|
|
+import com.ruoyi.logistics.domain.BizFinancialAdjustmentRecord;
|
|
|
+import com.ruoyi.logistics.mapper.BizFinancialAdjustmentRecordMapper;
|
|
|
+import com.ruoyi.logistics.service.IRptFinancialMonthSummaryService;
|
|
|
+import com.ruoyi.system.api.model.LoginUser;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.ruoyi.logistics.mapper.BizWaybillCostDetailsMapper;
|
|
|
import com.ruoyi.logistics.domain.BizWaybillCostDetails;
|
|
|
import com.ruoyi.logistics.service.IBizWaybillCostDetailsService;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
/**
|
|
|
* 运单明细Service业务层处理
|
|
|
@@ -21,6 +27,10 @@ public class BizWaybillCostDetailsServiceImpl implements IBizWaybillCostDetailsS
|
|
|
{
|
|
|
@Autowired
|
|
|
private BizWaybillCostDetailsMapper bizWaybillCostDetailsMapper;
|
|
|
+ @Autowired
|
|
|
+ private BizFinancialAdjustmentRecordMapper bizFinancialAdjustmentRecordMapper;
|
|
|
+ @Autowired
|
|
|
+ private IRptFinancialMonthSummaryService rptFinancialMonthSummaryService;
|
|
|
|
|
|
/**
|
|
|
* 查询运单明细
|
|
|
@@ -69,11 +79,6 @@ public class BizWaybillCostDetailsServiceImpl implements IBizWaybillCostDetailsS
|
|
|
@Override
|
|
|
public int updateBizWaybillCostDetails(BizWaybillCostDetails bizWaybillCostDetails)
|
|
|
{
|
|
|
- //修改运费明细后 会向修改记录插入数据
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
bizWaybillCostDetails.setUpdateTime(DateUtils.getNowDate());
|
|
|
return bizWaybillCostDetailsMapper.updateBizWaybillCostDetails(bizWaybillCostDetails);
|
|
|
}
|
|
|
@@ -106,4 +111,64 @@ public class BizWaybillCostDetailsServiceImpl implements IBizWaybillCostDetailsS
|
|
|
public List<BizWaybillCostDetails> selectBizWaybillCostDetailsListByWx(BizWaybillCostDetails bizWaybillCostDetails) {
|
|
|
return bizWaybillCostDetailsMapper.selectBizWaybillCostDetailsListByWx(bizWaybillCostDetails);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 调账功能
|
|
|
+ * 调账+调账记录生成
|
|
|
+ * 参数:BizWaybillCostDetails
|
|
|
+ * 1.供应商id 费用清单明细的deptId
|
|
|
+ * 2.账单月份 月度报表的月份
|
|
|
+ * 3.原金额 rateAmount
|
|
|
+ * 4.调账金额 adjustAmount
|
|
|
+ * 5.调账原因 字典获取value值
|
|
|
+ * 6.运单号 费用明细的运单号
|
|
|
+ * 7.费用明细id
|
|
|
+ * 8.
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public int accountAdjustment(BizWaybillCostDetails bizWaybillCostDetails) {
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+ LoginUser loginUser = SecurityUtils.getLoginUser();
|
|
|
+ //调账流水记录
|
|
|
+ BizFinancialAdjustmentRecord bizFinancialAdjustmentRecord = new BizFinancialAdjustmentRecord();
|
|
|
+ bizFinancialAdjustmentRecord.setWaybillNo(bizWaybillCostDetails.getExternalWaybillNo());
|
|
|
+ bizFinancialAdjustmentRecord.setWaybillCostDetailId(bizWaybillCostDetails.getWaybillDetailId());
|
|
|
+ bizFinancialAdjustmentRecord.setAdjustmentType(bizWaybillCostDetails.getAdjustmentType());
|
|
|
+ bizFinancialAdjustmentRecord.setOriginalAmount(bizWaybillCostDetails.getRateAmount());
|
|
|
+ bizFinancialAdjustmentRecord.setAdjustedAmount(bizWaybillCostDetails.getAdjustAmount());
|
|
|
+ //调整金额 由调整后金额-原金额 subtract
|
|
|
+ bizFinancialAdjustmentRecord.setAdjustmentAmount(bizWaybillCostDetails.getAdjustAmount().subtract(bizWaybillCostDetails.getRateAmount()));
|
|
|
+ bizFinancialAdjustmentRecord.setAdjustmentReason(bizWaybillCostDetails.getRemark());
|
|
|
+ bizFinancialAdjustmentRecord.setCreateTime(new Date());
|
|
|
+ bizFinancialAdjustmentRecord.setCreateBy(loginUser.getSysUser().getNickName());
|
|
|
+ bizFinancialAdjustmentRecord.setUserId(loginUser.getUserid());
|
|
|
+ bizFinancialAdjustmentRecord.setDeptId(loginUser.getSysUser().getDeptId());
|
|
|
+ bizFinancialAdjustmentRecordMapper.insertBizFinancialAdjustmentRecord(bizFinancialAdjustmentRecord);
|
|
|
+ bizWaybillCostDetails.setUpdateTime(DateUtils.getNowDate());
|
|
|
+ bizWaybillCostDetails.setUpdateBy(loginUser.getSysUser().getNickName());
|
|
|
+ bizWaybillCostDetails.setRateAmount(null);
|
|
|
+ bizWaybillCostDetailsMapper.updateBizWaybillCostDetails(bizWaybillCostDetails);
|
|
|
+ //还要重新生成该供应商的月度账单报表
|
|
|
+ Map param= new HashMap();
|
|
|
+ param.put("deptId",bizWaybillCostDetails.getDeptId());
|
|
|
+ param.put("monthCode",bizWaybillCostDetails.getSummaryMonth());
|
|
|
+ rptFinancialMonthSummaryService.creatMontSummary(param);
|
|
|
+ return 0;
|
|
|
+
|
|
|
+ }
|
|
|
+catch(Exception e)
|
|
|
+ {
|
|
|
+ throw new RuntimeException("调账失败!", e);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public BizWaybillCostDetails getAccountAdjustmentById(BizWaybillCostDetails bizWaybillCostDetails) {
|
|
|
+ return bizWaybillCostDetailsMapper.getAccountAdjustmentById(bizWaybillCostDetails);
|
|
|
+ }
|
|
|
}
|