Commit d6f719c0 authored by zhangwanglin's avatar zhangwanglin

删掉打卡记录问题

parent 1e8babd4
......@@ -34,7 +34,7 @@ public interface ChSrvTaskDetailMapper extends BaseMapper<ChSrvTaskDetail> {
ChDisabDetailAccounts selectAccountsDetail(String disabInfoId, String srvDateStr);
void updateChDisabDetailAccounts(Long accountsId, BigDecimal accountsAllCostsub, BigDecimal accountsOverallCostsub, BigDecimal accountsPersonalCostsub);
void updateChDisabDetailAccounts(Long accountsDetailId, BigDecimal accountsAllCostsub, BigDecimal accountsOverallCostsub, BigDecimal accountsPersonalCostsub);
}
package com.hungraim.ltc.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hungraim.ltc.pojo.entity.serviceManage.ChSrvTask;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface ChSrvTaskMapper extends BaseMapper<ChSrvTask> {
}
\ No newline at end of file
......@@ -38,6 +38,9 @@ public interface DisableInfoMapper extends BaseMapper<ChDisableInfo> {
List<ProgramRespDTO> selectProgram(String disabInfoId, String srvOrganId);
int selectSrvSend(String disabInfoId);
int updateSrvProgramById(ChSrvProgram chSrvProgram);
......
......@@ -8,6 +8,7 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hungraim.ltc.api.AttachFeignService;
......@@ -30,8 +31,8 @@ import com.hungraim.ltc.util.Result;
import com.hungraim.ltc.util.ResultCode;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import oracle.sql.DATE;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.hssf.record.common.FeatSmartTag;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -64,12 +65,15 @@ public class DisableServiceImpl implements DisableService {
private final OrganService organService;
private final ChSrvSendInfoMapper chSrvSendInfoMapper;
private final ChSrvTaskMapper chSrvTaskMapper;
@Autowired
private ChDisableRiskLevelMapper chDisableRiskLevelMapper;
/**
* 获取机构ids
*
......@@ -582,11 +586,10 @@ public class DisableServiceImpl implements DisableService {
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()){
if(record.getExitReasonId()!=null){
Long disabInfoId = record.getDisabInfoId();
Long srvOrganId1 = record.getSrvOrganId();
List<ProgramRespDTO> programRespDTOS = disableInfoMapper.selectProgram(String.valueOf(disabInfoId), String.valueOf(srvOrganId1));
if(CollectionUtil.isNotEmpty(programRespDTOS)) {
int count = disableInfoMapper.selectSrvSend(String.valueOf(disabInfoId));
if(count > 0) {
record.setExitFlag(null);
record.setExitReasonId(null);
record.setExitTime(null);
......@@ -682,22 +685,22 @@ public class DisableServiceImpl implements DisableService {
chSrvProgram.setEndReason("失能人员退出,终止方案");
disableInfoMapper.updateSrvProgramById(chSrvProgram);
UpdateWrapper updateWrapper2 = new UpdateWrapper();
updateWrapper2.eq("DISAB_INFO_ID", Long.valueOf(disableInfoId));
updateWrapper2.set("status", 2);
updateWrapper2.set("LCD", new DATE());
updateWrapper2.set("end_reason", "失能人员退出,计划终止");
chSrvTaskMapper.update(null, updateWrapper2);
ChSrvSend chSrvSend = new ChSrvSend();
chSrvSend.setDisabInfoId(Long.valueOf(disableInfoId));
chSrvSend.setEndTime(date);
// 更新已分配为已退出
chSrvSend.setStatus((short)3);
disableInfoMapper.updateSrvSendById(chSrvSend);
//4,转入医保 5, 异地 选择原因转入医保和异地,保留原服务机构分配数据,状态为已分配,只终止方案和计划,保留终止后的方案和计划历史数据
if (exitReasonId == 4||exitReasonId==5){
// chSrvSend.setStatus((short)3);
// disableInfoMapper.updateSrvSendById(chSrvSend);
// 1, 死亡
}else if (exitReasonId == 1){
// 更新已分配为已退出
chSrvSend.setStatus((short)3);
disableInfoMapper.updateSrvSendById(chSrvSend);
}else {
chSrvSend.setStatus((short)3);
// 更新为已退出
disableInfoMapper.updateSrvSendById(chSrvSend);
if (exitReasonId != 1){
// 插入一条未分配的记录
ChSrvSend chSrvSend1 = new ChSrvSend();
chSrvSend1.setDisabInfoId(Long.valueOf(disableInfoId));
......
......@@ -40,6 +40,7 @@ import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@Service
......@@ -199,25 +200,27 @@ public class SrvOrganEmpServiceImpl implements SrvOrganEmpService {
Date srvEndTime = chSrvTaskDetail.getSrvEndTime();
String srvEndTimeStr = DateUtils.dateTimeToStr(srvEndTime);
Long min = dateDiff(srvStartTimeStr, srvEndTimeStr, "yyyy-MM-dd HH:mm:ss", "min");
if(min>=90){
if(min>=90) {
Date srvDate = chSrvTaskDetail.getSrvDate();
String srvDateStr = DateUtils.dateToStrYm(srvDate);
Long srvTaskId = chSrvTaskDetail.getSrvTaskId();
String disabInfoId = chSrvTaskDetailMapper.selectBySrvTaskId(String.valueOf(srvTaskId));
ChDisabDetailAccounts chDisabDetailAccounts = chSrvTaskDetailMapper.selectAccountsDetail(disabInfoId, srvDateStr);
Short status = chDisabDetailAccounts.getStatus();
if(status != 0){
// 已申报不能进行删除
return Result.failed("已申报不能进行删除");
if (Objects.nonNull(chDisabDetailAccounts)) {
Short status = chDisabDetailAccounts.getStatus();
if (status != 0) {
// 已申报不能进行删除
return Result.failed("已申报不能进行删除");
}
BigDecimal accountsAllCost = chDisabDetailAccounts.getAccountsAllCost();
BigDecimal accountsPersonalCost = chDisabDetailAccounts.getAccountsPersonalCost();
BigDecimal accountsOverallCost = chDisabDetailAccounts.getAccountsOverallCost();
BigDecimal accountsAllCostsub = accountsAllCost.subtract(new BigDecimal(75));
BigDecimal accountsOverallCostsub = accountsOverallCost.subtract(new BigDecimal(60));
BigDecimal accountsPersonalCostsub = accountsPersonalCost.subtract(new BigDecimal(15));
Long accountsDetailId = chDisabDetailAccounts.getAccountsDetailId();
chSrvTaskDetailMapper.updateChDisabDetailAccounts(accountsDetailId, accountsAllCostsub, accountsOverallCostsub, accountsPersonalCostsub);
}
BigDecimal accountsAllCost = chDisabDetailAccounts.getAccountsAllCost();
BigDecimal accountsPersonalCost = chDisabDetailAccounts.getAccountsPersonalCost();
BigDecimal accountsOverallCost = chDisabDetailAccounts.getAccountsOverallCost();
BigDecimal accountsAllCostsub = accountsAllCost.subtract(new BigDecimal(75));
BigDecimal accountsOverallCostsub = accountsOverallCost.subtract(new BigDecimal(60));
BigDecimal accountsPersonalCostsub = accountsPersonalCost.subtract(new BigDecimal(15));
Long accountsId = chDisabDetailAccounts.getAccountsId();
chSrvTaskDetailMapper.updateChDisabDetailAccounts(accountsId,accountsAllCostsub,accountsOverallCostsub,accountsPersonalCostsub);
}
}
chSrvTaskDetailMapper.deleteFinshItem(taskDetailId);
......
......@@ -89,7 +89,7 @@ WHERE TASK_DETAIL_ID = #{taskDetailId}
<update id = "updateChDisabDetailAccounts">
UPDATE CH_DISAB_ACCOUNTS_DETAIL d SET d.ACCOUNTS_ALL_COST = #{accountsAllCostsub}, d.ACCOUNTS_OVERALL_COST = #{accountsOverallCostsub},
d.ACCOUNTS_PERSONAL_COST = #{accountsPersonalCostsub}
WHERE d.ACCOUNTS_ID = #{accountsId}
WHERE d.ACCOUNTS_DETAIL_ID = #{accountsDetailId}
</update>
<select id="selectBySrvTaskId" resultType="java.lang.String">
......
......@@ -102,5 +102,10 @@
<![CDATA[ t.PROG_STATUS<> 2 ]]> order by t.FCD desc
</select>
<select id="selectSrvSend" resultType="java.lang.Integer">
select count(*) from CH_SRV_SEND t where t.DISAB_INFO_ID = #{disabInfoId} and
t.STATUS = 1
</select>
</mapper>
\ No newline at end of file
package com.hungraim.ltc.governance.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hungraim.ltc.api.AttachFeignService;
import com.hungraim.ltc.governance.dao.ChSrvProgramMapper;
import com.hungraim.ltc.governance.dao.ChSrvProgramSetMapper;
import com.hungraim.ltc.governance.dao.ChSrvSendMapper;
import com.hungraim.ltc.governance.dao.ChSrvTaskMapper;
import com.hungraim.ltc.governance.service.SrvProgramService;
import com.hungraim.ltc.pojo.entity.SysConfig.ChFndAttach;
import com.hungraim.ltc.pojo.entity.serviceManage.ChSrvProgram;
......@@ -19,6 +21,7 @@ import com.hungraim.ltc.util.AttachType;
import com.hungraim.ltc.util.Result;
import com.hungraim.ltc.util.ResultCode;
import lombok.extern.slf4j.Slf4j;
import oracle.sql.DATE;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -43,6 +46,9 @@ public class SrvProgramServiceImpl implements SrvProgramService {
@Autowired
private AttachFeignService attachFeignService;
@Autowired
private ChSrvTaskMapper chSrvTaskMapper;
@Override
public Page<SvrSendListVo> getProgramList(Page<SvrSendListVo> page, Long srvOrganId, String realName, String realTel, String programStatus) {
return chSrvSendMapper.selectSrvSendList(page, srvOrganId, realName, realTel, programStatus);
......@@ -151,7 +157,15 @@ public class SrvProgramServiceImpl implements SrvProgramService {
chSrvProgram.setProgramId(programId);
chSrvProgram.setEndReason(endReason);
chSrvProgram.setProgStatus(2);
chSrvProgramMapper.updateById(chSrvProgram);
int updateCount = chSrvProgramMapper.updateById(chSrvProgram);
if(updateCount > 0 ) {
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);
}
}
@Override
......
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