diff --git a/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveorder/api/ServiceOrderApi.java b/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveorder/api/ServiceOrderApi.java index 3a1785fb..84146e57 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveorder/api/ServiceOrderApi.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveorder/api/ServiceOrderApi.java @@ -39,18 +39,16 @@ public class ServiceOrderApi { /** - * todo 改成服务指令集 + * 返回服务指令集详细信息 + * * @param directiveOrderInfoEntity * @param req * @return */ @ApiOperation(value = "服务指令工单-查询工单详细信息", notes = "服务指令工单-查询工单详细信息") @GetMapping(value = "/queryOrderInfoList") - public Result> queryOrderInfoList(DirectiveOrderInfoEntity directiveOrderInfoEntity, HttpServletRequest req) { - if(StringUtils.isBlank(directiveOrderInfoEntity.getMainId())){ - return Result.error("请选择工单"); - } - List pageList = directiveOrderApi.queryOrderInfoList(directiveOrderInfoEntity,req); + public Result> queryOrderInfoList(DirectiveOrderEntity directiveOrderInfoEntity, HttpServletRequest req) { + List pageList = directiveOrderApi.queryOrderInfoList(directiveOrderInfoEntity,req); return Result.OK(pageList); } diff --git a/nursing-unit-common/src/main/java/com/nu/entity/DirectiveOrderEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/DirectiveOrderEntity.java index f9a2bc94..ae159559 100644 --- a/nursing-unit-common/src/main/java/com/nu/entity/DirectiveOrderEntity.java +++ b/nursing-unit-common/src/main/java/com/nu/entity/DirectiveOrderEntity.java @@ -180,4 +180,148 @@ public class DirectiveOrderEntity implements Serializable { /**所属部门*/ private String sysOrgCode; + + + /** + * 长者体型标签ID(多个,逗号分隔) + */ + private String bodyTagIds; + /** + * 长者体型标签名称(多个,逗号分隔) + */ + private String bodyTagNames; + /** + * 长者体型标签价格(多个,逗号分隔) + */ + private String bodyTagPrice; + /** + * 长者情绪标签ID(多个,逗号分隔) + */ + private String emotionTagIds; + /** + * 长者情绪标签名称(多个,逗号分隔) + */ + private String emotionTagNames; + /** + * 长者情绪标签价格(多个,逗号分隔) + */ + private String emotionTagPrice; + /** + * 实际执行员工ID(多个,逗号分隔); 主要执行人+协助人 + */ + private String employeeIds; + /** + * 实际执行员工姓名(多个,逗号分隔); 主要执行人+协助人 + */ + private String employeeNames; + /** + * 服务属性 ds定时 js计时 + */ + private String serviceAttribute; + /** + * 服务预计开始时间 + */ + private Date servStartTime; + /** + * 服务预计结束时间 + */ + private Date servEndTime; + /** + * 员工预计开始时间 + */ + private Date empStartTime; + /** + * 员工预计结束时间 + */ + private Date empEndTime; + /** + * 服务工单预计开始时间 + */ + private Date orderStartTime; + /** + * 服务工单预计结束时间 + */ + private Date orderEndTime; + /** + * 工单执行状态(0待执行、1服务中、2正常完成、3超时完成 4未执行) + */ + private String orderStatus; + /** + * tplink网络地址(多个,逗号分隔) + */ + private String tplinkPath; + /** + * tplink监控视频上传任务ID + */ + private String tplinkTaskId; + /** + * tplink监控视频上传进度(千分制) + */ + private String tplinkrocess; + /** + * tplink切片md5 + */ + private String tplinkMd5; + /** + * tplink进度查询返回的状态码 + */ + private String tplinkResultCode; + /** + * tplink切片下载次数(次数到达乏值 - 系统参数 且没有 order_end_time 代表彻底失败) + */ + private String tplinkDownCount; + + /** + * 接单上限 + */ + @TableField(exist = false) + private Integer orderCap; + /** + * 最大时间 + */ + @TableField(exist = false) + private Date maxTime; + /** + * 单次 + */ + @TableField(exist = false) + private Integer orderNum; + /** + * 总服务时长 + */ + @TableField(exist = false) + private Integer totalDuration; + /** + * 总服务收益 + */ + @TableField(exist = false) + private BigDecimal totalComPrice; + /** + * 是否空闲 1空闲 0非空闲 + */ + @TableField(exist = false) + private Integer izFree; + /** + * 员工身上挂载的工单数,未完成工单即为挂单 + */ + @TableField(exist = false) + private Integer ownCn; + /** + * 服务指令id集合逗号分隔 + */ + @TableField(exist = false) + private String directiveIds; + /** + * 优先级 数值越高优先级越高 + */ + //空闲状态提高3级 指定护理员提高2级 + @TableField(exist = false) + private Integer level; + @TableField(exist = false) + private String tableName;//表名字 + /** + * 基础价格 + */ + @TableField(exist = false) + private java.math.BigDecimal totalPrice; } diff --git a/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/order/api/IDirectiveOrderApi.java b/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/order/api/IDirectiveOrderApi.java index 8a8baf6e..f68fe962 100644 --- a/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/order/api/IDirectiveOrderApi.java +++ b/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/order/api/IDirectiveOrderApi.java @@ -31,7 +31,7 @@ public interface IDirectiveOrderApi { IPage queryOrderList(Integer pageNo, Integer pageSize, DirectiveOrderEntity directiveOrderEntity, HttpServletRequest req); - List queryOrderInfoList(DirectiveOrderInfoEntity directiveOrderInfoEntity, HttpServletRequest req); + List queryOrderInfoList(DirectiveOrderEntity directiveOrderInfoEntity, HttpServletRequest req); Map editSubMp4(DirectiveOrderEntity directiveOrderEntity); diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/entity/DirectiveOrder.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/entity/DirectiveOrder.java index af5edb11..c680d673 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/entity/DirectiveOrder.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/entity/DirectiveOrder.java @@ -216,7 +216,7 @@ public class DirectiveOrder implements Serializable { /** * tplink监控视频上传进度(千分制) */ - private String tplinkrocess; + private String tplinkProcess; /** * tplink切片md5 */ diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/DirectiveOrderInfoMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/DirectiveOrderInfoMapper.java index b9180422..11e9a3e0 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/DirectiveOrderInfoMapper.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/DirectiveOrderInfoMapper.java @@ -3,6 +3,8 @@ package com.nu.modules.biz.order.mapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.nu.entity.DirectiveOrderEntity; +import com.nu.entity.DirectiveOrderInfoEntity; import com.nu.modules.biz.order.entity.DirectiveOrderInfo; import org.apache.ibatis.annotations.Param; @@ -18,5 +20,5 @@ public interface DirectiveOrderInfoMapper extends BaseMapper List getDirectiveList(@Param("directiveId") String directiveId); List getSubDirectiveList(@Param("packageId") String packageId); - List queryOrderInfoList(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); + List queryOrderInfoList(@Param("dto") DirectiveOrderEntity queryWrapper); } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/DirectiveOrderMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/DirectiveOrderMapper.java index 478b637a..2d5170ab 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/DirectiveOrderMapper.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/DirectiveOrderMapper.java @@ -1,6 +1,9 @@ package com.nu.modules.biz.order.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.nu.entity.CareDirectiveEntity; import com.nu.entity.DirectiveOrderEntity; import com.nu.entity.DirectiveOrderInfoEntity; @@ -44,4 +47,7 @@ public interface DirectiveOrderMapper extends BaseMapper { DirectiveOrder getPackageById(DirectiveOrder orders); DirectiveOrder getEmployeeById(@Param("employeeId") String employeeId); + + IPage queryOrderList(Page page, + @Param("entity") DirectiveOrderEntity entity); } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/xml/DirectiveOrderInfoMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/xml/DirectiveOrderInfoMapper.xml index f05d9b2d..792d7988 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/xml/DirectiveOrderInfoMapper.xml +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/xml/DirectiveOrderInfoMapper.xml @@ -3,54 +3,52 @@ - + select a.*, b.immediate_file, b.immediate_file_focus + from nu_biz_directive_order a + left join nu_config_service_directive b on a.directive_id = b.id + where a.nu_id = #{dto.nuId} + and a.instruction_id = #{dto.instructionTagId} + and a.serv_start_time = #{dto.servStartTime} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/xml/DirectiveOrderMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/xml/DirectiveOrderMapper.xml index 3b61886e..40e705fd 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/xml/DirectiveOrderMapper.xml +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/xml/DirectiveOrderMapper.xml @@ -22,13 +22,13 @@ - + - + - + - + @@ -80,13 +80,13 @@ - + - + - + - + @@ -113,99 +113,97 @@ + + + diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/service/impl/DirectiveOrderPadServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/service/impl/DirectiveOrderPadServiceImpl.java index 7b2500f5..f1159841 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/service/impl/DirectiveOrderPadServiceImpl.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/service/impl/DirectiveOrderPadServiceImpl.java @@ -12,8 +12,8 @@ import com.nu.modules.biz.order.entity.DirectiveOrder; import com.nu.modules.biz.order.entity.DirectiveOrderBizLog; import com.nu.modules.biz.order.entity.DirectiveOrderInfo; import com.nu.modules.biz.order.mapper.DirectiveOrderBizLogMapper; -import com.nu.modules.biz.order.mapper.DirectiveOrderMapper; import com.nu.modules.biz.order.mapper.DirectiveOrderInfoMapper; +import com.nu.modules.biz.order.mapper.DirectiveOrderMapper; import com.nu.modules.biz.order.service.IDirectiveOrderInfoService; import com.nu.modules.biz.order.service.IDirectiveOrderService; import com.nu.modules.directiveorder.api.IDirectiveOrderLogApi; @@ -21,16 +21,17 @@ import com.nu.modules.order.api.IDirectiveOrderApi; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; -import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.vo.LoginUser; -import org.jeecg.common.util.DateUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import java.time.LocalDateTime; -import java.util.*; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * @Description: 服务指令工单主表 @@ -79,110 +80,37 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl queryOrderList(Integer pageNo, Integer pageSize, DirectiveOrderEntity directiveOrderEntity, HttpServletRequest req) { - String nowDate = DateUtils.formatDate(new Date(), "yyyy-MM-dd"); - DirectiveOrder directiveOrder = new DirectiveOrder(); - BeanUtils.copyProperties(directiveOrderEntity, directiveOrder); - QueryWrapper queryWrapper = new QueryWrapper<>(); - //查询对应护理单元+员工身上的 - queryWrapper.eq("nu_id", directiveOrderEntity.getNuId()); - queryWrapper.eq(StringUtils.isNotBlank(directiveOrderEntity.getEmployeeId()), "employee_id", directiveOrderEntity.getEmployeeId()); - - //工单类型 1待执行 2已执行 3已完成 4已过期 5待执行或者已执行未完成 空是全部 - //首页的对应5 - if (StringUtils.equals("1", directiveOrderEntity.getWorkType())) { -// 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.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.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.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())) { - //首页展示的工单 - //需求:展示工单开始 ~ 结束时间范围内 未完成的单子 (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("serv_start_time"); Page page = new Page<>(pageNo, pageSize); - List list = baseMapper.selectList(page, queryWrapper); - IPage entityPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal()); - entityPage.setRecords(BeanUtil.copyToList(list, DirectiveOrderEntity.class)); - return entityPage; + //workType工单类型 1待执行 2已执行 3已完成 4已过期 5待执行或者已执行未完成 空是全部 + return baseMapper.queryOrderList(page, directiveOrderEntity); } @Override - public List queryOrderInfoList(DirectiveOrderInfoEntity directiveOrderInfoEntity, HttpServletRequest req) { - DirectiveOrderInfo directiveOrderInfo = new DirectiveOrderInfo(); - BeanUtils.copyProperties(directiveOrderInfoEntity, directiveOrderInfo); - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(directiveOrderInfo, req.getParameterMap()); - List list = directiveOrderInfoMapper.queryOrderInfoList(queryWrapper); - List list1 = new ArrayList<>(); - list1 = BeanUtil.copyToList(list, DirectiveOrderInfoEntity.class); - return list1; + public List queryOrderInfoList(DirectiveOrderEntity directiveOrderInfoEntity, HttpServletRequest req) { + List list = directiveOrderInfoMapper.queryOrderInfoList(directiveOrderInfoEntity); + return list; } @Override public Map startOrder(DirectiveOrderEntity directiveOrderEntity) { DirectiveOrder directiveOrder = baseMapper.selectById(directiveOrderEntity.getId()); - directiveOrder.setIzStart("Y"); - directiveOrder.setBeginTime(new Date()); + directiveOrder.setEmpStartTime(new Date()); + if (StringUtils.isEmpty(directiveOrder.getEmployeeIds())) { + //如果未进行转单、协助等操作,此时实际执行人字段都为空 需将实际执行人设置为派单时派发的员工 + directiveOrder.setEmployeeIds(directiveOrder.getEmployeeId()); + directiveOrder.setEmployeeNames(directiveOrder.getEmployeeNames()); + } baseMapper.updateById(directiveOrder); - QueryWrapper queryWrapper = new QueryWrapper<>(); - List list = directiveOrderInfoMapper.selectList(queryWrapper); +// QueryWrapper queryWrapper = new QueryWrapper<>(); +// List list = directiveOrderInfoMapper.selectList(queryWrapper); Map map = new HashMap<>(); map.put("success", true); map.put("message", "操作成功"); map.put("directiveOrder", directiveOrder); - map.put("directiveOrderInfo", list); +// map.put("directiveOrderInfo", list); return map; } @@ -268,11 +196,11 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl uw = new UpdateWrapper<>(); - uw.eq("main_id", directiveOrderEntity.getId()); - directiveOrderInfoService.update(directiveOrderInfo, uw); +// DirectiveOrderInfo directiveOrderInfo = new DirectiveOrderInfo(); +// directiveOrderInfo.setManuallyMp4Path(directiveOrderEntity.getManuallyMp4Path()); +// UpdateWrapper uw = new UpdateWrapper<>(); +// uw.eq("main_id", directiveOrderEntity.getId()); +// directiveOrderInfoService.update(directiveOrderInfo, uw); Map map = new HashMap<>(); map.put("success", true); @@ -289,11 +217,11 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl uw = new UpdateWrapper<>(); - uw.eq("main_id", directiveOrderEntity.getId()); - directiveOrderInfoService.update(directiveOrderInfo, uw); +// DirectiveOrderInfo directiveOrderInfo = new DirectiveOrderInfo(); +// directiveOrderInfo.setManuallyPicPath(directiveOrderEntity.getManuallyPicPath()); +// UpdateWrapper uw = new UpdateWrapper<>(); +// uw.eq("main_id", directiveOrderEntity.getId()); +// directiveOrderInfoService.update(directiveOrderInfo, uw); Map map = new HashMap<>(); map.put("success", true); @@ -317,31 +245,21 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl subUW = new UpdateWrapper<>(); - subUW.eq("main_id", dto.getMainId()); - directiveOrderInfoMapper.update(sub, subUW); //日志 LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();