From f7b7e003e76bdf744df9555b5a2a0921cf817186 Mon Sep 17 00:00:00 2001 From: linfso Date: Tue, 18 Jun 2024 08:27:13 +0800 Subject: [PATCH] md --- .../erp/web/emis/EmisWaybillController.java | 98 +++++++++++++++++++ .../erp/emis/mapper/EmisWaybillMapper.java | 3 +- .../erp/emis/service/EmisBaseService.java | 25 ++++- .../erp/emis/service/IEmisWaybillService.java | 2 +- .../resources/mapper/EmisWaybillMapper.xml | 57 ++++++++++- 5 files changed, 174 insertions(+), 11 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java index 450ff69f9..671ae0fe9 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java @@ -32,6 +32,7 @@ import com.xdadan.erp.emis.domain.EmisBrand; import com.xdadan.erp.emis.domain.EmisCountry; import com.xdadan.erp.emis.domain.EmisTmsScanRecord; import com.xdadan.erp.emis.domain.enumtype.ScanType; +import com.xdadan.erp.emis.domain.enumtype.WaybillStatus; import com.xdadan.erp.emis.domain.exception.EmisBizError; import com.xdadan.erp.emis.domain.vo.*; import com.xdadan.erp.emis.service.*; @@ -44,6 +45,7 @@ import com.xdadan.erp.system.service.ISysFileInfoService; import com.xdadan.erp.system.service.ISysUserService; import com.xdadan.erp.system.service.impl.SysUserServiceImpl; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; @@ -438,6 +440,102 @@ public class EmisWaybillController extends EmisBaseController return getDataTable(list); } + /** + * 获取运单统计信息 + * @param emisWaybill + * @return + */ + @RequestMapping("/getWaybillStatMap") + public AjaxResult getWaybillStatMap(EmisWaybill emisWaybill) + { + // 设置通用权限查询参数 + setPrivParams(emisWaybill); + + /* + { + "waitDoNum":5, + "hasDoNum":10 + "statNumList":[ + { + "statType":"1", + "statName":"未接单", + "statNum":5 + }, + { + "statType":"2", + "statName":"已揽收", + "statNum":5 + }, + { + "statType":"3", + "statName":"未确认", + "statNum":6 + } + ] + } + + */ + List statNumList = new ArrayList<>(); + + int waitDoNum=0; + int hasDoNum=0; + + int statType_1_num=0; + int statType_2_num=0; + int statType_3_num=0; + int statType_4_num=0; + + List dbStatMapList = emisBaseService.getWaybillStatMap(emisWaybill); + if(!CollectionUtils.isEmpty(dbStatMapList)){ + for (Map objMap:dbStatMapList) { + String waybillStatus= MapUtils.getString(objMap,"waybillStatus",null); + int cnt= MapUtils.getIntValue(objMap,"cnt",0); + if(WaybillStatus.INIT.statusCode.equals(waybillStatus)){ + + waitDoNum=waitDoNum+cnt; + statType_1_num=statType_1_num+cnt; + }else{ + statType_2_num=statType_1_num+cnt; + hasDoNum=hasDoNum+cnt; + } + + } + } + + // statType 1 + Map statMap = new HashMap<>(); + statMap.put("statType","1"); + statMap.put("statNum",statType_1_num); + statNumList.add(statMap); + + // statType 2 + statMap = new HashMap<>(); + statMap.put("statType","2"); + statMap.put("statNum",statType_2_num); + statNumList.add(statMap); + + // statType 3 + statMap = new HashMap<>(); + statMap.put("statType","3"); + statMap.put("statNum",statType_3_num); + statNumList.add(statMap); + + // statType 4 + statMap = new HashMap<>(); + statMap.put("statType","4"); + statMap.put("statNum",statType_4_num); + statNumList.add(statMap); + + + Map statInfoMap = new HashMap(); + statInfoMap.put("waitDoNum",waitDoNum); + statInfoMap.put("hasDoNum",hasDoNum); + statInfoMap.put("statNumList",statNumList); + + + return AjaxResult.success("查询成功",statInfoMap); + } + @RequestMapping("/selectEmisWaybillByMutiBillCode") public TableDataInfo selectEmisWaybillByMutiBillCode(EmisWaybill emisWaybill) 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 b7c265666..5a2785714 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 @@ -31,8 +31,9 @@ public interface EmisWaybillMapper extends BaseMapper public List selectWaybillStatByEmpCode(@Param("empCode")String empCode,@Param("waybillStatus")String waybillStatus); - public List selectCommissionStatDataByEmp(@Param("empCode")String empCode); + public List selectCommissionStatData(EmisWaybill emisWaybill); + public List getWaybillStatMap(EmisWaybill emisWaybill); public EmisWaybill selectEmisWaybillByOrderSn(@Param("orderSn")String orderSn); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java index 4d52edadd..d85e483ac 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java @@ -218,18 +218,33 @@ public class EmisBaseService { } /** - * 获取员工提成信息 - * @param empNo + * 获取运单统计信息 * @return */ - public List getCommissionStatByEmpCode(String empNo){ + public List getWaybillStatMap(EmisWaybill emisWaybill){ - if(StringUtils.isEmpty(empNo)){ + if(emisWaybill==null){ return null; } - return emisWaybillMapper.selectCommissionStatDataByEmp(empNo); + return emisWaybillMapper.getWaybillStatMap(emisWaybill); } + /** + * 获取员工提成 + * @param emisWaybill + * @return + */ + public List selectCommissionStatData(EmisWaybill emisWaybill){ + + if(emisWaybill==null){ + return null; + } + return emisWaybillMapper.selectCommissionStatData(emisWaybill); + } + + + + /** * 获取目的地信息 * @param destCode diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillService.java index 234e63f16..5abc9c98b 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillService.java @@ -117,7 +117,7 @@ public interface IEmisWaybillService /** * 获取多个运单 - * @param billCodes + * @param emisWaybill * @return */ public List selectEmisWaybillByMutiBillCode(EmisWaybill emisWaybill); diff --git a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml index c8dc20501..648268ae7 100644 --- a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml @@ -238,7 +238,7 @@ - select waybill_status as waybillStatus,count(1) as cnt from emis_waybill where take_piece_employee_code is not null group by waybill_status @@ -584,17 +584,19 @@ and ( - a.send_site_code in ( + a.send_site_code in ( SELECT t1.site_code FROM ( SELECT * FROM emis_site WHERE parent_site_code IS NOT NULL ) t1,( SELECT @pid := #{params.privSiteCode} ) pd WHERE FIND_IN_SET( parent_site_code, @pid ) > 0 AND @pid := concat(@pid,',',site_code) UNION SELECT #{params.privSiteCode} FROM dual - ) + ) - or a.salesmen=#{params.privEmpCode} + or a.salesmen=#{params.privEmpName} or a.payee=#{params.privEmpName} + or a.operate_employee_code=#{params.privEmpCode} + or a.take_piece_employee_code=#{params.privEmpCode} ) @@ -619,6 +621,53 @@ a.create_time desc + + + +