服务指令-请领流程算法调整和测试

This commit is contained in:
曹磊 2025-12-26 17:02:22 +08:00
parent b71c812322
commit 37884ae4a4
5 changed files with 86 additions and 71 deletions

View File

@ -639,6 +639,7 @@ public class QingLingServiceImpl implements IQinglingApi {
if ("3".equals(nowStatus)) { if ("3".equals(nowStatus)) {
InvoicingOrdersEntity p_ = new InvoicingOrdersEntity(); InvoicingOrdersEntity p_ = new InvoicingOrdersEntity();
p_.setFlowCode("ql_sq"); p_.setFlowCode("ql_sq");
p_.setIzRollback("Y");
p_.setBizId(dto.getQldNo()); p_.setBizId(dto.getQldNo());
Map<String,String> j = invoicingQlOrdersApi.izCanGoOn(p_); Map<String,String> j = invoicingQlOrdersApi.izCanGoOn(p_);
if(!j.get("error_code").equals("0")){ if(!j.get("error_code").equals("0")){

View File

@ -572,7 +572,7 @@ public class ThdServiceImpl implements ITuiHuoApi {
NuInvoicingThdMain main = thdMainMapper.selectOne(qw); NuInvoicingThdMain main = thdMainMapper.selectOne(qw);
//检测是否已入库 //检测是否已入库
if (main == null || !"2".equals(main.getStatus())) { if (main == null || !"1".equals(main.getStatus())) {
r_.put("error_code", "1"); r_.put("error_code", "1");
r_.put("msg", "退货单未入库"); r_.put("msg", "退货单未入库");
return r_; return r_;

View File

@ -8,7 +8,6 @@ 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.mapper.CareOrdersMapper;
import com.nu.modules.biz.care.order.service.ICareOrdersService; import com.nu.modules.biz.care.order.service.ICareOrdersService;
import com.nu.modules.biz.care.order.service.ICareOrdersSubService; import com.nu.modules.biz.care.order.service.ICareOrdersSubService;
import com.nu.modules.biz.invoicing.order.entity.InvoicingOrders;
import com.nu.modules.config.sendorderrule.entity.SendOrderRule; import com.nu.modules.config.sendorderrule.entity.SendOrderRule;
import com.nu.modules.config.sendorderrule.entity.SendOrderRuleSub; import com.nu.modules.config.sendorderrule.entity.SendOrderRuleSub;
import com.nu.modules.config.sendorderrule.service.ISendOrderRuleService; import com.nu.modules.config.sendorderrule.service.ISendOrderRuleService;
@ -254,6 +253,8 @@ public class CareOrdersServiceImpl extends ServiceImpl<CareOrdersMapper, CareOrd
private CareOrders getByHeadCount(String directiveIds, String elderId, Date startTime, String employeeIds) { private CareOrders getByHeadCount(String directiveIds, String elderId, Date startTime, String employeeIds) {
List<CareOrders> empList = getEmpPermissionAndOnline(directiveIds,employeeIds,startTime); List<CareOrders> empList = getEmpPermissionAndOnline(directiveIds,employeeIds,startTime);
if (empList.size() > 0) { if (empList.size() > 0) {
List<CareOrders> newList = new ArrayList();
newList.addAll(empList);
for(int i=0;i<empList.size();i++){ for(int i=0;i<empList.size();i++){
CareOrders emp = empList.get(i); CareOrders emp = empList.get(i);
System.out.println("员工信息:"+emp.getEmployeeName()+","+emp.getOrderCap()+","+emp.getOrderNum()+","+emp.getTotalDuration()+","+emp.getTotalComPrice()+","+emp.getMaxTime()+","+emp.getOwnCn()+","+emp.getIzFree()); System.out.println("员工信息:"+emp.getEmployeeName()+","+emp.getOrderCap()+","+emp.getOrderNum()+","+emp.getTotalDuration()+","+emp.getTotalComPrice()+","+emp.getMaxTime()+","+emp.getOwnCn()+","+emp.getIzFree());
@ -261,43 +262,48 @@ public class CareOrdersServiceImpl extends ServiceImpl<CareOrdersMapper, CareOrd
//****************获取指定护理员工列表不指定的排除掉=============================> //****************获取指定护理员工列表不指定的排除掉=============================>
getByOrderly(empList,elderId); getByOrderly(empList,elderId);
if (empList.size() > 0) {
if(ruleSubList.size()>0){ if (ruleSubList.size() > 0) {
for(SendOrderRuleSub ruleSub : ruleSubList){ for (SendOrderRuleSub ruleSub : ruleSubList) {
switch (ruleSub.getRuleCode()) { switch (ruleSub.getRuleCode()) {
case 1: case 1:
//空闲积分 //空闲积分
sortByIzFree(empList,ruleSub.getCoefficient()); sortByIzFree(empList, ruleSub.getCoefficient());
break; break;
case 2: case 2:
//单次积分 //单次积分
sortByNumAndSetLevel(empList,ruleSub.getCoefficient()); sortByNumAndSetLevel(empList, ruleSub.getCoefficient());
break; break;
case 3: case 3:
//收益积分 //收益积分
sortByPriceAndSetLevel(empList,ruleSub.getCoefficient()); sortByPriceAndSetLevel(empList, ruleSub.getCoefficient());
break; break;
case 4: case 4:
//服务时长积分 //服务时长积分
sortByDurationAndSetLevel(empList,ruleSub.getCoefficient()); sortByDurationAndSetLevel(empList, ruleSub.getCoefficient());
break; break;
case 5: case 5:
//最后接单时间积分 //最后接单时间积分
sortByMaxTimeAndSetLevel(empList,ruleSub.getCoefficient()); sortByMaxTimeAndSetLevel(empList, ruleSub.getCoefficient());
break; break;
case 6: case 6:
//超出上限积分 //超出上限积分
sortByLimit(empList,ruleSub.getCoefficient()); sortByLimit(empList, ruleSub.getCoefficient());
break; break;
}
} }
//获取员工信息
sortEmpList(empList);
return empList.get(0);
} else {
//随机获取一个员工
Random random = new Random();
return empList.get(random.nextInt(empList.size()));
} }
//获取员工信息
sortEmpList(empList);
return empList.get(0);
}else{ }else{
//随机获取一个员工 //随机获取一个员工
Random random = new Random(); Random random = new Random();
return empList.get(random.nextInt(empList.size())); return newList.get(random.nextInt(newList.size()));
} }
} }
return null; return null;

View File

@ -249,50 +249,56 @@ public class EmpOrdersServiceImpl extends ServiceImpl<InvoicingOrdersMapper, Inv
private InvoicingOrders getByHeadCount(String directiveId, String elderId, Date startTime) { private InvoicingOrders getByHeadCount(String directiveId, String elderId, Date startTime) {
List<InvoicingOrders> empList = getEmpPermissionAndOnline(directiveId,startTime); List<InvoicingOrders> empList = getEmpPermissionAndOnline(directiveId,startTime);
if (empList.size() > 0) { if (empList.size() > 0) {
List<InvoicingOrders> newList = new ArrayList();
newList.addAll(empList);
for(int i=0;i<empList.size();i++){ for(int i=0;i<empList.size();i++){
InvoicingOrders emp = empList.get(i); InvoicingOrders emp = empList.get(i);
System.out.println("员工信息:"+emp.getEmployeeName()+","+emp.getOrderCap()+","+emp.getOrderNum()+","+emp.getTotalDuration()+","+emp.getTotalComPrice()+","+emp.getMaxTime()+","+emp.getOwnCn()+","+emp.getIzFree()); System.out.println("员工信息:"+emp.getEmployeeName()+","+emp.getOrderCap()+","+emp.getOrderNum()+","+emp.getTotalDuration()+","+emp.getTotalComPrice()+","+emp.getMaxTime()+","+emp.getOwnCn()+","+emp.getIzFree());
} }
//****************获取指定护理员工列表不指定的排除掉=============================> //****************获取指定护理员工列表不指定的排除掉=============================>
getByOrderly(empList,elderId); getByOrderly(empList,elderId);
if (empList.size() > 0) {
if(ruleSubList.size()>0){ if(ruleSubList.size()>0){
for(SendOrderRuleSub ruleSub : ruleSubList){ for(SendOrderRuleSub ruleSub : ruleSubList){
switch (ruleSub.getRuleCode()) { switch (ruleSub.getRuleCode()) {
case 1: case 1:
//空闲积分 //空闲积分
sortByIzFree(empList,ruleSub.getCoefficient()); sortByIzFree(empList,ruleSub.getCoefficient());
break; break;
case 2: case 2:
//单次积分 //单次积分
sortByNumAndSetLevel(empList,ruleSub.getCoefficient()); sortByNumAndSetLevel(empList,ruleSub.getCoefficient());
break; break;
case 3: case 3:
//收益积分 //收益积分
sortByPriceAndSetLevel(empList,ruleSub.getCoefficient()); sortByPriceAndSetLevel(empList,ruleSub.getCoefficient());
break; break;
case 4: case 4:
//服务时长积分 //服务时长积分
sortByDurationAndSetLevel(empList,ruleSub.getCoefficient()); sortByDurationAndSetLevel(empList,ruleSub.getCoefficient());
break; break;
case 5: case 5:
//最后接单时间积分 //最后接单时间积分
sortByMaxTimeAndSetLevel(empList,ruleSub.getCoefficient()); sortByMaxTimeAndSetLevel(empList,ruleSub.getCoefficient());
break; break;
case 6: case 6:
//超出上限积分 //超出上限积分
sortByLimit(empList,ruleSub.getCoefficient()); sortByLimit(empList,ruleSub.getCoefficient());
break; break;
}
} }
//获取员工信息
sortEmpList(empList);
return empList.get(0);
}else{
//随机获取一个员工
Random random = new Random();
return empList.get(random.nextInt(empList.size()));
} }
//获取员工信息
sortEmpList(empList);
return empList.get(0);
}else{ }else{
//随机获取一个员工 //随机获取一个员工
Random random = new Random(); Random random = new Random();
return empList.get(random.nextInt(empList.size())); return newList.get(random.nextInt(newList.size()));
} }
} }
return null; return null;

View File

@ -169,7 +169,11 @@ public class QlOrdersServiceImpl extends ServiceImpl<InvoicingOrdersMapper, Invo
InvoicingOrders io = new InvoicingOrders(); InvoicingOrders io = new InvoicingOrders();
io.setIzFinish("N"); io.setIzFinish("N");
io.setDelFlag("0"); io.setDelFlag("0");
io.setIzRollback("N"); if(invoicingOrdersEntity.getIzRollback()!=null&&!invoicingOrdersEntity.getIzRollback().equals("")){
io.setIzRollback(invoicingOrdersEntity.getIzRollback());
}else{
io.setIzRollback("N");
}
io.setBizType(invoicingOrdersEntity.getFlowCode()); io.setBizType(invoicingOrdersEntity.getFlowCode());
io.setBizId(invoicingOrdersEntity.getBizId()); io.setBizId(invoicingOrdersEntity.getBizId());
InvoicingOrders entity = baseMapper.getOrderOne(io); InvoicingOrders entity = baseMapper.getOrderOne(io);
@ -212,9 +216,6 @@ public class QlOrdersServiceImpl extends ServiceImpl<InvoicingOrdersMapper, Invo
map.put("error_code", "1"); map.put("error_code", "1");
map.put("msg", "工单已结束"); map.put("msg", "工单已结束");
} }
}else{
map.put("error_code","1");
map.put("msg","工单不存在");
} }
return map; return map;
} }
@ -417,6 +418,7 @@ public class QlOrdersServiceImpl extends ServiceImpl<InvoicingOrdersMapper, Invo
if(invoicingOrdersEntity.getFlowCode().equals("ql_zf")){ if(invoicingOrdersEntity.getFlowCode().equals("ql_zf")){
//ws推送库管通知 //ws推送库管通知
} }
//ws推送护理员
} }
/** /**