Przeglądaj źródła

add + update 处方详情 处方修改

bzd_lxf 4 miesięcy temu
rodzic
commit
67c2b65078

+ 11 - 0
health-admin/src/main/java/com/bzd/web/controller/dtp/PharmaceuticalServiceController.java

@@ -105,6 +105,17 @@ public class PharmaceuticalServiceController extends BaseController {
         return AjaxResult.success(pageData);
     }
 
+    @RequiresPermissions("dtp:pmService:archivesList")
+    @PostMapping("/slectPatientById")
+    @ResponseBody
+    public AjaxResult slectPatientById() throws Exception {
+        PageData pd = this.getPageData();
+        startPage();
+        List<PageData>  pageData = pharmaceuticalService.slectPatientById(pd);
+
+        return AjaxResult.success(pageData);
+    }
+
     /**
      * 档案管理数据删除 根据id
      *

+ 45 - 0
health-admin/src/main/java/com/bzd/web/controller/dtp/RecipeRegisterController.java

@@ -73,6 +73,16 @@ public class RecipeRegisterController extends BaseController {
         return  AjaxResult.success(pageData);
     }
 
+    @RequiresPermissions("dtp:recipe:list")
+    @PostMapping("/getLastRecipeInfo")
+    @ResponseBody
+    public AjaxResult getLastRecipeInfo( ModelMap mmap) throws Exception {
+        PageData pd = this.getPageData();
+        startPage();
+        PageData pageData =dtpService.getLastRecipeInfo(pd);
+        return  AjaxResult.success(pageData);
+    }
+
     /**
      * 新增页面
      */
@@ -146,6 +156,21 @@ public class RecipeRegisterController extends BaseController {
 
     }
 
+    @Log(title = "处方修改", businessType = BusinessType.INSERT)
+    @PostMapping("/updateCFDJ")
+    @ResponseBody
+    public AjaxResult updateCFDJ() throws Exception {
+        PageData pd = new PageData();
+        pd = this.getPageData();
+        int i = dtpService.updateCFDJ(pd);
+        if(i>0){
+            return AjaxResult.success("修改成功");
+        }else {
+            return AjaxResult.error("修改失败");
+        }
+
+    }
+
     /**
      * 保存处方照片
      */
@@ -274,4 +299,24 @@ public class RecipeRegisterController extends BaseController {
         return util.exportExcel(pageData, "处方数据");
     }
 
+    @RequiresPermissions("dtp:recipe:view")
+    @GetMapping("/viewInfo/{id}")
+    public String viewInfo(@PathVariable("id") String id, ModelMap mmap)throws Exception
+    {
+        PageData pd = this.getPageData();
+        pd.put("id",id);
+        PageData pageData = dtpService.findForList(pd).get(0);
+        mmap.putAll(pageData);
+        return prefix + "/newRecipeView";
+    }
+    @RequiresPermissions("dtp:recipe:edit")
+    @GetMapping("/viewEditInfo/{id}")
+    public String viewEditInfo(@PathVariable("id") String id, ModelMap mmap)throws Exception
+    {
+        PageData pd = this.getPageData();
+        pd.put("id",id);
+        PageData pageData = dtpService.findForList(pd).get(0);
+        mmap.putAll(pageData);
+        return prefix + "/edit";
+    }
 }

+ 14 - 18
health-admin/src/main/resources/templates/dtp/archives/archivesEdit.html

@@ -1494,8 +1494,8 @@
         //initializeTableForTab('tab-1');
         //initializeTableForTab('tab-2');
         initializeTableForTab('tab-3');
-        initializeTableForTab('tab-4');
-        initializeTableForTab('tab-5');
+        /*initializeTableForTab('tab-4');
+        initializeTableForTab('tab-5');*/
     }
     function initializeTableForTab(tabId) {
         var datas=[];
@@ -1505,6 +1505,7 @@
         var data = {
             "patientPhone": $('#phoneNumber').val(),
             "patientName": $('#name').val(),
+            "id": $('#id').val(),
         };
         console.log("patientPhone="+$('#phoneNumber').val());
         // 初始化表格 getDrugPurchaseList
@@ -1529,28 +1530,23 @@
             data: datas,
             columns : [
                 [
-                    { field: 'id', title: '序号' },
-                    { field: 'orderId', title: '订单编号' },
-                    { field: 'prescriptionSource', title: '处方来源' },
+                    {field: 'prescriptionNumber', title: '销售' },
+                    { field: 'salesOrderNumber', title: '处方编号' },
                     { field: 'prescriptionDate', title: '处方日期' },
                     { field: 'hospital', title: '医院' },
-                    { field: 'doctor', title: '医生' },
+                    { field: 'prescribingDoctor', title: '处方医生' },
                     { field: 'department', title: '科室' },
-                    { field: 'diseaseType', title: '疾病类型' },
+                    { field: 'attendingDoctor', title: '主管医生' },  // 注意这里使用的是 "attendingDoctor" 而不是 "attendingPhysician"
                     { field: 'clinicalDiagnosis', title: '临床诊断' },
                     { field: 'genericName', title: '药品通用名' },
                     { field: 'productName', title: '商品名' },
-                    { field: 'specification', title: '规格' },
-                    { field: 'quantity', title: '数量' },
-                    { field: 'manufacturer', title: '厂家' },
-                    { field: 'mdmCode', title: 'MDM编码' },
-                    { field: 'usageMethod', title: '用药途径' },
-                    { field: 'frequency', title: '用药频次' },
-                    { field: 'wordUsage', title: '单次剂量' },
-                    { field: 'medicationCycle', title: '用药周期' },
-                    { field: 'registrar', title: '登记人' },
-                    { field: 'orderTime', title: '下单时间' },
-                    { field: 'drugSource', title: '药品来源' }
+                    { field: 'medicationRoute', title: '用药途径' },
+                    { field: 'dosageFrequency', title: '用药频次' },
+                    { field: 'singleDoseUnit', title: '单次剂量' },
+                    { field: 'registrant', title: '登记人' },
+                    { field: 'registrationDate', title: '登记日期' },
+                    { field: 'saleDate', title: '销售日期' },
+                    { field: 'pharmacyName', title: '购药门店名称' }
                 ]
             ]
         });

+ 848 - 199
health-admin/src/main/resources/templates/dtp/recipe/edit.html

@@ -1,218 +1,557 @@
 <!DOCTYPE html>
 <html lang="zh" xmlns:th="http://www.thymeleaf.org" >
 <head>
-    <th:block th:include="include :: header('修改处方')" />
+    <th:block th:include="include :: header('新建登记')" />
+    <th:block th:include="include :: select2-css" />
+    <th:block th:include="include :: bootstrap-fileinput-css" />
+    <th:block th:include="include :: layout-latest-css" />
 </head>
