From 1755b1e774b784a3ed15d9df730ac977461a0e69 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期二, 13 五月 2025 15:53:47 +0800 Subject: [PATCH] 2025-05-13-2 --- ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjAskMedicalHistory.java | 23 ++ ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjAskHistorys.java | 25 ++ ltkj-hosp/src/main/resources/mapper/hosp/TjAskMedicalHistoryMapper.xml | 34 +++ ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjAskMedicalHistoryController.java | 130 +++++++++++++ ltkj-admin/src/main/java/com/ltkj/web/controller/dto/PutAskMedicalHistoryDto.java | 289 ++++++++++++++++++++++++++++++++ 5 files changed, 490 insertions(+), 11 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/dto/PutAskMedicalHistoryDto.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/dto/PutAskMedicalHistoryDto.java new file mode 100644 index 0000000..fbe8f4a --- /dev/null +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/dto/PutAskMedicalHistoryDto.java @@ -0,0 +1,289 @@ +package com.ltkj.web.controller.dto; + +import cn.hutool.json.JSONArray; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.ltkj.common.annotation.Excel; +import com.ltkj.common.mybatis.JsonStringArrayTypeHandler; +import com.ltkj.hosp.domain.TjAskHistorys; +import com.ltkj.hosp.domain.TjAskWorkLog; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Company: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃 + * @Author: zhaowenxuan + * @Date: 2025/5/9 09:41 + */ +@Data +public class PutAskMedicalHistoryDto { + + /** + * 鎺ヨЕ鍗卞鍥犵礌 + */ + private String tcwhyx; + + /** + * 鐢ㄥ伐鍗曚綅 + */ + private String ygdw; + + /** + * askId + */ + @TableId(type= IdType.AUTO) + @JsonSerialize(using = ToStringSerializer.class) + private Long askId; + + /** + * 瀹㈡埛id + */ + @ApiModelProperty(value = "瀹㈡埛id") + @JsonSerialize(using = ToStringSerializer.class) + private Long cusId; + + /** + * 韬唤璇佸彿 + */ + @ApiModelProperty(value = "瀹㈡埛韬唤璇佸彿") + @TableField(exist = false) + private String cusIdCard; + + @ApiModelProperty(value = "瀹㈡埛鎬у埆") + @TableField(exist = false) + private String cusSex; + + /** + * order琛� tj_category瀛楁鍊� + * 瀛楀吀琛ㄩ敭 dict_tjtype + */ + @ApiModelProperty(value = "瀹㈡埛浣撴绫诲瀷") + @TableField(exist = false) + private String tjLx; + + /** + * 瀹㈡埛鍚� + */ + @ApiModelProperty(value = "瀹㈡埛鍚�") + @Excel(name = "瀹㈡埛鍚�") + private String cusName; + + @ApiModelProperty(value = "浣撴鍙�") + @Excel(name = "浣撴鍙�") + private String tjNum; + + /** + * 鑱屼笟 + */ + @ApiModelProperty(value = "鑱屼笟") + @Excel(name = "鑱屼笟") + private String work; + + /** + * 宸ヤ綔鐘舵�� + */ + @ApiModelProperty(value = "宸ヤ綔鐘舵��") + @Excel(name = "宸ヤ綔鐘舵��",dictType="tj_work_status") + private String workStatus; + + /** + * 鏃㈠線鐥呭彶 + */ + @ApiModelProperty(value = "鏃㈠線鐥呭彶") + @Excel(name = "鏃㈠線鐥呭彶") + private JSONArray medicalHistory; + + /** + * 鍒濇疆 + */ + @ApiModelProperty(value = "鍒濇疆") + @Excel(name = "鍒濇疆") + private String chuchao; + + /** + * 缁忔湡 + */ + @ApiModelProperty(value = "缁忔湡") + @Excel(name = "缁忔湡") + private String jingqi; + + /** + * 鍛ㄦ湡 + */ + @ApiModelProperty(value = "鍛ㄦ湡") + @Excel(name = "鍛ㄦ湡") + private String zhouqi; + + /** + * 鏈鏈堢粡鎴栧仠缁忓勾榫� + */ + @ApiModelProperty(value = "鏈鏈堢粡鎴栧仠缁忓勾榫�") + @Excel(name = "鏈鏈堢粡鎴栧仠缁忓勾榫�") + private String mociage; + + + @ApiModelProperty(value = "鏈堢粡鏄惁寮傚父") + private String yjsfyc; + + /** + * 鐜版湁瀛愬コ + */ + @ApiModelProperty(value = "鐜版湁瀛愬コ") + @Excel(name = "鐜版湁瀛愬コ") + private String zinv; + + /** + * 娴佷骇 + */ + @ApiModelProperty(value = "娴佷骇") + @Excel(name = "娴佷骇") + private String liuchan; + + /** + * 鏃╀骇 + */ + @ApiModelProperty(value = "鏃╀骇") + @Excel(name = "鏃╀骇") + private String zaochan; + + /** + * 姝讳骇 + */ + @ApiModelProperty(value = "姝讳骇") + @Excel(name = "姝讳骇") + private String sichan; + + /** + * 寮傚父鑳� + */ + @ApiModelProperty(value = "寮傚父鑳�") + @Excel(name = "寮傚父鑳�") + private String yichangtai; + + /** + * 鍚哥儫 + * 鏄惁鍚哥儫 + */ + @ApiModelProperty(value = "鍚哥儫") + @Excel(name = "鍚哥儫") + private String xiyan; + + /** + * 鍚哥儫棰戠巼 + */ + @ApiModelProperty(value = "鍚哥儫棰戠巼") + @Excel(name = "鍚哥儫棰戠巼") + private String xiyanpinlv; + + /** + * 鍚哥儫鏃堕棿 + */ + @ApiModelProperty(value = "鍚哥儫鏃堕棿") + @Excel(name = "鍚哥儫鏃堕棿") + private String xiyanyear; + + /** + * 楗厭 + */ + @ApiModelProperty(value = "楗厭") + @Excel(name = "楗厭") + private String yinjiu; + + /** + * 楗厭棰戠巼 + */ + @ApiModelProperty(value = "楗厭棰戠巼") + @Excel(name = "楗厭棰戠巼") + private String yinjiupinlv; + + /** + * 楗厭鏃堕棿 + */ + @ApiModelProperty(value = "楗厭鏃堕棿") + @Excel(name = "楗厭鏃堕棿") + private String yinjiuyear; + + /** + * 鍏朵粬 + */ + @ApiModelProperty(value = "鍏朵粬") + @Excel(name = "鍏朵粬") + private String qita; + + /** + * 鏉ユ簮鏍囧織 + */ + @ApiModelProperty(value = "鏉ユ簮鏍囧織") + @Excel(name = "鏉ユ簮鏍囧織") + private String fromBy; + + /** + * 鑱屼笟鍘嗗彶 + */ + @ApiModelProperty(value = "鑱屼笟鍘嗗彶") + @TableField(exist = false) + private List<TjAskWorkLog> workLogs; + + + /** + * 鎺ヨЕ姣掔墿 + */ + @ApiModelProperty(value = "鎺ヨЕ姣掔墿") + @Excel(name = "鎺ヨЕ姣掔墿") + private String contactPoison; + + + /** + * 浣撴绫诲埆 + */ + @TableField(exist = false) + private String tjCategory; + + @ApiModelProperty(value = "鐥囩姸鏁版嵁闆�") + @TableField(typeHandler = JsonStringArrayTypeHandler.class) + private String[] zzsjj; + + @ApiModelProperty(value = "宸ョ") + private String gongZhong; + + @ApiModelProperty(value = "宸ラ緞") + private String gongLing; + + @ApiModelProperty(value = "鎺ュ宸ラ緞") + private String jhgl; + + /** + * 鍗曚綅鍚嶇О + */ + private String dwmc; + + /** + * 鏃㈠線鐥呭彶鍏朵粬璇存槑 + */ + private String medicalHistoryOther; + + private List<TjAskHistorys> zhiyezzList; + + /** + * 鐥呭彶淇℃伅 + */ + @ApiModelProperty(value = "鐥呭彶淇℃伅") + @TableField(exist = false) + private List<TjAskHistorys> tjAskHistorysList; + + +} + +/** + * 鑱屼笟鐥呭彶 + */ +@Data +class MedicalHistoryDto{ + private String id; + private String icdname; +} diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjAskMedicalHistoryController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjAskMedicalHistoryController.java index 5d27952..2105291 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjAskMedicalHistoryController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjAskMedicalHistoryController.java @@ -5,10 +5,14 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.framework.config.MatchUtils; import com.ltkj.hosp.domain.*; import com.ltkj.hosp.service.*; +import com.ltkj.web.controller.dto.PutAskMedicalHistoryDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.val; @@ -191,11 +195,82 @@ /** * pc绔慨鏀归棶璇� */ +// @ApiOperation(value = "pc绔慨鏀归棶璇�") +// @Log(title = "闂瘖", businessType = BusinessType.UPDATE) +// @PutMapping +// @Transactional +// public AjaxResult edit(@RequestBody TjAskMedicalHistory tjAskMedicalHistory) { +// LambdaQueryWrapper<TjAskWorkLog> wq = new LambdaQueryWrapper<>(); +// wq.eq(TjAskWorkLog::getTjNumber, tjAskMedicalHistory.getTjNum()); +// tjAskWorkLogService.remove(wq); +// LambdaQueryWrapper<TjHarmTypeLog> wq1 = new LambdaQueryWrapper<>(); +// wq1.eq(TjHarmTypeLog::getTjNumber, tjAskMedicalHistory.getTjNum()); +// tjHarmTypeLogService.remove(wq1); +// +// +// boolean b = false; +// tjAskMedicalHistory.setFromBy("PC绔�"); +// if (tjAskMedicalHistory.getAskId() != null) { +// b = tjAskMedicalHistoryService.updateById(tjAskMedicalHistory); +// } else { +// b = tjAskMedicalHistoryService.save(tjAskMedicalHistory); +// } +// if (b) { +// List<TjAskHistorys> tjAskHistorysList = tjAskMedicalHistory.getTjAskHistorysList(); +// if (tjAskHistorysList != null && tjAskHistorysList.size() > 0) { +// for (TjAskHistorys tjAskHistorys : tjAskMedicalHistory.getTjAskHistorysList()) { +// tjAskHistorys.setAskId(tjAskMedicalHistory.getAskId()); +// boolean b1 = historysService.saveOrUpdate(tjAskHistorys); +// if (!b1) { +// return AjaxResult.error(); +// } +// } +// } +// +// List<TjAskWorkLog> askWorkLogs = tjAskMedicalHistory.getWorkLogs(); +// if (askWorkLogs != null && askWorkLogs.size() > 0) { +// for (TjAskWorkLog askWorkLog : askWorkLogs) { +// askWorkLog.setCusId(tjAskMedicalHistory.getCusId()); +// askWorkLog.setCusName(tjAskMedicalHistory.getCusName()); +// askWorkLog.setTjNumber(tjAskMedicalHistory.getTjNum()); +// askWorkLog.setAskId(tjAskMedicalHistory.getAskId()); +// boolean b1 = tjAskWorkLogService.saveOrUpdate(askWorkLog); +// List<String> harmTypeLogs = askWorkLog.getHarmTypeLogs(); +// if (harmTypeLogs != null) { +// for (String harmTypeLog : harmTypeLogs) { +// final TjHarmType byId = tjHarmTypeService.getById(harmTypeLog); +// if (byId != null) { +// TjHarmTypeLog log = new TjHarmTypeLog(); +// log.setAid(byId.getAid()); +// log.setCusId(tjAskMedicalHistory.getCusId()); +// log.setCusName(tjAskMedicalHistory.getCusName()); +// log.setTjNumber(tjAskMedicalHistory.getTjNum()); +// log.setWorkId(askWorkLog.getId()); +// tjHarmTypeLogService.save(log); +// } +// } +// } +// if (!b1) { +// return AjaxResult.error(); +// } +// } +// } +// return AjaxResult.success(tjAskMedicalHistory); +// } +// return AjaxResult.error(); +// //return toAjax(tjAskMedicalHistoryService.updateTjAskMedicalHistory(tjAskMedicalHistory)); +// } + + /** + * pc绔慨鏀归棶璇� + */ @ApiOperation(value = "pc绔慨鏀归棶璇�") @Log(title = "闂瘖", businessType = BusinessType.UPDATE) @PutMapping @Transactional - public AjaxResult edit(@RequestBody TjAskMedicalHistory tjAskMedicalHistory) { + public AjaxResult edit(@RequestBody PutAskMedicalHistoryDto askMedicalHistoryDto) { + TjAskMedicalHistory tjAskMedicalHistory = new TjAskMedicalHistory(); + BeanUtil.copyProperties(askMedicalHistoryDto,tjAskMedicalHistory,true); LambdaQueryWrapper<TjAskWorkLog> wq = new LambdaQueryWrapper<>(); wq.eq(TjAskWorkLog::getTjNumber, tjAskMedicalHistory.getTjNum()); tjAskWorkLogService.remove(wq); @@ -206,6 +281,19 @@ boolean b = false; tjAskMedicalHistory.setFromBy("PC绔�"); + + JSONArray medicalHistory = askMedicalHistoryDto.getMedicalHistory(); + String medicalHistoryTxt = medicalHistory.stream().map(item -> { + JSONObject entries = (JSONObject) item; + return entries.getStr("icdname"); + }).collect(Collectors.joining(",")); + String medicalHistoryIds = medicalHistory.stream().map(item -> { + JSONObject entries = (JSONObject) item; + return entries.getStr("id"); + }).collect(Collectors.joining(",")); + tjAskMedicalHistory.setMedicalHistoryIds(medicalHistoryIds); + tjAskMedicalHistory.setMedicalHistory(medicalHistoryTxt); + if (tjAskMedicalHistory.getAskId() != null) { b = tjAskMedicalHistoryService.updateById(tjAskMedicalHistory); } else { @@ -213,9 +301,22 @@ } if (b) { List<TjAskHistorys> tjAskHistorysList = tjAskMedicalHistory.getTjAskHistorysList(); - if (tjAskHistorysList != null && tjAskHistorysList.size() > 0) { + if (tjAskHistorysList != null && !tjAskHistorysList.isEmpty()) { for (TjAskHistorys tjAskHistorys : tjAskMedicalHistory.getTjAskHistorysList()) { tjAskHistorys.setAskId(tjAskMedicalHistory.getAskId()); + tjAskHistorys.setDataType(1); + boolean b1 = historysService.saveOrUpdate(tjAskHistorys); + if (!b1) { + return AjaxResult.error(); + } + } + } + + List<TjAskHistorys> zhiyezzList = askMedicalHistoryDto.getZhiyezzList(); + if (zhiyezzList != null && !zhiyezzList.isEmpty()) { + for (TjAskHistorys tjAskHistorys : zhiyezzList) { + tjAskHistorys.setAskId(tjAskMedicalHistory.getAskId()); + tjAskHistorys.setDataType(2); boolean b1 = historysService.saveOrUpdate(tjAskHistorys); if (!b1) { return AjaxResult.error(); @@ -224,7 +325,7 @@ } List<TjAskWorkLog> askWorkLogs = tjAskMedicalHistory.getWorkLogs(); - if (askWorkLogs != null && askWorkLogs.size() > 0) { + if (askWorkLogs != null && !askWorkLogs.isEmpty()) { for (TjAskWorkLog askWorkLog : askWorkLogs) { askWorkLog.setCusId(tjAskMedicalHistory.getCusId()); askWorkLog.setCusName(tjAskMedicalHistory.getCusName()); @@ -254,9 +355,17 @@ return AjaxResult.success(tjAskMedicalHistory); } return AjaxResult.error(); - //return toAjax(tjAskMedicalHistoryService.updateTjAskMedicalHistory(tjAskMedicalHistory)); } + /** + * 鍒犻櫎鐥呭彶鎴栫棁鐘� + * @param historyId + * @return + */ + @PostMapping("/removeAskHistorys") + public AjaxResult removeAskHistorys(@RequestBody List<String > historyId){ + return toAjax(historysService.removeByIds(historyId)); + } /** * 灏忕▼搴忔牴鎹鎴疯韩浠借瘉鍙疯幏鍙栭棶璇婅缁嗕俊鎭� @@ -288,9 +397,20 @@ LambdaQueryWrapper<TjAskHistorys> wqq111 = new LambdaQueryWrapper<>(); wqq111.eq(TjAskHistorys::getAskId, one.getAskId()); - final List<TjAskHistorys> list11 = historysService.list(wqq111); + wqq111.eq(TjAskHistorys::getDataType,1); + List<TjAskHistorys> list11 = historysService.list(wqq111); one.setTjAskHistorysList(list11); + wqq111 = new LambdaQueryWrapper<>(); + wqq111.eq(TjAskHistorys::getAskId, one.getAskId()); + wqq111.eq(TjAskHistorys::getDataType,2); + list11 = historysService.list(wqq111); + one.setZhiyezzList(list11); + + TjOrder order = tjOrderService.getOrderByTjNum(tjNumber); + one.setTjLx(order.getTjCategory()); + + return AjaxResult.success(one); }else { TjAskMedicalHistory a = new TjAskMedicalHistory(); diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjAskHistorys.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjAskHistorys.java index 15a6952..1fce095 100644 --- a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjAskHistorys.java +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjAskHistorys.java @@ -88,6 +88,31 @@ @ApiModelProperty(value = "鐤剧梾绫诲瀷") private String type; + private Integer dataType; + + public Long getIcdId() { + return icdId; + } + + public void setIcdId(Long icdId) { + this.icdId = icdId; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public Integer getDataType() { + return dataType; + } + + public void setDataType(Integer dataType) { + this.dataType = dataType; + } public void setDiseaseId(Long diseaseId) { this.diseaseId = diseaseId; diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjAskMedicalHistory.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjAskMedicalHistory.java index 96f523a..c7960f5 100644 --- a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjAskMedicalHistory.java +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjAskMedicalHistory.java @@ -255,4 +255,27 @@ @ApiModelProperty(value = "鎺ュ宸ラ緞") private String jhgl; + + /** + * 鏃㈠線鐥呭彶 ids + */ + private String medicalHistoryIds; + + /** + * 鏃㈠線鐥呭彶 鍏朵粬澶囨敞 + */ + private String medicalHistoryOther; + + /** + * 鍗曚綅鍚嶇О + */ + private String dwmc; + + /** + * 鐢ㄥ伐鍗曚綅 + */ + private String ygdw; + + @TableField(exist = false) + private List<TjAskHistorys> zhiyezzList; } diff --git a/ltkj-hosp/src/main/resources/mapper/hosp/TjAskMedicalHistoryMapper.xml b/ltkj-hosp/src/main/resources/mapper/hosp/TjAskMedicalHistoryMapper.xml index 1708d8b..5c684ad 100644 --- a/ltkj-hosp/src/main/resources/mapper/hosp/TjAskMedicalHistoryMapper.xml +++ b/ltkj-hosp/src/main/resources/mapper/hosp/TjAskMedicalHistoryMapper.xml @@ -36,10 +36,14 @@ <result property="deleted" column="deleted"/> <result property="fromBy" column="from_by"/> <result property="zzsjj" column="zzsjj" typeHandler="com.ltkj.common.mybatis.JsonStringArrayTypeHandler"/> - <result property="contactPoison" column="contact_poison"/> - <result property="gongZhong" column="gong_zhong"/> - <result property="gongLing" column="gong_ling"/> - <result property="jhgl" column="jhgl"/> + <result property="contactPoison" column="contact_poison"/> + <result property="gongZhong" column="gong_zhong"/> + <result property="gongLing" column="gong_ling"/> + <result property="jhgl" column="jhgl"/> + <result property="medicalHistoryIds" column="medical_history_ids"/> + <result property="medicalHistoryOther" column="medical_history_other"/> + <result property="dwmc" column="dwmc"/> + <result property="ygdw" column="ygdw"/> </resultMap> <resultMap id="TjAskMedicalHistoryTjAskHistorysResult" type="TjAskMedicalHistory" extends="TjAskMedicalHistoryResult"> @@ -65,7 +69,9 @@ <sql id="selectTjAskMedicalHistoryVo"> select ask_id, cus_id, cus_name, work, work_status, medical_history, chuchao, jingqi, zhouqi, mociage, zinv, liuchan, zaochan, sichan, yichangtai, xiyan, xiyanpinlv, xiyanyear, yinjiu, yinjiupinlv, yinjiuyear, qita, remark, create_by, - create_time, update_by, update_time, deleted,from_by,zzsjj,contact_poison,gong_zhong,gong_ling,jhgl + create_time, update_by, update_time, deleted,from_by,zzsjj,contact_poison,gong_zhong,gong_ling,jhgl, + dwmc, + ygdw from tj_ask_medical_history </sql> @@ -93,7 +99,9 @@ sub_create_time, b.update_by as sub_update_by, b.update_time as sub_update_time, b.deleted as - sub_deleted + sub_deleted, + a.dwmc, + a.ygdw from tj_ask_medical_history a left join tj_ask_historys b on b.ask_id = a.ask_id where a.ask_id = #{askId} @@ -159,6 +167,10 @@ </if> <if test="fromBy != null">from_by, </if> + <if test="dwmc != null">dwmc, + </if> + <if test="ygdw != null">ygdw, + </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="cusId != null">#{cusId}, @@ -217,6 +229,10 @@ </if> <if test="fromBy != null">#{fromBy}, </if> + <if test="dwmc != null">#{dwmc}, + </if> + <if test="ygdw != null">#{ygdw}, + </if> </trim> </insert> @@ -307,6 +323,12 @@ <if test="fromBy != null">from_By = #{fromBy}, </if> + <if test="dwmc != null">dwmc = + #{dwmc}, + </if> + <if test="ygdw != null">ygdw = + #{ygdw}, + </if> </trim> where ask_id = #{askId} </update> -- Gitblit v1.8.0