Browse Source

new 新增 随访任务 档案馆(修改)

bzd_lxf 5 months ago
parent
commit
0b7a2dbea6

+ 0 - 97
health-admin/src/main/java/com/bzd/web/controller/DTP/RecipeRegisterController.java

@@ -154,101 +154,4 @@ public class RecipeRegisterController extends BaseController {
         return util.exportExcel(pageData, "处方数据");
     }
 
-
-
-
-    /**
-     * 档案管理页
-     * @return
-     */
-    @RequiresPermissions("dtp:RecipeRegister:view")
-    @GetMapping("/archives")
-    public String archives(ModelMap mmap)
-    {
-        mmap.put("posts", 1);
-        return prefix_archives + "/archivesList";
-    }
-
-    /**
-     * 档案管理数据查询
-     * @return
-     * @throws Exception
-     */
-    @RequiresPermissions("dtp:RecipeRegister:archivesList")
-    @PostMapping("/archivesList")
-    @ResponseBody
-    public TableDataInfo archivesList() throws Exception {
-        PageData pd = this.getPageData();
-        startPage();
-        List<PageData> pageData = dtpService.findArchivesList(pd);
-        return getDataTable(pageData);
-    }
-
-    /**
-     * 档案管理数据删除 根据id
-     * @return
-     * @throws Exception
-     */
-    @RequiresPermissions("dtp:RecipeRegister:remove")
-    @Log(title = "档案管理删除", businessType = BusinessType.DELETE)
-    @PostMapping("/archivesRemove")
-    @ResponseBody
-    public AjaxResult archivesRemove() throws Exception
-    {
-        PageData pd = new PageData();
-        pd = this.getPageData();
-        try {
-
-        }catch (Exception e){
-
-        }
-        Integer integer = dtpService.archivesRemove(pd);
-        return toAjax(integer);
-    }
-
-    /**
-     * 档案管理数据修改
-     * @return
-     * @throws Exception
-     */
-    @RequiresPermissions("dtp:RecipeRegister:edit")
-    @GetMapping("/archivesEdit/{archivesId}")
-    public String archivesView(@PathVariable("archivesId") Long archivesId, ModelMap mmap)throws Exception
-    {
-        ObjectMapper mapper = new ObjectMapper();
-        PageData pd = this.getPageData();
-        pd.put("archivesId",archivesId);
-        PageData pageData = dtpService.findArchivesList(pd).get(0);
-        mmap.putAll(pageData);
-        return prefix_archives + "/archivesEdit";
-    }
-
-    /**
-     * 保存档案管理数据修改
-     */
-    @RequiresPermissions("dtp:RecipeRegister:edit")
-    @Log(title = "档案管理修改", businessType = BusinessType.UPDATE)
-    @PostMapping("/archivesEdit")
-    @ResponseBody
-    public AjaxResult archivesEditSave() throws Exception
-    {
-        PageData pd = this.getPageData();
-        pd.put("up","up");
-        try {
-            Integer updateResult = dtpService.updateArchives(pd);
-            if (updateResult == 1) {
-                // 成功更新
-                return AjaxResult.success("修改成功");
-            } else {
-                // 更新失败
-                logger.error("Failed to update archives with ID: {}", pd.get("id"));
-                return AjaxResult.error("修改失败");
-            }
-        } catch (Exception e) {
-            // 异常处理
-            logger.error("Error occurred while updating archives with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
-            return AjaxResult.error("系统异常:" + e.getMessage());
-        }
-    }
-
 }

+ 15 - 1
health-admin/src/main/resources/templates/dtp/archives/archivesEdit.html

