From 8f28439c0560fdc26e187b4aabd63d0b337af19d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Tue, 2 Dec 2025 17:35:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E6=B4=BE=E5=8D=95=E8=A7=84?= =?UTF-8?q?=E5=88=99=E8=B0=83=E6=95=B4=E6=B4=BE=E5=8D=95=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CareOrdersServiceImpl.java | 361 ++++++++++++++---- .../mapper/xml/LogisticsDataPoolMapper.xml | 2 + .../impl/LogisticsOrdersServiceImpl.java | 227 ++++++----- .../entity/SendOrderRule.java | 4 +- .../entity/SendOrderRuleSub.java | 11 +- 5 files changed, 434 insertions(+), 171 deletions(-) diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/order/service/impl/CareOrdersServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/order/service/impl/CareOrdersServiceImpl.java index 21cc63ca..ba13e6af 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/order/service/impl/CareOrdersServiceImpl.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/order/service/impl/CareOrdersServiceImpl.java @@ -1,11 +1,16 @@ package com.nu.modules.biz.care.order.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nu.modules.biz.care.order.entity.CareOrders; import com.nu.modules.biz.care.order.entity.CareOrdersSub; import com.nu.modules.biz.care.order.mapper.CareOrdersMapper; import com.nu.modules.biz.care.order.service.ICareOrdersService; import com.nu.modules.biz.care.order.service.ICareOrdersSubService; +import com.nu.modules.config.sendorderpriority.entity.SendOrderRule; +import com.nu.modules.config.sendorderpriority.entity.SendOrderRuleSub; +import com.nu.modules.config.sendorderpriority.service.ISendOrderRuleService; +import com.nu.modules.config.sendorderpriority.service.ISendOrderRuleSubService; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; import org.springframework.beans.factory.annotation.Autowired; @@ -26,6 +31,29 @@ public class CareOrdersServiceImpl extends ServiceImpl ruleSubList; + + /** + * 获取派单规则 + */ + private void getSendOrderRule(){ + if(sendOrderRule == null){ + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("iz_enabled", "Y"); + sendOrderRule = sendOrderRuleService.getOne(qw); + QueryWrapper subqw = new QueryWrapper<>(); + subqw.eq("iz_enabled", "Y"); + subqw.eq("main_id", sendOrderRule.getId()); + subqw.orderByAsc("sort"); + ruleSubList = sendOrderRuleSubService.list(subqw); + } + } + /** * 获取在线,有指令权限的员工,并获取员工的接单上限、收益、服务时长、单次 * @param directiveId @@ -64,12 +92,14 @@ public class CareOrdersServiceImpl extends ServiceImpl generateOrdersBatch(){ + //获取派单规则 + getSendOrderRule(); List ordersList = baseMapper.queryDataPoolList(null); for(int i=0;i empList = getEmpPermissionAndOnline(directiveIds,employeeIds,startTime); - Map orderlyMap = getEmpOrderly(customerId); - if(empList.size()>0){ - for(int i=0;i empList = getEmpPermissionAndOnline(directiveIds,employeeIds,startTime); + if (empList.size() > 0) { + for(int i=0;i0){ + for(SendOrderRuleSub ruleSub : ruleSubList){ + switch (ruleSub.getPriorityCode()) { + case 1: + //空闲积分 + sortByIzFree(empList,ruleSub.getCoefficient()); + break; + case 2: + //专员积分 + sortByOrderly(empList,ruleSub.getCoefficient(),customerId); + break; + case 3: + //单次积分 + sortByNumAndSetLevel(empList,ruleSub.getCoefficient()); + break; + case 4: + //收益积分 + sortByPriceAndSetLevel(empList,ruleSub.getCoefficient()); + break; + case 5: + //服务时长积分 + sortByDurationAndSetLevel(empList,ruleSub.getCoefficient()); + break; + case 6: + //最后接单时间积分 + sortByMaxTimeAndSetLevel(empList,ruleSub.getCoefficient()); + break; + case 7: + //超出上限积分 + sortByLimit(empList,ruleSub.getCoefficient()); + break; + } + } + //获取员工信息 + sortEmpList(empList); + return empList.get(0); + }else{ + //随机获取一个员工 + Random random = new Random(); + return empList.get(random.nextInt(empList.size())); + } + } + return null; + } + + /** + * 按人头派单 + * + * @return + */ + private CareOrders getByHeadCount(String directiveIds, String customerId, Date startTime, String employeeIds) { + List empList = getEmpPermissionAndOnline(directiveIds,employeeIds,startTime); + if (empList.size() > 0) { + for(int i=0;i0){ + for(SendOrderRuleSub ruleSub : ruleSubList){ + switch (ruleSub.getPriorityCode()) { + case 1: + //空闲积分 + sortByIzFree(empList,ruleSub.getCoefficient()); + break; + case 2: + //单次积分 + sortByNumAndSetLevel(empList,ruleSub.getCoefficient()); + break; + case 3: + //收益积分 + sortByPriceAndSetLevel(empList,ruleSub.getCoefficient()); + break; + case 4: + //服务时长积分 + sortByDurationAndSetLevel(empList,ruleSub.getCoefficient()); + break; + case 5: + //最后接单时间积分 + sortByMaxTimeAndSetLevel(empList,ruleSub.getCoefficient()); + break; + case 6: + //超出上限积分 + sortByLimit(empList,ruleSub.getCoefficient()); + break; + } + } + //获取员工信息 + sortEmpList(empList); + return empList.get(0); + }else{ + //随机获取一个员工 + Random random = new Random(); + return empList.get(random.nextInt(empList.size())); + } + } + return null; + } + + /** + * 1V1派单 + * + * @return + */ + private CareOrders getBySpecial() { + //获取长者指定的员工,如在线直接派单 + return null; + } + + /** + * 通过员工空闲状态来设置优先级 + * * @param empList */ - public void sortByNumAndSetLevel(List empList) { + public void sortByIzFree(List empList, Integer coefficient) { + for (int i = 0; i < empList.size(); i++) { + CareOrders emp = empList.get(i); + if (emp.getIzFree().equals(1)) { + Integer empLevel = emp.getLevel(); + empLevel = empLevel + empList.size() * coefficient; //提高N等级 + emp.setLevel(empLevel); + } + System.out.println("员工获取空闲积分信息:"+emp.getEmployeeId()+"-"+emp.getEmployeeName()+"["+emp.getLevel()+"]"); + } + } + + /** + * 通过员工专项指定状态来设置优先级 + * + * @param empList + */ + public void sortByOrderly(List empList,Integer coefficient,String customerId) { + for (int i = 0; i < empList.size(); i++) { + CareOrders emp = empList.get(i); + String employeeId = emp.getEmployeeId(); + Map orderlyMap = getEmpOrderly(customerId); + if (orderlyMap != null) { + String orderlyId = orderlyMap.get(employeeId); + if (orderlyId != null && !orderlyId.equals("")) { + Integer empLevel = emp.getLevel(); + empLevel = empLevel + empList.size() * coefficient; //提高N等级 + emp.setLevel(empLevel); + } + } + System.out.println("员工获取指定护理积分信息:"+emp.getEmployeeId()+"-"+emp.getEmployeeName()+"["+emp.getLevel()+"]"); + } + } + + /** + * 通过工单次数排序数据来设置优先级 + * + * @param empList + */ + public void sortByNumAndSetLevel(List empList,Integer coefficient) { // 根据orderNum倒序排序,并为level顺序赋值 List sortedEmployees = empList.stream() .sorted(Comparator.comparing(CareOrders::getOrderNum).reversed()) @@ -210,10 +356,12 @@ public class CareOrdersServiceImpl extends ServiceImpl empList) { + public void sortByPriceAndSetLevel(List empList,Integer coefficient) { // 根据totalComPrice倒序排序,并为level顺序赋值 List sortedEmployees = empList.stream() .sorted(Comparator.comparing(CareOrders::getTotalComPrice).reversed()) @@ -232,8 +381,11 @@ public class CareOrdersServiceImpl extends ServiceImpl empList) { + public void sortByDurationAndSetLevel(List empList,Integer coefficient) { // 根据totalDuration倒序排序,并为level顺序赋值 List sortedEmployees = empList.stream() .sorted(Comparator.comparing(CareOrders::getTotalDuration).reversed()) @@ -254,8 +407,11 @@ public class CareOrdersServiceImpl extends ServiceImpl empList) { + public void sortByMaxTimeAndSetLevel(List empList,Integer coefficient) { // 根据maxTime倒序排序,并为level顺序赋值 List sortedEmployees = empList.stream() .sorted(Comparator.comparing( @@ -279,8 +436,11 @@ public class CareOrdersServiceImpl extends ServiceImpl empList) { + public void sortByLimit(List empList,Integer coefficient) { for (int i = 0; i < empList.size(); i++) { - //工单超出接单上限,降4N级 - if(empList.get(i).getOwnCn()>=empList.get(i).getOrderCap()){ - Integer levle = empList.get(i).getLevel()-empList.size()*4; - empList.get(i).setLevel(levle); + CareOrders emp = empList.get(i); + //工单超出接单上限,降N级 + if (emp.getOwnCn() >= emp.getOrderCap()) { + Integer levle = emp.getLevel() + empList.size() * coefficient; + emp.setLevel(levle); + + System.out.println("员工获取单上限积分信息:"+emp.getEmployeeId()+"-"+emp.getEmployeeName()+"["+emp.getLevel()+"]"); } } + } + + /** + * 按优先级排序数据 + * + * @param empList + */ + public void sortEmpList(List empList) { //为level顺序 List sortedEmployees = empList.stream() .sorted(Comparator.comparing(CareOrders::getLevel).reversed()) .collect(Collectors.toList()); - // 如果需要返回新列表,可以返回sortedEmployees // 如果要在原列表上修改,可以清空原列表并添加所有元素 empList.clear(); empList.addAll(sortedEmployees); + for(int i=0;i empList,String customerId) { + List newList = new ArrayList(); + for (int i = 0; i < empList.size(); i++) { + CareOrders emp = empList.get(i); + String employeeId = emp.getEmployeeId(); + Map orderlyMap = getEmpOrderly(customerId); + if (orderlyMap != null) { + String orderlyId = orderlyMap.get(employeeId); + if (orderlyId != null && !orderlyId.equals("")) { + newList.add(emp); + } + } + + } + empList.clear(); + empList.addAll(newList); + for(int i=0;i diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/order/service/impl/LogisticsOrdersServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/order/service/impl/LogisticsOrdersServiceImpl.java index 1e04090d..6d3398a4 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/order/service/impl/LogisticsOrdersServiceImpl.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/order/service/impl/LogisticsOrdersServiceImpl.java @@ -8,7 +8,9 @@ import com.nu.modules.biz.logistics.order.mapper.LogisticsOrdersMapper; import com.nu.modules.biz.logistics.order.service.ILogisticsOrdersService; import com.nu.modules.care.api.ILogisticsOrdersApi; import com.nu.modules.config.sendorderpriority.entity.SendOrderRule; +import com.nu.modules.config.sendorderpriority.entity.SendOrderRuleSub; import com.nu.modules.config.sendorderpriority.service.ISendOrderRuleService; +import com.nu.modules.config.sendorderpriority.service.ISendOrderRuleSubService; import com.nu.modules.mediamanage.entity.MediaManage; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; @@ -30,6 +32,26 @@ public class LogisticsOrdersServiceImpl extends ServiceImpl ruleSubList; + + /** + * 获取派单规则 + */ + private void getSendOrderRule(){ + if(sendOrderRule == null){ + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("iz_enabled", "Y"); + sendOrderRule = sendOrderRuleService.getOne(qw); + QueryWrapper subqw = new QueryWrapper<>(); + subqw.eq("iz_enabled", "Y"); + subqw.eq("main_id", sendOrderRule.getId()); + subqw.orderByAsc("sort"); + ruleSubList = sendOrderRuleSubService.list(subqw); + } + } /** * 获取在线,有指令权限的员工,并获取员工的接单上限、收益、服务时长、单次 @@ -72,6 +94,8 @@ public class LogisticsOrdersServiceImpl extends ServiceImpl generateOrdersBatch() { + //获取派单规则 + getSendOrderRule(); List ordersList = baseMapper.queryDataPoolList(null); for (int i = 0; i < ordersList.size(); i++) { LogisticsOrders orders = ordersList.get(i); @@ -86,7 +110,6 @@ public class LogisticsOrdersServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); - qw.eq("izEnabled", "Y"); - SendOrderRule one = sendOrderRuleService.getOne(qw); - if (one.getPriorityCode().equals("1")) { - return getByPriority(); + if (sendOrderRule.getPriorityCode().equals("1")) { + //按优先级 + return getByPriority(directiveId, customerId, startTime); } - if (one.getPriorityCode().equals("2")) { + if (sendOrderRule.getPriorityCode().equals("2")) { + //按人头 return getByHeadCount(); } - if (one.getPriorityCode().equals("3")) { + if (sendOrderRule.getPriorityCode().equals("3")) { + //1v1特殊 return getBySpecial(); } - - List empList = getEmpPermissionAndOnline(directiveId, startTime); - Map orderlyMap = getEmpOrderly(customerId); - if (empList.size() > 0) { - for (int i = 0; i < empList.size(); i++) { - LogisticsOrders emp = empList.get(i); - System.out.println("员工信息:" + emp.getEmployeeName() + "," + emp.getOrderCap() + "," + emp.getOrderNum() + "," + emp.getTotalDuration() + "," + emp.getTotalComPrice() + "," + emp.getMaxTime() + "," + emp.getOwnCn() + "," + emp.getIzFree()); - String employeeId = emp.getEmployeeId(); - if (emp.getIzFree().equals(1)) { - Integer empLevel = emp.getLevel(); - empLevel = empLevel + empList.size() * 5; //提高5N等级 - emp.setLevel(empLevel); - } - System.out.println("员工获取空闲积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]"); - if (orderlyMap != null) { - String orderlyId = orderlyMap.get(employeeId); - if (orderlyId != null && !orderlyId.equals("")) { - Integer empLevel = emp.getLevel(); - empLevel = empLevel + empList.size() * 3; //提高4N等级 - emp.setLevel(empLevel); - } - } - System.out.println("员工获取指定护理积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]"); - } - //通过工单次数排序数据来设置优先级 - sortByNumAndSetLevel(empList); - for (int i = 0; i < empList.size(); i++) { - LogisticsOrders emp = empList.get(i); - System.out.println("员工获取工单数积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]"); - } - //通过总收益排序数据来设置优先级 - sortByPriceAndSetLevel(empList); - for (int i = 0; i < empList.size(); i++) { - LogisticsOrders emp = empList.get(i); - System.out.println("员工获取工单收益积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]"); - } - //通过服务时长排序数据来设置优先级 - sortByDurationAndSetLevel(empList); - for (int i = 0; i < empList.size(); i++) { - LogisticsOrders emp = empList.get(i); - System.out.println("员工获取服务时长积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]"); - } - //通过最后一次接收派单时间排序数据来设置优先级 - sortByMaxTimeAndSetLevel(empList); - for (int i = 0; i < empList.size(); i++) { - LogisticsOrders emp = empList.get(i); - System.out.println("员工获取派单时间积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]"); - } - //按优先级排序数据 - sortByLevel(empList); - for (int i = 0; i < empList.size(); i++) { - LogisticsOrders emp = empList.get(i); - System.out.println("员工获取总积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]"); - } - //获取员工信息 - return empList.get(0); - } return null; } @@ -187,8 +147,51 @@ public class LogisticsOrdersServiceImpl extends ServiceImpl empList = getEmpPermissionAndOnline(directiveId, startTime); + if (empList.size() > 0) { + if(ruleSubList.size()>0){ + for(SendOrderRuleSub ruleSub : ruleSubList){ + switch (ruleSub.getPriorityCode()) { + case 1: + //空闲积分 + sortByIzFree(empList,ruleSub.getCoefficient()); + break; + case 2: + //专员积分 + sortByOrderly(empList,ruleSub.getCoefficient(),customerId); + break; + case 3: + //单次积分 + sortByNumAndSetLevel(empList,ruleSub.getCoefficient()); + break; + case 4: + //收益积分 + sortByPriceAndSetLevel(empList,ruleSub.getCoefficient()); + break; + case 5: + //服务时长积分 + sortByDurationAndSetLevel(empList,ruleSub.getCoefficient()); + break; + case 6: + //最后接单时间积分 + sortByMaxTimeAndSetLevel(empList,ruleSub.getCoefficient()); + break; + case 7: + //超出上限积分 + sortByLimit(empList,ruleSub.getCoefficient()); + break; + } + } + //获取员工信息 + sortEmpList(empList); + return empList.get(0); + }else{ + //随机获取一个员工 + Random random = new Random(); + return empList.get(random.nextInt(empList.size())); + } + } return null; } @@ -212,12 +215,49 @@ public class LogisticsOrdersServiceImpl extends ServiceImpl empList,Integer coefficient) { + for (int i = 0; i < empList.size(); i++) { + LogisticsOrders emp = empList.get(i); + if (emp.getIzFree().equals(1)) { + Integer empLevel = emp.getLevel(); + empLevel = empLevel + empList.size() * coefficient; //提高5N等级 + emp.setLevel(empLevel); + } + } + } + + /** + * 通过员工专项指定状态来设置优先级 + * + * @param empList + */ + public void sortByOrderly(List empList,Integer coefficient,String customerId) { + for (int i = 0; i < empList.size(); i++) { + LogisticsOrders emp = empList.get(i); + String employeeId = emp.getEmployeeId(); + Map orderlyMap = getEmpOrderly(customerId); + if (orderlyMap != null) { + String orderlyId = orderlyMap.get(employeeId); + if (orderlyId != null && !orderlyId.equals("")) { + Integer empLevel = emp.getLevel(); + empLevel = empLevel + empList.size() * coefficient; //提高4N等级 + emp.setLevel(empLevel); + } + } + } + } + /** * 通过工单次数排序数据来设置优先级 * * @param empList */ - public void sortByNumAndSetLevel(List empList) { + public void sortByNumAndSetLevel(List empList,Integer coefficient) { // 根据orderNum倒序排序,并为level顺序赋值 List sortedEmployees = empList.stream() .sorted(Comparator.comparing(LogisticsOrders::getOrderNum).reversed()) @@ -225,7 +265,7 @@ public class LogisticsOrdersServiceImpl extends ServiceImpl empList) { + public void sortByPriceAndSetLevel(List empList,Integer coefficient) { // 根据totalComPrice倒序排序,并为level顺序赋值 List sortedEmployees = empList.stream() .sorted(Comparator.comparing(LogisticsOrders::getTotalComPrice).reversed()) @@ -248,7 +288,7 @@ public class LogisticsOrdersServiceImpl extends ServiceImpl empList) { + public void sortByDurationAndSetLevel(List empList,Integer coefficient) { // 根据totalDuration倒序排序,并为level顺序赋值 List sortedEmployees = empList.stream() .sorted(Comparator.comparing(LogisticsOrders::getTotalDuration).reversed()) @@ -271,7 +311,7 @@ public class LogisticsOrdersServiceImpl extends ServiceImpl empList) { + public void sortByMaxTimeAndSetLevel(List empList,Integer coefficient) { // 根据maxTime倒序排序,并为level顺序赋值 List sortedEmployees = empList.stream() .sorted(Comparator.comparing( @@ -297,7 +337,7 @@ public class LogisticsOrdersServiceImpl extends ServiceImpl empList,Integer coefficient) { + for (int i = 0; i < empList.size(); i++) { + //工单超出接单上限,降4N级 + if (empList.get(i).getOwnCn() >= empList.get(i).getOrderCap()) { + Integer levle = empList.get(i).getLevel() + empList.size() * coefficient; + empList.get(i).setLevel(levle); + } + } + } + /** * 按优先级排序数据 * * @param empList */ - public void sortByLevel(List empList) { - for (int i = 0; i < empList.size(); i++) { - //工单超出接单上限,降4N级 - if (empList.get(i).getOwnCn() >= empList.get(i).getOrderCap()) { - Integer levle = empList.get(i).getLevel() - empList.size() * 4; - empList.get(i).setLevel(levle); - } - } + public void sortEmpList(List empList) { //为level顺序 List sortedEmployees = empList.stream() .sorted(Comparator.comparing(LogisticsOrders::getLevel).reversed()) .collect(Collectors.toList()); - // 如果需要返回新列表,可以返回sortedEmployees // 如果要在原列表上修改,可以清空原列表并添加所有元素 empList.clear(); diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/sendorderpriority/entity/SendOrderRule.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/sendorderpriority/entity/SendOrderRule.java index 721c9310..937ac32e 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/sendorderpriority/entity/SendOrderRule.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/sendorderpriority/entity/SendOrderRule.java @@ -30,8 +30,10 @@ public class SendOrderRule implements Serializable { @TableId(type = IdType.ASSIGN_ID) private String id; - private String priorityCode; + /**优先级编码值*/ + private Integer priorityCode; + /**优先级名称*/ private String priorityName; /**是否启用 Y启用 N未启用*/ diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/sendorderpriority/entity/SendOrderRuleSub.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/sendorderpriority/entity/SendOrderRuleSub.java index 95e6a7e0..d151b8e9 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/sendorderpriority/entity/SendOrderRuleSub.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/sendorderpriority/entity/SendOrderRuleSub.java @@ -29,15 +29,24 @@ public class SendOrderRuleSub implements Serializable { @TableId(type = IdType.ASSIGN_ID) private String id; + /**是否启用 Y启用 N未启用*/ private String mainId; - private String priorityCode; + /**优先级编码值*/ + private Integer priorityCode; + /**优先级名称*/ private String priorityName; /**是否启用 Y启用 N未启用*/ private String izEnabled; + /**系数*/ + private Integer coefficient; + + /**排序*/ + private Integer sort; + /**创建人*/ private String createBy; /**创建日期*/