调整pad员工工单查询接口

This commit is contained in:
1378012178@qq.com 2026-03-27 11:23:34 +08:00
parent 11b01b9d0b
commit 49d3a12259
2 changed files with 89 additions and 26 deletions

View File

@ -38,7 +38,12 @@ public class ServiceOrderApi {
}
/**
* todo 改成服务指令集
* @param directiveOrderInfoEntity
* @param req
* @return
*/
@ApiOperation(value = "服务指令工单-查询工单详细信息", notes = "服务指令工单-查询工单详细信息")
@GetMapping(value = "/queryOrderInfoList")
public Result<List<DirectiveOrderInfoEntity>> queryOrderInfoList(DirectiveOrderInfoEntity directiveOrderInfoEntity, HttpServletRequest req) {
@ -83,6 +88,14 @@ public class ServiceOrderApi {
}
/**
* todo 废弃
* @param directiveOrderEntity
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@ApiOperation(value = "服务指令工单-查询工单列表", notes = "服务指令工单-查询工单列表")
@GetMapping(value = "/queryWorkOrderList")
public Result<IPage<DirectiveOrderEntity>> queryWorkOrderList(DirectiveOrderEntity directiveOrderEntity,

View File

@ -70,35 +70,85 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl<DirectiveOrderMapp
return result;
}
/**
* @param pageNo
* @param pageSize
* @param directiveOrderEntity
* @param req
* @return
*/
@Override
public IPage<DirectiveOrderEntity> queryOrderList(Integer pageNo, Integer pageSize, DirectiveOrderEntity directiveOrderEntity, HttpServletRequest req) {
String nowDate = DateUtils.formatDate(new Date(),"yyyy-MM-dd");
String nowDate = DateUtils.formatDate(new Date(), "yyyy-MM-dd");
DirectiveOrder directiveOrder = new DirectiveOrder();
BeanUtils.copyProperties(directiveOrderEntity, directiveOrder);
QueryWrapper<DirectiveOrder> queryWrapper = new QueryWrapper<>();
//查询对应护理单元+员工身上的
queryWrapper.eq("nu_id", directiveOrderEntity.getNuId());
queryWrapper.eq(StringUtils.isNotBlank(directiveOrderEntity.getEmployeeId()),"employee_id",directiveOrderEntity.getEmployeeId());
queryWrapper.like("start_time", nowDate);//默认查询当天
/**工单类型 1待执行 2已执行 3已完成 4已过期 5待执行或者已执行未完成 空是全部*/
queryWrapper.eq(StringUtils.isNotBlank(directiveOrderEntity.getEmployeeId()), "employee_id", directiveOrderEntity.getEmployeeId());
//工单类型 1待执行 2已执行 3已完成 4已过期 5待执行或者已执行未完成 空是全部
//首页的对应5
if (StringUtils.equals("1", directiveOrderEntity.getWorkType())) {
queryWrapper.eq("iz_start", "N");
queryWrapper.eq("iz_finish", "N");
queryWrapper.apply("start_time > now()");
// queryWrapper.like("start_time", nowDate);//默认查询当天
// queryWrapper.eq("iz_start", "N");
// queryWrapper.eq("iz_finish", "N");
// queryWrapper.apply("start_time > now()");
//待执行未到结束时间 未点开始
queryWrapper.and(wrapper ->
wrapper.ge("serv_end_time", new Date())
.isNull("emp_start_time")
);
} else if (StringUtils.equals("2", directiveOrderEntity.getWorkType())) {
queryWrapper.eq("iz_start", "Y");
queryWrapper.eq("iz_finish", "N");
queryWrapper.apply("DATE_ADD(end_time, INTERVAL ifnull(timeout_duration,0) MINUTE) > NOW()");
// queryWrapper.like("start_time", nowDate);//默认查询当天
// queryWrapper.eq("iz_start", "Y");
// queryWrapper.eq("iz_finish", "N");
// queryWrapper.apply("DATE_ADD(end_time, INTERVAL ifnull(timeout_duration,0) MINUTE) > NOW()");
//已执行 看的是今天要开始执行的指令 没到或刚到最后时间 已经点了开始
queryWrapper.and(wrapper ->
wrapper.apply("DATE(serv_start_time) = CURDATE()")
.ge("serv_end_time", new Date())
.isNotNull("emp_start_time")
);
} else if (StringUtils.equals("3", directiveOrderEntity.getWorkType())) {
queryWrapper.eq("iz_start", "Y");
queryWrapper.eq("iz_finish", "Y");
// queryWrapper.like("start_time", nowDate);//默认查询当天
// queryWrapper.eq("iz_start", "Y");
// queryWrapper.eq("iz_finish", "Y");
//已完成工单开始执行日期是今天 只要有完成时间就算
queryWrapper.and(wrapper ->
wrapper.apply("DATE(serv_start_time) = CURDATE()")
.isNotNull("emp_end_time")
);
} else if (StringUtils.equals("4", directiveOrderEntity.getWorkType())) {
queryWrapper.eq("iz_start", "N");
queryWrapper.eq("iz_finish", "N");
queryWrapper.apply("start_time < now()");
// queryWrapper.like("start_time", nowDate);//默认查询当天
// queryWrapper.eq("iz_start", "N");
// queryWrapper.eq("iz_finish", "N");
// queryWrapper.apply("start_time < now()");
//已过期服务应该结束的那天的 过了最后时间了 还没点开始
queryWrapper.and(wrapper ->
wrapper.apply("DATE(serv_end_time) = CURDATE()")
.lt("serv_end_time", new Date())
.isNull("emp_start_time")
);
} else if (StringUtils.equals("5", directiveOrderEntity.getWorkType())) {
queryWrapper.apply("((iz_start = 'N' and iz_finish='N') or (iz_start='Y' and iz_finish='N')) and DATE_ADD(end_time, INTERVAL ifnull(timeout_duration,0) MINUTE) > NOW()");
//首页展示的工单
//需求展示工单开始 ~ 结束时间范围内 未完成的单子 serv_start_time <= now <= serv_end_time and emp_end_time = null)
// 特殊情况工单点击开始了 只要不点结束就一直显示 or (emp_start_time !=null and emp_end_time = null)
queryWrapper.and(wrapper ->
wrapper.le("serv_start_time", new Date())
.ge("serv_end_time", new Date())
.isNull("emp_end_time")
).or(wrapper ->
wrapper.isNotNull("emp_start_time")
.isNull("emp_end_time")
);
}
queryWrapper.orderByAsc("start_time");
queryWrapper.orderByAsc("serv_start_time");
Page<DirectiveOrder> page = new Page<>(pageNo, pageSize);
List<DirectiveOrder> list = baseMapper.selectList(page, queryWrapper);
IPage<DirectiveOrderEntity> entityPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
@ -221,8 +271,8 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl<DirectiveOrderMapp
DirectiveOrderInfo directiveOrderInfo = new DirectiveOrderInfo();
directiveOrderInfo.setManuallyMp4Path(directiveOrderEntity.getManuallyMp4Path());
UpdateWrapper<DirectiveOrderInfo> uw = new UpdateWrapper<>();
uw.eq("main_id",directiveOrderEntity.getId());
directiveOrderInfoService.update(directiveOrderInfo,uw);
uw.eq("main_id", directiveOrderEntity.getId());
directiveOrderInfoService.update(directiveOrderInfo, uw);
Map<String, Object> map = new HashMap<>();
map.put("success", true);
@ -242,8 +292,8 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl<DirectiveOrderMapp
DirectiveOrderInfo directiveOrderInfo = new DirectiveOrderInfo();
directiveOrderInfo.setManuallyPicPath(directiveOrderEntity.getManuallyPicPath());
UpdateWrapper<DirectiveOrderInfo> uw = new UpdateWrapper<>();
uw.eq("main_id",directiveOrderEntity.getId());
directiveOrderInfoService.update(directiveOrderInfo,uw);
uw.eq("main_id", directiveOrderEntity.getId());
directiveOrderInfoService.update(directiveOrderInfo, uw);
Map<String, Object> map = new HashMap<>();
map.put("success", true);
@ -290,8 +340,8 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl<DirectiveOrderMapp
directiveOrderService.updateById(main);
//修改子表
UpdateWrapper<DirectiveOrderInfo> subUW = new UpdateWrapper<>();
subUW.eq("main_id",dto.getMainId());
directiveOrderInfoMapper.update(sub,subUW);
subUW.eq("main_id", dto.getMainId());
directiveOrderInfoMapper.update(sub, subUW);
//日志
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@ -329,8 +379,8 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl<DirectiveOrderMapp
directiveOrderService.updateById(main);
//修改子表
UpdateWrapper<DirectiveOrderInfo> subUW = new UpdateWrapper<>();
subUW.eq("main_id",dto.getMainId());
directiveOrderInfoMapper.update(sub,subUW);
subUW.eq("main_id", dto.getMainId());
directiveOrderInfoMapper.update(sub, subUW);
//日志
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();