服务指令-调整生成工单子表数据的周期类型

This commit is contained in:
曹磊 2026-01-21 10:52:37 +08:00
parent c1d816fc34
commit 1ca1487be2
2 changed files with 16 additions and 18 deletions

View File

@ -12,8 +12,6 @@
d.type_name as typeName, d.type_name as typeName,
a.id as directiveId, a.id as directiveId,
a.directive_name as directiveName, a.directive_name as directiveName,
a.cycle_type as cycleTypeId,
f.item_text AS cycleType,
a.preview_file as previewFile, a.preview_file as previewFile,
a.preview_file_small as previewFileSmall, a.preview_file_small as previewFileSmall,
a.mp3_file as mp3File, a.mp3_file as mp3File,
@ -25,7 +23,6 @@
left join nu_config_service_instruction_tag b on a.instruction_tag_id = b.id left join nu_config_service_instruction_tag b on a.instruction_tag_id = b.id
left join nu_config_service_category c on a.category_id = c.id left join nu_config_service_category c on a.category_id = c.id
left join nu_config_service_type d on a.type_id = d.id left join nu_config_service_type d on a.type_id = d.id
left join sys_dict_item f on f.dict_id = '1900374791386140674' and f.item_value = a.cycle_type
where a.id = #{directiveId} where a.id = #{directiveId}
and a.del_flag = '0' and a.del_flag = '0'
and a.iz_enabled = 'Y' and a.iz_enabled = 'Y'
@ -41,8 +38,6 @@
d.type_name as typeName, d.type_name as typeName,
b.id as directiveId, b.id as directiveId,
b.directive_name as directiveName, b.directive_name as directiveName,
b.cycle_type as cycleTypeId,
f.item_text AS cycleType,
b.preview_file as previewFile, b.preview_file as previewFile,
b.preview_file_small as previewFileSmall, b.preview_file_small as previewFileSmall,
b.mp3_file as mp3File, b.mp3_file as mp3File,
@ -55,7 +50,6 @@
left join nu_config_service_category c on b.category_id = c.id left join nu_config_service_category c on b.category_id = c.id
left join nu_config_service_type d on b.type_id = d.id left join nu_config_service_type d on b.type_id = d.id
left join nu_config_service_instruction_tag e on b.instruction_tag_id = e.id left join nu_config_service_instruction_tag e on b.instruction_tag_id = e.id
left join sys_dict_item f on f.dict_id = '1900374791386140674' and f.item_value = b.cycle_type
where a.package_id = #{packageId} where a.package_id = #{packageId}
and a.del_flag = '0' and a.del_flag = '0'
and a.iz_enabled = 'Y' and a.iz_enabled = 'Y'

View File