@@ -248,7 +248,7 @@
 
 <script>
     function submitHandler() {
-        var prefix = ctx + "dtp/recipe";
+        var prefix = ctx + "dtp/pmService";
         if ($.validate.form()) {
             var data = $("#form-server-edit").serializeArray();
             /*var status = $("input[id='status']").is(':checked') == true ? 0 : 1;
@@ -260,4 +260,18 @@
             $.operate.saveTab(prefix + "/archivesEdit", data);
         }
     }
+    const inputs = document.querySelectorAll('.styled-input');
+
+    // 遍历所有输入框并添加事件监听器
+    inputs.forEach(function(input) {
+        // 当鼠标进入输入框时改变背景色
+        input.addEventListener('mouseover', function() {
+            this.style.backgroundColor = '#f0f0f0'; // 浅灰色背景
+        });
+
+        // 当鼠标离开输入框时调用公共函数
+        input.addEventListener('mouseout', function() {
+            this.style.backgroundColor = ''; // 清空背景色属性,使用默认值
+        });
+    });
 </script>

+ 15 - 1
health-admin/src/main/resources/templates/dtp/archives/archivesList.html

@@ -171,7 +171,7 @@
 	<script th:inline="javascript">
 		var editFlag = [[${@permission.hasPermi('dtp:RecipeRegister:edit')}]];
 		var removeFlag = [[${@permission.hasPermi('dtp:RecipeRegister:remove')}]];
-		var prefix = ctx + "dtp/recipe";
+		var prefix = ctx + "dtp/pmService";
 		$(function() {
 		    var panehHidden = false;
 		    if ($(this).width() < 1590) {
@@ -368,6 +368,20 @@
 			});
 		}
 
+		const inputs = document.querySelectorAll('.styled-input');
+
+		// 遍历所有输入框并添加事件监听器
+		inputs.forEach(function(input) {
+			// 当鼠标进入输入框时改变背景色
+			input.addEventListener('mouseover', function() {
+				this.style.backgroundColor = '#f0f0f0'; // 浅灰色背景
+			});
+
+			// 当鼠标离开输入框时调用公共函数
+			input.addEventListener('mouseout', function() {
+				this.style.backgroundColor = ''; // 清空背景色属性,使用默认值
+			});
+		});
 
 		/* 用户状态显示 */
 		function statusTools(row) {

+ 237 - 0
health-admin/src/main/resources/templates/dtp/followUp/followUpEdit.html

@@ -0,0 +1,237 @@
+ <!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('随访任务')" />
+</head>
+<style>
+
+</style>
+<script>
+    document.addEventListener('DOMContentLoaded', function() {
+        // 获取所有具有 .styled-input 类的选择框
+        var selects = document.querySelectorAll('.styled-input');
+        selects.forEach(function(select) {
+            var initialValue = select.getAttribute('data-default-value') || ''; // 获取默认值,默认为空字符串
+            select.addEventListener('change', function() {
+                var currentValue = this.value;
+                if (currentValue !== '' && currentValue !== initialValue) {
+                    // 当值改变时,添加一个类来标识
+                    this.classList.add('changed');
+                    initialValue = currentValue; // 更新初始值
+                } else {
+                    // 如果值回到初始值,则移除标识类
+                    this.classList.remove('changed');
+                }
+            });
+        });
+    });
+</script>
+<body>
+    <div class="ui-layout-center">
+        <form class="form-horizontal" id="form-followUp-edit" th:object="${user}">
+            <h4 class="form-header h4">基本信息</h4>
+            <input type="hidden" id="id" name="id" th:value="${id}">
+            <div class="row">
+
+                <div class="col-sm-12">
+                    <div class="form-group">
+                        <!--is-required 增加星号 显示为必填-->
+                        <label class="col-sm-1 control-label">预约日期:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input type="text" class="styled-input time-input-new" id="appointmentDate" placeholder="预约日期" name="appointmentDate" th:value="${appointmentDate}" required/>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">业务归属:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <select name="sex" class="styled-input" th:with="type=${@dict.getType('sys_user_sex')}" >
+                                    <!--<option>所有</option>-->
+                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
+                                            th:selected="${dict.dictLabel} == ${gender}" ></option>
+                                </select>
+                                <!--<input name="gender" placeholder="请输入性别" class="styled-input" type="text" maxlength="30" th:value="${gender}" required>-->
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">任务名称:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="taskName" placeholder="请输入任务名称" class="styled-input" type="text" maxlength="30" th:value="${taskName}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">任务主题:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="taskTheme" placeholder="请输入任务主题" class="styled-input" type="text" maxlength="30" th:value="${taskTheme}" required>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+
+                <div class="col-sm-12">
+                    <div class="form-group">
+                        <!--is-required 增加星号 显示为必填-->
+                        <label class="col-sm-1 control-label">患者姓名:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="patientName" placeholder="请输入姓名" class="styled-input" type="text" maxlength="30" th:value="${patientName}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">性别:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <select name="gender" class="styled-input" th:with="type=${@dict.getType('sys_user_sex')}" >
+                                    <!--<option>所有</option>-->
+                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"
+                                            th:selected="${dict.dictLabel} == ${gender}" ></option>
+                                </select>
+                                <!--<input name="gender" placeholder="请输入性别" class="styled-input" type="text" maxlength="30" th:value="${gender}" required>-->
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">年龄:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="age" placeholder="请输入年龄" class="styled-input" type="text" maxlength="30" th:value="${age}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">随访小结:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="followUpSummary" placeholder="随访小结" class="styled-input" type="text" maxlength="30" th:value="${followUpSummary}" required>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <div class="col-sm-12">
+                    <div class="form-group">
+                        <!--is-required 增加星号 显示为必填-->
+                        <label class="col-sm-1 control-label">疾病:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="disease" placeholder="请输入证件类型" class="styled-input" type="text" maxlength="30" th:value="${disease}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">门店:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="storeName" placeholder="请输入证件号码" class="styled-input" type="text" maxlength="30" th:value="${storeName}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">药品通用名:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="genericName" placeholder="请输入证件号码" class="styled-input" type="text" maxlength="30" th:value="${genericName}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">商品名:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="productName" placeholder="请输入证件号码" class="styled-input" type="text" maxlength="30" th:value="${productName}" required>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <div class="col-sm-12">
+                    <div class="form-group">
+                        <!--is-required 增加星号 显示为必填-->
+                        <label class="col-sm-1 control-label">任务跟进人:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="taskFollower" placeholder="请输入疾病" class="styled-input" type="text" maxlength="30" th:value="${taskFollower}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">实际随访时间:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input type="text" class="styled-input time-input-new" id="actualFollowUpTime" placeholder="实际随访时间" name="actualFollowUpTime" th:value="${actualFollowUpTime}" required/>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">接通次数:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="callConnectedCount" placeholder="接通次数" class="styled-input" type="text" maxlength="30" th:value="${callConnectedCount}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">外呼次数:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="outboundCallCount" placeholder="外呼次数" class="styled-input" type="text" maxlength="30" th:value="${outboundCallCount}" required>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+
+                <div class="col-sm-12">
+                    <div class="form-group">
+                        <!--is-required 增加星号 显示为必填-->
+                        <label class="col-sm-1 control-label">下次外呼次数:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="nextOutboundCallCount" placeholder="下次外呼次数" class="styled-input" type="text" maxlength="30" th:value="${nextOutboundCallCount}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">任务状态:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="taskStatus" placeholder="任务状态" class="styled-input" type="text" maxlength="30" th:value="${taskStatus}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">最后外呼状态:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="lastOutboundStatus" placeholder="最后外呼状态"
+                                       class="styled-input" type="text" maxlength="30" th:value="${lastOutboundStatus}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">更新时间:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input type="text" class="styled-input time-input-new" id="updatedAt" placeholder="更新时间" name="updatedAt" th:value="${updateTime2}" required/>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+
+
+            </div>
+        </form>
+    </div>
+    <div class="main-content">
+        <div class="col-sm-offset-5 col-sm-10">
+            <button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>&nbsp;
+            <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
+        </div>
+    </div>
+	<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function submitHandler() {
+        var prefix = ctx + "dtp/pmService";
+        if ($.validate.form()) {
+            var data = $("#form-followUp-edit").serializeArray();
+            /*var status = $("input[id='status']").is(':checked') == true ? 0 : 1;
+            var roleIds = $.form.selectCheckeds("role");
+            var postIds = $.form.selectSelects("post");
+            data.push({"name": "status", "value": status});
+            data.push({"name": "roleIds", "value": roleIds});
+            data.push({"name": "postIds", "value": postIds});*/
+            $.operate.saveTab(prefix + "/followUpEdit", data);
+        }
+    }
+    const inputs = document.querySelectorAll('.styled-input');
+
+    // 遍历所有输入框并添加事件监听器
+    inputs.forEach(function(input) {
+        // 当鼠标进入输入框时改变背景色
+        input.addEventListener('mouseover', function() {
+            this.style.backgroundColor = '#f0f0f0'; // 浅灰色背景
+        });
+
+        // 当鼠标离开输入框时调用公共函数
+        input.addEventListener('mouseout', function() {
+            this.style.backgroundColor = ''; // 清空背景色属性,使用默认值
+        });
+    });
+</script>

+ 395 - 0
health-admin/src/main/resources/templates/dtp/followUp/followUpList.html

@@ -0,0 +1,395 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+	<th:block th:include="include :: header('随访任务')" />
+	<th:block th:include="include :: layout-latest-css" />
+	<th:block th:include="include :: ztree-css" />
+</head>
+<style>
+	/* 设置 ul 的基本样式 */
+	ul {
+		list-style-type: none; /* 去掉项目符号 */
+		padding: 0; /* 去掉默认的内边距 */
+		display: grid; /* 使用网格布局 */
+		grid-template-columns: repeat(5, 1fr); /* 设置三列 */
+	}
+	ul-list ul{
+		list-style-type: none; /* 去掉项目符号 */
+		padding: 0; /* 去掉默认的内边距 */
+		display: grid; /* 使用网格布局 */
+		grid-template-columns: repeat(4, 1fr); /* 设置三列 */
+	}
+	ul-list ul li{
+		/*padding: 10px;*/ /* 内边距 */
+		text-align: left; /* 文本居中 */
+	}
+
+	/* 设置 li 的基本样式 */
+	li {
+		/*background-color: lightblue; *//* 背景颜色 */
+		/*padding: 1px; !* 内边距 *!*/
+		text-align: right; /* 文本居中 */
+	}
+</style>
+
+<body class="gray-bg">
+	<div class="ui-layout-center">
+		<div class="container-div">
+			<div class="row">
+				<div class="col-sm-12 search-collapse" >
+					<form id="archives-form">
+						<input type="hidden" id="deptId" name="deptId">
+		                <input type="hidden" id="parentId" name="parentId">
+
+						<div class="select-list" >
+							<ul>
+								<li>
+									患者信息:<input type="text" class="styled-input" name="patientName"/>
+								</li>
+								<li>
+									药品:<input type="text"  class="styled-input" name="genericName"/>
+								</li>
+								<li>
+									预约日期:
+									<input type="text" disabled="" class="styled-input time-input" id="t" placeholder="预约日期" name="appointmentDate"  required/>
+								</li>
+								<li>
+									任务跟进人:<input type="text"  class="styled-input" name="taskFollower"/>
+								</li>
+								<li style="text-align: center">
+									<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+								    <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+								</li>
+							</ul>
+						</div>
+
+						<div class="ul-list select-list">
+							<ul>
+								<li>
+									门店:<input type="text"  class="styled-input" name="storeName"/>
+								</li>
+								<li>
+									任务状态:
+									<select name="flipStatus"  disabled="" class="styled-input" th:with="type=${@dict.getType('sys_up_yes_no')}" >
+										<option value="">所有</option>
+										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"></option>
+									</select>
+								</li>
+								<li>
+									最后外呼状态:
+									<select name="followUpStatus" class="styled-input" th:with="type=${@dict.getType('sys_follow_up_visit')}">
+										<option value="">所有</option>
+										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"></option>
+									</select>
+								</li>
+								<li>
+									最后外呼标记:
+									<select name="realNameStatus" class="styled-input" th:with="type=${@dict.getType('sys_real_yes_no')}">
+										<option value="">所有</option>
+										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"></option>
+									</select>
+								</li>
+							</ul>
+							<ul>
+								<li>
+									下次外呼时间:<input type="text" class="styled-input time-input" id="updateTime" placeholder="更新时间" name="updateTime" th:value="${updateTime}" required/>
+								</li>
+								<li>
+									疾病:<input type="text"  class="styled-input" name="disease"/>
+								</li>
+								<li>
+									随访小结:
+									<select name="gender" class="styled-input" th:with="type=${@dict.getType('sys_user_sex')}">
+										<option value="">所有</option>
+										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}" ></option>
+									</select>
+								</li>
+								<li>
+									完成日期:<input type="text"  disabled="" class="styled-input time-input" id="a" placeholder="更新时间" name="updateTime" th:value="${updateTime}" required/>
+								</li>
+							</ul>
+							<ul>
+								<li>
+									任务主题:
+									<select name="gender" class="styled-input" th:with="type=${@dict.getType('sys_user_sex')}">
+										<option value="">所有</option>
+										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}" ></option>
+									</select>
+								</li>
+								<li>
+									任务名称:<input type="text"  class="styled-input" name="taskName"/>
+								</li>
+								<li>
+									业务归属:
+									<select name="gender" class="styled-input" disabled="" th:with="type=${@dict.getType('sys_user_sex')}">
+										<option value="">所有</option>
+										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}" ></option>
+									</select>
+								</li>
+							</ul>
+						</div>
+					</form>
+				</div>
+
+		        <div class="btn-group-sm" id="toolbar" role="group">
+		        	<!--<a class="btn btn-success" onclick="$.operate.addTab()" shiro:hasPermission="system:user:add">
+		                <i class="fa fa-plus"></i> 新增
+		            </a>
+		             <a class="btn btn-primary single disabled" onclick="$.operate.editTab()" shiro:hasPermission="system:user:edit">
+			            <i class="fa fa-edit"></i> 修改
+			        </a>
+		            <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:user:remove">
+		                <i class="fa fa-remove"></i> 删除
+		            </a>
+		            <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="system:user:import">
+			            <i class="fa fa-upload"></i> 导入
+			        </a>
+		            <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:user:export">
+			            <i class="fa fa-download"></i> 导出
+			        </a>-->
+		        </div>
+
+		        <div class="col-sm-12 select-table table-striped">
+				    <table id="bootstrap-table"></table>
+				</div>
+			</div>
+		</div>
+	</div>
+
+	<th:block th:include="include :: footer" />
+	<th:block th:include="include :: layout-latest-js" />
+	<th:block th:include="include :: ztree-js" />
+	<script th:inline="javascript">
+		var editFlag = [[${@permission.hasPermi('dtp:pmService:edit')}]];
+		var removeFlag = [[${@permission.hasPermi('dtp:pmService:remove')}]];
+		var prefix = ctx + "dtp/pmService";
+		$(function() {
+		    var panehHidden = false;
+		    if ($(this).width() < 1590) {
+		        panehHidden = true;
+		    }
+		    $('body').layout({ initClosed: panehHidden, west__size: 185, resizeWithWindow: false });
+	     	// 回到顶部绑定
+	    	if ($.fn.toTop !== undefined) {
+	    		var opt = {
+	    			win:$('.ui-layout-center'),
+	    			doc:$('.ui-layout-center')
+	    		};
+	    		$('#scroll-up').toTop(opt);
+	    	}
+			queryArchivesList();
+		});
+
+		function queryArchivesList() {
+		    var options = {
+		        url: prefix + "/followUpList",
+		        viewUrl: prefix + "/followUpView/{id}",
+		        createUrl: prefix + "/followUpAdd",
+		        updateUrl: prefix + "/followUpEdit/{id}",
+		        removeUrl: prefix + "/followUpRemove",
+		        /*exportUrl: prefix + "/export",
+		        importUrl: prefix + "/importData",
+		        importTemplateUrl: prefix + "/importTemplate",*/
+		        sortName: "id",
+		        sortOrder: "asc",
+		        modalName: "档案",
+		        columns: [{
+		            checkbox: true
+		        },
+				{
+					field: 'appointmentDate',
+					title: '预约日期'
+				},
+				{
+					field: 'businessBelonging',
+					title: '业务归属'
+				},
+				{
+					field: 'taskName',
+					title: '任务名称'
+				},
+				{
+					field: 'taskTheme',
+					title: '任务主题'
+				},
+		        {
+		            field: 'patientName',
+		            title: '患者姓名'
+		        },
+		        {
+		            field: 'gender',
+		            title: '性别'
+		        },
+		        {
+		            field: 'age',
+		            title: '年龄'
+		        },
+		        {
+		            field: 'followUpSummary',
+		            title: '随访小结'
+		        },
+				{
+		            field: 'disease',
+		            title: '疾病'
+		        },
+				{
+		            field: 'storeName',
+		            title: '门店'
+		        },
+				{
+		            field: 'genericName',
+		            title: '药品通用名'
+		        },
+				{
+		            field: 'productName',
+		            title: '商品名'
+		        },
+				{
+		            field: 'taskFollower',
+		            title: '任务跟进人'
+		        },
+				{
+		            field: 'actualFollowUpTime',
+		            title: '实际随访时间'
+		        },
+				{
+		            field: 'callConnectedCount',
+		            title: '接通次数'
+		        },
+				{
+		            field: 'outboundCallCount',
+		            title: '外呼次数'
+		        },
+				{
+		            field: 'nextOutboundCallCount',
+		            title: '下次外呼次数'
+		        },
+				{
+		            field: 'taskStatus',
+		            title: '任务状态'
+		        },
+				{
+		            field: 'lastOutboundStatus',
+		            title: '最后外呼状态'
+		        },
+				{
+		            field: 'updateTime2',
+		            title: '更新时间'
+		        },
+				/*{
+		        	formatter: function (value, row, index) {
+						console.log(value+"-------v");
+						console.log(row+"-------r");
+		        		return statusTools(row);
+		        	}
+		        },*/
+
+		        {
+		            title: '操作',
+		            align: 'center',
+		            formatter: function(value, row, index) {
+		                if (row.serviceId != 1) {
+		                	var actions = [];
+			                actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+			                actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
+			                var more = [];
+			                /*more.push("<a class='btn btn-default btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.userId + ")'><i class='fa fa-key'></i>重置密码</a> ");
+			                more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authRole(" + row.userId + ")'><i class='fa fa-check-square-o'></i>分配角色</a>");
+			                actions.push('<a tabindex="0" class="btn btn-info btn-xs" role="button" data-container="body" data-placement="left" data-toggle="popover" data-html="true" data-trigger="hover" data-content="' + more.join('') + '"><i class="fa fa-chevron-circle-right"></i>更多操作</a>');*/
+			                return actions.join('');
+		            	} else {
+		                    return "";
+		                }
+		            }
+		        }]
+		    };
+		    $.table.init(options);
+		}
+
+
+
+		/*$('#btnExpand').click(function() {
+			$._tree.expandAll(true);
+		    $(this).hide();
+		    $('#btnCollapse').show();
+		});
+
+		$('#btnCollapse').click(function() {
+			$._tree.expandAll(false);
+		    $(this).hide();
+		    $('#btnExpand').show();
+		});*/
+
+		/* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
+		function resetPre() {
+			resetDate();
+			$("#archives-form")[0].reset();
+			$("#deptId").val("");
+			$("#parentId").val("");
+			$(".curSelectedNode").removeClass("curSelectedNode");
+			$.table.search();
+			var resetButton = document.getElementById('archives-form');
+			resetButton.addEventListener('click', function() {
+				var selects = document.querySelectorAll('.styled-input');
+				selects.forEach(function(select) {
+					var initialValue = select.getAttribute('data-default-value') || ''; // 获取默认值,默认为空字符串
+					var currentValue = select.value;
+					if (currentValue !== '') {
+						// 当值改变时,添加一个类来标识
+						select.classList.add('changed');
+						// 更新初始值
+						select.setAttribute('data-default-value', currentValue);
+					} else {
+						// 如果值回到初始值,则移除标识类
+						select.classList.remove('changed');
+					}
+				});
+			});
+		}
+
+		const inputs = document.querySelectorAll('.styled-input');
+
+		// 遍历所有输入框并添加事件监听器
+		inputs.forEach(function(input) {
+			// 当鼠标进入输入框时改变背景色
+			input.addEventListener('mouseover', function() {
+				this.style.backgroundColor = '#f0f0f0'; // 浅灰色背景
+			});
+
+			// 当鼠标离开输入框时调用公共函数
+			input.addEventListener('mouseout', function() {
+				this.style.backgroundColor = ''; // 清空背景色属性,使用默认值
+			});
+		});
+
+		/* 用户状态显示 */
+		function statusTools(row) {
+		    if (row.status == 1) {
+    			return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="enable(\'' + row.userId + '\')"></i> ';
+    		} else {
+    			return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.userId + '\')"></i> ';
+    		}
+		}
+
+		document.addEventListener('DOMContentLoaded', function() {
+			// 获取所有具有 .styled-input 类的选择框
+			var selects = document.querySelectorAll('.styled-input');
+			selects.forEach(function(select) {
+				var initialValue = select.getAttribute('data-default-value') || ''; // 获取默认值,默认为空字符串
+				select.addEventListener('change', function() {
+					var currentValue = this.value;
+					if (currentValue !== '' && currentValue !== initialValue) {
+						// 当值改变时,添加一个类来标识
+						this.classList.add('changed');
+						initialValue = currentValue; // 更新初始值
+					} else {
+						// 如果值回到初始值,则移除标识类
+						this.classList.remove('changed');
+					}
+				});
+			});
+		});
+	</script>
+</body>
+
+</html>

