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 621ada7c1..3830cb4a4 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 @@ -86,6 +86,9 @@ public class EmisCommonController extends EmisBaseController @Autowired private IEmisSettleInvoiceChRecordService emisSettleInvoiceChRecordService; + @Autowired + private IEmisCommissionProfitService emisCommissionProfitService; + @Autowired private IEmisSettleInvoiceRecordService emisSettleInvoiceRecordService; @@ -619,16 +622,17 @@ public class EmisCommonController extends EmisBaseController } /** - * 单独出账 + * 计算运单提成 * @return */ - @GetMapping("/redoBillByBillCode") - public AjaxResult redoBillByBillCode(String billCode){ - String lockKey="redoBillByBillCode_"+billCode; + @GetMapping("/reCalcEmpProfitByBillCode") + public AjaxResult reCalcEmpProfitByBillCode(String billCode){ + log.error("reCalcEmpProfitByBillCode start"); + String lockKey="reCalcEmpProfitByBillCode"+billCode; // 加锁查询 redissonService.lock(lockKey,300); try{ - emisBaseService.redoGenerateBill(billCode); + emisCommissionProfitService.reCalcEmpProfitByBillCode(billCode); } catch (Exception ex){ redissonService.unlock(lockKey); @@ -642,6 +646,7 @@ public class EmisCommonController extends EmisBaseController return AjaxResult.error("确认异常,联系客服"); } redissonService.unlock(lockKey); + log.error("reCalcEmpProfitByBillCode end"); return AjaxResult.success("发送成功"); } @@ -670,6 +675,37 @@ public class EmisCommonController extends EmisBaseController } + + /** + * 单独出账 + * @return + */ + @GetMapping("/redoBillByBillCode") + public AjaxResult redoBillByBillCode(String billCode){ + String lockKey="redoBillByBillCode_"+billCode; + // 加锁查询 + redissonService.lock(lockKey,300); + try{ + emisBaseService.redoGenerateBill(billCode); + } + catch (Exception ex){ + redissonService.unlock(lockKey); + + ex.printStackTrace(); + // 返回子定义异常 + if(ex instanceof EmisBizError){ + return AjaxResult.error(ex.getMessage(),((EmisBizError)ex).getErrorCode()); + } + + return AjaxResult.error("确认异常,联系客服"); + } + redissonService.unlock(lockKey); + return AjaxResult.success("发送成功"); + + } + + + /** * 自动出账触发 * @return @@ -989,5 +1025,4 @@ public class EmisCommonController extends EmisBaseController } - } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisCommissionQuote.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisCommissionQuote.java index ecdf4cf3c..55f290d97 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisCommissionQuote.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisCommissionQuote.java @@ -19,6 +19,8 @@ import com.xdadan.erp.common.core.domain.TreeEntity; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; +import java.util.List; + import lombok.Data; @@ -70,5 +72,7 @@ public class EmisCommissionQuote extends BaseEntity private String fromCountryName; private String countryName; + private List exprList; + } 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 9f128c9b8..056146415 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 @@ -33,7 +33,7 @@ public interface IEmisCommissionProfitService * @param billCode * @return */ - public int reCalcCommissionProfitByBillCode(String billCode); + public int reCalcEmpProfitByBillCode(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 f34d8b9aa..e5cf40cba 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 @@ -12,7 +12,10 @@ package com.xdadan.erp.emis.service.impl; import java.util.List; +import com.xdadan.erp.emis.domain.EmisCommissionExpression; +import com.xdadan.erp.emis.domain.EmisCommissionQuote; import com.xdadan.erp.emis.domain.EmisWaybill; +import com.xdadan.erp.emis.mapper.EmisCommissionQuoteMapper; import com.xdadan.erp.emis.service.EmisBaseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -20,6 +23,7 @@ import com.xdadan.erp.emis.domain.EmisCommissionProfit; import com.xdadan.erp.emis.mapper.EmisCommissionProfitMapper; import com.xdadan.erp.emis.service.IEmisCommissionProfitService; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; /** * 员工提成表Service业务层处理 @@ -33,7 +37,8 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements @Autowired private EmisCommissionProfitMapper emisCommissionProfitMapper; - + @Autowired + private EmisCommissionQuoteMapper emisCommissionQuoteMapper; /** @@ -41,9 +46,8 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements */ @Override @Transactional - public int reCalcCommissionProfitByBillCode(String billCode) + public int reCalcEmpProfitByBillCode(String billCode) { - // 获取运单信息 EmisWaybill waybill = getWaybillByBillCode(billCode); @@ -51,7 +55,45 @@ public class EmisCommissionProfitServiceImpl extends EmisBaseService implements String pickUpMethod=waybill.getPickupMethod(); String takePieceEmployeeCode=waybill.getTakePieceEmployeeCode(); String operateEmployeeCode=waybill.getOperateEmployeeCode(); + String country=waybill.getReceiveCountry(); + String fromCountry=waybill.getSendCountry(); + // 计算每个岗位的提成方案 + /* + 网点客服 1 + 快件单证 2 + 取件员 3 + 网点操作员 4 + 派件员 5 + 销售联系人 6 + 中转操作员 7 + 单证员 8 + */ + + // 根据不同岗位计算 + for(int i=1;i<=8;i++) { + // 网点客服 1 + if(i==1) { + EmisCommissionQuote emisCommissionQuote = new EmisCommissionQuote(); + emisCommissionQuote.setPostType("1"); + emisCommissionQuote.setCountry(country); + emisCommissionQuote.setFromCountry(fromCountry); + // 获取提成方案 + List listQuote = emisCommissionQuoteMapper.selectEmisCommissionQuoteList(emisCommissionQuote); + if(!CollectionUtils.isEmpty(listQuote)){ + for (EmisCommissionQuote quoteItem:listQuote) { + List exprList=quoteItem.getExprList(); + + // 按票计算方式 + if("1".equals(quoteItem.getCalcType())){ + + } + + + } + } + } + } return 1; diff --git a/emis-biz/src/main/resources/mapper/EmisCommissionExpressionMapper.xml b/emis-biz/src/main/resources/mapper/EmisCommissionExpressionMapper.xml index 8fc5d0255..7518e5b38 100644 --- a/emis-biz/src/main/resources/mapper/EmisCommissionExpressionMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisCommissionExpressionMapper.xml @@ -23,6 +23,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select id, quote_id, quote_sequence, use_site_code, use_site, start_weight, end_weight, initial_weight, additional_weight, condition_expression, calculate_expression, status, remark, tenant_id, del_flag, create_by, create_time, update_by, update_time, create_site, update_site from emis_commission_expression + + @@ -263,7 +262,7 @@ @@ -271,7 +270,6 @@ insert into emis_settle_invoice_record - id, apply_seq_no, apply_date, apply_man_code, @@ -282,15 +280,20 @@ settle_bill_name, apply_money, invoice_type, + openbill_scope, company_name, company_tax_no, company_tel, company_address, + invioce_remark, bank_name, bank_acc_no, contact, phone, real_tax_type, + orig_open_money, + add_tax_rate, + add_open_money, open_money_max, open_money, invoice_no, @@ -321,7 +324,6 @@ update_site, - #{id}, #{applySeqNo}, #{applyDate}, #{applyManCode}, @@ -332,15 +334,20 @@ #{settleBillName}, #{applyMoney}, #{invoiceType}, + #{openbillScope}, #{companyName}, #{companyTaxNo}, #{companyTel}, #{companyAddress}, + #{invioceRemark}, #{bankName}, #{bankAccNo}, #{contact}, #{phone}, #{realTaxType}, + #{origOpenMoney}, + #{addTaxRate}, + #{addOpenMoney}, #{openMoneyMax}, #{openMoney}, #{invoiceNo}, @@ -375,7 +382,6 @@ update emis_settle_invoice_record - apply_seq_no = #{applySeqNo}, apply_date = #{applyDate}, apply_man_code = #{applyManCode}, apply_site_code = #{applySiteCode}, @@ -385,15 +391,20 @@ settle_bill_name = #{settleBillName}, apply_money = #{applyMoney}, invoice_type = #{invoiceType}, + openbill_scope = #{openbillScope}, company_name = #{companyName}, company_tax_no = #{companyTaxNo}, company_tel = #{companyTel}, company_address = #{companyAddress}, + invioce_remark = #{invioceRemark}, bank_name = #{bankName}, bank_acc_no = #{bankAccNo}, contact = #{contact}, phone = #{phone}, real_tax_type = #{realTaxType}, + orig_open_money = #{origOpenMoney}, + add_tax_rate = #{addTaxRate}, + add_open_money = #{addOpenMoney}, open_money_max = #{openMoneyMax}, open_money = #{openMoney}, invoice_no = #{invoiceNo},