@ -215,6 +215,8 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
ordersSub.setElderName(orders.getElderName()); ordersSub.setElderName(orders.getElderName());
ordersSub.setEmployeeId(employee.getEmployeeId()); ordersSub.setEmployeeId(employee.getEmployeeId());
ordersSub.setEmployeeName(employee.getEmployeeName()); ordersSub.setEmployeeName(employee.getEmployeeName());
ordersSub.setCycleTypeId(orders.getCycleTypeId());
ordersSub.setCycleType(orders.getCycleType());
ordersSub.setCycleValue(orders.getCycleValue()); ordersSub.setCycleValue(orders.getCycleValue());
ordersSub.setIzPackage(orders.getIzPackage()); ordersSub.setIzPackage(orders.getIzPackage());
ordersSub.setStartTime(orders.getStartTime()); ordersSub.setStartTime(orders.getStartTime());
@ -263,6 +265,8 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
ordersSub.setElderName(orders.getElderName()); ordersSub.setElderName(orders.getElderName());
ordersSub.setEmployeeId(employee.getEmployeeId()); ordersSub.setEmployeeId(employee.getEmployeeId());
ordersSub.setEmployeeName(employee.getEmployeeName()); ordersSub.setEmployeeName(employee.getEmployeeName());
ordersSub.setCycleTypeId(orders.getCycleTypeId());
ordersSub.setCycleType(orders.getCycleType());
ordersSub.setCycleValue(orders.getCycleValue()); ordersSub.setCycleValue(orders.getCycleValue());
ordersSub.setIzPackage(orders.getIzPackage()); ordersSub.setIzPackage(orders.getIzPackage());
if(!orders.getIzPackage().equals("N")){ if(!orders.getIzPackage().equals("N")){
@ -737,7 +741,7 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
} }
DirectiveOrder orders = baseMapper.getInstantById(directiveOrder); DirectiveOrder orders = baseMapper.getInstantById(directiveOrder);
List<DirectiveOrderSub> packageSubList = null; List<DirectiveOrderSub> subList = null;
String employeeId = ""; String employeeId = "";
String employeeName = ""; String employeeName = "";
Calendar c = Calendar.getInstance(); Calendar c = Calendar.getInstance();
@ -789,8 +793,8 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
orders.setStartTime(startTime); orders.setStartTime(startTime);
orders.setEndTime(endTime); orders.setEndTime(endTime);
if(orders.getIzPackage().equals("N")){ if(orders.getIzPackage().equals("N")){
packageSubList = ordersSubService.getDirectiveList(orders.getDirectiveId()); subList = ordersSubService.getDirectiveList(orders.getDirectiveId());
String directiveIds = packageSubList.stream().map(DirectiveOrderSub::getDirectiveId).collect(Collectors.joining(",")); String directiveIds = subList.stream().map(DirectiveOrderSub::getDirectiveId).collect(Collectors.joining(","));
if(!directiveOrder.getTriggerMode().equals("1")){ if(!directiveOrder.getTriggerMode().equals("1")){
getSendOrderRule(); getSendOrderRule();
DirectiveOrder employee = employeeScreening(directiveIds,orders.getElderId(),null,orders.getStartTime()); DirectiveOrder employee = employeeScreening(directiveIds,orders.getElderId(),null,orders.getStartTime());
@ -798,15 +802,13 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
employeeName = employee.getEmployeeName(); employeeName = employee.getEmployeeName();
} }
}else{ }else{
orders.setDirectiveId(null); subList = ordersSubService.getSubDirectiveList(orders.getDirectiveId());
orders.setDirectiveName(null); String directiveIds = subList.stream().map(DirectiveOrderSub::getDirectiveId).collect(Collectors.joining(","));
packageSubList = ordersSubService.getSubDirectiveList(orders.getDirectiveId());
String directiveIds = packageSubList.stream().map(DirectiveOrderSub::getDirectiveId).collect(Collectors.joining(","));
if(!directiveOrder.getTriggerMode().equals("1")){ if(!directiveOrder.getTriggerMode().equals("1")){
getSendOrderRule(); getSendOrderRule();
List<DirectiveOrder> emps = baseMapper.getPermissionEmps(directiveIds);//获取服务标签中的员工和数量 List<DirectiveOrder> emps = baseMapper.getPermissionEmps(directiveIds);//获取服务标签中的员工和数量
if(packageSubList!=null){ if(subList!=null){
int size = packageSubList.size(); int size = subList.size();
emps.removeIf(data -> data.getOwnCn() < size);//删除没有权限的数据 emps.removeIf(data -> data.getOwnCn() < size);//删除没有权限的数据
} }
String employeeIds = emps.stream().map(DirectiveOrder::getEmployeeId).collect(Collectors.joining(",")); String employeeIds = emps.stream().map(DirectiveOrder::getEmployeeId).collect(Collectors.joining(","));
@ -836,9 +838,9 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
orders.setOptNames(employeeName); orders.setOptNames(employeeName);
orders.setDelFlag("0"); orders.setDelFlag("0");
this.save(orders);//生成工单主表 this.save(orders);//生成工单主表
if(packageSubList!=null){ if(subList!=null){
for(int i=0;i<packageSubList.size();i++){ for(int i=0;i<subList.size();i++){
DirectiveOrderSub ordersSub = packageSubList.get(i); DirectiveOrderSub ordersSub = subList.get(i);
ordersSub.setOrderNo(getOrderSubNo(orderNo)); ordersSub.setOrderNo(getOrderSubNo(orderNo));
ordersSub.setOrderType(orderType); ordersSub.setOrderType(orderType);
ordersSub.setMainId(orders.getId()); ordersSub.setMainId(orders.getId());
@ -848,6 +850,8 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
ordersSub.setElderName(orders.getElderName()); ordersSub.setElderName(orders.getElderName());
ordersSub.setEmployeeId(employeeId); ordersSub.setEmployeeId(employeeId);
ordersSub.setEmployeeName(employeeName); ordersSub.setEmployeeName(employeeName);
ordersSub.setCycleTypeId(orders.getCycleTypeId());
ordersSub.setCycleType(orders.getCycleType());
ordersSub.setIzPackage(orders.getIzPackage()); ordersSub.setIzPackage(orders.getIzPackage());
if(!orders.getIzPackage().equals("N")){ if(!orders.getIzPackage().equals("N")){
ordersSub.setPackageId(orders.getDirectiveId()); ordersSub.setPackageId(orders.getDirectiveId());