+ 0 - 14
health-system/src/main/java/com/bzd/system/service/DTPService.java

@@ -136,18 +136,4 @@ public class DTPService {
     public Integer softDeleteColdOrder(PageData pd) throws Exception {
         return daoSupport.delete("DTPMapper.updateDistributionOrder", pd);
     }
-
-    public List<PageData> findArchivesList(PageData pd) throws Exception{
-        return (List<PageData>) daoSupport.findForList("RecipeRegisterMapper.selectArchivesList", pd);
-
-    }
-
-    public Integer archivesRemove(PageData pd)throws Exception {
-        return daoSupport.delete("RecipeRegisterMapper.archivesRemove", pd);
-    }
-
-
-    public Integer updateArchives(PageData pd)throws Exception {
-        return daoSupport.update("RecipeRegisterMapper.updateArchives", pd);
-    }
 }

+ 66 - 0
health-system/src/main/java/com/bzd/system/service/PharmaceuticalService.java

@@ -0,0 +1,66 @@
+package com.bzd.system.service;
+
+import com.bzd.common.config.dao.DaoBase;
+import com.bzd.common.config.dao.DaoSupport;
+import com.bzd.common.config.dao.PageData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+/**
+ * 药事服务管理 service
+ */
+@Service
+public class PharmaceuticalService {
+
+    @Autowired
+    private DaoBase dao;
+
+    @Resource(name = "daoSupport")
+    private DaoSupport daoSupport;
+
+    public List<PageData> findArchivesList(PageData pd) throws Exception{
+        return (List<PageData>) daoSupport.findForList("PharmaceuticalServiceMapper.selectArchivesList", pd);
+
+    }
+
+    public Integer archivesRemove(PageData pd)throws Exception {
+        return daoSupport.delete("PharmaceuticalServiceMapper.archivesRemove", pd);
+    }
+
+
+    public Integer updateArchives(PageData pd)throws Exception {
+        return daoSupport.update("PharmaceuticalServiceMapper.updateArchives", pd);
+    }
+
+    public List<PageData> findFollowUpList(PageData pd) throws Exception{
+        return (List<PageData>) daoSupport.findForList("PharmaceuticalServiceMapper.selectFollowUpList", pd);
+
+    }
+
+    public Integer followUpRemove(PageData pd)throws Exception {
+        return daoSupport.delete("PharmaceuticalServiceMapper.followUpRemove", pd);
+    }
+
+
+    public Integer updateFollowUp(PageData pd)throws Exception {
+        return daoSupport.update("PharmaceuticalServiceMapper.updateFollowUp", pd);
+    }
+
+    public List<PageData> findFollowUpAssignList(PageData pd) throws Exception{
+        return (List<PageData>) daoSupport.findForList("PharmaceuticalServiceMapper.selectFollowUpAssignList", pd);
+
+    }
+
+    public Integer followUpAssignRemove(PageData pd)throws Exception {
+        return daoSupport.delete("PharmaceuticalServiceMapper.followUpAssignRemove", pd);
+    }
+
+
+    public Integer updateFollowUpAssign(PageData pd)throws Exception {
+        return daoSupport.update("PharmaceuticalServiceMapper.updateFollowUpAssign", pd);
+    }
+}

