佛山三院病案室终审没有保存数据、召回时没有删除、一个人出现两个出院科室、终审明细数据重复、终审个人明细数据重复

master
ALW 3 years ago
parent ff52678a8f
commit b2fe310318

@ -14,4 +14,6 @@ public interface ArchiveCallbackInfoMapper {
List<ArchiveCallbackInfoVo> selectAll(ArchiveCallbackInfoVo callbackInfoVo);
int deleteRecordByRecall(@Param("patientId")String patientId);
int deleteRecordByInp(@Param("masterId")String masterId);
}

@ -1,6 +1,7 @@
package com.emr.dao;
import com.emr.entity.ArchiveFlowRole;
import com.emr.entity.Archive_Master_Vo;
import java.util.List;
@ -18,4 +19,6 @@ public interface ArchiveFlowRoleMapper {
int updateByPrimaryKey(ArchiveFlowRole record);
List<ArchiveFlowRole> selectAll();
}

@ -2,6 +2,7 @@ package com.emr.dao;
import com.emr.entity.Archive_Master;
import com.emr.entity.Archive_Master_Vo;
import com.emr.vo.CommomVo;
import com.emr.vo.DoctorStatistics;
import com.emr.vo.RecordCommonVo;
import com.emr.vo.RecordStatisticsHome;
@ -105,4 +106,7 @@ public interface Archive_MasterMapper {
*/
List<Archive_Master> getDoctorInCharge(Archive_Master record);
int insertCommonlyUsed(CommomVo commomVo);
Archive_Master selectCommonlyUsed(Archive_Master record);
}