-<body>
-    <div class="main-content">
-        <form class="form-horizontal" id="form-server-edit" th:object="${recipe}">
-            <h4 class="form-header h4">处方信息</h4>
-            <input type="hidden" id="id" name="id" th:value="${id}">
-                <div class="row">
-                    <div class="col-sm-4">
-                        <div class="form-group">
-                            <label class="col-sm-4 control-label">处方类型:</label>
-                            <div class="col-sm-8">
-                                <select name="prescriptionType" class="form-control" th:with="type=${@dict.getType('sys_select_prescription_ype')}">
-                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
-                                            th:selected="${dict.dictValue}==${prescriptionType}"></option>
-                                </select>
+<body class="gray-bg">
+
+<div class="col-sm-12 search-collapse">
+    <h4 class="query-condition-title">新建处方登记</h4>
+    <form id="dtp-form-newcfxx" class="customize-search-form">
+        <div class="customize-form-group-container">
+            <div class="customize-form-group">
+                <label>患者姓名:</label>
+                <input name="patientName" placeholder="患者姓名" id="patientName" readonly disabled class="styled-input" type="text">
+            </div>
+            <div class="customize-form-group">
+                <label>手机号码:</label>
+                <input name="patientPhone" placeholder="手机号码" id="patientPhone" readonly disabled class="styled-input" type="text">
+            </div>
+            <div class="customize-form-group">
+                <label>性别:</label>
+                <input name="gender" placeholder="性别" id="gender" readonly disabled class="styled-input" type="text">
+            </div>
+            <div class="customize-form-group">
+                <label>年龄:</label>
+                <input name="age" placeholder="年龄" id="age" readonly disabled class="styled-input" type="text">
+            </div>
+            <div class="customize-form-group">
+                <label>医院:</label>
+                <input name="hospital" placeholder="医院" id="hospital" class="styled-input" type="text">
+            </div>
+            <div class="customize-form-group">
+                <label>处方医生:</label>
+                <input name="prescribingDoctor" id="prescribingDoctor" placeholder="处方医生"   class="styled-input" type="text">
+            </div>
+            <div class="customize-form-group">
+                <label>科室:</label>
+                <input name="department" id="department" placeholder="科室"   class="styled-input" type="text">
+            </div>
+            <div class="customize-form-group">
+                <label class="is-required">处方诊断::</label>
+                <input name="prescriptionDiagnosis" id="prescriptionDiagnosis" placeholder="处方诊断"   class="styled-input" type="text">
+            </div>
+            <div class="customize-form-group">
+                <label class="is-required">主管医生:</label>
+                <input name="attendingDoctor" id="attendingDoctor" placeholder="主管医生"   class="styled-input" type="text">
+            </div>
+            <div class="customize-form-group">
+                <label class="is-required">临床诊断:</label>
+                <input name="clinicalDiagnosis" id="clinicalDiagnosis" placeholder="临床诊断"   class="styled-input" type="text">
+            </div>
+            <div class="customize-form-group">
+                <label>处方图片:</label>
+                <input name="prescriptionImageUrl" id="prescriptionImageUrl" placeholder="处方图片"  class="styled-input" type="text">
+            </div>
+            <div class="customize-form-group  select-time">
+                <label>处方开具日期:</label>
+                <input name="prescriptionIssueDate" id="prescriptionIssueDate" placeholder="处方开具日期"   class="time-input time-input2" type="text">
+            </div>
+            <div class="customize-form-group">
+                <label>发票编码:</label>
+                <input name="invoiceCode" id="invoiceCode" placeholder="发票编码"  class="styled-input" type="text">
+            </div>
+            <div class="customize-form-group">
+                <label>发票图片:</label>
+                <input name="invoiceImageUrl" id="invoiceImageUrl" placeholder="发票图片"  class="styled-input" type="text">
+            </div>
+
+
+            <div class="customize-form-group">
+                <label class="is-required">登记药师姓名:</label>
+                <input name="registerPharmacistName" id="registerPharmacistName" placeholder="登记药师姓名"   class="styled-input" type="text">
+            </div>
+            <div class="customize-form-group">
+                <label class="is-required">登记人:</label>
+                <input name="registrant" id="registrant" placeholder="登记人"  class="styled-input" type="text">
+            </div>
+            <div class="customize-form-group">
+                <label>审核药师姓名:</label>
+                <input name="reviewingName" id="reviewingName" placeholder="审核药师姓名"   class="styled-input" type="text">
+            </div>
+        </div>
+    </form>
+    <input type="hidden" id="id" name="id" th:value="${id}">
+    <input type="hidden" id="prescriptionNumber" name="prescriptionNumber" th:value="${prescriptionNumber}">
+    <!-- 假设这是你的 HTML 结构class="table table-bordered" -->
+    <div class="ibox" id="data-ibox" style="overflow: auto;">
+        <div class="ibox-title">药品登记列表</div>
+        <table class="fixed-layout-table" id="drugInfoTable">
+            <thead>
+            <tr>
+                <th>操作+<a type="button" onclick="selectUsersToParentCallBack2()">添加药品</a></th>
+                <th>药品编码</th>
+                <th>药品名</th>
+                <th class="hidden-column">通用名</th>
+                <th>规格</th>
+                <th class="hidden-column">厂家简称</th>
+                <th class="hidden-column">给药方式</th>
+                <th class="hidden-column">是否随访管理品</th>
+                <th class="hidden-column">是否冷链管理品</th>
+                <th class="hidden-column">是否登记管理品</th>
+                <th class="hidden-column">是否慈善援助管理品</th>
+                <th class="hidden-column">包装</th>
+                <th class="is-required">取药数量</th>
+                <th class="is-required">单次剂量</th>
+                <th class="is-required">单次剂量单位</th>
+                <th class="is-required">用药频次</th>
+                <th class="is-required">用药天数</th>
+                <th>D值品用药天数</th>
+
+            </tr>
+            </thead>
+            <tbody>
+            <!-- 数据行将被插入到这里 -->
+            </tbody>
+        </table>
+    </div>
+</div>
+<div class="modal inmodal" id="myModal" tabindex="-1" role="dialog" aria-hidden="true">
+    <div class="modal-dialog">
+        <form class="form-horizontal" id="form-budan-add">
+            <div class="modal-content animated bounceInRight">
+                <div class="modal-header">
+                    <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">关闭</span>
+                    </button>
+                    <h4 class="modal-title">药师审核</h4>
+                </div>
+                <div class="modal-body">
+                    <div class="customize-search-form">
+                        <div class="rows">
+                            <div class="input-group">
+                                请输入密码审核确认
                             </div>
                         </div>
-                    </div>
-                    <div class="col-sm-4">
-                        <div class="form-group">
-                            <label class="col-sm-4 control-label is-required">处方单号:</label>
-                            <div class="col-sm-8">
-                                <div class="input-group">
-                                    <input id="prescriptionNumber" name="prescriptionNumber" placeholder="请输入处方单号" class="form-control" type="text"  th:value="${prescriptionNumber}">
-                                </div>
+                        <div class="rows">
+                            <div class="input-group">
+                                <input type="text" placeholder="请输入密码"  class="styled-input" style="width: 200px; height: 25px;"  id="password" name="password">
                             </div>
                         </div>
-                    </div>
-                    <div class="col-sm-4">
-                        <div class="form-group">
-                            <label class="col-sm-4 control-label is-required">患者姓名:</label>
-                            <div class="col-sm-8">
-                                <input name="patientName" placeholder="请输入患者姓名" class="form-control" type="text" maxlength="30" th:value="${patientName}" >
+                        <div class="rows">
+                            <div class="input-group">
+                                <input type="redio" placeholder="请选择审核结果"  class="styled-input" style="width: 200px; height: 25px;"  id="checkResult" name="checkResult">
                             </div>
                         </div>
-                    </div>
-                    <div class="col-sm-4">
-                        <div class="form-group">
-                            <label class="col-sm-4 control-label is-required">手机号码:</label>
-                            <div class="col-sm-8">
-                                <div class="input-group">
-                                    <input id="patientPhone" name="patientPhone" placeholder="请输入手机号码" class="form-control" type="number" maxlength="11" th:value="${patientPhone}">
-                                    <span class="input-group-addon"><i class="fa fa-mobile"></i></span>
-                                </div>
+                        <div class="rows">
+                            <div class="input-group">
+                                <input type="text" placeholder="请输入说明"  class="styled-input" style="width: 200px; height: 25px;"  id="remark" name="remark">
                             </div>
                         </div>
+                        <!--                            <div class="modalbudan" id="budanshibai">-->
+                        <!--                                <div class="rows" style="text-align: center">-->
+                        <!--                                    审核失败!-->
+                        <!--                                </div>-->
+                        <!--                                <div class="rows">-->
+                        <!--                                    请核实药品-->
+                        <!--                                </div>-->
+                        <!--                            </div>-->
                     </div>
 
-                    <div class="col-sm-4">
-                        <div class="form-group">
-                            <label class="col-sm-4 control-label is-required">药品通用名:</label>
-                            <div class="col-sm-8">
-                                <input name="genericName" placeholder="请输入药品通用名" class="form-control" type="text" maxlength="30" th:value="${genericName}">
-                            </div>
-                        </div>
-                    </div>
                 </div>
-                <div class="row">
-                    <div class="col-sm-4">
-                        <div class="form-group">
-                            <label class="col-sm-4 control-label is-required">门店:</label>
-                            <div class="col-sm-8">
-                                <div class="input-group">
-                                <input name="storeName" onclick="selectDeptTree()" id="treeName" type="text" placeholder="请选择门店" class="form-control"  th:value="${storeName}">
-                                <span class="input-group-addon"><i class="fa fa-search"></i></span>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
+                <div class="modal-footer">
+                    <button type="button" class="btn btn-white" data-dismiss="modal">关闭</button>
+                    <button type="button" class="btn btn-primary" onclick="checkpass()">审核通过</button>
+                    <button type="button" class="btn btn-primary" onclick="checknotpass()">审核不通过</button>
+                </div>
 
-                    <div class="col-sm-4">
-                        <div class="form-group">
-                            <label class="col-sm-4 control-label">厂家:</label>
-                            <div class="col-sm-8">
-                                <input id="manufacturer" name="manufacturer" placeholder="请输入厂家" class="form-control" type="text" maxlength="30" th:value="${manufacturer}">
-                            </div>
-                        </div>
-                    </div>
-                    <div class="col-sm-4">
-                        <div class="form-group">
-                            <label class="col-sm-4 control-label">登记人:</label>
-                            <div class="col-sm-8">
+            </div>
+        </form>
+    </div>
+</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>
+</div>
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: select2-js" />
+<th:block th:include="include :: bootstrap-fileinput-js" />
+<th:block th:include="include :: bootstrap-table-fixed-columns-js" />
+<th:block th:include="include :: layout-latest-js" />
+<script th:inline="javascript">
+    var editFlag = [[${@permission.hasPermi('dtp:RecipeRegister:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('dtp:RecipeRegister:remove')}]];
+    var prefix_recipe = ctx + "dtp/recipe";
+    var prefix_yppz= ctx + "yppz/drugConfig";
+    var prefix_pmService = ctx + "dtp/pmService";
+    var hzparam =[];
+    var openId='';
+    var data;
+    var shangci=false;
+    var shangcigyList=[];
+    var dataList=[];
+    var selectdataList=[];
 
-                                <input id="registrar" name="registrar" placeholder="请输入登记人" class="form-control" type="text" maxlength="30" th:value="${registrar}">
-                            </div>
+    $(document).ready(function() {
+        // 获取所有的输入元素(input, textarea, select)
+        var $inputs = $('form').find('input, textarea, select').filter(':visible');
 
-                        </div>
-                    </div>
-                </div>
-                <div class="row">
-                    <div class="col-sm-4">
-                        <div class="form-group">
-                            <label class="col-sm-4 control-label">规格:</label>
-                            <div class="col-sm-8">
-                                <select name="specification" class="form-control" th:with="type=${@dict.getType('sys_select_specification')}">
-                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
-                                            th:selected="${dict.dictValue}==${specification}"></option>
-                                </select>
-                            </div>
-                        </div>
-                    </div>
-                    <div class="col-sm-4">
-                        <div class="form-group">
-                            <label class="col-sm-4 control-label">数量:</label>
-                            <div class="col-sm-8">
-                                <input id="quantity" name="quantity" placeholder="请输入数量" class="form-control" type="number" maxlength="30" th:value="${quantity}">
-                            </div>
-                        </div>
-                    </div>
-                    <div class="col-sm-4">
-                        <div class="form-group">
-                            <label class="col-sm-4 control-label">商品名:</label>
-                            <div class="col-sm-8">
-                                <input id="productName" name="productName"  type="text" maxlength="100"  class="form-control" placeholder="请输入商品名" th:value="${productName}">
-                            </div>
-                        </div>
-                    </div>
-                </div>
+        $inputs.each(function(index) {
+            $(this).on('keydown', function(e) {
+                if (e.key === "Enter" || e.keyCode === 13) {
+                    e.preventDefault(); // 阻止默认行为(例如提交表单)
 
-                <div class="row">
+                    // 找到当前输入框的索引
+                    var currentIndex = $inputs.index(this);
 
+                    // 如果不是最后一个输入框,则聚焦下一个输入框
+                    if (currentIndex < $inputs.length - 1) {
+                        $inputs.eq(currentIndex + 1).focus();
+                    } else {
+                        // 如果是最后一个输入框,可以选择提交表单或不做任何事情
+                        // $(this).closest('form').submit();
+                    }
+                }
+            });
+        });
 
-                    <div class="col-sm-4">
-                        <div class="form-group">
-                            <label class="col-sm-4 control-label">配送方式:</label>
-                            <div class="col-sm-8">
-                                <select name="deliveryMethod" class="form-control" th:with="type=${@dict.getType('sys_select_delivery_method')}">
-                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
-                                            th:selected="${dict.dictValue}==${deliveryMethod}"></option>
-                                </select>
-                            </div>
-                        </div>
-                    </div>
-                    <div class="col-sm-4">
-                        <div class="form-group">
-                            <label class="col-sm-4 control-label">MDM编码:</label>
+        // 监听选择变化
+        $(document).on('change', 'input[name="selectPatient"]', function() {
+            // 移除所有行的 'selected' 类
+            $('#patient-table tbody tr').removeClass('selected');
 
-                            <div class="col-sm-8">
-                                <input id="mdmCode" name="mdmCode" placeholder="请输入MDM编码" class="form-control" type="text" maxlength="50" th:value="${mdmCode}" >
-                            </div>
-                        </div>
-                    </div>
+            // 获取当前选中的行并添加 'selected' 类
+            var selectedRow = $(this).closest('tr');
+            selectedRow.addClass('selected');
 
+            // 获取选中的患者对象
+            var selectedPatient = getSelectedPatient();
+            if (selectedPatient) {
+                console.log('Selected Patient:', selectedPatient);
 
-                </div>
-                <div class="row">
-                    <div class="col-sm-4">
-                        <div class="form-group">
-                            <label class="col-sm-4 control-label is-required">医生:</label>
-                            <div class="col-sm-8">
-                                <input id="doctor" name="doctor" placeholder="请输入医生" class="form-control" type="text" maxlength="30" th:value="${doctor}">
-                            </div>
-                        </div>
-                    </div>
-                    <div class="col-sm-4">
-                        <div class="form-group">
-                            <label class="col-sm-4 control-label is-required">医院:</label>
-                            <div class="col-sm-8">
-                                <input name="hospital" placeholder="请输入医院" class="form-control" type="text" maxlength="30" th:value="${hospital}">
-                            </div>
-                        </div>
-                    </div>
-                    <div class="col-sm-4">
-                        <div class="form-group">
-                            <label class="col-sm-4 control-label ">科室:</label>
-                            <div class="col-sm-8">
-                                <input id="department" name="department" placeholder="请输入科室" class="form-control" type="text" maxlength="50" th:value="${department}">
-                            </div>
-                        </div>
-                    </div>
-                </div>
+                // 调用 getLastRecipe 方法,传入患者的 ID
+                var patientId = selectedPatient.id;
+                getLastRecipe(patientId);
+            }
+        });
 
 
-            <h4 class="form-header h4">其他信息</h4>
-            <div class="row">
-                <div class="col-sm-4">
-                    <div class="form-group">
-                        <label class="col-sm-6 control-label">pos会员姓名:</label>
-                        <div class="col-sm-6">
-                            <input id="posMemberName" name="posMemberName" placeholder="请输入pos会员姓名" class="form-control" type="text" maxlength="30" th:value="${posMemberName}">
-                        </div>
-                    </div>
-                </div>
-                <div class="col-sm-4">
-                    <div class="form-group">
-                        <label class="col-sm-6 control-label">pos会员手机号:</label>
-                        <div class="col-sm-6">
-                            <input id="posMemberPhone" name="posMemberPhone" placeholder="请输入pos会员手机号" class="form-control" type="number" maxlength="11" th:value="${posMemberPhone}">
-                        </div>
-                    </div>
-                </div>
-                <div class="col-sm-4">
-                    <div class="form-group">
+    });
+    // 将后端返回的数据填充到表格中
+    function populatePatientTable(datas) {
+        var tbody = $('#patient-table tbody');
+        tbody.empty(); // 清空现有行
 
-                    </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>
+        datas.forEach(function(patient, index) {
+            var genderText = patient.gender === 1 ? '男' : '女';
+            var row = `
+            <tr data-index="${index}">
+                <td><input type="radio" name="selectPatient" value="${index}"></td>
+                <td>${patient.id}</td>
+                <td>${patient.name}</td>
+                <td>${genderText}</td>
+                <td>${patient.age || '-'}</td>
+                <td>${patient.documentType || '-'}</td>
+                <td>${patient.documentNumber || '-'}</td>
+                <td>${patient.disease || '-'}</td>
+                <td>${patient.phoneNumber || '-'}</td>
+                <!-- 添加其他列的数据 -->
+            </tr>
+        `;
+            tbody.append(row);
+        });
+    }
+
+    // 获取选中的患者数据并存入对象
+    function getSelectedPatient() {
+        var selectedRow = $('input[name="selectPatient"]:checked').closest('tr');
+        if (selectedRow.length === 0) return null;
+
+        var index = selectedRow.data('index');
+        return dataList[index];
+    }
+
+    function getLastRecipe(patientId){
+        var datas=[];
+        debugger
+
+        var data = {
+            "patientId":patientId,
+        };
+        console.log("patientId="+patientId);
+        // 初始化表格 getDrugPurchaseList
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : prefix_recipe + "/getLastRecipe",
+            data : data,
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                var  shangciObj={};
+                shangcigyList=data.data.recipeList;
+                if(data.data.recipeList !=null || data.data.recipeList != undefined){
+                    initTab(datas=data.data.recipeList)
+                }
+                if(data.data.recipe!=null){
+                    shangciObj=data.data.recipe;
 
-<script>
+                    $('#hospital').val(shangciObj.hospital);
+                    $('#prescribingDoctor').val(shangciObj.prescribingDoctor);
+                    $('#department').val(shangciObj.department);
+                    $('#attendingDoctor').val(shangciObj.attendingDoctor);
 
+                }else {
+                    shangciObj={};
+                    $('#hospital').val('');
+                    $('#prescribingDoctor').val('');
+                    $('#department').val('');
+                    $('#attendingDoctor').val('');
+
+
+                }
+
+                console.log("shangciObj="+shangciObj);
+                $.operate.successCallback(data);
+
+            }
+        });
+
+
+    }
+    function initTab(datas){
+        var tableId = 'bootstrap-table';
+        var tableElement = $('#' + tableId);
+        tableElement.bootstrapTable({
+            data: datas,
+            columns : [
+
+                {field: 'mdmCode', title: '药品编码', align: 'center'},
+                {field: 'productName', title: '商品名', align: 'center'},
+                {field: 'genericName', title: '通用名', align: 'center'},
+                {field: 'specification', title: '规格', align: 'center'},
+                {field: 'manufacturerShortName', title: '厂家简称', align: 'center'},
+                {field: 'administrationMethod', title: '给药方式', align: 'center'},
+                {field: 'realNameStatus', title: '处方取药数量(包装数)', align: 'center'},
+                {field: 'singleDoseValue', title: '处方单次剂量数值', align: 'center'},
+                {field: 'singleDoseUnit', title: '处方单次剂量单位', align: 'center'},
+                {field: 'dosageFrequency', title: '规范用药频次', align: 'center'},
+                {field: 'dosageFrequencyDays', title: '用药频次换算使用天数', align: 'center'},
+                {field: 'dvalueDays', title: 'D值品用药天数', align: 'center'},
+                {field: 'prescriptionNumber', title: '处方编号', align: 'center'},
+                // {
+                //     title: '操作',
+                //     align: 'center',
+                //     formatter: function(value, row, index) {
+                //         if (row.id) {
+                //             var actions = [];
+                //             actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.view(\'' + row.id + '\')">购药详情</a> ');
+                //             return actions.join('');
+                //         } else {
+                //             return "";
+                //         }
+                //     }
+                // }
+            ]
+        });
+    }
+    function getTableData() {
+        var tableRows = [];
+
+        $('#drugInfoTable tbody tr').each(function(index, row) {
+            var rowData = {
+                productId: $(row).data('product-id'),
+                mdmCode: $(row).find('td:eq(1)').text().trim(),
+                productName: $(row).find('td:eq(2)').text().trim(),
+                genericName: $(row).find('td:eq(3)').text().trim(),
+                specification: $(row).find('td:eq(4)').text().trim(),
+                manufacturerShortName: $(row).find('td:eq(5)').text().trim(),
+                administrationMethod: $(row).find('td:eq(6)').text().trim(),
+                followUpItem: $(row).find('td:eq(7)').text().trim(),
+                coldChainItem: $(row).find('td:eq(8)').text().trim(),
+                registeredItem: $(row).find('td:eq(9)').text().trim(),
+                charityAidItem: $(row).find('td:eq(10)').text().trim(),
+                packaging: $(row).find('td:eq(11)').text().trim(),
+                packageQuantity: $(row).find('input[name="packageQuantity"]').val(),
+                singleDoseValue: $(row).find('input[name="singleDoseValue"]').val(),
+                singleDoseUnit: $(row).find('select[name="singleDoseUnit"]').val(),
+                dosageFrequency: $(row).find('select[name="dosageFrequency"]').val(),
+                dosageFrequencyDays: $(row).find('input[name="dosageFrequencyDays"]').val(),
+                dvalueDays: $(row).find('input[name="dvalueDays"]').val()
+            };
+
+            // 将每一行的数据对象添加到数组中
+            tableRows.push(rowData);
+        });
+
+        return tableRows;
+    }
+    function submitHandler() {
+        // 创建一个 FormData 对象用于提交表单数据
+        var formData = new FormData();
+
+        // 收集表单中的其他字段,并将其添加到 FormData 中
+        $('#dtp-form-newcfxx').find(':input').each(function() {
+            var $this = $(this);
+            var name = $this.attr('name');
+            if (name) { // 确保有 name 属性
+                var value = $this.val();
+                if (value !== undefined && value !== null && value !== '') { // 确保值不是空
+                    formData.append(name, value);
+                }
+            }
+        });
+
+// 将药物数据序列化为 JSON 字符串并添加到 FormData 中
+        var drugData = getTableData(); // 假设此函数正确获取表格数据
+        if (drugData.length > 0) {
+            formData.append('drugData', JSON.stringify(drugData));
+        }else{
+            $.modal.alertError("请添加药品");
+            return;
+        }
+        var id = $('#id').val().trim();
+        var prescriptionNumber = $('#prescriptionNumber').val().trim();
+        if(id!=''){
+            formData.append('id', id);
+            formData.append('prescriptionNumber', prescriptionNumber);
+        }else {
+            $.modal.alertError("请联系管理员!");
+            return;
+        }
+        $.ajax({
+            cache: false, // 设置为 false 防止缓存
+            type: "POST",
+            url: prefix_recipe + "/updateCFDJ",
+            data: formData,
+            processData: false, // 告诉 jQuery 不要处理数据(非常重要)
+            contentType: false, // 告诉 jQuery 不要设置 contentType(非常重要)
+            async: true, // 异步请求更为推荐,除非有特殊原因需要同步
+            error: function (request) {
+                $.modal.alertError("操作失败");
+            },
+            success: function (data) {
+                $.modal.alertSuccess("修改成功");
+                $.modal.closeTab();
+            }
+        });
+    }
+
+    function openCheckYSJC(){
+        //$.modal.open("药师审核", prefix_pmService+'/openCheckYSJC');
+        $('#myModal').modal('show');
+
+        $.modal.alertSuccess("操作成功");
+        //  $.modal.closeTab();
+    }
+    // callBack获取父窗口方法(方式二)
+    function selectUsersToParentCallBack2(){
+        var options = {
+            title: '添加处方登记药品',
+            width: 1000,
+            height: 600,
+            url: prefix_yppz + '/getAllProduct',
+            callBack: doSubmit2
+        };
+        $.modal.openOptions(options);
+    }
+    function doSubmit2(index, layero) {
+        var rows = layero.find("iframe")[0].contentWindow.selectTableObject();
+        if (rows.length == 0) {
+            $.modal.alertWarning("请至少选择一条记录");
+            return;
+        }
+        var tableBody = $('#drugInfoTable tbody');
+
+        rows.forEach(function(item) {
+            // 动态选择所有列并映射到更具描述性的名称
+            var columnsData = {
+                productId: item.productId,
+                productCode: item.productCode,
+                productName: item.productName,
+                genericName: item.genericName,
+                specification: item.specification,
+                packaging: item.packaging,
+                manufacturer: item.manufacturer,
+                manufacturerAbbreviation: item.manufacturerAbbreviation,
+                productStatus: item.productStatus,
+                dtpFlag: item.dtpFlag,
+                isInsuranceDrug: item.isInsuranceDrug,
+                administrationMethod: item.administrationMethod,
+                registeredItem: item.registeredItem,
+                followUpItem: item.followUpItem,
+                coldChainItem: item.coldChainItem,
+                flowItem: item.flowItem,
+                charityAidItem: item.charityAidItem
+            };
+
+            // 检查是否已经存在该药品
+            if (!isProductExist(columnsData.productId)) {
+
+                // 向表格中添加一行
+                var row = `
+                <tr data-product-id="${columnsData.productId}">
+                    <td><button onclick="deleteRow('${columnsData.productId}')" class="btn btn-danger">删除重选择药品</button></td>
+                    <td>${columnsData.productCode}</td>
+                    <td>${columnsData.productName}</td>
+                    <td class="hidden-column">${columnsData.genericName}</td>
+                    <td>${columnsData.specification}</td>
+                    <td class="hidden-column">${columnsData.manufacturerAbbreviation}</td>
+                    <td class="hidden-column">${columnsData.administrationMethod}</td>
+                    <td class="hidden-column">${columnsData.followUpItem === 1 ? '是' : '否'}</td>
+                    <td class="hidden-column">${columnsData.coldChainItem === 1 ? '是' : '否'}</td>
+                    <td class="hidden-column">${columnsData.registeredItem === 1 ? '是' : '否'}</td>
+                    <td class="hidden-column">${columnsData.charityAidItem === 1 ? '是' : '否'}</td>
+                    <td class="hidden-column">${columnsData.packaging}</td>
+                    <td> <input name="packageQuantity" id="packageQuantity${columnsData.productId}" placeholder="取药数量(包装数)" class="styled-input" type="number"></td>
+                    <td> <input name="singleDoseValue" id="singleDoseValue${columnsData.productId}" placeholder="单次剂量数值" class="styled-input" type="number"></td>
+                    <td>
+                        <select name="singleDoseUnit" id="singleDoseUnit${columnsData.productId}" class="styled-input" required>
+                            <option value="">请选择</option>
+                            <option value="1">mg</option>
+                            <option value="2">g</option>
+                            <option value="3">片</option>
+                        </select>
+                    </td>
+                    <td>
+                        <select name="dosageFrequency" id="dosageFrequency${columnsData.productId}" class="styled-input" required>
+                            <option value="">请选择</option>
+                            <option value="1">一日1次</option>
+                            <option value="2">一日2次</option>
+                            <option value="3">每天1次</option>
+                            <option value="4">每天隔天一次</option>
+                            <option value="5">每周2次</option>
+                        </select>
+                    </td>
+                    <td> <input name="dosageFrequencyDays" id="dosageFrequencyDays${columnsData.productId}" placeholder="用药频次换算天数" class="styled-input" type="number"></td>
+                    <td> <input name="dvalueDays" id="dvalueDays${columnsData.productId}" placeholder="系统自动计算" class="styled-input" disabled="" type="number"></td>
+                </tr>
+            `;
+                tableBody.append(row);
+            } else {
+                $.modal.alertWarning(`药品 ${columnsData.productName} 已经添加了`);
+            }
+        });
+
+        $.modal.close(index);
+    }
+    function deleteRow(productId) {
+        $.modal.confirm("确认删除该药品吗?", function() {
+            // 删除对应行
+            $('#drugInfoTable tbody tr[data-product-id="' + productId + '"]').remove();
+        });
+    }
+    function isProductExist(productId) {
+        // 检查表格中是否已经存在该药品
+        return $('#drugInfoTable tbody tr[data-product-id="' + productId + '"]').length > 0;
+    }
     /* 用户管理-新增-选择门店树 */
     function selectDeptTree() {
         var treeId = $("#treeId").val();
@@ -226,26 +565,336 @@
         };
         $.modal.openOptions(options);
     }
-
     function doSubmit(index, layero){
         var body = $.modal.getChildFrame(index);
         $("#treeId").val(body.find('#treeId').val());
         $("#treeName").val(body.find('#treeName').val());
         $.modal.close(index);
     }
+    function bookbuilding(){
+        $.modal.open("快速建档", prefix_pmService+'/archivesAdd');
+    }
+    function resetPre() {
+        resetDate();
+        $("#dtp-form-hxcx")[0].reset();
+        $("#query").val("");
+    }
+    function search_hz() {
+        var query = $('#query').val().trim();
+        console.log("query===="+query);
+        // 如果输入为空,清空 dValueId 输入框并停止进一步操作
+        if (!query) {
+            $('#query').val('');
+            return;
+        }
 
+        // 使用防抖机制延迟发送请求
+        // 发送 AJAX 请求到服务器查询数据
+        hzparam={query:query};//模拟微信扫码获取微信openId
+        $.ajax({
+            cache: true,
+            type: "POST",
+            url: prefix_pmService+'/slectPatientByNameOrPhoneOrIdCard', // 替换为实际的搜索 URL
+            data: hzparam,
+            async: false,
+            success: function (data) {
 
-    function submitHandler() {
-        var prefix = ctx + "dtp/recipe";
-        if ($.validate.form()) {
-            var data = $("#form-server-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 + "/edit", data);
-        }
+                if(data.code==0){
+                    dataList=[];
+                    console.log("data111===="+data.data);
+                    populatePatientTable(data.data);
+                    dataList=data.data;
+                    // 如果有且只有一条记录,默认选中这条记录
+                    if (data.data.length === 1) {
+                        setTimeout(function() {
+                            $('input[name="selectPatient"]').first().prop('checked', true).trigger('change');
+                        }, 0); // 确保DOM已经完全渲染
+                    }
+                    if (data.data.length <=0) {
+                        var tbody = $('#patient-table tbody');
+                        tbody.empty(); // 清空现有行
+                        $.modal.confirm("未找到患者 点击确定可快速建档", function() {
+                            // 快速建档
+                            bookbuilding();
+                        });
+
+
+
+
+                    }
+                    // // 如果找到匹配的数据,更新输入框
+                    // $('#patientId').val(data.data.id);
+                    // console.log("data111===="+data);
+                    // $('#patientName').val(data.data.name);
+                    // var gender = data.data.gender;
+                    // $('#gender').val(gender === 1 ? '男' : gender === 0 ? '女' : '');
+                    // $('#age').val(data.data.age);
+                    // var patientId =  data.data.id;
+                    // debugger
+                    // if(patientId !='' && patientId != null){
+                    //     //查询出对应患者的上一次处方登记信息
+                    //     getLastRecipe(patientId);
+                    // }
+
+                }else{
+                    // // 清空表格中的所有数据行
+                    // $('#patientId').val('');
+                    // $('#patientName').val('');
+                    // $('#gender').val('');
+                    // $('#age').val('');
+                    // $('#query').val('');
+                    // getLastRecipe(0);
+                    $.modal.alertWarning(`未找到患者 可快速建档`);
+                    bookbuilding();
+                    var tbody = $('#patient-table tbody');
+                    tbody.empty(); // 清空现有行
+                }
+
+            },
+            error: function(error) {
+                // 清空 dValueId 输入框
+                $('#query').val('');
+            }
+        });
+    }
+    $(document).ready(function() {
+        var id = $('#id').val().trim();
+        console.log("id----->"+id)
+        var datas=[];
+        var data = {
+            "id":id,
+        };
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : prefix_recipe + "/getLastRecipeInfo",
+            data : data,
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                var  shangciObj={};
+                shangcigyList=data.data.recipeList;
+                if(data.data.recipeList !=null || data.data.recipeList != undefined){
+                    initTabShow(datas=data.data.recipeList)
+                }
+                if(data.data.recipe!=null){
+                    shangciObj=data.data.recipe;
+                    // 动态填充表单字段
+                    $.each(shangciObj, function(key, value) {
+                        $('#' + key).val(value);
+                        if (key=="gender"){
+                            if (value==1){
+                                value="男";
+                            }else {
+                                value="女";
+                            }
+                            $('#' + key).val(value);
+                        }
+                    });
+                }
+            }
+        });
+    });
+
+    function initTabShow(datas){
+        datas.forEach(function(item) {
+            var tableBody = $('#drugInfoTable tbody');
+            // 动态选择所有列并映射到更具描述性的名称
+            var columnsData = {
+                productId: item.id,
+                productCode: item.mdmCode,
+                productName: item.productName,
+                genericName: item.genericName,
+                specification: item.specification,
+                packaging: item.packaging,
+                manufacturer: item.manufacturer,
+                manufacturerAbbreviation: item.manufacturerShortName,
+                productStatus: item.productStatus,
+                dtpFlag: item.dtpFlag,
+                isInsuranceDrug: item.isInsuranceDrug,
+                administrationMethod: item.administrationMethod,
+                registeredItem: item.registeredItem,
+                followUpItem: item.followUpItem,
+                coldChainItem: item.coldChainItem,
+                flowItem: item.flowItem,
+                packageQuantity: item.packageQuantity,
+                singleDoseValue: item.singleDoseValue,
+                singleDoseUnit: item.singleDoseUnit,
+                dosageFrequency: item.dosageFrequency,
+                dosageFrequencyDays: item.dosageFrequencyDays,
+                charityAidItem: item.charityAidItem
+            };
+
+            // 检查是否已经存在该药品
+            if (!isProductExist(columnsData.productId)) {
+
+                // 向表格中添加一行
+                var row = `
+                <tr data-product-id="${columnsData.productId}">
+                    <td><button onclick="deleteRow('${columnsData.productId}')" class="btn btn-danger">删除重选择药品</button></td>
+                    <td>${columnsData.productCode}</td>
+                    <td>${columnsData.productName}</td>
+                    <td class="hidden-column">${columnsData.genericName}</td>
+                    <td>${columnsData.specification}</td>
+                    <td class="hidden-column">${columnsData.manufacturerAbbreviation}</td>
+                    <td class="hidden-column">${columnsData.administrationMethod}</td>
+                    <td class="hidden-column">${columnsData.followUpItem === 1 ? '是' : '否'}</td>
+                    <td class="hidden-column">${columnsData.coldChainItem === 1 ? '是' : '否'}</td>
+                    <td class="hidden-column">${columnsData.registeredItem === 1 ? '是' : '否'}</td>
+                    <td class="hidden-column">${columnsData.charityAidItem === 1 ? '是' : '否'}</td>
+                    <td class="hidden-column">${columnsData.packaging}</td>
+                    <td> <input name="packageQuantity" id="packageQuantity${columnsData.productId}" placeholder="取药数量(包装数)" class="styled-input" type="number"></td>
+                    <td> <input name="singleDoseValue" id="singleDoseValue${columnsData.productId}" placeholder="单次剂量数值" class="styled-input" type="number"></td>
+                    <td>
+                        <select name="singleDoseUnit" id="singleDoseUnit${columnsData.productId}" class="styled-input" required>
+                            <option value="">请选择</option>
+                            <option value="1">mg</option>
+                            <option value="2">g</option>
+                            <option value="3">片</option>
+                        </select>
+                    </td>
+                    <td>
+                        <select name="dosageFrequency" id="dosageFrequency${columnsData.productId}" class="styled-input" required>
+                            <option value="">请选择</option>
+                            <option value="1">一日1次</option>
+                            <option value="2">一日2次</option>
+                            <option value="3">每天1次</option>
+                            <option value="4">每天隔天一次</option>
+                            <option value="5">每周2次</option>
+                        </select>
+                    </td>
+                    <td> <input name="dosageFrequencyDays" id="dosageFrequencyDays${columnsData.productId}" placeholder="用药频次换算天数" class="styled-input" type="number"></td>
+                    <td> <input name="dvalueDays" id="dvalueDays${columnsData.productId}" placeholder="系统自动计算" class="styled-input" disabled="" type="number"></td>
+                </tr>
+            `;
+                tableBody.append(row);
+                $('#packageQuantity'+columnsData.productId ).val(columnsData.packageQuantity);
+                $('#singleDoseValue'+columnsData.productId ).val(columnsData.singleDoseValue);
+                // 设置 select 元素的值,这将会选中 value 与 columnsData.singleDoseValue 匹配的 option
+                $('#singleDoseUnit'+columnsData.productId).val(columnsData.singleDoseUnit);
+                $('#dosageFrequency'+columnsData.productId).val(columnsData.dosageFrequency);
+                $('#dosageFrequencyDays'+columnsData.productId).val(columnsData.dosageFrequencyDays);
+            } else {
+                $.modal.alertWarning(`药品 ${columnsData.productName} 已经添加了`);
+            }
+        });
     }
 </script>
+<style>
+
+    .ibox {
+        width: auto;
+        height: 500px;
+        overflow: auto; /* 当内容超过指定尺寸时显示滚动条 */
+    }
+
+    .fixed-layout-table {
+        width: 100%;
+        border-collapse: collapse; /* 减少单元格间距 */
+    }
+
+    .fixed-layout-table thead th {
+        position: sticky;
+        top: 0;
+        background-color: #f8f9fa; /* 表头背景颜色 */
+        z-index: 1;
+    }
+
+    /* 隐藏列的样式 */
+    .hidden-column {
+        display: none;
+    }
+
+
+    .hidden {
+        display: none;
+    }
+    /*.ibox {*/
+    /*    width: 700px;*/
+    /*    margin-bottom: 20px;*/
+    /*    border: 1px solid #e7eaec;*/
+    /*    border-radius: 4px;*/
+    /*}*/
+    .ibox-title {
+        background-color: #f3f3f4;
+        border-bottom: 1px solid #e7eaec;
+        padding: 10px 15px;
+        font-size: 16px;
+        width: 1540px;
+    }
+    .ibox-content {
+        padding: 15px;
+    }
+    .ibox-content h4 {
+        margin-top: 0;
+    }
+
+    .form-horizontal .form-group {
+        margin-right: 384px;
+        margin-left: 3px;
+    }
+    input[type=file] {
+        display: none;
+    }
+    .form-group {
+        margin-bottom: -1px;
+    }
+    /* 添加一些基础样式 */
+    body {
+        font-family: Arial, sans-serif;
+    }
+    table {
+        width: 500px;
+        border-collapse: collapse;
+    }
+    th, td {
+        text-align: left;
+        padding: 5px;
+        border-bottom: 1px solid #ddd;
+    }
+    tr:nth-child(even) {
+        width: 13px;
+        background-color: #f2f2f2;
+    }
+    .hidden-column {
+        display: none;
+    }
+
+
+    .customize-table {
+        width: 100%;
+        border-collapse: collapse;
+    }
+
+    .customize-table th, .customize-table td {
+        border: 1px solid #ddd;
+        padding: 8px;
+    }
+
+    .customize-table th {
+        background-color: #f2f2f2;
+        text-align: left;
+    }
+
+    .customize-table tr:nth-child(even) {
+        background-color: #f9f9f9;
+    }
+
+    .customize-table tr:hover {
+        background-color: #ddd;
+    }
+
+    /* 新增:选中行的样式 */
+    .customize-table tr.selected {
+        background-color: #a9a9c5;
+        color: white; /* 确保文字可见 */
+    }
+</style>
+</body>
+</html>
+
+
+
+

+ 346 - 0
health-admin/src/main/resources/templates/dtp/recipe/newRecipeView.html

@@ -0,0 +1,346 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('新建登记')" />
+    <th:block th:include="include :: select2-css" />
+    <th:block th:include="include :: bootstrap-fileinput-css" />
+    <th:block th:include="include :: layout-latest-css" />
+</head>
+<body class="gray-bg">
+<input type="hidden" id="id" name="id" th:value="${id}">
+<div class="col-sm-12 search-collapse">
+    <h4 class="query-condition-title">患者信息</h4>
+    <form id="dtp-form-newcfxxx" class="customize-search-form">
+        <div class="customize-form-group-container">
+            <div class="patient-info">
+                <div class="info-item">
+                    <span class="label">患者姓名:</span>
+                    <span class="value" id="patientName"></span>
+                </div>
+                <div class="info-item">
+                    <span class="label">手机号码:</span>
+                    <span class="value" id="phoneNumber"></span>
+                </div>
+                <div class="info-item">
+                    <span class="label">性别:</span>
+                    <span class="value" id="gender"></span>
+                </div>
+                <div class="info-item">
+                    <span class="label">年龄:</span>
+                    <span class="value" id="age"></span>
+                </div>
+            </div>
+        </div>
+    </form>
+</div>
+<div class="col-sm-12 search-collapse">
+    <form id="dtp-form-newcfxx" class="customize-search-form">
+        <div class="customize-form-group-container">
+            <div class="patient-info">
+                <div class="customize-form-group">
+                    <label>医院:</label>
+                    <input name="hospital" placeholder="医院" id="hospital" class="styled-input" readonly  type="text">
+                </div>
+                <div class="customize-form-group">
+                    <label>处方医生:</label>
+                    <input name="prescribingDoctor" id="prescribingDoctor" placeholder="处方医生"  readonly  class="styled-input" type="text">
+                </div>
+                <div class="customize-form-group">
+                    <label>科室:</label>
+                    <input name="department" id="department" placeholder="科室"   class="styled-input" readonly  type="text">
+                </div>
+                <div class="customize-form-group">
+                    <label class="is-required">处方诊断::</label>
+                    <input name="prescriptionDiagnosis" id="prescriptionDiagnosis" placeholder="处方诊断" readonly  class="styled-input" type="text">
+                </div>
+                <div class="customize-form-group">
+                    <label class="is-required">主管医生:</label>
+                    <input name="attendingDoctor" id="attendingDoctor" placeholder="主管医生" readonly  class="styled-input" type="text">
+                </div>
+                <div class="customize-form-group">
+                    <label class="is-required">临床诊断:</label>
+                    <input name="clinicalDiagnosis" id="clinicalDiagnosis" placeholder="临床诊断" readonly  class="styled-input" type="text">
+                </div>
+                <!--<div class="customize-form-group">
+                    <label>处方图片:</label>
+                    <input name="prescriptionImageUrl" id="prescriptionImageUrl" placeholder="处方图片"  class="styled-input" type="text">
+                </div>-->
+                <div class="customize-form-group  select-time">
+                    <label>处方开具日期:</label>
+                    <input name="prescriptionIssueDate" id="prescriptionIssueDate" placeholder="处方开具日期" readonly  class="styled-input" type="text" >
+                </div>
+                <div class="customize-form-group">
+                    <label>发票编码:</label>
+                    <input name="invoiceCode" id="invoiceCode" placeholder="发票编码" readonly  class="styled-input" type="text">
+                </div>
+                <!--<div class="customize-form-group">
+                    <label>发票图片:</label>
+                    <input name="invoiceImageUrl" id="invoiceImageUrl" placeholder="发票图片"  class="styled-input" type="text">
+                </div>-->
+                <div class="customize-form-group">
+                    <label class="is-required">登记药师姓名:</label>
+                    <input name="registerPharmacistName" id="registerPharmacistName" placeholder="登记药师姓名" readonly  class="styled-input" type="text">
+                </div>
+                <div class="customize-form-group">
+                    <label class="is-required">登记人:</label>
+                    <input name="registrant" id="registrant" placeholder="登记人" readonly  class="styled-input" type="text">
+                </div>
+                <div class="customize-form-group">
+                    <label>审核药师姓名:</label>
+                    <input name="reviewingName" id="reviewingName" placeholder="审核药师姓名" readonly  class="styled-input" type="text">
+                </div>
+            </div>
+        </div>
+    </form>
+</div>
+    <div class="col-sm-12 search-collapse">
+    <h4 class="query-condition-title">新建处方登记</h4>
+        <!-- 假设这是你的 HTML 结构class="table table-bordered" -->
+        <div class="ibox" id="data-ibox" style="overflow: auto;">
+            <div class="ibox-title" style="width: 100%;">药品登记列表</div>
+            <table id="bootstrap-table" class="fixed-layout-table"></table>
+        </div>
+    </div>
+
+    <div class="main-content">
+        <div class="col-sm-offset-6 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="closeT()"><i class="fa fa-reply-all"></i>关 闭 </button>
+        </div>
+    </div>
+</div>
+<th:block th:include="include :: footer" />
+<th:block th:include="include :: select2-js" />
+<th:block th:include="include :: bootstrap-fileinput-js" />
+<th:block th:include="include :: bootstrap-table-fixed-columns-js" />
+<th:block th:include="include :: layout-latest-js" />
+<script th:inline="javascript">
+    var editFlag = [[${@permission.hasPermi('dtp:RecipeRegister:edit')}]];
+    var removeFlag = [[${@permission.hasPermi('dtp:RecipeRegister:remove')}]];
+    var prefix_recipe = ctx + "dtp/recipe";
+    var prefix_yppz= ctx + "yppz/drugConfig";
+    var prefix_pmService = ctx + "dtp/pmService";
+    var hzparam =[];
+    var data;
+    var shangcigyList=[];
+    var dataList=[];
+    $(document).ready(function() {
+        var id = $('#id').val().trim();
+        console.log("id----->"+id)
+        var datas=[];
+        var data = {
+            "id":id,
+        };
+        $.ajax({
+            cache : true,
+            type : "POST",
+            url : prefix_recipe + "/getLastRecipeInfo",
+            data : data,
+            async : false,
+            error : function(request) {
+                $.modal.alertError("系统错误");
+            },
+            success : function(data) {
+                var  shangciObj={};
+                shangcigyList=data.data.recipeList;
+                if(data.data.recipeList !=null || data.data.recipeList != undefined){
+                    initTabShow(datas=data.data.recipeList)
+                }
+                if(data.data.recipe!=null){
+                    shangciObj=data.data.recipe;
+                    // 动态填充表单字段
+                    $.each(shangciObj, function(key, value) {
+                        $('#' + key).val(value);
+                        // if (key=='prescriptionImageUrl'){
+                        //     document.getElementById('prescriptionImageUrl').src == value;
+                        // }
+                        if (key=="patientName" || key=="patientPhone" || key=="gender" || key=="age"){
+                            if (key=="gender"){
+                                if (value==1){
+                                    value="男";
+                                }else {
+                                    value="女";
+                                }
+                            }
+                            $('#' + key).text(value);
+                        }
+                    });
+                   /* $('#hospital').val(shangciObj.hospital);
+                    $('#prescribingDoctor').val(shangciObj.prescribingDoctor);
+                    $('#department').val(shangciObj.department);
+                    $('#attendingDoctor').val(shangciObj.attendingDoctor);*/
+                }else {
+                    shangciObj={};
+                    $('#hospital').val('');
+                    $('#prescribingDoctor').val('');
+                    $('#department').val('');
+                    $('#attendingDoctor').val('');
+                }
+
+            }
+        });
+    });
+
+function initTabShow(datas){
+    var tableId = 'bootstrap-table';
+    var tableElement = $('#' + tableId);
+    tableElement.bootstrapTable({
+        data: datas,
+        columns : [
+            {field: 'prescriptionNumber', title: '销售' , width:'300px'},
+            { field: 'prescriptionDate', title: '处方日期' },
+            { field: 'genericName', title: '药品通用名' },
+            { field: 'productName', title: '商品名' },
+            { field: 'medicationRoute', title: '用药途径' },
+            { field: 'dosageFrequency', title: '用药频次' },
+            { field: 'singleDoseUnit', title: '单次剂量' },
+            { field: 'pharmacyName', title: '购药门店名称' }
+        ]
+    });
+}
+function closeT() {
+    $.modal.close();
+}
+</script>
+<style>
+    .patient-info {
+        display: flex;
+        flex-wrap: wrap;
+        gap: 10px;
+    }
+
+    .info-item {
+        display: flex;
+        align-items: center;
+        background-color: #f5f5f5;
+        border-radius: 4px;
+        padding: 8px;
+        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
+    }
+
+    .label {
+        font-weight: bold;
+        margin-right: 20px;
+        color: #e7eaec;
+        font-size: 15px;
+        background-color: #337ab7;
+    }
+
+    .value {
+        flex-grow: 1;
+        color: #307cc2;
+    }
+    .ibox {
+        width: auto;
+        height: 500px;
+        overflow: auto; /* 当内容超过指定尺寸时显示滚动条 */
+    }
+
+    .fixed-layout-table {
+        width: 100%;
+        border-collapse: collapse; /* 减少单元格间距 */
+    }
+
+    .fixed-layout-table thead th {
+        position: sticky;
+        top: 0;
+        background-color: #f8f9fa; /* 表头背景颜色 */
+        z-index: 1;
+    }
+
+    /* 隐藏列的样式 */
+    .hidden-column {
+        display: none;
+    }
+
+
+    .hidden {
+        display: none;
+    }
+    /*.ibox {*/
+    /*    width: 700px;*/
+    /*    margin-bottom: 20px;*/
+    /*    border: 1px solid #e7eaec;*/
+    /*    border-radius: 4px;*/
+    /*}*/
+    .ibox-title {
+        background-color: #f3f3f4;
+        border-bottom: 1px solid #e7eaec;
+        padding: 10px 15px;
+        font-size: 16px;
+        width: 1540px;
+    }
+    .ibox-content {
+        padding: 15px;
+    }
+    .ibox-content h4 {
+        margin-top: 0;
+    }
+
+    .form-horizontal .form-group {
+        margin-right: 384px;
+        margin-left: 3px;
+    }
+    input[type=file] {
+        display: none;
+    }
+    .form-group {
+        margin-bottom: -1px;
+    }
+    /* 添加一些基础样式 */
+    body {
+        font-family: Arial, sans-serif;
+    }
+    /*table {
+        width: 500px;
+        border-collapse: collapse;
+    }
+    th, td {
+        text-align: left;
+        padding: 5px;
+        border-bottom: 1px solid #ddd;
+    }
+    tr:nth-child(even) {
+        width: 13px;
+        background-color: #f2f2f2;
+    }*/
+    .hidden-column {
+        display: none;
+    }
+
+
+    .customize-table {
+        width: 100%;
+        border-collapse: collapse;
+    }
+
+    .customize-table th, .customize-table td {
+        border: 1px solid #ddd;
+        padding: 8px;
+    }
+
+    .customize-table th {
+        background-color: #f2f2f2;
+        text-align: left;
+    }
+
+    .customize-table tr:nth-child(even) {
+        background-color: #f9f9f9;
+    }
+
+    .customize-table tr:hover {
+        background-color: #ddd;
+    }
+
+    /* 新增:选中行的样式 */
+    .customize-table tr.selected {
+        background-color: #a9a9c5;
+        color: white; /* 确保文字可见 */
+    }
+</style>
+</body>
+</html>
+
+
+
+

