Commit fce987d4913b96950121a595c47ce6749df1c80c

Authored by yangfei
1 parent c91593021a
Exists in master

医生消息管理

Showing 6 changed files with 133 additions and 33 deletions

parent/base.common/src/main/java/com/lyms/base/common/dao/content/ContentDoctorMessageMapper.xml View file @ fce987d
... ... @@ -28,7 +28,7 @@
28 28 ID AS id, DOCTOR_ID AS doctorId, TEMPLET_MSG_ID AS templetMsgId, CONTENT AS content, RICH_TEXT AS richText, RICH_TITLE AS richTitle, IS_RICH AS isRich, KEY_CODE AS keyCode, CREATE_TIME AS createTime, CREATE_ID AS createId, CREATE_NAME AS createName, MODIFY_ID AS modifyId, MODIFY_NAME AS modifyName, MODIFY_TIME AS modifyTime, IFDEL AS ifdel, ENABLE AS enable
29 29 </sql>
30 30 <select id="getHospMessage" resultMap="BaseResultMap" parameterType="com.lyms.base.common.entity.content.ContentDoctorMessage">
31   - select dm.*,mt.TAGS_IDS from CONTENT_DOCTOR_MESSAGE dm left join CONTENT_HOSPITAL_MESSAGE_TAGS mt
  31 + select dm.*,group_concat(mt.TAGS_IDS ) as TAGS_IDS from CONTENT_DOCTOR_MESSAGE dm left join CONTENT_HOSPITAL_MESSAGE_TAGS mt
32 32 ON
33 33 dm.ID = mt.HOSPITAL_MESSAGE_ID
34 34 <where>
... ... @@ -43,6 +43,8 @@
43 43 </if>
44 44 AND dm.IFDEL = 0
45 45 </where>
  46 + GROUP BY dm.ID
  47 + order by CREATE_TIME DESC
