湛江病历评分列表

master
ALW 3 years ago
parent e11ad13b82
commit d0e173fb8c

@ -53,6 +53,12 @@ public class faultController {
return "faultDir/faultList";
}
@RequestMapping(value = "/faultScores")
public String faultScores(Model model) {
return "faultScoreDir/faultScoreList";
}
/*@ResponseBody
@RequestMapping(value = "/faultList")
public OffsetLimitPage faultList(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit) {
@ -181,6 +187,13 @@ public class faultController {
ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
utils.exportExcelToFilePath(response, utils.listConvert(list));
}
@ResponseBody
@RequestMapping(value = "/exportScoreExcel")
public void exportScoreExcel(HttpServletResponse response, Emr_Fault_Vo emrFaultVo) throws Exception {
}
public boolean compare(String time1,String time2) throws ParseException {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date a=sdf.parse(time1);
@ -263,7 +276,6 @@ public class faultController {
//已存在删了,重新添加
emrFaultDetailService.deleteById(emrFaultVo.getId());
}
//添加
if (!(emrFaultVo.getBackFlag()).equals(null) && !emrFaultVo.getBackFlag().equals("")) {
@ -297,6 +309,7 @@ public class faultController {
BigDecimal price = new BigDecimal(priceArr[i]);
emrFaultDetail.setPrice(price);
}
emrFaultDetail.setPriceTwo(emrFaultType.getPriceTwo());
//医生或护士
bol = emrFaultDetailService.insertSel(emrFaultDetail);
if (bol == 1) {
@ -318,6 +331,7 @@ public class faultController {
BigDecimal price = new BigDecimal(emrFaultVo.getBackContent());
emrFaultDetail.setPrice(price);
}
emrFaultDetail.setPriceTwo(emrFaultType.getPriceTwo());
//医生或护士
int bol = emrFaultDetailService.insertSel(emrFaultDetail);
if (bol == 1) {
@ -357,6 +371,7 @@ public class faultController {
BigDecimal price = new BigDecimal(priceArr[i]);
emrFaultDetail.setPrice(price);
}
emrFaultDetail.setPriceTwo(emrFaultType.getPriceTwo());
//医生或护士
bol = emrFaultDetailService.insertSel(emrFaultDetail);
if (bol == 1) {
@ -378,6 +393,7 @@ public class faultController {
BigDecimal price = new BigDecimal(emrFaultVo.getBackContent());
emrFaultDetail.setPrice(price);
}
emrFaultDetail.setPriceTwo(emrFaultType.getPriceTwo());
//医生或护士
int bol = emrFaultDetailService.insertSel(emrFaultDetail);
if (bol == 1) {
@ -446,7 +462,6 @@ public class faultController {
entity.setDealFlag("1");
entity.setDealPerson(username);
entity.setDealTime(nowTime);
} else if(entity.getDealFlag().equals("1")) {
entity.setDealFlag("0");
entity.setDealPerson("");
@ -524,7 +539,14 @@ public class faultController {
public OffsetLimitPage masterTotalList(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit) {
OffsetLimitPage result = emrFaultDetailService.masterTotalList(emrFaultVo, offset, limit);
return result;
}
@ResponseBody
@RequestMapping(value = "/masterTotalScoreList")
public OffsetLimitPage masterTotalScoreList(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit) {
OffsetLimitPage result = emrFaultDetailService.masterTotalScoreList(emrFaultVo, offset, limit);
return result;
}
}

@ -15,6 +15,12 @@ public interface Emr_Fault_DetailMapper {
*/
int deleteById(Integer id);
/**
* id
* @param emrFaultVo
* @return
*/
int deleteByIdTwo(Emr_Fault_Vo emrFaultVo);
/**
* back_flag is null archiveDetailId
* @param record
@ -43,6 +49,13 @@ public interface Emr_Fault_DetailMapper {
*/
int insertSel(Emr_Fault_Detail record);
/**
*
* @param record
* @return
*/
int insertSelEnd(Emr_Fault_Detail record);
/**
* id
* @param record
@ -120,6 +133,23 @@ public interface Emr_Fault_DetailMapper {
*/
List<Emr_Fault_Vo> masterTotalList(Emr_Fault_Vo emrFaultVo);
/**
* 退
* @param emrFaultVo
* @return
*/
List<Emr_Fault_Vo> masterTotalListTwo(Emr_Fault_Vo emrFaultVo);
/**
* 退
* @param masterId
* @return
*/
List<Emr_Fault_Vo> getPeiceByMasterID(String masterId);
/**
* 退
* @param emrFaultVo

@ -5,6 +5,16 @@ import java.math.BigDecimal;
public class Emr_Fault_Detail {
private Integer id;
private Integer idPage;
public Integer getIdPage() {
return idPage;
}
public void setIdPage(Integer idPage) {
this.idPage = idPage;
}
private String archiveDetailId;
private String assortId;
@ -25,6 +35,16 @@ public class Emr_Fault_Detail {
private BigDecimal price;
public String getPriceTwo() {
return priceTwo;
}
public void setPriceTwo(String priceTwo) {
this.priceTwo = priceTwo;
}
private String priceTwo;
private BigDecimal score;
private String backContent;

@ -17,6 +17,16 @@ public class Emr_Fault_Type {
private BigDecimal price;
public String getPriceTwo() {
return priceTwo;
}
public void setPriceTwo(String priceTwo) {
this.priceTwo = priceTwo;
}
private String priceTwo;
private String remark;
private String creater;

@ -12,6 +12,46 @@ import java.math.BigDecimal;
public class Emr_Fault_Vo {
private Integer id;
public Integer getBnum() {
return bnum;
}
public void setBnum(Integer bnum) {
this.bnum = bnum;
}
public Integer getCnum() {
return cnum;
}
public void setCnum(Integer cnum) {
this.cnum = cnum;
}
private Integer bnum;
private Integer cnum;
public String getMasterId() {
return masterId;
}
public void setMasterId(String masterId) {
this.masterId = masterId;
}
public String getGrade() {
return grade;
}
public void setGrade(String grade) {
this.grade = grade;
}
private String grade;
private String masterId;
private String archiveDetailId;
private String assortId;
@ -22,6 +62,36 @@ public class Emr_Fault_Vo {
private BigDecimal price;
private BigDecimal priceSum;
public String getSysflag() {
return sysflag;
}
public void setSysflag(String sysflag) {
this.sysflag = sysflag;
}
private String sysflag;
public BigDecimal getPriceSum() {
return priceSum;
}
public void setPriceSum(BigDecimal priceSum) {
this.priceSum = priceSum;
}
private String priceTwo;
public String getPriceTwo() {
return priceTwo;
}
public void setPriceTwo(String priceTwo) {
this.priceTwo = priceTwo;
}
private BigDecimal score;
private String backContent;

@ -51,6 +51,15 @@ public interface Emr_Fault_DetailService {
*/
int insertSel(Emr_Fault_Detail record);
/**
* 退
* @param record
* @return
*/
int insertSelEnd(Emr_Fault_Detail record);
/**
* (12,5,6)
* @param emrFaultDetail
@ -75,6 +84,13 @@ public interface Emr_Fault_DetailService {
*/
int deleteById(Integer id);
/**
* id
* @param emrFaultVo
* @return
*/
int deleteByIdTwo(Emr_Fault_Vo emrFaultVo);
/**
* id
* @param record
@ -126,6 +142,19 @@ public interface Emr_Fault_DetailService {
*/
List<Emr_Fault_Vo> masterTotalList(Emr_Fault_Vo emrFaultVo);
/**
* 退
* @param emrFaultVo
* @return
*/
List<Emr_Fault_Vo> masterTotalSocerList(Emr_Fault_Vo emrFaultVo);
/**
* 退
* @param emrFaultVo
@ -133,6 +162,13 @@ public interface Emr_Fault_DetailService {
*/
OffsetLimitPage masterTotalList(Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit);
/**
* 退
* @param emrFaultVo
* @return
*/
OffsetLimitPage masterTotalScoreList(Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit);
/**
* 退
* @param emrFaultVo

@ -26,6 +26,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Arrays;
@ -128,6 +129,12 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
return emrFaultDetailMapper.insertSel(record);
}
@Override
public int insertSelEnd(Emr_Fault_Detail record) {
return emrFaultDetailMapper.insertSelEnd(record);
}
@Override
public List<Emr_Fault_Vo> selectByColumn(Emr_Fault_Detail emrFaultDetail) {
List<Emr_Fault_Vo> list=emrFaultDetailMapper.selectByColumn(emrFaultDetail);
@ -196,6 +203,11 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
return emrFaultDetailMapper.deleteById(id);
}
@Override
public int deleteByIdTwo(Emr_Fault_Vo emrFaultVo) {
return emrFaultDetailMapper.deleteByIdTwo(emrFaultVo);
}
@Override
public int delByArchiveId(Emr_Fault_Detail record) {
return emrFaultDetailMapper.delByArchiveId(record);
@ -338,7 +350,45 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
}});
for (Emr_Fault_Vo emr_fault_vo : list) {
// emr_fault_vo.setBackFee(priceVal);
// emr_fault_vo.setBackFee(priceVal);
//主管医生
JSONObject userInfo = mappedMovies.get(emr_fault_vo.getDoctorInCharge());
if (userInfo == null) {
emr_fault_vo.setDoctorInCharge(emr_fault_vo.getDoctorInCharge());
} else {
emr_fault_vo.setDoctorInCharge(userInfo.getString("name"));
}
//退回人
userInfo = mappedMovies.get(emr_fault_vo.getCreater());
if (userInfo == null) {
emr_fault_vo.setCreater(emr_fault_vo.getCreater());
} else {
emr_fault_vo.setCreater(userInfo.getString("name"));
}
}
}
}
return list;
}
@Override
public List<Emr_Fault_Vo> masterTotalSocerList(Emr_Fault_Vo emrFaultVo) {
//获取病案信息
List<Emr_Fault_Vo> list= emrFaultDetailMapper.masterTotalListTwo(emrFaultVo);
if(list!=null && list.size()>0) {
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<JSONObject> powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class);
if (powerUserList != null){
Map<String,JSONObject> mappedMovies = Maps.uniqueIndex(powerUserList, new Function<JSONObject,String>() {
@Override
public String apply(JSONObject temp) {
return temp.getString("userName");
}});
for (Emr_Fault_Vo emr_fault_vo : list) {
//主管医生
JSONObject userInfo = mappedMovies.get(emr_fault_vo.getDoctorInCharge());
if (userInfo == null) {
@ -353,6 +403,28 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
} else {
emr_fault_vo.setCreater(userInfo.getString("name"));
}
List<Emr_Fault_Vo> peiceByMasterID = emrFaultDetailMapper.getPeiceByMasterID(emr_fault_vo.getMasterId());
if (peiceByMasterID!=null && !peiceByMasterID.isEmpty()){
for (int i=0;peiceByMasterID.size()>i;i++){
if (peiceByMasterID.get(0).getCnum()>0){
emr_fault_vo.setGrade("不合格");
}
if (peiceByMasterID.get(0).getBnum()>1){
emr_fault_vo.setGrade("不合格");
}
BigDecimal priceSum = peiceByMasterID.get(0).getPriceSum();
BigDecimal num1 = new BigDecimal("100");
BigDecimal result2 = num1.subtract(priceSum);
BigDecimal b = new BigDecimal(90);
if (result2.compareTo(b) == -1){
emr_fault_vo.setGrade("不合格");
}
if (peiceByMasterID.get(0).getCnum()==0 &&peiceByMasterID.get(0).getBnum()==0 && result2.compareTo(b) == 1){
emr_fault_vo.setGrade("优秀病历");
}
emr_fault_vo.setScore(result2);
}
}
}
}
@ -367,6 +439,15 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
return new OffsetLimitPage((Page) list);
}
@Override
public OffsetLimitPage masterTotalScoreList(Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
List<Emr_Fault_Vo> list =masterTotalSocerList(emrFaultVo);
return new OffsetLimitPage((Page) list);
}
@Override
public List<Emr_Fault_Vo> faultBackScoreList(Emr_Fault_Vo emrFaultVo) {
List<Emr_Fault_Vo> list= emrFaultDetailMapper.faultBackScoreList(emrFaultVo);

@ -67,6 +67,8 @@
<result column="DOCTOR_IN_CHARGE" jdbcType="NVARCHAR" property="doctorInCharge"/>
<result column="minus_point" jdbcType="VARCHAR" property="minusPoint"/>
<result column="v_printinfo_id" jdbcType="VARCHAR" property="vprintinfoId"/>
<result column="priceTwo" jdbcType="VARCHAR" property="priceTwo"/>
<result column="master_id" jdbcType="VARCHAR" property="masterId"/>
</resultMap>
<sql id="Base_Column_List">
id, archive_detail_id, assort_id, parent_id, content,price, score, back_content, first_trial,state,recall_reason
@ -411,6 +413,8 @@
delete from emr_fault_detail
where id = #{id,jdbcType=INTEGER}
</delete>
<delete id="delbyCol" parameterType="com.emr.entity.Emr_Fault_Detail">
delete from emr_fault_detail
where 1=1 and back_flag is null and state is not null
@ -426,7 +430,11 @@
and archive_detail_id = #{archiveDetailId,jdbcType=NVARCHAR}
</if>
</delete>
<insert id="insert" parameterType="com.emr.entity.Emr_Fault_Detail">
<delete id="deleteByIdTwo" parameterType="com.emr.entity.Emr_Fault_Vo">
delete from emr_fault_detail_end
where id_page = #{idPage}
</delete>
<insert id="insert" parameterType="com.emr.entity.Emr_Fault_Detail">
insert into emr_fault_detail (id, archive_detail_id, assort_id,
parent_id, content,price, score,
back_content, first_trial,state,recall_reason,creater,
@ -498,6 +506,9 @@
<if test="minusPoint != null and minusPoint!=''">
minus_point,
</if>
<if test="priceTwo != null and priceTwo!=''">
priceTwo,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@ -557,8 +568,141 @@
<if test="minusPoint != null and minusPoint!=''">
#{minusPoint,jdbcType=NVARCHAR},
</if>
<if test="priceTwo != null and priceTwo!=''">
#{priceTwo,jdbcType=NVARCHAR},
</if>
</trim>
</insert>
<insert id="insertSelEnd" parameterType="com.emr.entity.Emr_Fault_Detail">
insert into emr_fault_detail_end
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="archiveDetailId != null">
archive_detail_id,
</if>
<if test="assortId != null">
assort_id,
</if>
<if test="parentId != null">
parent_id,
</if>
<if test="content != null">
content,
</if>
<if test="priceTwo != null">
priceTwo,
</if>
<if test="score != null">
score,
</if>
<if test="backContent != null">
back_content,
</if>
<if test="firstTrial != null">
first_trial,
</if>
<if test="state != null">
state,
</if>
<if test="recallReason != null">
recall_reason,
</if>
<if test="creater != null">
creater,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updater != null">
updater,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="backFlag != null and backFlag!=''">
back_flag,
</if>
<if test="dealFlag != null and dealFlag!=''">
deal_flag,
</if>
<if test="archiveState != null and archiveState!=''">
archive_state,
</if>
<if test="minusPoint != null and minusPoint!=''">
minus_point,
</if>
<if test="idPage != null and idPage!=''">
id_page,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=INTEGER},
</if>
<if test="archiveDetailId != null">
#{archiveDetailId,jdbcType=NVARCHAR},
</if>
<if test="assortId != null">
#{assortId,jdbcType=NVARCHAR},
</if>
<if test="parentId != null">
#{parentId,jdbcType=INTEGER},
</if>
<if test="content != null">
#{content,jdbcType=NVARCHAR},
</if>
<if test="priceTwo != null">
#{priceTwo,jdbcType=NVARCHAR},
</if>
<if test="score != null">
#{score,jdbcType=DECIMAL},
</if>
<if test="backContent != null">
#{backContent,jdbcType=NVARCHAR},
</if>
<if test="firstTrial != null">
#{firstTrial,jdbcType=NVARCHAR},
</if>
<if test="state != null">
#{state,jdbcType=NVARCHAR},
</if>
<if test="recallReason != null">
#{recallReason,jdbcType=VARCHAR},
</if>
<if test="creater != null">
#{creater,jdbcType=NVARCHAR},
</if>
<if test="createTime != null">
#{createTime,jdbcType=NCHAR},
</if>
<if test="updater != null">
#{updater,jdbcType=NVARCHAR},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=NCHAR},
</if>
<if test="backFlag != null and backFlag!=''">
#{backFlag,jdbcType=NVARCHAR},
</if>
<if test="dealFlag != null and dealFlag!=''">
#{dealFlag,jdbcType=NVARCHAR},
</if>
<if test="archiveState != null and archiveState!=''">
#{archiveState,jdbcType=NVARCHAR},
</if>
<if test="minusPoint != null and minusPoint!=''">
#{minusPoint,jdbcType=NVARCHAR},
</if>
<if test="idPage != null and idPage!=''">
#{idPage,jdbcType=INTEGER},
</if>
</trim>
</insert>
<update id="updateCloByPrimaryKey" parameterType="com.emr.entity.Emr_Fault_Detail">
update emr_fault_detail
<set>
@ -847,6 +991,120 @@
</if>
</where>
</select>
<!--退回总次数、总费用和总评分-->
<select id="masterTotalListTwo" parameterType="com.emr.entity.Emr_Fault_Vo" resultMap="BaseResultMap2">
SELECT DISTINCT
a.master_id,
m.inp_no,
m.visit_id,
m.name,
CONVERT ( VARCHAR, m.discharge_date_time, 120 ) discharge_date_time,
m.dept_name dept_admission_to,
d.name AS deptName,
m.ArchiveState,
m.DOCTOR_IN_CHARGE,
a.total_back_num
FROM
( SELECT DISTINCT master_id, COUNT ( * ) total_back_num FROM Archive_Master_Following WHERE following_type = 9 GROUP BY master_id ) a
LEFT JOIN Archive_Master m ON m.ID= a.master_id
LEFT JOIN ( SELECT code, name FROM emr_dictionary WHERE parent_id = ( SELECT id FROM emr_dictionary WHERE typeCode = 'dept_code' ) ) d ON m.dept_name= d.code
LEFT JOIN emr_fault_detail e ON e.archive_detail_id= m.ID
LEFT JOIN ( SELECT COUNT ( id ) as bnum,archive_detail_id FROM emr_fault_detail WHERE priceTwo = '乙' GROUP BY archive_detail_id ) l ON
l.archive_detail_id=m.ID
LEFT JOIN ( SELECT COUNT ( id ) as cnum,archive_detail_id FROM emr_fault_detail WHERE priceTwo = '丙' GROUP BY archive_detail_id ) l1 ON
l1.archive_detail_id=m.ID
LEFT JOIN ( SELECT sum(cast(priceTwo AS DECIMAL (12,2)))as scoreSum,archive_detail_id FROM emr_fault_detail WHERE priceTwo !='乙' AND priceTwo !='丙' GROUP BY archive_detail_id ) l2 on l2.archive_detail_id=m.ID
<where>
1 = 1
AND m.ArchiveState NOT IN ( '作废', '已封存', '' )
AND m.ArchiveState IS NOT NULL
AND m.Is_Valid!= 1
AND e.priceTwo IS NOT NULL
<if test="sysflag == 1">
AND l.bnum is null
</if>
<if test="sysflag == 1">
AND l.bnum is null
</if>
<if test="sysflag == 2">
AND l.bnum>1 OR l1.cnum is not NULL OR l2.scoreSum>10
</if>
<!--<if test="sysflag != null and sysflag != '' and sysflag = '1'">-->
<!--AND l.bnum is NULL or 2>l.bnum-->
<!--</if>-->
<!--<if test="sysflag != null and sysflag != '' and sysflag = '1'">-->
<!--AND l1.cnum is NULL-->
<!--</if>-->
<!--<if test="sysflag != null and sysflag != '' and sysflag = '1'">-->
<!--AND l2.scoreSum is null-->
<!--</if>-->
<!--<if test="sysflag != null and sysflag != '' and sysflag = '1'">-->
<!--AND 10>scoreSum-->
<!--</if>-->
<!--<if test="sysflag != null and sysflag != '' and sysflag = '2'">-->
<!--AND l.bnum is NULL or 2>l.bnum-->
<!--</if>-->
<!--<if test="sysflag != null and sysflag != '' and sysflag = '2'">-->
<!--AND l1.cnum is NULL-->
<!--</if>-->
<!--<if test="sysflag != null and sysflag != '' and sysflag = '2'">-->
<!--AND l2.scoreSum is null-->
<!--</if>-->
<!--<if test="sysflag != null and sysflag != '' and sysflag = '2'">-->
<!--AND 10>scoreSum-->
<!--</if>-->
<if test="inpNo != null and inpNo != ''">
and m.inp_no like '%'+#{inpNo,jdbcType=NCHAR}+'%'
</if>
<if test="visitId != null and visitId != ''">
and m.visit_id=#{visitId,jdbcType=NCHAR}
</if>
<if test="name != null and name != ''">
and m.name like '%'+#{name,jdbcType=NCHAR}+'%'
</if>
<if test="archivestate!= null and archivestate!= ''">
and m.ArchiveState in
<foreach item="item" collection="archivestate.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="deptName!= null and deptName!= ''">
and m.dept_name in
<foreach item="item" collection="deptName.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="dischargeDateTime != null">
and m.discharge_date_time = #{dischargeDateTime,jdbcType=NVARCHAR}
</if>
<if test="creater != null and creater != ''">
and m.creater like '%'+#{creater,jdbcType=NCHAR}+'%'
</if>
<if test="doctorInCharge != null and doctorInCharge != ''">
and m.DOCTOR_IN_CHARGE like '%'+#{doctorInCharge,jdbcType=NCHAR}+'%'
</if>
<choose>
<when test="startDate != null and startDate != '' and endDate != null and endDate != ''">
and CONVERT(VARCHAR(20),m.discharge_date_time,23) between CONVERT(VARCHAR(20),#{startDate,jdbcType=NCHAR},23) and
CONVERT(VARCHAR(20),#{endDate,jdbcType=NCHAR},23)
</when>
<when test="startDate != null and startDate != ''">
and CONVERT(VARCHAR(20),m.discharge_date_time,23) >= CONVERT(VARCHAR(20),#{startDate,jdbcType=NCHAR},23)
</when>
<when test="endDate != null and endDate != ''">
and CONVERT(VARCHAR(20),m.discharge_date_time,23) &lt;=CONVERT(VARCHAR(20),#{endDate,jdbcType=NCHAR},23)
</when>
</choose>
<if test="updater!= null and updater!= ''">
and t.id in
<foreach item="item" collection="updater.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
order by m.discharge_date_time desc
</select>
<!--退回次数和评分-->
<select id="faultBackScoreList" parameterType="com.emr.entity.Emr_Fault_Vo" resultMap="BaseResultMap2">
select a.archive_detail_id,a.creater,convert(varchar,a.create_time,120) create_time,m.inp_no,m.visit_id,m.name,a.content,convert(varchar,m.discharge_date_time,120)
@ -920,4 +1178,17 @@
GROUP BY
archive_detail_id
</select>
<select id="getPeiceByMasterID" resultType="com.emr.entity.Emr_Fault_Vo" parameterType="java.lang.String">
SELECT
archive_detail_id,
priceTwo,
(SELECT COUNT(id) FROM emr_fault_detail WHERE priceTwo='乙' AND archive_detail_id= #{masterId}) bnum,
(SELECT COUNT(id) FROM emr_fault_detail WHERE priceTwo='丙' AND archive_detail_id= #{masterId}) cnum,
(SELECT sum(cast(priceTwo AS DECIMAL (12,2))) FROM emr_fault_detail WHERE priceTwo !='乙' AND priceTwo !='丙' AND archive_detail_id= #{masterId}) AS priceSum
FROM
emr_fault_detail
WHERE
archive_detail_id= #{masterId} and priceTwo !='乙' AND priceTwo !='丙'
</select>
</mapper>

@ -14,10 +14,11 @@
<result column="create_time" jdbcType="NCHAR" property="createTime" />
<result column="updater" jdbcType="NVARCHAR" property="updater" />
<result column="update_time" jdbcType="NCHAR" property="updateTime" />
<result column="priceTwo" jdbcType="NVARCHAR" property="priceTwo" />
</resultMap>
<sql id="Base_Column_List">
id, archive_detail_id, type_flag, type_name, type_sort, effective,price, remark, creater,
create_time, updater, update_time
create_time, updater, update_time,priceTwo
</sql>
<select id="selectById" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select

Loading…
Cancel
Save