Commit 1e8babd4 authored by zhangwanglin's avatar zhangwanglin

服务方案服务分配修改

parent db2c539d
...@@ -579,7 +579,23 @@ public class DisableServiceImpl implements DisableService { ...@@ -579,7 +579,23 @@ public class DisableServiceImpl implements DisableService {
@Override @Override
public Page<DisableInfoListVo> getDisableInfoList(Page<DisableInfoListVo> page, Long srvOrganId,String certiCode,String realName,String svrModelId) { public Page<DisableInfoListVo> getDisableInfoList(Page<DisableInfoListVo> page, Long srvOrganId,String certiCode,String realName,String svrModelId) {
return disableInfoMapper.getDisableInfoList(page, srvOrganId,certiCode,realName,svrModelId); Page<DisableInfoListVo> disableInfoList = disableInfoMapper.getDisableInfoList(page, srvOrganId, certiCode, realName, svrModelId);
List<DisableInfoListVo> records = disableInfoList.getRecords();
for (DisableInfoListVo record : records) {
if(record.getExitReasonId()!=null && 4 == record.getExitReasonId()){
Long disabInfoId = record.getDisabInfoId();
Long srvOrganId1 = record.getSrvOrganId();
List<ProgramRespDTO> programRespDTOS = disableInfoMapper.selectProgram(String.valueOf(disabInfoId), String.valueOf(srvOrganId1));
if(CollectionUtil.isNotEmpty(programRespDTOS)) {
record.setExitFlag(null);
record.setExitReasonId(null);
record.setExitTime(null);
}
}
}
return disableInfoList;
} }
......
...@@ -2,52 +2,39 @@ ...@@ -2,52 +2,39 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hungraim.ltc.dao.DisableInfoMapper"> <mapper namespace="com.hungraim.ltc.dao.DisableInfoMapper">
<select id="getDisableInfoList" resultType="com.hungraim.ltc.pojo.vo.disable.DisableInfoListVo"> <select id="getDisableInfoList" resultType="com.hungraim.ltc.pojo.vo.disable.DisableInfoListVo">
SELECT distinct T2.DISAB_INFO_ID disabInfoId, with bb as (
T1.PROGRAM_ID programId, SELECT T2.DISAB_INFO_ID disabInfoId,
T1.SRV_ORGAN_ID srvOrganId, max(T6.SRV_ORGAN_ID) srvOrganId,
T5.DISTRICT_PROVINCIAL districtProvincial, T2.REAL_NAME realName,
T5.DISTRICT_CITY districtCity, DECODE(max(T2.SRV_MODE_ID), '1','医疗','2', '养老','3','上门', '4', '异地') svrModelName,
T2.REAL_NAME realName, max(T5.SRV_ORGAN_NAME) svrOrganName,
T2.TEL realTel, to_char(max(e.EXIT_TIME),'yyyy-MM-dd') exitTime,
T2.BIRTHDAY birthday, max(T2.CERTI_CODE) CERTI_CODE,
T2.GENDER gender, max(e.EXIT_REASON_ID) exitReasonId,
T2.ACPT_PROVINCIAL acptProvincial, max(T6.FCD) fcd,
T2.ACPT_CITY acptCity, to_char(max(apply.apply_time),'yyyy-MM-dd HH24:mi:ss') applyTime,
T2.ACPT_AREA acptArea, max(apply.apply_id) applyId
T2.ACPT_STREET acptStreet, FROM CH_SRV_SEND T6
T2.ACPT_ADDRESS acptAddress, LEFT join CH_DISABLE_INFO T2 on T6.DISAB_INFO_ID = T2.DISAB_INFO_ID
-- T7.MODE_NAME svrModelName, LEFT JOIN CH_SRV_ORGAN T5 ON T6.SRV_ORGAN_ID = T5.SRV_ORGAN_ID
DECODE(T1.SRV_MODE_ID, '1','医疗','2', '养老','3','上门', '4', '异地') srvModeName, left join CH_DISABLE_APPLY apply on apply.APPLY_ID = T2.APPLY_ID
T5.SRV_ORGAN_NAME svrOrganName, left join CH_DISABLE_EXIT
T1.PROG_STATUS progStatus, e on e.DISAB_INFO_ID = T2.DISAB_INFO_ID
T1.EFF_TIME effTime, group by T2.DISAB_INFO_ID,T2.REAL_NAME)
T2.CERTI_CODE certiCode, select t.*, ( case when t.exitReasonId is null then null else 1 end ) exitFlag from bb t
T2.APPLY_ID applyId, <where>
to_char(T2.EXIT_TIME,'yyyy-MM-dd') exitTime,
--服务方案起始日
--服务方案终止日
to_char(T1.PROGRAM_DATE,'yyyy-MM-dd HH24:mi:ss') programDate,
to_char(T1.PROGRAM_EDN_DATE,'yyyy-MM-dd HH24:mi:ss') programEdnDate,
T2.EXIT_FLAG exitFlag,
T2.EXIT_REASON_ID exitReasonId
FROM CH_DISABLE_INFO T2
-- inner join (select * from CH_SRV_SEND where STATUS in(1,3)) T6 on T6.DISAB_INFO_ID = T2.DISAB_INFO_ID
LEFT JOIN CH_SRV_PROGRAM T1 ON T1.DISAB_INFO_ID = T2.DISAB_INFO_ID
-- LEFT JOIN CH_CFG_SRV_MODE T7 ON T2.SRV_MODE_ID = T7.MODE_ID
LEFT JOIN CH_SRV_ORGAN T5 ON T1.SRV_ORGAN_ID = T5.SRV_ORGAN_ID
<where>
1=1 1=1
<if test="srvOrganId != null and srvOrganId != '' and srvOrganId!=0"> <if test="srvOrganId != null and srvOrganId != '' and srvOrganId!=0">
and T1.SRV_ORGAN_ID = #{srvOrganId} and t.srvOrganId = #{srvOrganId}
</if> </if>
<if test="certiCode != null and certiCode != ''"> <if test="certiCode != null and certiCode != ''">
and T2.CERTI_CODE = #{certiCode} and t.CERTI_CODE = #{certiCode}
</if> </if>
<if test="realName != null and realName != ''"> <if test="realName != null and realName != ''">
and T2.real_name like CONCAT(CONCAT('%',#{realName}) ,'%') and t.realName like CONCAT(CONCAT('%',#{realName}) ,'%')
</if> </if>
<if test="svrModelId != null and svrModelId != ''"> <if test="svrModelId != null and svrModelId != ''">
and T1.SRV_MODE_ID = #{svrModelId} and t.svrModelId = #{svrModelId}
</if> </if>
</where> </where>
......
...@@ -54,6 +54,8 @@ public class ChSrvProgram { ...@@ -54,6 +54,8 @@ public class ChSrvProgram {
*/ */
private Long endEmp; private Long endEmp;
private Long srvSendId;
/** /**
* 终止时间 * 终止时间
*/ */
......
...@@ -57,14 +57,7 @@ public class DisableInfoListVo { ...@@ -57,14 +57,7 @@ public class DisableInfoListVo {
*/ */
private String gender; private String gender;
/**
* 接收服务省市区
*/
private String acptProvincial;
private String acptCity;
private String acptArea;
private String acptStreet;
private String acptAddress;
/** /**
* 失能等级 * 失能等级
...@@ -119,4 +112,6 @@ public class DisableInfoListVo { ...@@ -119,4 +112,6 @@ public class DisableInfoListVo {
private String exitTime; private String exitTime;
private String applyTime;
} }
...@@ -81,6 +81,9 @@ public class ProgramDetailVo { ...@@ -81,6 +81,9 @@ public class ProgramDetailVo {
*/ */
private Long diseTypeS; private Long diseTypeS;
private Long srvSendId;
/** /**
* 家庭住址 * 家庭住址
*/ */
...@@ -147,4 +150,6 @@ public class ProgramDetailVo { ...@@ -147,4 +150,6 @@ public class ProgramDetailVo {
*/ */
private List<ChFndAttach> fileDataList; private List<ChFndAttach> fileDataList;
} }
package com.hungraim.ltc.governance.controller; package com.hungraim.ltc.governance.controller;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hungraim.ltc.governance.dao.ChSrvProgramMapper;
import com.hungraim.ltc.governance.dao.ChSrvSendMapper; import com.hungraim.ltc.governance.dao.ChSrvSendMapper;
import com.hungraim.ltc.governance.dao.ChSrvTaskMapper;
import com.hungraim.ltc.governance.service.*; import com.hungraim.ltc.governance.service.*;
import com.hungraim.ltc.pojo.entity.account.ChPunchDetailsVO; import com.hungraim.ltc.pojo.entity.account.ChPunchDetailsVO;
import com.hungraim.ltc.pojo.entity.disable.ChDisableInfo; import com.hungraim.ltc.pojo.entity.disable.ChDisableInfo;
import com.hungraim.ltc.pojo.entity.disable.ChSrvOrgan; import com.hungraim.ltc.pojo.entity.disable.ChSrvOrgan;
import com.hungraim.ltc.pojo.entity.serviceManage.ChSrvProgram;
import com.hungraim.ltc.pojo.entity.serviceManage.ChSrvSend; import com.hungraim.ltc.pojo.entity.serviceManage.ChSrvSend;
import com.hungraim.ltc.pojo.vo.disable.ChSrvTaskDetailVo; import com.hungraim.ltc.pojo.vo.disable.ChSrvTaskDetailVo;
import com.hungraim.ltc.pojo.vo.disable.ChrSrvVo; import com.hungraim.ltc.pojo.vo.disable.ChrSrvVo;
import com.hungraim.ltc.pojo.vo.disable.PlaceOtherVO;
import com.hungraim.ltc.pojo.vo.disable.SearchDisableSimpleVo; import com.hungraim.ltc.pojo.vo.disable.SearchDisableSimpleVo;
import com.hungraim.ltc.pojo.vo.governance.*; import com.hungraim.ltc.pojo.vo.governance.*;
import com.hungraim.ltc.util.Result; import com.hungraim.ltc.util.Result;
import com.hungraim.ltc.util.ResultCode; import com.hungraim.ltc.util.ResultCode;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import oracle.sql.DATE;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -52,7 +55,11 @@ public class BuildBedController { ...@@ -52,7 +55,11 @@ public class BuildBedController {
@Autowired @Autowired
private ChSrvSendMapper chSrvSendMapper; private ChSrvSendMapper chSrvSendMapper;
@Autowired
private ChSrvProgramMapper chSrvProgramMapper;
@Autowired
private ChSrvTaskMapper chSrvTaskMapper;
/** /**
* 建床管理列表 * 建床管理列表
...@@ -259,9 +266,9 @@ public class BuildBedController { ...@@ -259,9 +266,9 @@ public class BuildBedController {
List<ChSrvSend> chSrvSendsList = chSrvSendMapper.selectList(new LambdaQueryWrapper<ChSrvSend>() List<ChSrvSend> chSrvSendsList = chSrvSendMapper.selectList(new LambdaQueryWrapper<ChSrvSend>()
.eq(ChSrvSend::getDisabInfoId, disabInfoId) .eq(ChSrvSend::getDisabInfoId, disabInfoId)
.eq(ChSrvSend::getStatus, (short) 1)); .eq(ChSrvSend::getStatus, (short) 1));
/* if (chSrvSendsList.size() > 0) { if (chSrvSendsList.size() > 0) {
return Result.failed("已分配护理机构,请先终止或退出再操作"); return Result.failed("已分配护理机构,请先终止再操作");
}*/ }
Long srvModeId1 = chSrvSend.getSrvModeId(); Long srvModeId1 = chSrvSend.getSrvModeId();
if(srvModeId != srvModeId1.intValue()){ if(srvModeId != srvModeId1.intValue()){
...@@ -280,10 +287,10 @@ public class BuildBedController { ...@@ -280,10 +287,10 @@ public class BuildBedController {
chSrvSend.setStatus(Short.valueOf("1")); chSrvSend.setStatus(Short.valueOf("1"));
if (chrSrvVo.getSrvSendId() == null) { if (chrSrvVo.getSrvSendId() == null) {
sendService.insertSrvSend(chSrvSend); sendService.insertSrvSend(chSrvSend);
}else { }else {
chSrvSend.setSrvSendId(chrSrvVo.getSrvSendId()); chSrvSend.setSrvSendId(chrSrvVo.getSrvSendId());
chSrvSendMapper.updateSrvSendById(chSrvSend); chSrvSendMapper.updateSrvSendById(chSrvSend);
} }
} }
} else { } else {
...@@ -305,6 +312,34 @@ public class BuildBedController { ...@@ -305,6 +312,34 @@ public class BuildBedController {
chSrvSend.setStopTime(saveStopTime.getStopTime()); chSrvSend.setStopTime(saveStopTime.getStopTime());
chSrvSend.setStatus((short)2); chSrvSend.setStatus((short)2);
sendService.updateById(chSrvSend); sendService.updateById(chSrvSend);
//终止方案 终止计划
Long srvSendId = saveStopTime.getSrvSendId();
UpdateWrapper updateWrapper1 = new UpdateWrapper();
updateWrapper1.eq("srv_send_id", srvSendId);
updateWrapper1.set("prog_status", 2);
updateWrapper1.set("LCD", new DATE());
updateWrapper1.set("end_reason", "服务分配终止");
chSrvProgramMapper.update(null,updateWrapper1);
List<ChSrvProgram> chSrvPrograms = chSrvProgramMapper.selectList(new LambdaQueryWrapper<ChSrvProgram>()
.eq(ChSrvProgram::getSrvSendId, srvSendId));
if(CollectionUtil.isNotEmpty(chSrvPrograms)){
Long programId = chSrvPrograms.get(0).getProgramId();
UpdateWrapper updateWrapper2 = new UpdateWrapper();
updateWrapper2.eq("program_id", programId);
updateWrapper2.set("status", 2);
updateWrapper2.set("LCD", new DATE());
updateWrapper2.set("end_reason", "服务分配终止");
chSrvTaskMapper.update(null,updateWrapper2);
}
// 终止时插入一条未分配记录
ChSrvSend chSrvSend1 = new ChSrvSend();
chSrvSend1.setStatus((short) 0);
chSrvSend1.setDisabInfoId(Long.valueOf(chSrvSend.getDisabInfoId()));
chSrvSend1.setFcd(new Date());
sendService.insertSrvSend(chSrvSend1);
return Result.success(true); return Result.success(true);
} }
......
...@@ -97,6 +97,7 @@ public class SrvProgramServiceImpl implements SrvProgramService { ...@@ -97,6 +97,7 @@ public class SrvProgramServiceImpl implements SrvProgramService {
chSrvProgram.setProgStatus(0); chSrvProgram.setProgStatus(0);
chSrvProgram.setChargeType(0L); chSrvProgram.setChargeType(0L);
chSrvProgram.setEffTime(date); chSrvProgram.setEffTime(date);
chSrvProgram.setSrvSendId(programDetailVo.getSrvSendId());
chSrvProgramMapper.insert(chSrvProgram); chSrvProgramMapper.insert(chSrvProgram);
programId = chSrvProgram.getProgramId(); programId = chSrvProgram.getProgramId();
// 2.使用服务方案记录的id来添加服务方案项目记录 // 2.使用服务方案记录的id来添加服务方案项目记录
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment