This commit is contained in:
linfso 2025-02-23 16:10:23 +08:00
parent 36c395138b
commit 276f04e9f0
7 changed files with 69 additions and 6 deletions

View File

@ -131,6 +131,19 @@ public class EmisTmsCostFeeController extends BaseController
}
@Log(title = "重新计算运单费用", businessType = BusinessType.UPDATE)
@PostMapping("/reCalcSplitCostFee")
public AjaxResult reCalcSplitCostFee(@RequestBody EmisTmsCostFee emisTmsCostFee)
{
try {
return toAjax(emisTmsCostFeeService.reCalcSplitCostFee(emisTmsCostFee.getCostNo()));
}catch(EmisBizError ex){
ex.printStackTrace();
return AjaxResult.error("("+ex.getErrorCode()+")"+ex.getMessage());
}
}
/**
* 修改TMS运输成本账单
*/

View File

@ -105,6 +105,11 @@ public class EmisTmsCostFee extends BaseEntity
private String confirmSiteNote;
/* 确认网点代码 */
private String confirmSiteCode;
/* 是否已计算 1-是 */
private String blHasCalc;
/* 计算时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date calcDate;
// --- 扩展
// 关联单号

View File

@ -39,6 +39,12 @@ public interface EmisTmsCostFeeMapper extends BaseMapper<EmisTmsCostFee>
*/
public List<EmisTmsCostFee> selectEmisTmsCostFeeList(EmisTmsCostFee emisTmsCostFee);
/**
* 获取待计算的成本费用列表
* @return
*/
public List<EmisTmsCostFee> selectWaitDoCalcCostFeeList();
/**
* 检查是否重复

View File

@ -73,6 +73,8 @@ public interface EmisTmsCostFeeSplitMapper extends BaseMapper<EmisTmsCostFeeSpli
*/
public int deleteEmisTmsCostFeeSplitById(Long id);
public int deleteEmisTmsCostFeeSplitByCostNo(String costNo);
/**
* 批量删除
*

View File

@ -11,6 +11,7 @@
package com.xdadan.erp.emis.service.impl;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import cn.hutool.core.collection.CollectionUtil;
@ -167,6 +168,9 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
throw new EmisBizError(EmisBizErrorType.FAIL,"费用为空,请检查");
}
// 删除已计算的费用
emisTmsCostFeeSplitMapper.deleteEmisTmsCostFeeSplitByCostNo(costNo);
Integer pieceNumber = 0;
// 计算总重量
for (EmisTmsCostFeeRel billCodeRel: listBillCodeRel) {
@ -215,11 +219,15 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService
EmisTmsCostFee emisTmsCostFee = new EmisTmsCostFee();
emisTmsCostFee.setId(oldCostFee.getId());
// 总票数 总件数 总重量 总体积
// 总票数 总件数 总重量 总体积,已计算
emisTmsCostFee.setSendPieceSum(sendPieceSum);
emisTmsCostFee.setPieceNumber(pieceNumber);
emisTmsCostFee.setTotalWeight(totalWeight);
emisTmsCostFee.setTotalVolume(totalVolume);
emisTmsCostFee.setBlHasCalc("1");
emisTmsCostFee.setCalcDate(new Date());
emisTmsCostFeeMapper.updateEmisTmsCostFee(emisTmsCostFee);
// 重算每一单成本分摊重算,利润

View File

@ -37,14 +37,17 @@
<result property="confirmSiteManCode" column="confirm_site_man_code" />
<result property="confirmSiteNote" column="confirm_site_note" />
<result property="confirmSiteCode" column="confirm_site_code" />
<result property="blHasCalc" column="bl_has_calc" />
<result property="calcDate" column="calc_date" />
</resultMap>
<sql id="selectEmisTmsCostFeeVo">
select id, cost_no, cost_name, batch_no, fee_type, split_type, trans_type, trans_sign_no, supplier_code, supplier_name, send_place, dest_place, cost_fee, bill_month, trade_date, send_piece_sum, piece_number, total_weight, total_volume, bl_confirm_center, real_piece_number, real_total_weight, real_total_volume, confirm_center_date, confirm_center_note, confirm_center_man_code, confirm_center_code, bl_confirm_site, confirm_site_date, confirm_site_man_code, confirm_site_note, confirm_site_code, remark, del_flag, create_by, create_time, update_by, update_time, create_site, update_site from emis_tms_cost_fee
select id, cost_no, cost_name, batch_no, fee_type, split_type, trans_type, trans_sign_no, supplier_code, supplier_name, send_place, dest_place, cost_fee, bill_month, trade_date, send_piece_sum, piece_number, total_weight, total_volume, bl_confirm_center, real_piece_number, real_total_weight, real_total_volume, confirm_center_date, confirm_center_note, confirm_center_man_code, confirm_center_code, bl_confirm_site, confirm_site_date, confirm_site_man_code, confirm_site_note, confirm_site_code, bl_has_calc, calc_date, remark, del_flag, create_by, create_time, update_by, update_time, create_site, update_site from emis_tms_cost_fee
</sql>
<select id="selectEmisTmsCostFeeList" parameterType="EmisTmsCostFee" resultMap="EmisTmsCostFeeResult">
<include refid="selectEmisTmsCostFeeVo"/>
select id, cost_no, cost_name, batch_no, fee_type, split_type, trans_type, trans_sign_no, supplier_code, supplier_name, send_place, dest_place, cost_fee, bill_month, trade_date, send_piece_sum, piece_number, total_weight, total_volume, bl_confirm_center, real_piece_number, real_total_weight, real_total_volume, confirm_center_date, confirm_center_note, confirm_center_man_code, confirm_center_code, bl_confirm_site, confirm_site_date, confirm_site_man_code, confirm_site_note, confirm_site_code, bl_has_calc, calc_date, remark, del_flag, create_by, create_time, update_by, update_time, create_site, update_site
from emis_tms_cost_fee a
<where>
del_flag='0'
<if test="id != null "> and id = #{id}</if>
@ -79,6 +82,8 @@
<if test="confirmSiteManCode != null and confirmSiteManCode != ''"> and confirm_site_man_code = #{confirmSiteManCode}</if>
<if test="confirmSiteNote != null and confirmSiteNote != ''"> and confirm_site_note like concat('%', #{confirmSiteNote}, '%')</if>
<if test="confirmSiteCode != null and confirmSiteCode != ''"> and confirm_site_code = #{confirmSiteCode}</if>
<if test="blHasCalc != null and blHasCalc != ''"> and bl_has_calc=#{blHasCalc}</if>
<if test="calcDate != null "> and calc_date = #{calcDate}</if>
<if test="remark != null and remark != ''"> and remark like concat('%', #{remark}, '%')</if>
<if test="delFlag != null and delFlag != ''"> and del_flag = #{delFlag}</if>
<if test="createBy != null and createBy != ''"> and create_by = #{createBy}</if>
@ -88,6 +93,12 @@
<if test="createSite != null and createSite != ''"> and create_site = #{createSite}</if>
<if test="updateSite != null and updateSite != ''"> and update_site = #{updateSite}</if>
<if test="params.billCode != null and params.billCode != ''">
and exists (
select 1 from emis_tms_cost_fee_rel brel where brel.cost_no=a.cost_no and FIND_IN_SET(brel.bill_code,#{params.billCode})
)
</if>
<if test="params.beginTradeDate != null and params.beginTradeDate != ''">
and trade_date <![CDATA[ >= ]]> #{params.beginTradeDate}
</if>
@ -145,14 +156,21 @@
limit 1
</select>
<select id="selectWaitDoCalcCostFeeList" parameterType="EmisTmsCostFee" resultMap="EmisTmsCostFeeResult">
select id, cost_no, cost_name, batch_no, fee_type, split_type, trans_type, trans_sign_no, supplier_code, supplier_name, send_place, dest_place, cost_fee, bill_month, trade_date, send_piece_sum, piece_number, total_weight, total_volume, bl_confirm_center, real_piece_number, real_total_weight, real_total_volume, confirm_center_date, confirm_center_note, confirm_center_man_code, confirm_center_code, bl_confirm_site, confirm_site_date, confirm_site_man_code, confirm_site_note, confirm_site_code, bl_has_calc, calc_date, remark, del_flag, create_by, create_time, update_by, update_time, create_site, update_site
from emis_tms_cost_fee a
where a.bl_has_calc = '0' and a.del_flag='0'
limit 300
</select>
<select id="selectEmisTmsCostFeeById" parameterType="Long" resultMap="EmisTmsCostFeeResult">
select id, cost_no, cost_name, batch_no, fee_type, split_type, trans_type, trans_sign_no, supplier_code, supplier_name, send_place, dest_place, cost_fee, bill_month, trade_date, send_piece_sum, piece_number, total_weight, total_volume, bl_confirm_center, real_piece_number, real_total_weight, real_total_volume, confirm_center_date, confirm_center_note, confirm_center_man_code, confirm_center_code, bl_confirm_site, confirm_site_date, confirm_site_man_code, confirm_site_note, confirm_site_code, remark, del_flag, create_by, create_time, update_by, update_time, create_site, update_site
select id, cost_no, cost_name, batch_no, fee_type, split_type, trans_type, trans_sign_no, supplier_code, supplier_name, send_place, dest_place, cost_fee, bill_month, trade_date, send_piece_sum, piece_number, total_weight, total_volume, bl_confirm_center, real_piece_number, real_total_weight, real_total_volume, confirm_center_date, confirm_center_note, confirm_center_man_code, confirm_center_code, bl_confirm_site, confirm_site_date, confirm_site_man_code, confirm_site_note, confirm_site_code, bl_has_calc, calc_date, remark, del_flag, create_by, create_time, update_by, update_time, create_site, update_site
from emis_tms_cost_fee a
where a.id = #{id}
</select>
<select id="selectEmisTmsCostFeeByCostNo" parameterType="String" resultMap="EmisTmsCostFeeResult">
select id, cost_no, cost_name, batch_no, fee_type, split_type, trans_type, trans_sign_no, supplier_code, supplier_name, send_place, dest_place, cost_fee, bill_month, trade_date, send_piece_sum, piece_number, total_weight, total_volume, bl_confirm_center, real_piece_number, real_total_weight, real_total_volume, confirm_center_date, confirm_center_note, confirm_center_man_code, confirm_center_code, bl_confirm_site, confirm_site_date, confirm_site_man_code, confirm_site_note, confirm_site_code, remark, del_flag, create_by, create_time, update_by, update_time, create_site, update_site
select id, cost_no, cost_name, batch_no, fee_type, split_type, trans_type, trans_sign_no, supplier_code, supplier_name, send_place, dest_place, cost_fee, bill_month, trade_date, send_piece_sum, piece_number, total_weight, total_volume, bl_confirm_center, real_piece_number, real_total_weight, real_total_volume, confirm_center_date, confirm_center_note, confirm_center_man_code, confirm_center_code, bl_confirm_site, confirm_site_date, confirm_site_man_code, confirm_site_note, confirm_site_code, bl_has_calc, calc_date, remark, del_flag, create_by, create_time, update_by, update_time, create_site, update_site
from emis_tms_cost_fee a
where a.cost_no = #{costNo}
</select>
@ -191,6 +209,8 @@
<if test="confirmSiteManCode != null and confirmSiteManCode != ''">confirm_site_man_code,</if>
<if test="confirmSiteNote != null and confirmSiteNote != ''">confirm_site_note,</if>
<if test="confirmSiteCode != null and confirmSiteCode != ''">confirm_site_code,</if>
<if test="blHasCalc != null and blHasCalc != ''">bl_has_calc,</if>
<if test="calcDate != null">calc_date,</if>
<if test="remark != null and remark != ''">remark,</if>
<if test="delFlag != null and delFlag != ''">del_flag,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
@ -232,6 +252,8 @@
<if test="confirmSiteManCode != null and confirmSiteManCode != ''">#{confirmSiteManCode},</if>
<if test="confirmSiteNote != null and confirmSiteNote != ''">#{confirmSiteNote},</if>
<if test="confirmSiteCode != null and confirmSiteCode != ''">#{confirmSiteCode},</if>
<if test="blHasCalc != null and blHasCalc != ''">#{blHasCalc},</if>
<if test="calcDate != null">#{calcDate},</if>
<if test="remark != null and remark != ''">#{remark},</if>
<if test="delFlag != null and delFlag != ''">#{delFlag},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
@ -277,6 +299,8 @@
<if test="confirmSiteManCode != null and confirmSiteManCode != ''">confirm_site_man_code = #{confirmSiteManCode},</if>
<if test="confirmSiteNote != null and confirmSiteNote != ''">confirm_site_note = #{confirmSiteNote},</if>
<if test="confirmSiteCode != null and confirmSiteCode != ''">confirm_site_code = #{confirmSiteCode},</if>
<if test="blHasCalc != null and blHasCalc != ''">bl_has_calc = #{blHasCalc},</if>
<if test="calcDate != null">calc_date = #{calcDate},</if>
<if test="remark != null and remark != ''">remark = #{remark},</if>
<if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
<if test="createBy != null and createBy != ''">create_by = #{createBy},</if>

View File

@ -70,7 +70,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and update_site = #{updateSite}
limit 1
</select>
<select id="selectEmisTmsCostFeeSplitById" parameterType="Long" resultMap="EmisTmsCostFeeSplitResult">
select id, cost_no, fee_item_id, bill_code, fee_type, split_type, cost_fee, total_volume, bill_weight, calc_remark, remark, del_flag, create_by, create_time, update_by, update_time, create_site, update_site
from emis_tms_cost_fee_split a
@ -151,6 +152,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where del_flag='0' and a.bill_code = #{billCode}
</select>
<delete id="deleteEmisTmsCostFeeSplitByCostNo" parameterType="String">
update emis_tms_cost_fee_split set del_flag='1' where cost_no = #{costNo}
</delete>
<delete id="deleteEmisTmsCostFeeSplitById" parameterType="Long">
update emis_tms_cost_fee_split set del_flag='1' where id = #{id}
</delete>