pad指令轮播查询、开始结束服务 转单、协助执行 查询护理单元下即时指令等接口
This commit is contained in:
parent
21c84a4d16
commit
825c79963c
|
|
@ -26,15 +26,11 @@ public class ServiceOrderApi {
|
|||
|
||||
@ApiOperation(value = "服务指令工单-查询工单列表", notes = "服务指令工单-查询工单列表")
|
||||
@GetMapping(value = "/queryOrderList")
|
||||
public Result<IPage<DirectiveOrderEntity>> queryOrderList(DirectiveOrderEntity directiveOrderEntity,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
if(StringUtils.isBlank(directiveOrderEntity.getNuId())){
|
||||
public Result<List<DirectiveOrderEntity>> queryOrderList(DirectiveOrderEntity directiveOrderEntity, HttpServletRequest req) {
|
||||
if (StringUtils.isBlank(directiveOrderEntity.getNuId())) {
|
||||
return Result.error("参数错误,请选择正确的护理单元");
|
||||
}
|
||||
IPage<DirectiveOrderEntity> pageList = directiveOrderApi.queryOrderList(pageNo, pageSize, directiveOrderEntity,req);
|
||||
return Result.OK(pageList);
|
||||
return Result.ok(directiveOrderApi.queryOrderList(directiveOrderEntity, req));
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -48,20 +44,20 @@ public class ServiceOrderApi {
|
|||
@ApiOperation(value = "服务指令工单-查询工单详细信息", notes = "服务指令工单-查询工单详细信息")
|
||||
@GetMapping(value = "/queryOrderInfoList")
|
||||
public Result<List<DirectiveOrderEntity>> queryOrderInfoList(DirectiveOrderEntity directiveOrderInfoEntity, HttpServletRequest req) {
|
||||
List<DirectiveOrderEntity> pageList = directiveOrderApi.queryOrderInfoList(directiveOrderInfoEntity,req);
|
||||
List<DirectiveOrderEntity> pageList = directiveOrderApi.queryOrderInfoList(directiveOrderInfoEntity, req);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
@ApiOperation(value="服务指令工单-开始服务", notes="服务指令工单-开始服务")
|
||||
@AutoLog(value = "服务指令工单-开始服务",clientType="app", operateType = 2)
|
||||
@ApiOperation(value = "服务指令工单-开始服务", notes = "服务指令工单-开始服务")
|
||||
@AutoLog(value = "服务指令工单-开始服务", clientType = "app", operateType = 2)
|
||||
@PostMapping(value = "/startOrder")
|
||||
public Result<String> startOrder(@RequestBody DirectiveOrderEntity directiveOrderEntity) {
|
||||
Map<String, Object> result = directiveOrderApi.startOrder(directiveOrderEntity);
|
||||
return Result.OK("操作成功!");
|
||||
}
|
||||
|
||||
@ApiOperation(value="服务指令工单-结束服务", notes="服务指令工单-结束服务")
|
||||
@AutoLog(value = "服务指令工单-结束服务",clientType="app", operateType = 2)
|
||||
@ApiOperation(value = "服务指令工单-结束服务", notes = "服务指令工单-结束服务")
|
||||
@AutoLog(value = "服务指令工单-结束服务", clientType = "app", operateType = 2)
|
||||
@PostMapping(value = "/endOrder")
|
||||
public Result<String> endOrder(@RequestBody DirectiveOrderEntity directiveOrderEntity) {
|
||||
Map<String, Object> result = directiveOrderApi.endOrder(directiveOrderEntity);
|
||||
|
|
@ -69,16 +65,16 @@ public class ServiceOrderApi {
|
|||
}
|
||||
|
||||
|
||||
@ApiOperation(value="服务指令工单-上传mp4", notes="服务指令工单-上传mp4")
|
||||
@AutoLog(value = "服务指令工单-上传mp4",clientType="app", operateType = 2)
|
||||
@ApiOperation(value = "服务指令工单-上传mp4", notes = "服务指令工单-上传mp4")
|
||||
@AutoLog(value = "服务指令工单-上传mp4", clientType = "app", operateType = 2)
|
||||
@PostMapping(value = "/editSubMp4")
|
||||
public Result<String> editSubMp4(@RequestBody DirectiveOrderEntity directiveOrderEntity) {
|
||||
Map<String, Object> result = directiveOrderApi.editSubMp4(directiveOrderEntity);
|
||||
return Result.OK("操作成功!");
|
||||
}
|
||||
|
||||
@ApiOperation(value="服务指令工单-上传照片", notes="服务指令工单-上传照片")
|
||||
@AutoLog(value = "服务指令工单-上传照片",clientType="app", operateType = 2)
|
||||
@ApiOperation(value = "服务指令工单-上传照片", notes = "服务指令工单-上传照片")
|
||||
@AutoLog(value = "服务指令工单-上传照片", clientType = "app", operateType = 2)
|
||||
@PostMapping(value = "/editSubPicPath")
|
||||
public Result<String> editSubPicPath(@RequestBody DirectiveOrderEntity directiveOrderEntity) {
|
||||
Map<String, Object> result = directiveOrderApi.editSubPicPath(directiveOrderEntity);
|
||||
|
|
@ -88,6 +84,7 @@ public class ServiceOrderApi {
|
|||
|
||||
/**
|
||||
* todo 废弃?
|
||||
*
|
||||
* @param directiveOrderEntity
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
|
|
@ -97,43 +94,40 @@ public class ServiceOrderApi {
|
|||
@ApiOperation(value = "服务指令工单-查询工单列表", notes = "服务指令工单-查询工单列表")
|
||||
@GetMapping(value = "/queryWorkOrderList")
|
||||
public Result<IPage<DirectiveOrderEntity>> queryWorkOrderList(DirectiveOrderEntity directiveOrderEntity,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
if(StringUtils.isBlank(directiveOrderEntity.getNuId())){
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
if (StringUtils.isBlank(directiveOrderEntity.getNuId())) {
|
||||
return Result.error("参数错误,请选择正确的护理单元");
|
||||
}
|
||||
IPage<DirectiveOrderEntity> pageList = directiveOrderApi.queryWorkOrderList(pageNo, pageSize, directiveOrderEntity,req);
|
||||
IPage<DirectiveOrderEntity> pageList = directiveOrderApi.queryWorkOrderList(pageNo, pageSize, directiveOrderEntity, req);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
@ApiOperation(value="服务指令工单-生成即时指令工单", notes="服务指令工单-生成即时指令工单")
|
||||
@AutoLog(value = "服务指令工单-生成即时指令工单",clientType="app", operateType = 2)
|
||||
@ApiOperation(value = "服务指令工单-生成即时指令工单", notes = "服务指令工单-生成即时指令工单")
|
||||
@AutoLog(value = "服务指令工单-生成即时指令工单", clientType = "app", operateType = 2)
|
||||
@PostMapping(value = "/generateInstant")
|
||||
public Result<String> generateInstant(@RequestBody DirectiveOrderEntity directiveOrderEntity) {
|
||||
Map<String, Object> result = directiveOrderApi.generateOrdersInstant(directiveOrderEntity);
|
||||
return Result.OK("操作成功!");
|
||||
return directiveOrderApi.generateOrdersInstant(directiveOrderEntity);
|
||||
}
|
||||
|
||||
@ApiOperation(value="服务指令工单-转单", notes="服务指令工单-转单")
|
||||
@AutoLog(value = "服务指令工单-转单",clientType="app", operateType = 3)
|
||||
@ApiOperation(value = "服务指令工单-转单", notes = "服务指令工单-转单")
|
||||
@AutoLog(value = "服务指令工单-转单", clientType = "app", operateType = 3)
|
||||
@PostMapping(value = "/transferOrder")
|
||||
public Result<String> transferOrder(@RequestBody DirectiveOrderInfoEntity dto) {
|
||||
if(StringUtils.isBlank(dto.getMainId()) ){
|
||||
if (StringUtils.isBlank(dto.getId())) {
|
||||
return Result.error("缺少参数");
|
||||
}
|
||||
directiveOrderApi.transferOrder(dto);
|
||||
return Result.OK("操作成功!");
|
||||
return directiveOrderApi.transferOrder(dto);
|
||||
}
|
||||
|
||||
@ApiOperation(value="服务指令工单-协助执行", notes="服务指令工单-协助执行")
|
||||
@AutoLog(value = "服务指令工单-协助执行",clientType="app", operateType = 3)
|
||||
@ApiOperation(value = "服务指令工单-协助执行", notes = "服务指令工单-协助执行")
|
||||
@AutoLog(value = "服务指令工单-协助执行", clientType = "app", operateType = 3)
|
||||
@PostMapping(value = "/assistOrder")
|
||||
public Result<String> assistOrder(@RequestBody DirectiveOrderInfoEntity dto) {
|
||||
if(StringUtils.isBlank(dto.getMainId()) ){
|
||||
if (StringUtils.isBlank(dto.getId())) {
|
||||
return Result.error("缺少参数");
|
||||
}
|
||||
directiveOrderApi.assistOrder(dto);
|
||||
return Result.OK("操作成功!");
|
||||
return directiveOrderApi.assistOrder(dto);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -466,20 +466,10 @@ public class CareDirectiveApi {
|
|||
@GetMapping(value = "/getImmediatelyOrderByNuID")
|
||||
public Result<Map<String, Object>> getImmediatelyOrderByNuID(CareDirectiveEntity dto) {
|
||||
Map<String, Object> result = Maps.newHashMap();
|
||||
//护理类即时指令
|
||||
List<DirectiveOrderEntity> hlList = careDirectivePlanApi.queryImmediatelyOrderList(dto);
|
||||
//TODO 医疗类即时指令 目前没有表 后续待开发
|
||||
List<DirectiveOrderEntity> ylList = Lists.newArrayList();
|
||||
//后勤类即时指令
|
||||
List<DirectiveOrderEntity> hqList = invoicingDirectivePlanApi.queryImmediatelyOrderList(dto);
|
||||
//仓库类即时指令
|
||||
List<DirectiveOrderEntity> ckList = logisticsDirectivePlanApi.queryImmediatelyOrderList(dto);
|
||||
|
||||
result.put("total", hlList.size() + ylList.size() + hqList.size() + ckList.size());
|
||||
result.put("hlList", hlList);
|
||||
result.put("ylList", ylList);
|
||||
result.put("hqList", hqList);
|
||||
result.put("ckList", ckList);
|
||||
result.put("total", hlList.size());
|
||||
result.put("jsList", hlList);
|
||||
return Result.ok(result);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.nu.modules.order.api;
|
|||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.nu.entity.*;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
|
@ -22,6 +23,7 @@ public interface IDirectiveOrderApi {
|
|||
|
||||
/**
|
||||
* 根据工单id查询工单信息+对应服务指令信息
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
|
|
@ -29,7 +31,7 @@ public interface IDirectiveOrderApi {
|
|||
|
||||
List<DirectiveOrderInfoEntity> queryList(DirectiveOrderInfoEntity directiveOrderInfoEntity);
|
||||
|
||||
IPage<DirectiveOrderEntity> queryOrderList(Integer pageNo, Integer pageSize, DirectiveOrderEntity directiveOrderEntity, HttpServletRequest req);
|
||||
List<DirectiveOrderEntity> queryOrderList(DirectiveOrderEntity directiveOrderEntity, HttpServletRequest req);
|
||||
|
||||
List<DirectiveOrderEntity> queryOrderInfoList(DirectiveOrderEntity directiveOrderInfoEntity, HttpServletRequest req);
|
||||
|
||||
|
|
@ -43,17 +45,17 @@ public interface IDirectiveOrderApi {
|
|||
|
||||
IPage<DirectiveOrderEntity> queryWorkOrderList(Integer pageNo, Integer pageSize, DirectiveOrderEntity directiveOrderEntity, HttpServletRequest req);
|
||||
|
||||
int queryTodayFinishedTotal(String type,String nuId, String elderId);
|
||||
int queryTodayFinishedTotal(String type, String nuId, String elderId);
|
||||
|
||||
List<DirectiveOrderEntity> queryHistory(CareDirectiveEntity dto);
|
||||
|
||||
List<DirectiveOrderEntity> queryCurrent(CareDirectiveEntity dto);
|
||||
|
||||
Map<String, Object> generateOrdersInstant(DirectiveOrderEntity directiveOrderEntity);
|
||||
Result<String> generateOrdersInstant(DirectiveOrderEntity directiveOrderEntity);
|
||||
|
||||
void transferOrder(DirectiveOrderInfoEntity dto);
|
||||
Result<String> transferOrder(DirectiveOrderInfoEntity dto);
|
||||
|
||||
void assistOrder(DirectiveOrderInfoEntity dto);
|
||||
Result<String> assistOrder(DirectiveOrderInfoEntity dto);
|
||||
|
||||
Map<String, Object> addBizLog(DirectiveOrderBizLogEntity directiveOrderBizLogEntity);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,6 +48,5 @@ public interface DirectiveOrderMapper extends BaseMapper<DirectiveOrder> {
|
|||
|
||||
DirectiveOrder getEmployeeById(@Param("employeeId") String employeeId);
|
||||
|
||||
IPage<DirectiveOrderEntity> queryOrderList(Page<DirectiveOrder> page,
|
||||
@Param("entity") DirectiveOrderEntity entity);
|
||||
List<DirectiveOrderEntity> queryOrderList(@Param("entity") DirectiveOrderEntity entity);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -559,25 +559,25 @@
|
|||
LEFT JOIN nu_config_service_directive dire on t.directive_id = dire.id
|
||||
WHERE t.nu_id = #{entity.nuId} AND t.employee_id = #{entity.employeeId}
|
||||
<choose>
|
||||
<when test="entity.workType == '1'">
|
||||
<when test='entity.workType == "1"'>
|
||||
AND t.serv_end_time >= NOW()
|
||||
AND t.emp_start_time IS NULL
|
||||
</when>
|
||||
<when test="entity.workType == '2'">
|
||||
<when test='entity.workType == "2"'>
|
||||
AND DATE(t.serv_start_time) = CURDATE()
|
||||
AND t.serv_end_time >= NOW()
|
||||
AND t.emp_start_time IS NOT NULL
|
||||
</when>
|
||||
<when test="entity.workType == '3'">
|
||||
<when test='entity.workType == "3"'>
|
||||
AND DATE(t.serv_start_time) = CURDATE()
|
||||
AND t.emp_end_time IS NOT NULL
|
||||
</when>
|
||||
<when test="entity.workType == '4'">
|
||||
<when test='entity.workType == "4"'>
|
||||
AND DATE(t.serv_start_time) = CURDATE()
|
||||
AND t.serv_end_time <![CDATA[ < ]]> NOW()
|
||||
AND t.emp_start_time IS NULL
|
||||
</when>
|
||||
<when test="entity.workType == '5'">
|
||||
<when test='entity.workType == "5"'>
|
||||
AND (
|
||||
(t.serv_start_time <![CDATA[ <= ]]> NOW()
|
||||
AND t.serv_end_time >= NOW()
|
||||
|
|
@ -591,5 +591,70 @@
|
|||
CASE WHEN CAST(t.service_duration AS UNSIGNED) = 0 THEN 999999 ELSE CAST(t.service_duration AS UNSIGNED) END
|
||||
</select>
|
||||
|
||||
|
||||
<select id="queryOrderNeedDirectiveInfo" resultMap="DirectiveOrderMap">
|
||||
SELECT p.id,
|
||||
p.nu_id,
|
||||
base.nu_name,
|
||||
elder.id as elderId,
|
||||
elder.name as elderName,
|
||||
p.instruction_tag_id,
|
||||
inst.instruction_name,
|
||||
directive.category_id,
|
||||
category.category_name,
|
||||
directive.type_id,
|
||||
stype.type_name,
|
||||
p.directive_id,
|
||||
directive.directive_name,
|
||||
p.cycle_type_id,
|
||||
p.cycle_value,
|
||||
p.opt_time,
|
||||
p.opt_count,
|
||||
p.iz_multi,
|
||||
directive.immediate_file,
|
||||
directive.immediate_file_focus,
|
||||
directive.preview_file,
|
||||
directive.preview_file_small,
|
||||
directive.mp3_file,
|
||||
directive.mp4_file,
|
||||
directive.service_duration,
|
||||
directive.service_content,
|
||||
p.positioning,
|
||||
p.positioning_long,
|
||||
p.tag_name,
|
||||
CONCAT(
|
||||
DATE_FORMAT(now(), '%Y-%m-%d'), ' ',
|
||||
p.start_time, ':00'
|
||||
) as start_time,
|
||||
CASE
|
||||
WHEN directive.service_duration IS NOT NULL
|
||||
THEN DATE_FORMAT(
|
||||
DATE_ADD(
|
||||
STR_TO_DATE(CONCAT(DATE_FORMAT(now(), '%Y-%m-%d'), ' ', p.start_time, ':00'),
|
||||
'%Y-%m-%d %H:%i:%s'),
|
||||
INTERVAL directive.service_duration MINUTE
|
||||
),
|
||||
'%Y-%m-%d %H:%i:%s'
|
||||
)
|
||||
ELSE NULL
|
||||
END as end_time,
|
||||
p.create_by,
|
||||
p.create_time,
|
||||
p.update_by,
|
||||
p.update_time,
|
||||
p.sys_org_code
|
||||
FROM (
|
||||
SELECT base.*, elder.*
|
||||
FROM nu_base_info base
|
||||
LEFT JOIN nu_biz_elder_info elder ON base.elder_id = elder.id
|
||||
) base_elder
|
||||
CROSS JOIN (
|
||||
SELECT inst.*, category.*, stype.*
|
||||
FROM nu_config_service_instruction_tag inst
|
||||
LEFT JOIN nu_config_service_category category ON inst.category_id = category.id
|
||||
LEFT JOIN nu_config_service_type stype ON inst.type_id = stype.id
|
||||
) config
|
||||
WHERE p.nu_id = #{dto.nuId}
|
||||
AND p.instruction_tag_id = #{dto.instructionTagId}
|
||||
AND directive.id = #{dto.directiveId}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ 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.api.vo.Result;
|
||||
import org.jeecg.common.system.vo.LoginUser;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -76,20 +77,15 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl<DirectiveOrderMapp
|
|||
* @return
|
||||
*/
|
||||
@Override
|
||||
public IPage<DirectiveOrderEntity> queryOrderList(Integer pageNo, Integer pageSize, DirectiveOrderEntity directiveOrderEntity, HttpServletRequest req) {
|
||||
Page<DirectiveOrder> page = new Page<>(pageNo, pageSize);
|
||||
|
||||
public List<DirectiveOrderEntity> queryOrderList(DirectiveOrderEntity directiveOrderEntity, HttpServletRequest req) {
|
||||
// 查询原始数据
|
||||
IPage<DirectiveOrderEntity> resultPage = baseMapper.queryOrderList(page, directiveOrderEntity);
|
||||
List<DirectiveOrderEntity> records = resultPage.getRecords();
|
||||
List<DirectiveOrderEntity> list = baseMapper.queryOrderList(directiveOrderEntity);
|
||||
|
||||
// 处理数据,将指令集合并
|
||||
List<DirectiveOrderEntity> processedRecords = mergeDirectiveSet(records);
|
||||
List<DirectiveOrderEntity> result = mergeDirectiveSet(list);
|
||||
|
||||
// 重新设置处理后的数据
|
||||
resultPage.setRecords(processedRecords);
|
||||
|
||||
return resultPage;
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -181,23 +177,35 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl<DirectiveOrderMapp
|
|||
|
||||
@Override
|
||||
public Map<String, Object> startOrder(DirectiveOrderEntity directiveOrderEntity) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("success", true);
|
||||
map.put("message", "操作成功");
|
||||
//服务指令集统一开始
|
||||
|
||||
DirectiveOrder directiveOrder = baseMapper.selectById(directiveOrderEntity.getId());
|
||||
//如果已到服务结束时间 不允许点击开始
|
||||
if (directiveOrder.getServEndTime().before(new Date())) {
|
||||
map.put("success", false);
|
||||
map.put("message", "当前服务已超时,不可执行");
|
||||
return map;
|
||||
}
|
||||
|
||||
UpdateWrapper<DirectiveOrder> uw = new UpdateWrapper<>();
|
||||
uw.eq("serv_start_time", directiveOrder.getServStartTime());
|
||||
|
||||
directiveOrder.setEmpStartTime(new Date());
|
||||
if (StringUtils.isEmpty(directiveOrder.getEmployeeIds())) {
|
||||
//如果未进行转单、协助等操作,此时实际执行人字段都为空 需将实际执行人设置为派单时派发的员工
|
||||
directiveOrder.setEmployeeIds(directiveOrder.getEmployeeId());
|
||||
directiveOrder.setEmployeeNames(directiveOrder.getEmployeeNames());
|
||||
}
|
||||
baseMapper.updateById(directiveOrder);
|
||||
baseMapper.update(directiveOrder, uw);
|
||||
|
||||
// QueryWrapper<DirectiveOrderInfo> queryWrapper = new QueryWrapper<>();
|
||||
// List<DirectiveOrderInfo> list = directiveOrderInfoMapper.selectList(queryWrapper);
|
||||
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("success", true);
|
||||
map.put("message", "操作成功");
|
||||
map.put("directiveOrder", directiveOrder);
|
||||
// map.put("directiveOrder", directiveOrder);
|
||||
// map.put("directiveOrderInfo", list);
|
||||
return map;
|
||||
}
|
||||
|
|
@ -205,20 +213,16 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl<DirectiveOrderMapp
|
|||
@Override
|
||||
public Map<String, Object> endOrder(DirectiveOrderEntity directiveOrderEntity) {
|
||||
DirectiveOrder directiveOrder = baseMapper.selectById(directiveOrderEntity.getId());
|
||||
directiveOrder.setIzFinish("Y");
|
||||
directiveOrder.setFinishTime(new Date());
|
||||
DirectiveOrder directivePrice = baseMapper.getDirectivePrice(directiveOrder.getDirectiveId());//获取服务指令价格
|
||||
directiveOrder.setTollPrice(directivePrice.getTollPrice());
|
||||
directiveOrder.setComPrice(directivePrice.getComPrice());
|
||||
directiveOrder.setEmpEndTime(new Date());
|
||||
baseMapper.updateById(directiveOrder);
|
||||
|
||||
List<DirectiveOrderInfo> list = directiveOrderInfoMapper.selectList(new QueryWrapper<DirectiveOrderInfo>().eq("main_id", directiveOrder.getId()));
|
||||
// List<DirectiveOrderInfo> list = directiveOrderInfoMapper.selectList(new QueryWrapper<DirectiveOrderInfo>().eq("main_id", directiveOrder.getId()));
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("success", true);
|
||||
map.put("message", "操作成功");
|
||||
map.put("directiveOrder", directiveOrder);
|
||||
map.put("directiveOrderInfo", list);
|
||||
// map.put("directiveOrder", directiveOrder);
|
||||
// map.put("directiveOrderInfo", list);
|
||||
return map;
|
||||
}
|
||||
|
||||
|
|
@ -317,6 +321,89 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl<DirectiveOrderMapp
|
|||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<String> transferOrder(DirectiveOrderInfoEntity dto) {
|
||||
//服务指令集转单 一起转
|
||||
|
||||
DirectiveOrder beforeData = baseMapper.selectById(dto.getId());
|
||||
|
||||
//如果已到服务结束时间 不允许转单
|
||||
if (beforeData.getServStartTime().before(new Date())) {
|
||||
return Result.error("当前服务已开始,不可转单");
|
||||
}
|
||||
|
||||
UpdateWrapper<DirectiveOrder> uw = new UpdateWrapper<>();
|
||||
uw.eq("serv_start_time", beforeData.getServStartTime());
|
||||
|
||||
String optType = "3";//转单
|
||||
DirectiveOrder upData = new DirectiveOrder();
|
||||
//执行类型
|
||||
upData.setOptType(optType);
|
||||
//实际执行人
|
||||
upData.setEmployeeIds(dto.getEmployeeId());
|
||||
upData.setEmployeeNames(dto.getEmployeeName());
|
||||
|
||||
//修改主表
|
||||
baseMapper.update(upData, uw);
|
||||
|
||||
//日志
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
DirectiveOrderLogEntity log = new DirectiveOrderLogEntity();
|
||||
log.setOrderNo(dto.getId());//服务指令工单id
|
||||
log.setOptType("转单");//操作描述
|
||||
log.setOptBy(sysUser.getEmployeesId());//操作人employeeId
|
||||
log.setOptByName(sysUser.getRealname());//操作人名
|
||||
log.setBeforeChange(StringUtils.isBlank(beforeData.getEmployeeIds()) ? beforeData.getEmployeeId() : beforeData.getEmployeeIds());//操作前人
|
||||
log.setBeforeChangeName(StringUtils.isBlank(beforeData.getEmployeeNames()) ? beforeData.getEmployeeName() : beforeData.getEmployeeNames());//操作前人名
|
||||
log.setAfterChange(dto.getEmployeeId());//操作后人
|
||||
log.setAfterChangeName(dto.getEmployeeName());//操作后人名
|
||||
directiveOrderLogApi.addLog(log);
|
||||
|
||||
return Result.ok("操作成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<String> assistOrder(DirectiveOrderInfoEntity dto) {
|
||||
//服务指令集协助执行 统一协助
|
||||
|
||||
DirectiveOrder beforeData = baseMapper.selectById(dto.getId());
|
||||
|
||||
//如果已到服务结束时间 不允许转单
|
||||
if (beforeData.getServStartTime().before(new Date())) {
|
||||
return Result.error("当前服务已开始,不可协助执行");
|
||||
}
|
||||
|
||||
UpdateWrapper<DirectiveOrder> uw = new UpdateWrapper<>();
|
||||
uw.eq("serv_start_time", beforeData.getServStartTime());
|
||||
|
||||
String optType = "2";//协助执行
|
||||
DirectiveOrder upData = new DirectiveOrder();
|
||||
//执行类型
|
||||
upData.setOptType(optType);
|
||||
//实际执行人
|
||||
upData.setEmployeeIds(dto.getEmployeeId());
|
||||
upData.setEmployeeNames(dto.getEmployeeName());
|
||||
|
||||
//修改主表
|
||||
baseMapper.update(upData, uw);
|
||||
|
||||
//日志
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
DirectiveOrderLogEntity log = new DirectiveOrderLogEntity();
|
||||
log.setOrderNo(dto.getId());//服务指令工单id
|
||||
log.setOptType("协助执行");//操作描述
|
||||
log.setOptBy(sysUser.getEmployeesId());//操作人employeeId
|
||||
log.setOptByName(sysUser.getRealname());//操作人名
|
||||
log.setBeforeChange(StringUtils.isBlank(beforeData.getEmployeeIds()) ? beforeData.getEmployeeId() : beforeData.getEmployeeIds());//操作前人
|
||||
log.setBeforeChangeName(StringUtils.isBlank(beforeData.getEmployeeNames()) ? beforeData.getEmployeeName() : beforeData.getEmployeeNames());//操作前人名
|
||||
log.setAfterChange(dto.getEmployeeId());//操作后人
|
||||
log.setAfterChangeName(dto.getEmployeeName());//操作后人名
|
||||
directiveOrderLogApi.addLog(log);
|
||||
|
||||
return Result.ok("操作成功");
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成即时服务指令工单
|
||||
*
|
||||
|
|
@ -324,82 +411,16 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl<DirectiveOrderMapp
|
|||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Map<String, Object> generateOrdersInstant(DirectiveOrderEntity directiveOrderEntity) {
|
||||
DirectiveOrder directiveOrder = new DirectiveOrder();
|
||||
BeanUtils.copyProperties(directiveOrderEntity, directiveOrder);
|
||||
return directiveOrderService.generateOrdersInstant(directiveOrder);
|
||||
}
|
||||
public Result<String> generateOrdersInstant(DirectiveOrderEntity directiveOrderEntity) {
|
||||
String nuId = directiveOrderEntity.getNuId();
|
||||
String instructionId = directiveOrderEntity.getInstructionId();
|
||||
String directiveId = directiveOrderEntity.getDirectiveId();
|
||||
|
||||
@Override
|
||||
public void transferOrder(DirectiveOrderInfoEntity dto) {
|
||||
DirectiveOrder main = new DirectiveOrder();
|
||||
|
||||
String optType = "3";//转单
|
||||
|
||||
//执行类型
|
||||
main.setOptType(optType);
|
||||
//主要执行人
|
||||
main.setEmployeeIds(dto.getEmployeeId());
|
||||
main.setEmployeeNames(dto.getEmployeeName());
|
||||
//实际执行人
|
||||
main.setOptIds(dto.getEmployeeId());
|
||||
main.setOptNames(dto.getEmployeeName());
|
||||
|
||||
//修改主表
|
||||
main.setId(dto.getMainId());
|
||||
directiveOrderService.updateById(main);
|
||||
|
||||
//日志
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
DirectiveOrderLogEntity log = new DirectiveOrderLogEntity();
|
||||
log.setOrderNo(dto.getMainId());//服务指令工单id
|
||||
log.setOptType("转单");//操作描述
|
||||
log.setOptBy(sysUser.getEmployeesId());//操作人employeeId
|
||||
log.setOptByName(sysUser.getRealname());//操作人名
|
||||
log.setBeforeChange(dto.getBeforeBy());//操作前人
|
||||
log.setBeforeChangeName(dto.getBeforeByName());//操作前人名
|
||||
log.setAfterChange(dto.getEmployeeId());//操作后人
|
||||
log.setAfterChangeName(dto.getEmployeeName());//操作后人名
|
||||
directiveOrderLogApi.addLog(log);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void assistOrder(DirectiveOrderInfoEntity dto) {
|
||||
DirectiveOrder main = new DirectiveOrder();
|
||||
DirectiveOrderInfo sub = new DirectiveOrderInfo();
|
||||
|
||||
String optType = "2";//协助
|
||||
|
||||
//执行类型
|
||||
main.setOptType(optType);
|
||||
sub.setOptType(optType);
|
||||
//实际执行人
|
||||
main.setOptIds(dto.getOptIds());
|
||||
main.setOptNames(dto.getOptNames());
|
||||
sub.setOptIds(dto.getOptIds());
|
||||
sub.setOptNames(dto.getOptNames());
|
||||
|
||||
//修改主表
|
||||
main.setId(dto.getMainId());
|
||||
directiveOrderService.updateById(main);
|
||||
//修改子表
|
||||
UpdateWrapper<DirectiveOrderInfo> subUW = new UpdateWrapper<>();
|
||||
subUW.eq("main_id", dto.getMainId());
|
||||
directiveOrderInfoMapper.update(sub, subUW);
|
||||
|
||||
//日志
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
DirectiveOrderLogEntity log = new DirectiveOrderLogEntity();
|
||||
log.setOrderNo(dto.getMainId());//服务指令工单id
|
||||
log.setOptType("协助执行");//操作描述
|
||||
log.setOptBy(sysUser.getEmployeesId());//操作人employeeId
|
||||
log.setOptByName(sysUser.getRealname());//操作人名
|
||||
log.setBeforeChange(dto.getBeforeBy());//操作前人
|
||||
log.setBeforeChangeName(dto.getBeforeByName());//操作前人名
|
||||
log.setAfterChange(dto.getOptIds());//操作后人
|
||||
log.setAfterChangeName(dto.getOptNames());//操作后人名
|
||||
directiveOrderLogApi.addLog(log);
|
||||
return Result.OK("派发成功,执行员工:");
|
||||
// DirectiveOrder directiveOrder = new DirectiveOrder();
|
||||
// BeanUtils.copyProperties(directiveOrderEntity, directiveOrder);
|
||||
// return directiveOrderService.generateOrdersInstant(directiveOrder);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -162,86 +162,99 @@
|
|||
)
|
||||
</select>
|
||||
|
||||
<select id="list" resultType="com.nu.modules.biz.plan.care.entity.CareDirectivePlan" flushCache="true"
|
||||
useCache="false">
|
||||
SELECT
|
||||
plan.id,
|
||||
plan.nu_id,
|
||||
<select id="list" resultMap="DirectiveOrderMap">
|
||||
SELECT p.id,
|
||||
p.nu_id,
|
||||
base.nu_name,
|
||||
CASE WHEN plan.iz_package = 'N' THEN directive.category_id ELSE NULL END as category_id,
|
||||
CASE WHEN plan.iz_package = 'N' THEN category.category_name ELSE NULL END as category_name,
|
||||
CASE WHEN plan.iz_package = 'N' THEN directive.type_id ELSE NULL END as type_id,
|
||||
CASE WHEN plan.iz_package = 'N' THEN stype.type_name ELSE NULL END as type_name,
|
||||
plan.directive_id,
|
||||
CASE
|
||||
WHEN plan.iz_package = 'N' THEN directive.directive_name
|
||||
WHEN plan.iz_package = 'Y' THEN package.package_name
|
||||
END as directive_name,
|
||||
plan.cycle_type_id,
|
||||
plan.cycle_value,
|
||||
CASE WHEN plan.iz_package = 'N' THEN directive.immediate_file ELSE NULL END as immediate_file,
|
||||
CASE WHEN plan.iz_package = 'N' THEN directive.immediate_file_focus ELSE NULL END as immediate_file_focus,
|
||||
CASE WHEN plan.iz_package = 'N' THEN directive.preview_file ELSE NULL END as preview_file,
|
||||
CASE WHEN plan.iz_package = 'N' THEN directive.preview_file_small ELSE NULL END as preview_file_small,
|
||||
CASE WHEN plan.iz_package = 'N' THEN directive.mp3_file ELSE NULL END as mp3_file,
|
||||
CASE WHEN plan.iz_package = 'N' THEN directive.mp4_file ELSE NULL END as mp4_file,
|
||||
CASE
|
||||
WHEN plan.iz_package = 'N' THEN directive.service_duration
|
||||
WHEN plan.iz_package = 'Y' THEN CAST(package.total_duration AS CHAR)
|
||||
END as service_duration,
|
||||
CASE
|
||||
WHEN plan.iz_package = 'N' THEN directive.service_content
|
||||
WHEN plan.iz_package = 'Y' THEN package.description
|
||||
END as service_content,
|
||||
plan.positioning,
|
||||
plan.positioning_long,
|
||||
plan.tag_name,
|
||||
plan.start_time,
|
||||
CASE
|
||||
WHEN plan.iz_package = 'N' AND directive.service_duration IS NOT NULL AND directive.service_duration = 0
|
||||
THEN '23:59'
|
||||
WHEN plan.iz_package = 'Y' AND package.total_duration IS NOT NULL AND package.total_duration = 0
|
||||
THEN '23:59'
|
||||
WHEN plan.iz_package = 'N' AND directive.service_duration IS NOT NULL AND directive.service_duration > 0
|
||||
THEN DATE_FORMAT(ADDTIME(STR_TO_DATE(plan.start_time, '%H:%i'),SEC_TO_TIME(directive.service_duration * 60)),
|
||||
'%H:%i')
|
||||
WHEN plan.iz_package = 'Y' AND package.total_duration IS NOT NULL AND package.total_duration > 0
|
||||
THEN DATE_FORMAT(ADDTIME(STR_TO_DATE(plan.start_time, '%H:%i'),SEC_TO_TIME(package.total_duration * 60)),
|
||||
'%H:%i')
|
||||
ELSE NULL
|
||||
END as end_time,
|
||||
plan.create_by,
|
||||
plan.create_time,
|
||||
plan.update_by,
|
||||
plan.update_time,
|
||||
plan.sys_org_code,
|
||||
plan.iz_package
|
||||
FROM nu_biz_directive_plan plan
|
||||
LEFT JOIN nu_base_info base ON plan.nu_id = base.nu_id
|
||||
LEFT JOIN nu_config_service_directive directive ON plan.iz_package = 'N' AND plan.directive_id = directive.id
|
||||
LEFT JOIN nu_config_directive_package_main package ON plan.iz_package = 'Y' AND plan.directive_id = package.id
|
||||
p.instruction_tag_id,
|
||||
inst.instruction_name,
|
||||
directive.category_id,
|
||||
category.category_name,
|
||||
directive.type_id,
|
||||
stype.type_name,
|
||||
p.directive_id,
|
||||
directive.directive_name,
|
||||
p.cycle_type_id,
|
||||
p.cycle_value,
|
||||
p.opt_time,
|
||||
p.opt_count,
|
||||
p.iz_multi,
|
||||
directive.immediate_file,
|
||||
directive.immediate_file_focus,
|
||||
directive.preview_file,
|
||||
directive.preview_file_small,
|
||||
directive.mp3_file,
|
||||
directive.mp4_file,
|
||||
directive.service_duration,
|
||||
directive.service_content,
|
||||
p.positioning,
|
||||
p.positioning_long,
|
||||
p.tag_name
|
||||
<if test="dto != null and dto.queryDate != null and dto.queryDate != ''">
|
||||
,
|
||||
CONCAT(
|
||||
DATE_FORMAT(#{dto.queryDate}, '%Y-%m-%d'), ' ',
|
||||
p.start_time, ':00'
|
||||
) as start_time,
|
||||
CASE
|
||||
WHEN directive.service_duration IS NOT NULL
|
||||
THEN DATE_FORMAT(
|
||||
DATE_ADD(
|
||||
STR_TO_DATE(CONCAT(DATE_FORMAT(#{dto.queryDate}, '%Y-%m-%d'), ' ', p.start_time, ':00'),
|
||||
'%Y-%m-%d %H:%i:%s'),
|
||||
INTERVAL directive.service_duration MINUTE
|
||||
),
|
||||
'%Y-%m-%d %H:%i:%s'
|
||||
)
|
||||
ELSE NULL
|
||||
END as end_time
|
||||
</if>
|
||||
,
|
||||
p.create_by,
|
||||
p.create_time,
|
||||
p.update_by,
|
||||
p.update_time,
|
||||
p.sys_org_code
|
||||
FROM nu_biz_directive_plan p
|
||||
LEFT JOIN nu_base_info base ON p.nu_id = base.nu_id
|
||||
LEFT JOIN nu_config_service_directive directive ON p.directive_id = directive.id
|
||||
LEFT JOIN nu_config_service_instruction_tag inst ON directive.instruction_tag_id = inst.id
|
||||
LEFT JOIN nu_config_service_category category ON directive.category_id = category.id
|
||||
LEFT JOIN nu_config_service_type stype ON directive.type_id = stype.id
|
||||
WHERE 1=1
|
||||
WHERE 1 = 1
|
||||
<if test="dto != null and dto.nuId != null and dto.nuId != ''">
|
||||
AND plan.nu_id = #{dto.nuId}
|
||||
AND p.nu_id = #{dto.nuId}
|
||||
</if>
|
||||
<if test="dto != null and dto.instructionTagId != null and dto.instructionTagId != ''">
|
||||
AND plan.instruction_tag_id = #{dto.instructionTagId}
|
||||
AND p.instruction_tag_id = #{dto.instructionTagId}
|
||||
</if>
|
||||
<if test="dto != null and dto.queryType != null and dto.queryType != ''">
|
||||
<choose>
|
||||
<when test="dto.queryType == 'service'">
|
||||
AND plan.cycle_type_id != '2'
|
||||
AND p.cycle_type_id != '2'
|
||||
</when>
|
||||
<when test="dto.queryType == 'instant'">
|
||||
AND plan.cycle_type_id = '2'
|
||||
AND p.cycle_type_id = '2'
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
<if test="dto != null and dto.queryDate != null and dto.queryDate != ''">
|
||||
AND CONCAT(DATE_FORMAT(#{dto.queryDate}, '%Y-%m-%d'), ' ', p.start_time, ':00') >= #{dto.queryDate}
|
||||
</if>
|
||||
ORDER BY p.nu_id ASC, p.instruction_tag_id ASC
|
||||
<if test="dto != null and dto.queryType != null and dto.queryType != ''">
|
||||
<choose>
|
||||
<when test="dto.queryType == 'service'">
|
||||
, start_time ASC
|
||||
</when>
|
||||
<when test="dto.queryType == 'instant'">
|
||||
, directive.directive_name ASC
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
ORDER BY plan.create_time DESC
|
||||
</select>
|
||||
|
||||
|
||||
<select id="queryFuture" resultMap="DirectiveOrderMap">
|
||||
SELECT
|
||||
p.id,
|
||||
|
|
|
|||
Loading…
Reference in New Issue