This commit is contained in:
linfso 2025-03-16 20:48:44 +08:00
parent 6a52a82e5f
commit 729be25a12
2 changed files with 49 additions and 17 deletions

View File

@ -22,6 +22,7 @@ import com.xdadan.erp.common.annotation.filter.jackson.JacksonFilter;
import com.xdadan.erp.common.core.redis.RedissonService; import com.xdadan.erp.common.core.redis.RedissonService;
import com.xdadan.erp.common.utils.DateUtils; import com.xdadan.erp.common.utils.DateUtils;
import com.xdadan.erp.emis.domain.EmisCommissionDtl; import com.xdadan.erp.emis.domain.EmisCommissionDtl;
import com.xdadan.erp.emis.domain.EmisTmsSiteBatch;
import com.xdadan.erp.emis.domain.EmisWaybill; import com.xdadan.erp.emis.domain.EmisWaybill;
import com.xdadan.erp.emis.service.EmisBaseService; import com.xdadan.erp.emis.service.EmisBaseService;
import com.xdadan.erp.emis.service.IEmisCommissionDtlService; import com.xdadan.erp.emis.service.IEmisCommissionDtlService;
@ -118,6 +119,7 @@ public class EmisCommissionProfitController extends BaseController
try{ try{
EmisWaybill emisWaybill = new EmisWaybill(); EmisWaybill emisWaybill = new EmisWaybill();
emisWaybill.getParams().put("noNeedBlProfit","Y"); emisWaybill.getParams().put("noNeedBlProfit","Y");
emisWaybill.getParams().put("billMonth",billMonth.replaceAll("-",""));
emisCommissionProfitService.autoDoBillProfit(emisWaybill); emisCommissionProfitService.autoDoBillProfit(emisWaybill);
}catch(Exception ex){ }catch(Exception ex){
ex.printStackTrace(); ex.printStackTrace();
@ -135,26 +137,54 @@ public class EmisCommissionProfitController extends BaseController
* @param batchNo * @param batchNo
* @return * @return
*/ */
@GetMapping(value = "/batchReCalcProfitByBatchNo") @GetMapping(value = "/reCalcByBatchNo")
public AjaxResult batchReCalcProfitByBatchNo(String batchNo) public AjaxResult reCalcByBatchNo(String batchNo)
{ {
if(!StringUtils.isEmpty(batchNo)){ if(StringUtils.isEmpty(batchNo)){
return AjaxResult.error("计算失败-批次号不能为空");
}
batchNo=WaybillHelper.formatQueryValue(batchNo); batchNo=WaybillHelper.formatQueryValue(batchNo);
String[] batchNoSortList = batchNo.split(","); String[] batchNoSortList = batchNo.split(",");
if(batchNoSortList.length>0){ if(batchNoSortList.length>0){
for (int i=0;i<batchNoSortList.length;i++){ for (int i=0;i<batchNoSortList.length;i++){
String subBillCode=batchNoSortList[i]; String subBatchNo=batchNoSortList[i];
try { try {
emisCommissionProfitService.reCalcProfitByBillCode(subBillCode); emisCommissionProfitService.reCalcProfitByBatchNo(subBatchNo);
}catch (Exception ex){ }catch (Exception ex){
return AjaxResult.error("计算失败-单号:["+subBillCode+"]"); return AjaxResult.error("计算失败-批次号:["+subBatchNo+"]");
} }
} }
} }
return AjaxResult.success("计算成功"); return AjaxResult.success("计算成功");
}else{
return AjaxResult.error("计算失败-单号不能为空");
} }
@GetMapping(value = "/reCalcByBatchMonth")
public AjaxResult reCalcByBatchMonth(String billMonth)
{
if(StringUtils.isEmpty(billMonth)){
return AjaxResult.error("月份不能为空");
}
String lockKey="reCalcByBatchMonth";
log.info("reCalcByBatchMonth start");
// 加锁查询
redissonService.lock(lockKey,300);
try{
EmisTmsSiteBatch tmsSiteBatch = new EmisTmsSiteBatch();
tmsSiteBatch.getParams().put("noNeedBlProfit","Y");
tmsSiteBatch.getParams().put("billMonth",billMonth.replaceAll("-",""));
emisCommissionProfitService.autoDoBatchProfit(tmsSiteBatch);
}catch(Exception ex){
ex.printStackTrace();
log.error("reCalcByBatchMonth exception:"+ex.getMessage());
return AjaxResult.error("计算异常:"+ex.getMessage());
}
log.info("reCalcByBatchMonth end");
redissonService.unlock(lockKey);
return AjaxResult.success("计算成功");
} }
/** /**

View File

@ -2344,9 +2344,11 @@
emis_waybill a emis_waybill a
WHERE WHERE
a.del_flag = '0' a.del_flag = '0'
AND a.bl_profit = '0'
AND a.order_status != '0' AND a.order_status != '0'
AND a.order_status != '2' AND a.order_status != '2'
<if test="params.noNeedBlProfit == null">
AND a.bl_profit = '0'
</if>
and not EXISTS ( and not EXISTS (
select 1 from emis_waybill_problem_info ewpi where a.bill_code=ewpi.bill_code and ewpi.del_flag='0' and ewpi.`problem_type` in(173,170,151) select 1 from emis_waybill_problem_info ewpi where a.bill_code=ewpi.bill_code and ewpi.del_flag='0' and ewpi.`problem_type` in(173,170,151)
) )