+ 2 - 2
health-admin/src/main/resources/templates/dtp/recipe/recipe.html

@@ -105,10 +105,10 @@
 		function queryUserList() {
 		    var options = {
 		        url: prefix + "/list",
-		        viewUrl: prefix + "/view/{id}",
+		        viewUrl: prefix + "/viewInfo/{id}",
 		        createUrl: prefix + "/add",
 				createUrl2: prefix + "/newRecipe",
-		        updateUrl: prefix + "/edit/{id}",
+		        updateUrl: prefix + "/viewEditInfo/{id}",
 		        removeUrl: prefix + "/remove",
 		        exportUrl: prefix + "/export",
 		        //importUrl: prefix + "/importData",

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

@@ -62,6 +62,21 @@ public class DTPService {
         }
         return pd3;
     }
+
+    public PageData  getLastRecipeInfo(final PageData pd) throws Exception {
+        PageData pd3= new PageData();
+        PageData pdObj= (PageData) daoSupport.findForObject("DTPCFDJMapper.selectOneById", pd);
+        if(StringUtils.isNotNull(pdObj)){
+            pd3.put("recipe",pdObj);
+            PageData pd2=new PageData();
+            pd2.put("prescriptionNumber",pdObj.get("prescriptionNumber"));
+            List<PageData> pdObjList= (List<PageData>) daoSupport.findForList("DTPCFDJMapper.selectListRecordByPrescriptionNumber", pd2);
+            if(pdObjList.size()>0){
+                pd3.put("recipeList", pdObjList);
+            }
+        }
+        return pd3;
+    }
     /**
      * 处方信息
      *
@@ -487,4 +502,124 @@ public class DTPService {
     public List<PageData> findHospitalList(final PageData pd) throws Exception {
         return (List<PageData>) daoSupport.findForList("DTPMapper.HospitalList", pd);
     }
+    @Transactional(rollbackFor = Exception.class)
+    public int updateCFDJ(final PageData pd) throws Exception {
+
+
+        Object drugList = pd.get("drugData");//获取药品信息列表
+        Integer Id = IdUtils.get10randomNumber();//生成处方单号
+        List<PageData> addList = new ArrayList<>();
+        int resultDrug=0;
+        int drugQuantity=0;
+
+        if (StringUtils.isNotNull(drugList)) {
+            try {
+                // 将 JSON 字符串转换为 List<Map<String, Object>>
+                ObjectMapper objectMapper = new ObjectMapper();
+                List<Map<String, Object>> rowsdrugList = objectMapper.readValue(drugList.toString(), List.class);
+                drugQuantity=rowsdrugList.size();//处方取药数量
+                // 遍历列表并调用插入数据接口
+                if (rowsdrugList.size() > 0) {
+                    for (Map<String, Object> lxr : rowsdrugList) {
+                        PageData pageData = new PageData();
+
+                        // 设置固定或默认值
+                        pageData.put("createdBy", getSysUser().getLoginName());
+                        pageData.put("createdTime", DateUtils.getTime());
+                        pageData.put("storeId", getSysUser().getDeptId());
+
+                        // 从 lxr 获取数据并映射到数据库字段
+                        pageData.put("mdmCode", lxr.get("mdmCode"));
+                        pageData.put("productName", lxr.get("productName"));
+                        pageData.put("genericName", lxr.get("genericName"));
+                        pageData.put("specification", lxr.get("specification"));
+                        pageData.put("manufacturerShortName", lxr.get("manufacturerShortName"));
+                        pageData.put("administrationMethod", lxr.get("administrationMethod"));
+                        pageData.put("packageQuantity", lxr.get("packageQuantity"));
+                        pageData.put("singleDoseValue", lxr.get("singleDoseValue"));
+                        pageData.put("singleDoseUnit", lxr.get("singleDoseUnit"));
+                        pageData.put("dosageFrequency", lxr.get("dosageFrequency"));
+                        pageData.put("dosageFrequencyDays", lxr.get("dosageFrequencyDays"));
+                        pageData.put("dvalueDays", 1);
+
+
+                        // 添加其他可能需要的字段(如果有的话)
+                        pageData.put("medicationRoute", lxr.get("medicationRoute"));
+                        //pageData.put("sales", lxr.get("sales"));
+                        pageData.put("prescriptionNumber", pd.get("prescriptionNumber"));
+                        pageData.put("prescriptionDate", DateUtils.getTime());
+                        pageData.put("hospital", lxr.get("hospital"));
+                        pageData.put("prescribingDoctor", lxr.get("prescribingDoctor"));
+                        pageData.put("department", lxr.get("department"));
+                        pageData.put("attendingPhysician", lxr.get("attendingPhysician"));
+                        pageData.put("clinicalDiagnosis", lxr.get("clinicalDiagnosis"));
+                        pageData.put("registrant", lxr.get("registrant"));
+                        pageData.put("registrationDate", DateUtils.getTime());
+//                        pageData.put("saleDate", lxr.get("saleDate"));
+//                        pageData.put("pharmacyName", lxr.get("pharmacyName"));
+//                        pageData.put("updatedBy", lxr.get("updatedBy"));
+//                        pageData.put("updatedTime", lxr.get("updatedTime"));
+//                        pageData.put("remarks", lxr.get("remarks"));
+                        addList.add(pageData);
+                    }
+                    final HashMap<String, Object> addMap = new HashMap<String, Object>();
+                    addMap.put("dataList", addList);
+                    resultDrug= dao.executeBatch("DTPCFDJMapper.batchDeleteDrugPurchaseRecord", pd);
+                    resultDrug= dao.executeBatch("DTPCFDJMapper.batchAddDrugPurchaseRecord", addMap);
+                }
+
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+        }
+
+        System.out.println("当前用户信息getUserId:" + getSysUser().getUserId());
+        System.out.println("当前用户信息getDeptId:" + getSysUser().getDeptId());
+        // 从表单数据填充
+        pd.put("prescriptionNumber", pd.get("prescriptionNumber")); // 处方单表id主键,Id 应该是某个方式生成的唯一标识符
+        pd.put("storeId", getSysUser().getDeptId());
+        pd.put("storeName", getSysUser().getDeptId()); // 假设 getDeptName() 可以获取部门名称
+        pd.put("createdBy", getSysUser().getUserId());
+        pd.put("createTime", DateUtils.getTime());
+
+        // 直接从表单数据填充
+        pd.put("hospital", pd.get("hospital"));
+        pd.put("prescribingDoctor", pd.get("prescribingDoctor"));
+        pd.put("department", pd.get("department"));
+        pd.put("prescriptionDiagnosis", pd.get("prescriptionDiagnosis"));
+        pd.put("attendingDoctor", pd.get("attendingDoctor"));
+        pd.put("clinicalDiagnosis", pd.get("clinicalDiagnosis"));
+        pd.put("prescriptionImageUrl", pd.get("prescriptionImageUrl"));
+        pd.put("prescriptionIssueDate", pd.get("prescriptionIssueDate"));
+        pd.put("invoiceImageUrl", pd.get("invoiceImageUrl"));
+        pd.put("invoiceCode", pd.get("invoiceCode"));
+        pd.put("registrationDate", DateUtils.getTime());
+        pd.put("registerPharmacistName", pd.get("registerPharmacistName"));
+        pd.put("registrant", pd.get("registrant"));
+        pd.put("reviewingName", pd.get("reviewingName"));
+        pd.put("drugQuantity", drugQuantity);
+
+        // 患者信息
+//        pd.put("patientId", pd.get("patientId"));
+        pd.put("patientName", pd.get("patientName"));
+        if (StringUtils.isNotNull(pd.get("gender"))){
+            String gender = pd.get("gender").toString();
+            if (gender.equals("男")){
+                pd.put("gender", "1");
+            }else if(gender.equals("女")){
+                pd.put("gender", "0");
+            }else {
+                pd.put("gender", "3");
+            }
+        }
+        pd.put("age", pd.get("age"));
+        int result = daoSupport.save("DTPCFDJMapper.updatePrescriptionRegistration", pd);
+        if(resultDrug>0 && result>0){
+            return 1;
+        }else {
+            return 0;
+        }
+    }
+
 }

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

@@ -52,6 +52,10 @@ public class PharmaceuticalService {
         return (List<PageData>) daoSupport.findForList("PharmaceuticalServiceMapper.slectPatientByNameOrPhoneOrIdCard", pd);
 
     }
+    public List<PageData> slectPatientById(PageData pd) throws Exception{
+        return (List<PageData>) daoSupport.findForList("PharmaceuticalServiceMapper.slectPatientById", pd);
+
+    }
 
     public List<PageData> findBasicInfomation(PageData pd) throws Exception{
         pd.put("archiveId", pd.get("id"));

+ 6 - 1
health-system/src/main/resources/mapper/mdyy/DTPCFDJMapper.xml

@@ -595,4 +595,9 @@
             </foreach>
         </if>
     </delete>
-</mapper>
+
+    <insert id="batchDeleteDrugPurchaseRecord" parameterType="pd">
+        delete from s_dtp_drug_purchase_record where prescriptionNumber = #{prescriptionNumber}
+    </insert>
+
+</mapper>

+ 26 - 56
health-system/src/main/resources/mapper/pmServiceMapper/PharmaceuticalServiceMapper.xml

@@ -78,6 +78,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		select * from s_dtp_ysfw_archive_management where  1=1  AND name LIKE CONCAT('%', #{query}, '%') or phoneNumber=#{query} or documentNumber=#{query}
 	</select>
 
+	<select id="slectPatientById" parameterType="pd" resultType="pd">
+		select * from s_dtp_ysfw_archive_management where  1=1  AND id=#{id}
+	</select>
+
 	<select id="selectPatientById" parameterType="pd" resultType="pd">
 		select * from s_dtp_ysfw_archive_management where  1=1 and id=#{patientId}
 	</select>
@@ -1680,62 +1684,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
 	<!--查询对应患者的用药购药信息-->
 	<select id="getDrugPurchaseList" parameterType="pd" resultType="pd">
-		SELECT
-		p.orderId AS orderId,
-		p.prescriptionSource AS prescriptionSource,
-		p.prescriptionDate AS prescriptionDate,
-		p.hospital AS hospital,
-		p.doctor AS doctor,
-		p.department AS department,
-		p.diseaseType AS diseaseType,
-		p.clinicalDiagnosis AS clinicalDiagnosis,
-		pd.genericName AS genericName,
-		pd.productName AS productName,
-		pd.specification AS specification,
-		pd.quantity AS quantity,
-		pd.manufacturer AS manufacturer,
-		pd.mdmCode AS mdmCode,
-		pd.usageMethod AS usageMethod,
-		pd.frequency AS frequency,
-		pd.wordUsage AS wordUsage,
-		pd.medicationCycle AS medicationCycle,
-		p.registrar AS registrar,
-		p.orderTime AS orderTime,
-		pd.drugSource AS drugSource
-		FROM
-		s_dtp_ysfw_archive_management am
-		JOIN
-		s_dtp_cfdj_prescription p ON am.phoneNumber = p.patientPhone and am.name = p.patientName
-		JOIN
-		s_dtp_cfdj_prescription_drug pd ON p.id = pd.prescriptionNumber
-		WHERE
-		1 = 1
-		<if test="patientPhone != null and patientPhone !=''">
-			AND p.patientPhone = #{patientPhone}
-		</if>
-		<if test="patientName != null and patientName !=''">
-			AND p.patientName = #{patientName}
-		</if>
-		<if test="prescriptionDate != null and prescriptionDate !=''">
-			AND p.prescriptionDate = #{prescriptionDate}
-		</if>
-		<if test="genericName != null and genericName !=''">
-			AND pd.genericName = #{genericName}
-		</if>
-		<if test="productName != null and productName !=''">
-			AND pd.productName = #{productName}
-		</if>
-		<if test="mdmCode != null and mdmCode !=''">
-			AND pd.mdmCode = #{mdmCode}
-		</if>
-		<if test="usageMethod != null and usageMethod !=''">
-			AND pd.usageMethod = #{usageMethod}
-		</if>
-		<if test="orderTime != null and orderTime !=''">
-			AND p.orderTime = #{orderTime}
-		</if>
-		GROUP BY
-		p.orderId, p.prescriptionSource, p.prescriptionDate, p.hospital, p.doctor, p.department, p.diseaseType, p.clinicalDiagnosis, pd.genericName, pd.productName, pd.specification, pd.quantity, pd.manufacturer, pd.mdmCode, pd.usageMethod, pd.frequency, pd.wordUsage, pd.medicationCycle, p.registrar, p.orderTime, pd.drugSource
+		select
+			sddpr.prescriptionNumber , -- 销售
+			sdpr.salesOrderNumber, -- 处方编号
+			sddpr.prescriptionDate, -- 处方日期
+			sdpr.hospital, -- 医院
+			sdpr.prescribingDoctor, -- 处方医生
+			sdpr.department, -- 科室
+			sdpr.attendingDoctor, -- 主管医生
+			sdpr.clinicalDiagnosis, --  临床诊断
+			sddpr.genericName,-- 	药品通用名
+			sddpr.productName,-- 	商品名
+			sddpr.medicationRoute,-- 	用药途径
+			sddpr.dosageFrequency,-- 	用药频次
+			sddpr.singleDoseUnit,-- 	单次剂量
+			sdpr.registrant,-- 	登记人
+			sdpr.registrationDate,-- 登记日期
+			sdpr.saleDate,-- 销售日期
+			sddpr.pharmacyName  -- 购药门店名称
+		from s_dtp_drug_purchase_record  sddpr
+		left join s_dtp_prescription_registration sdpr on sddpr.prescriptionNumber=sdpr.prescriptionNumber
+		where sdpr.patientId=#{id}
+
 	</select>
 
 </mapper>