46 48 </select>
47 49 </mapper>
parent/base.common/src/main/java/com/lyms/base/common/vo/content/InContentMessageTemplateDTO.java View file @ fce987d
... ... @@ -14,6 +14,10 @@
14 14 */
15 15 private String templateVersionId;
16 16 /**
  17 + * 医院ID
  18 + */
  19 + private String hId;
  20 + /**
17 21 * 信息内容
18 22 */
19 23 private String content;
... ... @@ -44,6 +48,14 @@
44 48  
45 49 public void setId(String id) {
46 50 this.id = id;
  51 + }
  52 +
  53 + public String gethId() {
  54 + return hId;
  55 + }
  56 +
  57 + public void sethId(String hId) {
  58 + this.hId = hId;
47 59 }
48 60  
49 61 public int getIsRich() {
parent/center.manager/src/main/java/com/lyms/cm/controller/content/ContentDoctorMessageController.java View file @ fce987d
... ... @@ -10,6 +10,7 @@
10 10 import com.lyms.base.common.vo.content.ContentMessageTemplateDTO;
11 11 import com.lyms.base.common.vo.content.InContentMessageTemplateDTO;
12 12 import com.lyms.base.common.vo.content.MsgTempSerachDTO;
  13 +import com.lyms.constants.OperationName;
13 14 import com.lyms.util.CollectionUtils;
14 15 import com.lyms.util.StrUtils;
15 16 import com.lyms.web.bean.AjaxResult;
... ... @@ -46,6 +47,16 @@
46 47 @Autowired
47 48 private OrganizationsService organService;
48 49  
  50 + @RequestMapping(value = "/{id}/delete", method = {RequestMethod.GET, RequestMethod.POST})
  51 + @ResponseBody
  52 + public AjaxResult delete(@PathVariable String id, AjaxResult ajaxResult) {
  53 + ContentDoctorMessage message = contentDoctorMessageService.selectById(id);
  54 + message.setIfdel(1);
  55 + message.setModifyTime(new Date());
  56 + boolean tag = contentDoctorMessageService.updateById(message);
  57 + return handleAjaxResult(ajaxResult, tag, OperationName.DELETE);
  58 + }
  59 +
49 60 /**
50 61 * 新增消息模板信息
51 62 * <p>
52 63  
53 64  
54 65  
55 66  
56 67  
... ... @@ -57,20 +68,30 @@
57 68 @ResponseBody
58 69 public AjaxResult update(@ModelAttribute InContentMessageTemplateDTO contentMessage, AjaxResult ajaxResult) {
59 70 ContentDoctorMessage messTemp = new ContentDoctorMessage();
60   - if(StrUtils.isNotEmpty(contentMessage.getId())&&!contentMessage.getId().equals("0")){//更新
  71 + if (StrUtils.isNotEmpty(contentMessage.getId()) && !contentMessage.getId().equals("0")) {//更新
61 72 messTemp = contentDoctorMessageService.selectById(contentMessage.getId());
62   - if(messTemp!=null){
  73 + if (messTemp != null) {
63 74 messTemp.setModifyTime(new Date());
64 75 }
65 76 Map<String, Object> map = new HashMap<>();
66   - map.put("HOSPITAL_MESSAGE_ID",messTemp.getId());
  77 + map.put("HOSPITAL_MESSAGE_ID", messTemp.getId());
67 78 //先删除标签关系
68 79 contentHospitalMessageTagsService.deleteByMap(map);
  80 + } else {
  81 + messTemp.setId(StrUtils.uuid());
  82 + messTemp.setEnable(1);
  83 + messTemp.setIfdel(0);
  84 + messTemp.setDoctorId(contentMessage.gethId());
  85 + messTemp.setCreateTime(new Date());
  86 + messTemp.setKeyCode(messTemp.getId());
  87 + contentDoctorMessageService.insert(messTemp);
69 88 }
  89 + messTemp.setTempletMsgId("-1");
70 90 messTemp.setContent(contentMessage.getContent());
71 91 messTemp.setRichTitle(contentMessage.getRichTitle());
72 92 messTemp.setRichText(contentMessage.getRichText());
73 93 messTemp.setIsRich(contentMessage.getIsRich());
  94 +
74 95 List<ContentHospitalMessageTags> tempTags = new ArrayList<>();
75 96 for (String tags : contentMessage.getContentTagIds()) {
76 97 ContentHospitalMessageTags ctmt = new ContentHospitalMessageTags();
77 98  
78 99  
79 100  
80 101  
81 102  
... ... @@ -82,23 +103,26 @@
82 103  
83 104 boolean tags = contentHospitalMessageTagsService.insertBatch(tempTags);
84 105 boolean tag = contentDoctorMessageService.insertOrUpdate(messTemp);
85   - return handleAjaxResult(ajaxResult, tag&&tags, "修改成功");
  106 + return handleAjaxResult(ajaxResult, tag && tags, "修改成功");
86 107 }
87 108  
88 109 /**
89 110 * 跳转到编辑页面
90   - *@param dmId 医院消息ID
  111 + *
  112 + * @param dmId 医院消息ID
91 113 * @return
92 114 */
93 115 @RequestMapping(value = {"/{dmId}/toEdit"}, method = RequestMethod.GET)
94   - public String toEdit(@PathVariable String dmId, Model model) {
  116 + public String toEdit(@PathVariable String dmId, String hId, Model model) {
95 117 model.addAttribute("dmId", dmId);
  118 + model.addAttribute("hId", hId);
96 119 if (StrUtils.isNotEmpty(dmId)) {//查询
97 120 ContentDoctorMessage tempInfo = contentDoctorMessageService.selectById(dmId);
98   - String hName = organService.getNameById(tempInfo.getDoctorId());
  121 + if (tempInfo != null) {
  122 + model.addAttribute("tempInfo", tempInfo);
  123 + }
  124 + String hName = organService.getNameById(hId);
99 125 model.addAttribute("hName", hName);
100   - model.addAttribute("tempInfo", tempInfo);
101   -
102 126 Map<String, Object> colMap = new HashMap<>();
103 127 colMap.put("HOSPITAL_MESSAGE_ID", dmId);
104 128 List<ContentHospitalMessageTags> tagList = contentHospitalMessageTagsService.selectByMap(colMap);
105 129  
... ... @@ -130,12 +154,14 @@
130 154 contentHospitalMessageVersionService.deleteById(chmv.getId());
131 155 Wrapper<ContentDoctorMessage> cdmWrapper = new EntityWrapper<>();
132 156 cdmWrapper.where("DOCTOR_ID = {0}", hosptId);
133   - cdmWrapper.isNotNull("TEMPLET_MSG_ID");
  157 + cdmWrapper.and("TEMPLET_MSG_ID !={0}", "-1");
134 158 List<ContentDoctorMessage> messageList = contentDoctorMessageService.selectList(cdmWrapper);
135 159 for (ContentDoctorMessage ml : messageList) {
136 160 ml.setIfdel(1);
137 161 }
138   - contentDoctorMessageService.updateBatchById(messageList);
  162 + if (org.apache.commons.collections.CollectionUtils.isNotEmpty(messageList)) {
  163 + contentDoctorMessageService.updateBatchById(messageList);
  164 + }
139 165 }
140 166 }
141 167  
... ... @@ -168,7 +194,7 @@
168 194 cdm.setEnable(1);
169 195 cdm.setCreateTime(new Date());
170 196 doctorMessages.add(cdm);
171   - if(StrUtils.isNotEmpty(mt.getContentTagIds())){
  197 + if (StrUtils.isNotEmpty(mt.getContentTagIds())) {
172 198 ContentHospitalMessageTags messageTags = new ContentHospitalMessageTags();
173 199 messageTags.setId(StrUtils.uuid());
174 200 messageTags.setTagsIds(mt.getContentTagIds());
175 201  
... ... @@ -177,12 +203,12 @@
177 203 }
178 204 }
179 205  
180   - if(CollectionUtils.isNotEmpty(doctorMessages)){
  206 + if (CollectionUtils.isNotEmpty(doctorMessages)) {
181 207 //批量添加消息
182 208 boolean saveResult = contentDoctorMessageService.insertBatch(doctorMessages);
183 209 }
184 210  
185   - if(CollectionUtils.isNotEmpty(hdoctorMessages)){
  211 + if (CollectionUtils.isNotEmpty(hdoctorMessages)) {
186 212 //批量添加消息标签
187 213 boolean saveTagResult = contentHospitalMessageTagsService.insertBatch(hdoctorMessages);
188 214 }
parent/center.manager/src/main/java/com/lyms/cm/controller/content/ContentMessageTemplateController.java View file @ fce987d
... ... @@ -3,8 +3,12 @@
3 3 import com.baomidou.mybatisplus.mapper.EntityWrapper;
4 4 import com.baomidou.mybatisplus.mapper.Wrapper;
5 5 import com.baomidou.mybatisplus.plugins.Page;
  6 +import com.lyms.base.common.entity.content.ContentDoctorMessage;
  7 +import com.lyms.base.common.entity.content.ContentHospitalMessageTags;
6 8 import com.lyms.base.common.entity.content.ContentMessageTemplate;
7 9 import com.lyms.base.common.entity.content.ContentTemplateMessageTags;
  10 +import com.lyms.base.common.service.content.ContentDoctorMessageService;
  11 +import com.lyms.base.common.service.content.ContentHospitalMessageTagsService;
8 12 import com.lyms.base.common.service.content.ContentMessageTemplateService;
9 13 import com.lyms.base.common.service.content.ContentTemplateMessageTagsService;
10 14 import com.lyms.base.common.service.content.impl.ContentTagsServiceImpl;
... ... @@ -15,6 +19,7 @@
15 19 import com.lyms.util.StrUtils;
16 20 import com.lyms.web.bean.AjaxResult;
17 21 import com.lyms.web.controller.BaseController;
  22 +import org.apache.commons.collections.CollectionUtils;
18 23 import org.springframework.beans.factory.annotation.Autowired;
19 24 import org.springframework.stereotype.Controller;
20 25 import org.springframework.ui.Model;
... ... @@ -39,6 +44,10 @@
39 44 //模板信息标签
40 45 @Autowired
41 46 private ContentTemplateMessageTagsService messageTagsService;
  47 + @Autowired
  48 + private ContentDoctorMessageService contentDoctorMessageService;
  49 + @Autowired
  50 + private ContentHospitalMessageTagsService contentHospitalMessageTagsService;
42 51  
43 52 /**
44 53 * 跳转到列表页面
... ... @@ -62,6 +71,18 @@
62 71 temp.setIfdel(1);
63 72 temp.setModifyTime(new Date());
64 73 }
  74 +
  75 + Wrapper<ContentDoctorMessage> messageWrapper = new EntityWrapper<>();
  76 + messageWrapper.in("TEMPLET_MSG_ID",ids);
  77 + List<ContentDoctorMessage> contentDoctorMessages = contentDoctorMessageService.selectList(messageWrapper);
  78 + for (ContentDoctorMessage message : contentDoctorMessages){
  79 + message.setIfdel(1);
  80 + message.setModifyTime(new Date());
  81 + }
  82 + if(CollectionUtils.isNotEmpty(contentDoctorMessages)){
  83 + contentDoctorMessageService.updateBatchById(contentDoctorMessages);
  84 + }
  85 +
65 86 boolean tag = messageTemplateService.updateBatchById(template);
66 87 return handleAjaxResult(ajaxResult, tag, OperationName.DELETE);
67 88 }
... ... @@ -111,7 +132,7 @@
111 132 }
112 133 page.setRecords(cmtdList);
113 134 return toGridData(page);
114   - }else{
  135 + } else {
115 136 return toGridData(getPage());
116 137 }
117 138 }
118 139  
119 140  
120 141  
121 142  
122 143  
123 144  
... ... @@ -128,20 +149,45 @@
128 149 public AjaxResult create(@ModelAttribute InContentMessageTemplateDTO contentMessage, AjaxResult ajaxResult) {
129 150 ContentMessageTemplate messTemp = new ContentMessageTemplate();
130 151 String operationName = "操作";
131   - if(StrUtils.isNotEmpty(contentMessage.getId())&&!contentMessage.getId().equals("0")){//更新
  152 + if (StrUtils.isNotEmpty(contentMessage.getId()) && !contentMessage.getId().equals("0")) {//更新
132 153 messTemp = messageTemplateService.selectById(contentMessage.getId());
133   - if(messTemp!=null){
  154 + if (messTemp != null) {
134 155 messTemp.setModifyTime(new Date());
135 156 }
136 157 operationName = "修改";
  158 + Wrapper<ContentDoctorMessage> wrapper = new EntityWrapper<>();
  159 + wrapper.where("TEMPLET_MSG_ID={0}", contentMessage.getId());
  160 + List<ContentDoctorMessage> contentDoctorMessages = contentDoctorMessageService.selectList(wrapper);
  161 + if (CollectionUtils.isNotEmpty(contentDoctorMessages)) {//同步更新医院的短消息
  162 + for (ContentDoctorMessage message : contentDoctorMessages) {
  163 + message.setContent(contentMessage.getContent());
  164 + message.setRichTitle(contentMessage.getRichTitle());
  165 + message.setRichText(contentMessage.getRichText());
  166 + message.setIsRich(contentMessage.getIsRich());
  167 + Map<String, Object> map = new HashMap<>();
  168 + map.put("HOSPITAL_MESSAGE_ID", message.getId());
  169 + //先删除标签关系
  170 + contentHospitalMessageTagsService.deleteByMap(map);
137 171  
  172 + List<ContentHospitalMessageTags> tempTags = new ArrayList<>();
  173 + for (String tags : contentMessage.getContentTagIds()) {
  174 + ContentHospitalMessageTags ctmt = new ContentHospitalMessageTags();
  175 + ctmt.setId(StrUtils.uuid());
  176 + ctmt.setHospitalMessageId(message.getId());
  177 + ctmt.setTagsIds(tags);
  178 + tempTags.add(ctmt);
  179 + }
  180 + contentHospitalMessageTagsService.insertBatch(tempTags);
  181 + }
  182 + contentDoctorMessageService.updateBatchById(contentDoctorMessages);
  183 + }
138 184 Map<String, Object> map = new HashMap<>();
139   - map.put("MESSAGE_TEMPLATE",messTemp.getId());
  185 + map.put("MESSAGE_TEMPLATE", messTemp.getId());
140 186 //先删除标签关系
141 187 messageTagsService.deleteByMap(map);
142   - }else{
  188 + } else {
143 189 messTemp.setId(StrUtils.uuid());
144   - messTemp.setEnable(0);
  190 + messTemp.setEnable(1);
145 191 messTemp.setIfdel(0);
146 192 messTemp.setCreateTime(new Date());
147 193 messTemp.setKeyCode(messTemp.getId());
... ... @@ -163,7 +209,7 @@
163 209 }
164 210 boolean tags = messageTagsService.insertBatch(tempTags);
165 211 boolean tag = messageTemplateService.insertOrUpdate(messTemp);
166   - return handleAjaxResult(ajaxResult, tag&&tags, operationName);
  212 + return handleAjaxResult(ajaxResult, tag && tags, operationName);
167 213 }
168 214  
169 215 }
parent/center.manager/src/main/webapp/WEB-INF/views/content/org_msg_edit.html View file @ fce987d
... ... @@ -12,6 +12,7 @@
12 12 <div class="col-sm-9">
13 13 <input type="text" name="hName" value="$!hName" disabled class="form-control">
14 14 <input type="hidden" name="id" value="$!dmId" class="form-control">
  15 + <input type="hidden" name="hId" value="$!hId" class="form-control">
15 16 </div>
16 17 </div>
17 18  
parent/center.manager/src/main/webapp/WEB-INF/views/content/org_operate.html View file @ fce987d
... ... @@ -6,14 +6,14 @@
6 6 <div class="ibox-content mailbox-content">
7 7 <div class="container-fluid">
8 8 <ul class="list-group col-sm-12">
9   - <li onclick='showMessageList()' class='list-group-item col-sm-9'>医院介绍</li>
10   - <li onclick='showMessageList()' class='list-group-item col-sm-9'>科室介绍</li>
11   - <li onclick='showMessageList()' class='list-group-item col-sm-9'>医生介绍</li>
12   - <li onclick='showMessageList()' class='list-group-item col-sm-9'>检查项目</li>
13   - <li onclick='showMessageList()' class='list-group-item col-sm-9'>孕期产检</li>
14   - <li onclick='showMessageList()' class='list-group-item col-sm-9'>儿童保健</li>
15   - <li onclick='showMessageList()' class='list-group-item col-sm-9'>孕妇学校</li>
16   - <li onclick='showMessageList()' class='list-group-item col-sm-9'>床位预约</li>
  9 + <li class='list-group-item col-sm-9'>医院介绍</li>
  10 + <li class='list-group-item col-sm-9'>科室介绍</li>
  11 + <li class='list-group-item col-sm-9'>医生介绍</li>
  12 + <li class='list-group-item col-sm-9'>检查项目</li>
  13 + <li class='list-group-item col-sm-9'>孕期产检</li>
  14 + <li class='list-group-item col-sm-9'>儿童保健</li>
  15 + <li class='list-group-item col-sm-9'>孕妇学校</li>
  16 + <li class='list-group-item col-sm-9'>床位预约</li>
17 17 <li onclick='showMessageList()' class='col-sm-9 btn btn-w-m btn-primary'>短信内容设置</li>
18 18 </ul>
19 19 <div class="clearfix"></div>
... ... @@ -101,6 +101,9 @@
101 101 <script type="text/javascript">
102 102 var controllerRequestMappint = "/contentDoctorMessage/";
103 103  
  104 + function add(){
  105 + popWindow("新增信息", APP.PATH + controllerRequestMappint + "0/toEdit?hId=$hospId", 850, 800);
  106 + }
104 107 function showMessageList() {
105 108 layer.closeAll();//关闭弹窗
106 109 var queryParams = {
... ... @@ -112,6 +115,13 @@
112 115 $('#dataTable').bootstrapTable('refresh', queryParams);
113 116 }
114 117  
  118 + function del(msgId){
  119 + $.post(controllerRequestMappint + msgId+"/delete", "", function (data) {
  120 + msg(r.message);
  121 + showMessageList();
  122 + }, "json");
  123 + }
  124 +
115 125 function changeVer() {
116 126 $("#showVer").hide();
117 127 $("#dataVer").removeClass("hidden");
... ... @@ -123,7 +133,10 @@
123 133 //发起Ajax进行修改
124 134 // alert(verId);
125 135 $.post(controllerRequestMappint + "configrTempVer", "hosptId=$hospId&tvId=" + verId, function (data) {
126   - alert(JSON.stringify(data));
  136 + showMessageList();
  137 + var verText = $("#tempVerId option:selected").text();
  138 + $("#verName").text(verText);
  139 +// alert(JSON.stringify(data));
127 140 }, "json");
128 141  
129 142 $("#showVer").show();
... ... @@ -186,7 +199,7 @@
186 199 pageList: [200], //可供选择的每页的行数(*)
187 200 strictSearch: true,
188 201 onDblClickRow: function (row, ev) {
189   - popWindow("修改信息", APP.PATH + controllerRequestMappint + row.id + "/toEdit?hName=", 850, 800);
  202 + popWindow("修改信息", APP.PATH + controllerRequestMappint + row.id + "/toEdit?hId=$hospId", 850, 800);
190 203 },
191 204 queryParams: function (params) {
192 205 return {
... ... @@ -230,7 +243,7 @@
230 243 title: '操作',
231 244 width: "20%",
232 245 formatter: function (value, row, index) {
233   - return "<button class='btn btn-sm btn-success m-r-xs'>修改</button><button class='btn btn-sm btn-danger m-r-xs'>删除</button>";
  246 + return "<button class='btn btn-sm btn-danger m-r-xs' onclick=del('"+value+"')>删除</button>";
234 247 }
235 248 }]
236 249 });