+ 462 - 0
health-system/src/main/resources/mapper/pmServiceMapper/PharmaceuticalServiceMapper.xml

@@ -0,0 +1,462 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="PharmaceuticalServiceMapper">
+
+	<!--档案管理查询-->
+	<select id="selectArchivesList" parameterType="pd" resultType="pd">
+		select *,DATE_FORMAT(updateTime, '%Y-%m-%d %H:%i:%s') AS updateTime2 from s_dtp_ysfw_archive_management where 1=1
+		<if test="archivesId != null and archivesId!=''">
+			and id=#{archivesId}
+		</if>
+		<if test="serviceTypeNumber!= null and serviceTypeNumber!=''">
+			and serviceTypeNumber=#{serviceTypeNumber}
+		</if>
+		<if test="serviceTypeName!= null and serviceTypeName!=''">
+			and serviceTypeName=#{serviceTypeName}
+		</if>
+		<if test="followUpPerson!= null and followUpPerson!=''">
+			and followUpPerson=#{followUpPerson}
+		</if>
+		<if test="gender!= null and gender!=''">
+			and gender=#{gender}
+		</if>
+		<if test="name!= null and name!=''">
+			and name=#{name}
+		</if>
+		<if test="genericName!= null and genericName!=''">
+			and genericName=#{genericName}
+		</if>
+		<if test="acceptFollowUp!= null and acceptFollowUp!=''">
+			and acceptFollowUp=#{acceptFollowUp}
+		</if>
+		<if test="archiveCompleteStatus!= null and archiveCompleteStatus!=''">
+			and archiveCompleteStatus=#{archiveCompleteStatus}
+		</if>
+		<if test="followUpPerson!= null and followUpPerson!=''">
+			and followUpPerson=#{followUpPerson}
+		</if>
+		<if test="storeName!= null and storeName!=''">
+			and storeName=#{storeName}
+		</if>
+		<if test="disease!= null and disease!=''">
+			and disease=#{disease}
+		</if>
+		<if test="flipStatus!= null and flipStatus!=''">
+			and flipStatus=#{flipStatus}
+		</if>
+		<if test="updateTime!= null and updateTime!=''">
+			and updateTime like concat(#{updateTime}, '%')
+		</if>
+		<if test="joinProject!= null and joinProject!=''">
+			and joinProject=#{joinProject}
+		</if>
+		<if test="charityAssistance!= null and charityAssistance!=''">
+			and charityAssistance=#{charityAssistance}
+		</if>
+
+	</select>
+
+	<!--档案管理修改-->
+	<update id="updateArchives" parameterType="pd" >
+		<if test="up != null and up!=''">
+			update s_dtp_ysfw_archive_management set
+		</if>
+		<if test="name!= null and name!=''">
+			name=#{name},
+		</if>
+		<if test="gender!= null and  gender!=''">
+			gender=#{gender},
+		</if>
+		<if test="age!= null and age!=''">
+			age=#{age},
+		</if>
+		<if test="phoneNumber!= null and  phoneNumber!=''">
+			phoneNumber=#{phoneNumber},
+		</if>
+		<if test="documentType!= null and documentType!=''">
+			documentType=#{documentType},
+		</if>
+		<if test="documentNumber!= null and documentNumber!=''">
+			documentNumber=#{documentNumber},
+		</if>
+		<if test="realNameStatus!= null and realNameStatus!=''">
+			realNameStatus=#{realNameStatus},
+		</if>
+		<if test="flipStatus!= null and flipStatus!=''">
+			flipStatus=#{flipStatus},
+		</if>
+		<if test="disease!= null and disease!=''">
+			disease=#{disease},
+		</if>
+		<if test="genericName!= null and genericName!=''">
+			genericName=#{genericName},
+		</if>
+		<if test="productName!= null and productName!=''">
+			productName=#{productName},
+		</if>
+		<if test="mdmCode!= null and mdmCode!=''">
+			mdmCode=#{mdmCode},
+		</if>
+		<if test="manufacturer!= null and manufacturer!=''">
+			manufacturer=#{manufacturer},
+		</if>
+		<if test="storeName!= null and storeName!=''">
+			storeName=#{storeName},
+		</if>
+		<!--<if test="归属门店!= null and 归属门店!=''">
+                 归属门店=#{归属门店},
+        </if>-->
+		<if test="archiveCreator!= null and archiveCreator!=''">
+			archiveCreator=#{archiveCreator},
+		</if>
+		<if test="archiveCompleter!= null and archiveCompleter!=''">
+			archiveCompleter=#{archiveCompleter},
+		</if>
+		<if test="acceptFollowUp!= null and acceptFollowUp!=''">
+			acceptFollowUp=#{acceptFollowUp},
+		</if>
+		<if test="followUpPerson!= null and followUpPerson!=''">
+			followUpPerson=#{followUpPerson},
+		</if>
+		<if test="archiveCompleteStatus!= null and archiveCompleteStatus!=''">
+			archiveCompleteStatus=#{archiveCompleteStatus},
+		</if>
+		<if test="charityAssistance!= null and charityAssistance!=''">
+			charityAssistance=#{charityAssistance},
+		</if>
+		<if test="joinProject!= null and joinProject!=''">
+			joinProject=#{joinProject},
+		</if>
+		<if test="followUpStatus!= null and followUpStatus!=''">
+			followUpStatus=#{followUpStatus},
+		</if>
+		<if test="updateTime!= null and updateTime!=''">
+			updateTime=#{updateTime}
+		</if>
+		<!--<if test="createTime!= null and createTime!=''">
+			create_time=#{createTime}
+		</if>-->
+
+		<if test="up != null and up!=''">
+			<if test="id!= null and id!=''">
+				where id=#{id}
+			</if>
+		</if>
+	</update>
+
+	<!--档案管理删除-->
+	<delete id="archivesRemove" parameterType="pd">
+		<if test="ids != null">
+			delete from s_dtp_ysfw_archive_management where
+			<if test="ids != null">
+				id in(#{ids})
+			</if>
+		</if>
+	</delete>
+
+	<!--随访任务 查询-->
+	<select id="selectFollowUpList" parameterType="pd" resultType="pd">
+		select *,DATE_FORMAT(updatedAt, '%Y-%m-%d %H:%i:%s') AS updateTime2 from s_dtp_ysfw_follow_up_task where 1=1
+		<if test="id != null and id != ''">
+			and id=#{id}
+		</if>
+		<if test="appointmentDate != null and appointmentDate != ''">
+			and appointmentDate=#{appointmentDate}
+		</if>
+		<if test="businessBelonging != null and businessBelonging != ''">
+			and businessBelonging=#{businessBelonging}
+		</if>
+		<if test="taskName != null and taskName != ''">
+			and taskName=#{taskName}
+		</if>
+		<if test="taskTheme != null and taskTheme != ''">
+			and taskTheme=#{taskTheme}
+		</if>
+		<if test="patientName != null and patientName != ''">
+			and patientName=#{patientName}
+		</if>
+		<if test="gender != null and gender != ''">
+			and gender=#{gender}
+		</if>
+		<if test="age != null and age != ''">
+			and age=#{age}
+		</if>
+		<if test="followUpSummary != null and followUpSummary != ''">
+			and followUpSummary=#{followUpSummary}
+		</if>
+		<if test="disease != null and disease != ''">
+			and disease=#{disease}
+		</if>
+		<if test="storeName != null and storeName != ''">
+			and storeName=#{storeName}
+		</if>
+		<if test="genericName != null and genericName != ''">
+			and genericName=#{genericName}
+		</if>
+		<if test="productName != null and productName != ''">
+			and productName=#{productName}
+		</if>
+		<if test="taskFollower != null and taskFollower != ''">
+			and taskFollower=#{taskFollower}
+		</if>
+		<if test="actualFollowUpTime != null and actualFollowUpTime != ''">
+			and actualFollowUpTime=#{actualFollowUpTime}
+		</if>
+		<if test="callConnectedCount != null and callConnectedCount != ''">
+			and callConnectedCount=#{callConnectedCount}
+		</if>
+		<if test="outboundCallCount != null and outboundCallCount != ''">
+			and outboundCallCount=#{outboundCallCount}
+		</if>
+		<if test="nextOutboundCallCount != null and nextOutboundCallCount != ''">
+			and nextOutboundCallCount=#{nextOutboundCallCount}
+		</if>
+		<if test="taskStatus != null and taskStatus != ''">
+			and taskStatus=#{taskStatus}
+		</if>
+		<if test="lastOutboundStatus != null and lastOutboundStatus != ''">
+			and lastOutboundStatus=#{lastOutboundStatus}
+		</if>
+		<if test="createdAt != null and createdAt != ''">
+			and createdAt=#{createdAt}
+		</if>
+		<if test="updatedAt != null and updatedAt != ''">
+			and updatedAt=#{updatedAt}
+		</if>
+
+	</select>
+
+	<!--随访任务 修改-->
+	<update id="updateFollowUp" parameterType="pd" >
+		<if test="up != null and up!=''">
+			update s_dtp_ysfw_follow_up_task
+		</if>
+		<trim prefix=" SET " suffix="" prefixOverrides="," suffixOverrides=",">
+			<if test="appointmentDate != null and appointmentDate != ''">
+				appointmentDate=#{appointmentDate},
+			</if>
+			<if test="businessBelonging != null and businessBelonging != ''">
+				businessBelonging=#{businessBelonging},
+			</if>
+			<if test="taskName != null and taskName != ''">
+				taskName=#{taskName},
+			</if>
+			<if test="taskTheme != null and taskTheme != ''">
+				taskTheme=#{taskTheme},
+			</if>
+			<if test="patientName != null and patientName != ''">
+				patientName=#{patientName},
+			</if>
+			<if test="gender != null and gender != ''">
+				gender=#{gender},
+			</if>
+			<if test="age != null and age != ''">
+				age=#{age},
+			</if>
+			<if test="followUpSummary != null and followUpSummary != ''">
+				followUpSummary=#{followUpSummary},
+			</if>
+			<if test="disease != null and disease != ''">
+				disease=#{disease},
+			</if>
+			<if test="storeName != null and storeName != ''">
+				storeName=#{storeName},
+			</if>
+			<if test="genericName != null and genericName != ''">
+				genericName=#{genericName},
+			</if>
+			<if test="productName != null and productName != ''">
+				productName=#{productName},
+			</if>
+			<if test="taskFollower != null and taskFollower != ''">
+				taskFollower=#{taskFollower},
+			</if>
+			<if test="actualFollowUpTime != null and actualFollowUpTime != ''">
+				actualFollowUpTime=#{actualFollowUpTime},
+			</if>
+			<if test="callConnectedCount != null and callConnectedCount != ''">
+				callConnectedCount=#{callConnectedCount},
+			</if>
+			<if test="outboundCallCount != null and outboundCallCount != ''">
+				outboundCallCount=#{outboundCallCount},
+			</if>
+			<if test="nextOutboundCallCount != null and nextOutboundCallCount != ''">
+				nextOutboundCallCount=#{nextOutboundCallCount},
+			</if>
+			<if test="taskStatus != null and taskStatus != ''">
+				taskStatus=#{taskStatus},
+			</if>
+			<if test="lastOutboundStatus != null and lastOutboundStatus != ''">
+				lastOutboundStatus=#{lastOutboundStatus},
+			</if>
+			<if test="createdAt != null and createdAt != ''">
+				createdAt=#{createdAt},
+			</if>
+			<if test="updatedAt != null and updatedAt != ''">
+				updatedAt=#{updatedAt},
+			</if>
+		</trim>
+		<if test="up != null and up!=''">
+			<if test="id!= null and id!=''">
+				where id=#{id}
+			</if>
+		</if>
+	</update>
+
+	<!--随访任务 删除-->
+	<delete id="followUpRemove" parameterType="pd">
+		<if test="ids != null">
+			delete from s_dtp_ysfw_follow_up_task where
+			<if test="ids != null">
+				id in(#{ids})
+			</if>
+		</if>
+	</delete>
+
+
+	<!--随访跟进人分配 查询-->
+	<select id="selectFollowUpAssignList" parameterType="pd" resultType="pd">
+		select *,DATE_FORMAT(updatedAt, '%Y-%m-%d %H:%i:%s') AS updateTime2 from s_dtp_ysfw_follow_up_assign where 1=1
+		<if test="id != null and id != ''">
+			and id=#{id}
+		</if>
+		<if test="patientName != null and patientName != ''">
+			and patientName=#{patientName}
+		</if>
+		<if test="patientPhone != null and patientPhone != ''">
+			and patientPhone=#{patientPhone}
+		</if>
+		<if test="gender != null and gender != ''">
+			and gender=#{gender}
+		</if>
+		<if test="age != null and age != ''">
+			and age=#{age}
+		</if>
+		<if test="disease != null and disease != ''">
+			and disease=#{disease}
+		</if>
+		<if test="clinicalDiagnosis != null">
+			and clinicalDiagnosis=#{clinicalDiagnosis}
+		</if>
+		<if test="medicineName != null and medicineName != ''">
+			and medicineName=#{medicineName}
+		</if>
+		<if test="lastPurchaseDate != null">
+			and lastPurchaseDate=#{lastPurchaseDate}
+		</if>
+		<!--<if test="建档日期 != null">
+			and `建档日期`=#{建档日期}
+		</if>-->
+		<if test="followUpPersonName != null and followUpPersonName != ''">
+			and followUpPersonName=#{followUpPersonName}
+		</if>
+		<if test="followUpPersonPhone != null and followUpPersonPhone != ''">
+			and followUpPersonPhone=#{followUpPersonPhone}
+		</if>
+		<if test="followUpPersonRole != null and followUpPersonRole != ''">
+			and followUpPersonRole=#{followUpPersonRole}
+		</if>
+		<if test="storeName != null and storeName != ''">
+			and storeName=#{storeName}
+		</if>
+		<if test="patientAssignmentStatus != null and patientAssignmentStatus != ''">
+			and patientAssignmentStatus=#{patientAssignmentStatus}
+		</if>
+		<if test="terminatedEmployeeName != null">
+			and terminatedEmployeeName=#{terminatedEmployeeName}
+		</if>
+		<if test="terminatedEmployeePhone != null">
+			and terminatedEmployeePhone=#{terminatedEmployeePhone}
+		</if>
+		<if test="terminatedEmployeeStore != null">
+			and terminatedEmployeeStore=#{terminatedEmployeeStore}
+		</if>
+		<if test="createdAt != null">
+			and createdAt=#{createdAt}
+		</if>
+		<if test="updatedAt != null">
+			and updatedAt=#{updatedAt}
+		</if>
+
+	</select>
+
+	<!--随访跟进人分配 修改-->
+	<update id="updateFollowUpAssign" parameterType="pd" >
+		<if test="up != null and up!=''">
+			update s_dtp_ysfw_follow_up_assign
+		</if>
+		<trim prefix=" SET " suffix="" prefixOverrides="," suffixOverrides=",">
+			<if test="patientName != null and patientName != ''">
+				patientName=#{patientName},
+			</if>
+			<if test="patientPhone != null and patientPhone != ''">
+				patientPhone=#{patientPhone},
+			</if>
+			<if test="gender != null and gender != ''">
+				gender=#{gender},
+			</if>
+			<if test="age != null and age != ''">
+				age=#{age},
+			</if>
+			<if test="disease != null and disease != ''">
+				disease=#{disease},
+			</if>
+			<if test="clinicalDiagnosis != null">
+				clinicalDiagnosis=#{clinicalDiagnosis},
+			</if>
+			<if test="medicineName != null and medicineName != ''">
+				medicineName=#{medicineName},
+			</if>
+			<if test="lastPurchaseDate != null">
+				lastPurchaseDate=#{lastPurchaseDate},
+			</if>
+			<if test="followUpPersonName != null and followUpPersonName != ''">
+				followUpPersonName=#{followUpPersonName},
+			</if>
+			<if test="followUpPersonPhone != null and followUpPersonPhone != ''">
+				followUpPersonPhone=#{followUpPersonPhone},
+			</if>
+			<if test="followUpPersonRole != null and followUpPersonRole != ''">
+				followUpPersonRole=#{followUpPersonRole},
+			</if>
+			<if test="storeName != null and storeName != ''">
+				storeName=#{storeName},
+			</if>
+			<if test="patientAssignmentStatus != null and patientAssignmentStatus != ''">
+				patientAssignmentStatus=#{patientAssignmentStatus},
+			</if>
+			<if test="terminatedEmployeeName != null">
+				terminatedEmployeeName=#{terminatedEmployeeName},
+			</if>
+			<if test="terminatedEmployeePhone != null">
+				terminatedEmployeePhone=#{terminatedEmployeePhone},
+			</if>
+			<if test="terminatedEmployeeStore != null">
+				terminatedEmployeeStore=#{terminatedEmployeeStore},
+			</if>
+			<if test="createdAt != null">
+				createdAt=#{createdAt},
+			</if>
+			<if test="updatedAt != null">
+				updatedAt=#{updatedAt},
+			</if>
+		</trim>
+		<if test="up != null and up!=''">
+			<if test="id!= null and id!=''">
+				where id=#{id}
+			</if>
+		</if>
+	</update>
+
+	<!--随访跟进人分配 删除-->
+	<delete id="followUpAssignRemove" parameterType="pd">
+		<if test="ids != null">
+			delete from s_dtp_ysfw_follow_up_assign where
+			<if test="ids != null">
+				id in(#{ids})
+			</if>
+		</if>
+	</delete>
+</mapper>

+ 1 - 1
health-system/src/main/resources/mapper/system/DTPMapper.xml

@@ -147,7 +147,7 @@
         select patientName, patientPhone from s_dtp_cfdj_prescription where patientName=#{patientName} and patientPhone=#{patientPhone} and del_flag = '0' limit 1
     </select>
     <select id="selectOne" parameterType="pd" resultType="pd">
-        id, orderId, saleOrderNumber, genericName, productName, specification, quantity, manufacturer, mdmCode,
+        select id, orderId, saleOrderNumber, genericName, productName, specification, quantity, manufacturer, mdmCode,
         posMemberName, posMemberPhone, prescriptionType, orderTime, prescriptionNumber, hospital, department,
         doctor, patientName, patientPhone, storeName, registrar, completionTime, deliveryMethod, paymentCode,
         paymentMethod, status ,create_time as createTime  from s_dtp_cfdj_prescription where id=#{id}