From a074ec96e7c73fa525b3c6699ea4a65af093c5c6 Mon Sep 17 00:00:00 2001 From: linfso Date: Thu, 14 Nov 2024 06:49:39 +0800 Subject: [PATCH] md --- .../erp/web/emis/EmisCommonController.java | 27 ++++++++- .../erp/emis/mapper/EmisWaybillMapper.java | 3 + .../service/IEmisCommissionProfitService.java | 17 ++++-- .../impl/EmisCommissionProfitServiceImpl.java | 22 ++++++- .../resources/mapper/EmisWaybillMapper.xml | 60 +++++++++---------- 5 files changed, 90 insertions(+), 39 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java index 3830cb4a4..8113db4f4 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java @@ -621,6 +621,31 @@ public class EmisCommonController extends EmisBaseController } + + /** + * 自动出账触发 + * @return + */ + @GetMapping("/autoDoProfitTrigger") + public AjaxResult autoDoProfitTrigger(){ + String lockKey="autoDoProfitTrigger"; + log.error("autoDoProfitTrigger start"); + + // 加锁查询 + redissonService.lock(lockKey,300); + try{ + emisCommissionProfitService.autoDoProfit(); + }catch(Exception ex){ + ex.printStackTrace(); + log.error("autoDoProfitTrigger exception:"+ex.getMessage()); + } + log.error("autoDoProfitTrigger end"); + + redissonService.unlock(lockKey); + return AjaxResult.success("发送成功"); + + } + /** * 计算运单提成 * @return @@ -632,7 +657,7 @@ public class EmisCommonController extends EmisBaseController // 加锁查询 redissonService.lock(lockKey,300); try{ - emisCommissionProfitService.reCalcEmpProfitByBillCode(billCode); + emisCommissionProfitService.reCalcProfitByBillCode(billCode); } catch (Exception ex){ redissonService.unlock(lockKey); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillMapper.java index 0f631b947..1a1f80046 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillMapper.java @@ -71,6 +71,9 @@ public interface EmisWaybillMapper extends BaseMapper public List selectWaitDoBillList(EmisWaybill emisWaybill); + + public List selectWaitDoProfitList(EmisWaybill emisWaybill); + /** * 新增 * diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisCommissionProfitService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisCommissionProfitService.java index 056146415..890c00c3a 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisCommissionProfitService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisCommissionProfitService.java @@ -28,12 +28,17 @@ public interface IEmisCommissionProfitService public EmisCommissionProfit selectEmisCommissionProfitById(Long id); - /** - * 重新计算提成根据billCode - * @param billCode - * @return - */ - public int reCalcEmpProfitByBillCode(String billCode); + /** + * 自动计算提成 + */ + public void autoDoProfit(); + + /** + * 重新计算提成根据billCode + * @param billCode + * @return + */ + public int reCalcProfitByBillCode(String billCode); /** * 查询员工提成表列表 diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCommissionProfitServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCommissionProfitServiceImpl.java index 9ce84c118..ecf991879 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCommissionProfitServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCommissionProfitServiceImpl.java @@ -14,6 +14,7 @@ import java.math.BigDecimal; import java.util.Date; import java.util.List; +import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.annotation.JsonFormat; import com.googlecode.aviator.AviatorEvaluator; @@ -55,12 +56,31 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements @Autowired protected EmisWaybillMapper emisWaybillMapper; + /** + * 自动计算提成 + */ + public void autoDoProfit() { + // 获取需要出账的运单列表 + EmisWaybill qEmisWaybill = new EmisWaybill(); + List list = emisWaybillMapper.selectWaitDoProfitList(qEmisWaybill); + if(!CollectionUtil.isEmpty(list)){ + for(EmisWaybill dt:list){ + try { + reCalcProfitByBillCode(dt.getBillCode()); + }catch (Exception ex){ + ex.printStackTrace(); + } + + } + } + } + /** * 根据单号重新计算提成 */ @Override @Transactional - public int reCalcEmpProfitByBillCode(String billCode) + public int reCalcProfitByBillCode(String billCode) { // 获取运单信息 EmisWaybill waybill = getWaybillByBillCode(billCode); diff --git a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml index 1b01ea45b..418ddaef6 100644 --- a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml @@ -1956,10 +1956,7 @@ - - - - - - + select + id, order_sn, cust_order_id, bill_code, order_status, waybill_status, order_type, + order_date, user_id, customer_code, customer_name, open_id, receive_name, receive_company, receive_mobile, + receive_tel, receive_country, receive_province, receive_city, receive_county, receive_town, + receive_address, receive_postcode, receive_pcd, send_name, send_company, send_mobile, send_tel, + send_country, send_province, send_city, send_county, send_town, send_address, send_postcode, + send_pcd, payment_type, calc_fee_type, cust_no, cust_name, trans_line_type, product_type, time_type, + meter_type, carry_type, customs_clear, customs_eclaration, estimate_date, pack_type, dispatch_method, + pickup_method, pick_start_date, pick_finish_date, pick_fail_reason, into_warehouse_code, into_warehouse_name, + into_warehouse_address, into_warehouse_contact, into_warehouse_phone, into_warehouse_bill_code, warehouse_in_no, + customer_delivery_begin_time, customer_delivery_end_time, goods_type, goods_info, goods_pics, bl_prepare_in_freight, + prepare_in_est_fee, prepare_in_real_fee, prepare_in_express, prepare_in_bill_code, prepare_in_remark, + prepare_in_supplier, total_weight, total_volume, parcel_qty, bill_weight, volume_weight, currency, + settlement_weight, scan_weight, fee_weight, freight, real_payment_type, real_fee, bl_special_quote, bl_over_long, + bl_bill, bl_bill_text, bl_over_weight, over_weight_number, fee_remark, third_code, real_value, bl_insure, + insure_value, insure_value_currency, insure_fee_currency, insure_fee, insure_remark, insure_site_code, + insure_date, bl_print, print_man_code, print_site, print_date, print_count, bl_disp_fd, transfer_code, + transfer_billcode, disp_fd_date, disp_fd_reason, current_site_code, next_site_code, last_site_code, + register_site_code, register_date, register_man_code, take_piece_employee_code, send_site_code, + send_center_code, send_date, dispatch_man_code, dispatch_date, dispatch_site_code, produce_bill_date, + produce_bill_site_code, produce_bill_man_code, destination_code, destination_province, destination_city, + destination_county, dispatch_underling_site_code, destination_center_code, market_man_code, payee, + salesmen, operate_employee_code, bl_is_question, problem_type, problem_cause, problem_delay_days, + bl_message, bl_accept_message, bl_gen_subbill, bl_sign, sign_man, sign_man_code, sign_site_code, + sign_date, bill_pic_send_rmk, bill_pic_dispatch_rmk, timezone_offset, payment_status, payment_date, + payment_remark, order_remark, data_from, bl_special_goods, remark, del_flag, create_by, create_time, + update_by, update_time, create_site, update_site,ext_info from emis_waybill a - where a.id = #{id} + where a.del_flag='0' and a.bl_profit = '0' and a.order_status !='0' and a.order_status!='2' limit 300 - insert into emis_waybill