@ -6,11 +6,30 @@ public class Archive_Master {
private String id;
private String patientId;
private String deptName1;
public String getDeptName1() {
return deptName1;
}
public void setDeptName1(String deptName1) {
this.deptName1 = deptName1;
}
private String inpNo;
private String visitId;
public String getSubAssort() {
return SubAssort;
}
public void setSubAssort(String subAssort) {
SubAssort = subAssort;
}
private String SubAssort;
private String name;
private String sex;

@ -28,6 +28,8 @@ public class Archive_Master_Vo extends Archive_Master{
private String checkedName;
private String SubAssort;
private String btns;//拼接按钮
private String status;//转换中文状态
@ -69,6 +71,7 @@ public class Archive_Master_Vo extends Archive_Master{
private Integer count;//数量
private String masterIds;//id集合
private String masterId;
private String masterIdsByTranDept;//转科的id集合

@ -82,6 +82,7 @@ public class ArchiveCallbackInfoService {
archiveFlowInfoService.insertFlowInfo(masterId,remark,currentRoleAndNextRole.get(0),currentRoleAndNextRole.get(1),new Date());
//TODO 删除病案资料
callbackInfoMapper.deleteRecordByRecall(masterId);
callbackInfoMapper.deleteRecordByInp(masterId);
}
private String getAddressIp() throws Exception{

@ -15,6 +15,7 @@ import com.emr.util.ExceptionPrintUtil;
import com.emr.util.HttpClientUtils;
import com.emr.util.Msg;
import com.emr.util.OracleConnect;
import com.emr.vo.CommomVo;
import com.emr.vo.User;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
@ -31,6 +32,8 @@ import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@ -63,6 +66,8 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
private CommomService commomService;
@Autowired
private TUuPrintMapper tUuPrintMapper;
@Autowired
private Archive_MasterMapper archive_masterMapper;
/**
*
* */
@ -318,7 +323,6 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
if(null != offset && null != limit) {
PageHelper.offsetPage(offset, limit);
}
archiveMasterVo.setIsSuccess(null);
list = archiveMasterMapper.selectByColumn(archiveMasterVo);
//组织完整性字段并完整的更新archive_master表的完整性字段值为完整LockInfo='完整'
@ -1225,6 +1229,49 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
String ids = master.getId();
String[] idList = ids.split(",");
List<ArchiveFlowRole> archiveFlowRoles = flowRoleMapper.selectAll();
Archive_Master archive_master_vos = archive_masterMapper.selectCommonlyUsed(master);
CommomVo commomVo=new CommomVo();
commomVo.setPatientId(archive_master_vos.getPatientId());
commomVo.setAdmissTimes(archive_master_vos.getVisitId());
commomVo.setAdmissId(archive_master_vos.getId());
commomVo.setInpatientNo(archive_master_vos.getInpNo());
commomVo.setName(archive_master_vos.getName());
commomVo.setCheckedDatetime(format1.format(new Date()));
commomVo.setSex(archive_master_vos.getSex());
commomVo.setAdmissId(archive_master_vos.getId());
String substring = archive_master_vos.getSubAssort().substring(0, 2);
commomVo.setAge(substring);
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date1=null;
Date date2=null;
String dischargeDateTime = archive_master_vos.getDischargeDateTime();
String admissionDateTime = archive_master_vos.getAdmissionDateTime();
try {
date1=format.parse(dischargeDateTime);
date2=format.parse(admissionDateTime);
} catch (ParseException e) {
e.printStackTrace();
}
Calendar ca1 = Calendar.getInstance();
Calendar ca2 = Calendar.getInstance();
ca1.setTime(date1);
ca2.setTime(date2);
long distanceMin =( ca1.getTimeInMillis()- ca2.getTimeInMillis())/(1000*60*60*24);
int i2= (int)distanceMin;
commomVo.setAdmissDays(i2);
int i = Integer.parseInt(substring);
int i1 = i * 12;
String s = String.valueOf(i1);
commomVo.setAgeMonth(s);
// int i2 = Integer.parseInt(substring);
// int i3 = i2 * 12;
// String s = String.valueOf(i3);
// commomVo.setAgeMonth(s);
commomVo.setAdmissDate(archive_master_vos.getAdmissionDateTime());
commomVo.setDisDate(archive_master_vos.getDischargeDateTime());
commomVo.setDisDept(archive_master_vos.getDeptName1());
commomVo.setAttending(archive_master_vos.getDoctorInCharge());
archive_masterMapper.insertCommonlyUsed(commomVo);
for(String id : idList) {
if(StringUtils.isNotBlank(id)) {
//修改病案归档状态

File diff suppressed because it is too large Load Diff

@ -118,4 +118,7 @@
delete from t_admiss_thing where patient_id = #{patientId};
end
</delete>
<delete id="deleteRecordByInp" parameterType="java.lang.String">
DELETE FROM commomtable WHERE admiss_id = #{masterId}
</delete>
</mapper>

@ -20,6 +20,8 @@
<result column="LockInfo" jdbcType="NVARCHAR" property="lockinfo"/>
<result column="DOCTOR_IN_CHARGE" jdbcType="NVARCHAR" property="doctorInCharge"/>
<result column="ID_NO" jdbcType="NVARCHAR" property="idNo"/>
<result column="deptName1" jdbcType="NVARCHAR" property="deptName1"/>
<result column="DISCHARGE_DISPOSITION" jdbcType="NVARCHAR" property="dischargeDisposition"/>
<result column="dept_code_lend" jdbcType="NVARCHAR" property="deptCodeLend"/>
<result column="D1" property="d1" jdbcType="DOUBLE"/>
@ -920,7 +922,7 @@
</select>
<!--查询已归档记录-->
<select id="selectFiled" resultMap="BaseResultMap2">
SELECT
SELECT distinct
emr_paper_position_info.paper_position,
archive_master.id,
archive_master.inp_no,
@ -1014,12 +1016,11 @@
<if test="checkedDoctor != null and checkedDoctor != ''">
and archive_master.checked_doctor like '%'+#{checkedDoctor,jdbcType=NVARCHAR}+'%'
</if>
ORDER BY archive_master.checked_datetime DESC
</select>
<!--未终审归档-->
<select id="selectByUnfile" parameterType="com.emr.entity.Archive_Master_Vo" resultMap="BaseResultMap2">
select m.id,m.patient_id,m.inp_no,m.visit_id,m.name,m.sex,f.name
select distinct m.id,m.patient_id,m.inp_no,m.visit_id,m.name,m.sex,f.name
dept_name,m.discharge_date_time,m.ArchiveState,m.admission_date_time,d.name dept_admission_to
,m.check_doctor,m.checked_datetime,m.checked_doctor,m.LockInfo,m.DOCTOR_IN_CHARGE,m.ID_NO,m.DISCHARGE_DISPOSITION,m.dept_code_lend,
datediff(day,m.discharge_date_time,getdate()) -
@ -1284,6 +1285,97 @@
</if>
</trim>
</insert>
<insert id="insertCommonlyUsed" parameterType="com.emr.vo.CommomVo">
insert into commomtable
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="patientId != null">
patient_id,
</if>
<if test="admissTimes != null">
admiss_times,
</if>
<if test="inpatientNo != null">
inpatient_no,
</if>
<if test="name != null">
name,
</if>
<if test="sex != null">
sex,
</if>
<if test="age != null">
age,
</if>
<if test="admissDate != null">
admiss_date,
</if>
<if test="disDate != null">
dis_date,
</if>
<if test="disDept != null">
dis_dept,
</if>
<if test="checkedDatetime != null">
checked_datetime,
</if>
<if test="admissId != null">
admiss_id,
</if>
<if test="ageMonth != null">
age_month,
</if>
<if test="attending != null">
attending,
</if>
<if test="admissDays != null">
admiss_days,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="patientId != null">
#{patientId,jdbcType=NVARCHAR},
</if>
<if test="admissTimes != null">
#{admissTimes,jdbcType=INTEGER},
</if>
<if test="inpatientNo != null">
#{inpatientNo,jdbcType=NVARCHAR},
</if>
<if test="name != null">
#{name,jdbcType=NVARCHAR},
</if>
<if test="sex != null">
#{sex,jdbcType=NVARCHAR},
</if>
<if test="age != null">
#{age,jdbcType=NVARCHAR},
</if>
<if test="admissDate != null">
#{admissDate,jdbcType=DATE},
</if>
<if test="disDate != null">
#{disDate,jdbcType=DATE},
</if>
<if test="disDept != null">
#{disDept,jdbcType=NVARCHAR},
</if>
<if test="checkedDatetime != null">
#{checkedDatetime,jdbcType=NVARCHAR},
</if>
<if test="admissId != null">
#{admissId,jdbcType=NVARCHAR},
</if>
<if test="ageMonth != null">
#{ageMonth,jdbcType=NVARCHAR},
</if>
<if test="attending != null">
#{attending,jdbcType=NVARCHAR},
</if>
<if test="admissDays != null">
#{admissDays,jdbcType=INTEGER},
</if>
</trim>
</insert>
<update id="updateByClo" parameterType="com.emr.entity.Archive_Master">
update archive_master
<set>
@ -1353,6 +1445,9 @@
<if test="changeReason != null">
change_reason = #{changeReason,jdbcType=NVARCHAR},
</if>
<if test="changeReason != null">
change_reason = #{changeReason,jdbcType=NVARCHAR},
</if>
</set>
where id = #{id,jdbcType=NVARCHAR}
</update>
@ -1653,4 +1748,12 @@
AND ArchiveState != '128'
<include refid="disDateRangeWhereSql"></include>)
</select>
<select id="selectCommonlyUsed" resultMap="BaseResultMap"
parameterType="java.lang.String">
select *,f.Name as deptName1 from archive_master m
left join emr_dictionary f
on f.code=m.dept_name
where patient_id=#{patientId}
</select>
</mapper>

@ -373,7 +373,7 @@
</update>
<!--按父id查询编码和名称-->
<select id="selectAllByParentId" resultMap="BaseResultMap">
select emr_dictionary.CODE,emr_dictionary.NAME from emr_dictionary
select distinct emr_dictionary.CODE,emr_dictionary.NAME from emr_dictionary
<where>
<if test="parentId != null and parentId != ''">
and parent_id = #{parentId}

@ -157,7 +157,7 @@
archive_master.CODE
</select>-->
<select id="selectUnCountGroupDept" resultMap="BaseResultMap" parameterType="com.emr.vo.RecordSearch">
select distinct
select
archive_master.dept_name,
archive_master.ArchiveState,
archive_master.DISCHARGE_DISPOSITION dischargeDisposition,

@ -68,7 +68,7 @@
<!--终审审核明细-->
<select id="statistics" resultMap="BaseResultMap1">
SELECT
SELECT distinct
<if test="flag != null and flag == 2">
archive_flow_info.id infoId,
archive_flow_info.user_name check_doctor,
@ -81,14 +81,11 @@
inp_no,
emr_dictionary.Name dept_name,
discharge_date_time,
emr_dictionary1.Name dept_admission_to,
admission_date_time,
DATEDIFF(day,admission_date_time,discharge_date_time) days
FROM archive_master
LEFT JOIN
emr_dictionary on archive_master.dept_name = emr_dictionary.code and emr_dictionary.parent_id='dept_code'
LEFT JOIN
emr_dictionary emr_dictionary1 on archive_master.dept_name = emr_dictionary1.code and emr_dictionary1.parent_id='dept_code'
<if test="flag != null and flag == 2">
INNER JOIN
archive_flow_info

Loading…
Cancel
Save