Эх сурвалжийг харах

指派公司+指派护理人员

qinyan 6 сар өмнө
parent
commit
473ead65da

+ 11 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/care/CareApplicationsController.java

@@ -102,4 +102,15 @@ public class CareApplicationsController extends BaseController
     {
         return toAjax(careApplicationsService.deleteCareApplicationsByApplyIds(applyIds));
     }
+
+    /**
+     * 修改护理申请
+     */
+    @PreAuthorize("@ss.hasPermi('care:applications:assign')")
+    @Log(title = "护理指派公司", businessType = BusinessType.UPDATE)
+    @PostMapping("/assign")
+    public AjaxResult assign(@RequestBody CareApplications careApplications)
+    {
+        return toAjax(careApplicationsService.assign(careApplications));
+    }
 }

+ 22 - 5
ruoyi-system/src/main/java/com/ruoyi/care/domain/CareApplications.java

@@ -66,8 +66,29 @@ public class CareApplications extends BaseEntity
     @Excel(name = "审核原因")
     private String auditReason;
 
-    /** 护理公司id及护理人员id */
+    /** 指派:id、护理公司、护理人员、备注 */
+    private Long assignId;
     private Long companyId;
+    private Long nurseId;
+    private String assignRemark;
+    /** 护理人姓名 */
+    private String nurseName;
+
+    public Long getAssignId() {
+        return assignId;
+    }
+
+    public void setAssignId(Long assignId) {
+        this.assignId = assignId;
+    }
+
+    public String getAssignRemark() {
+        return assignRemark;
+    }
+
+    public void setAssignRemark(String assignRemark) {
+        this.assignRemark = assignRemark;
+    }
 
     public Long getCompanyId() {
         return companyId;
@@ -85,10 +106,6 @@ public class CareApplications extends BaseEntity
         this.nurseId = nurseId;
     }
 
-    private Long nurseId;
-    /** 护理人姓名 */
-    private String nurseName;
-
     public String getNurseName() {
         return nurseName;
     }

+ 5 - 0
ruoyi-system/src/main/java/com/ruoyi/care/service/ICareApplicationsService.java

@@ -58,4 +58,9 @@ public interface ICareApplicationsService
      * @return 结果
      */
     public int deleteCareApplicationsByApplyId(Long applyId);
+
+    /*
+        指派
+     */
+    public int assign(CareApplications careApplications);
 }

+ 37 - 0
ruoyi-system/src/main/java/com/ruoyi/care/service/impl/CareApplicationsServiceImpl.java

@@ -1,12 +1,18 @@
 package com.ruoyi.care.service.impl;
 
 import java.util.List;
+
+import com.ruoyi.care.domain.CareAssignments;
+import com.ruoyi.care.mapper.CareAssignmentsMapper;
+import com.ruoyi.common.enums.CareApplyStatus;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.care.mapper.CareApplicationsMapper;
 import com.ruoyi.care.domain.CareApplications;
 import com.ruoyi.care.service.ICareApplicationsService;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * 护理申请Service业务层处理
@@ -20,6 +26,8 @@ public class CareApplicationsServiceImpl implements ICareApplicationsService
     @Autowired
     private CareApplicationsMapper careApplicationsMapper;
 
+    @Autowired
+    private CareAssignmentsMapper careAssignmentsMapper;
     /**
      * 查询护理申请
      * 
@@ -93,4 +101,33 @@ public class CareApplicationsServiceImpl implements ICareApplicationsService
     {
         return careApplicationsMapper.deleteCareApplicationsByApplyId(applyId);
     }
+
+    @Override
+    @Transactional
+    public int assign(CareApplications careApplications) {
+        int result=0;
+        CareAssignments careAssignments=new CareAssignments();
+        careApplications.setStatus(CareApplyStatus.ASSIGNED.getCode());
+        careApplicationsMapper.updateCareApplications(careApplications);
+
+        if(careApplications.getAssignId()==null){
+            careAssignments.setApplyId(careApplications.getApplyId());
+            careAssignments.setCompanyId(careApplications.getCompanyId());
+            careAssignments.setNurseId(careApplications.getNurseId());
+            careAssignments.setRemark(careApplications.getAssignRemark());
+            careAssignments.setCreateTime(DateUtils.getNowDate());
+
+            result=careAssignmentsMapper.insertCareAssignments(careAssignments);
+        }else{
+            careAssignments=careAssignmentsMapper.selectCareAssignmentsByAssignId(careApplications.getAssignId());
+            careAssignments.setCompanyId(careApplications.getCompanyId());
+            careAssignments.setNurseId(careApplications.getNurseId());
+            careAssignments.setRemark(careApplications.getAssignRemark());
+            careAssignments.setUpdateTime(DateUtils.getNowDate());
+
+            result=careAssignmentsMapper.updateCareAssignments(careAssignments);
+        }
+
+        return result;
+    }
 }

+ 6 - 2
ruoyi-system/src/main/resources/mapper/care/CareApplicationsMapper.xml

@@ -24,10 +24,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="updateBy"    column="update_by"    />
         <result property="updateTime"    column="update_time"    />
         <result property="remark"    column="remark"    />
-        <result property="nurseName"    column="nurse_name"    />
         <result property="hospitalName"    column="hospital_name"    />
+        <result property="assignId"    column="assign_id"    />
         <result property="companyId"    column="company_id"    />
         <result property="nurseId"    column="nurse_id"    />
+        <result property="nurseName"    column="nurse_name"    />
+        <result property="assignRemark"    column="assign_remark"    />
     </resultMap>
 
     <sql id="selectCareApplicationsVo">
@@ -51,10 +53,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             a.update_by,
             a.update_time,
             a.remark,
+            s.assign_id assign_id,
             s.company_id,
             n.nurse_id,
             n.name nurse_name,
-            h.`name` hospital_name
+            h.`name` hospital_name,
+            s.remark assign_remark
         FROM
             care_applications a
                 LEFT JOIN care_assignments s on a.apply_id=s.apply_id

+ 8 - 0
ruoyi-vue/src/api/care/applications.js

@@ -42,3 +42,11 @@ export function delApplications(applyId) {
     method: 'delete'
   })
 }
+//指派
+export function assignApplications(data) {
+  return request({
+    url: '/care/applications/assign',
+    method: 'post',
+    data: data
+  })
+}

+ 18 - 11
ruoyi-vue/src/views/care/applications/index_wait_assign.vue → ruoyi-vue/src/views/care/applications/index_assign_nurse.vue

@@ -208,7 +208,14 @@
 </template>
 
 <script setup name="WaitCheckApplications">
-import { listApplications, getApplications, delApplications, addApplications, updateApplications } from "@/api/care/applications";
+import {
+  listApplications,
+  getApplications,
+  delApplications,
+  addApplications,
+  updateApplications,
+  assignApplications
+} from "@/api/care/applications";
 import { listAllHospital } from "@/api/care/hospital";
 import {listAllPersons} from "@/api/care/persons";
 import {listAllNurses} from "@/api/care/nurses";
@@ -241,7 +248,7 @@ const data = reactive({
     address: null,
     careDays: null,
     applyDate: null,
-    status: 'wait_assign_nurse',
+    status: 'assigned',
     dealStatus: null,
     payStatus: null,
     auditReason: null,
@@ -326,15 +333,15 @@ function handleAssign(row) {
 /** 提交按钮 */
 function submitForm() {
   console.info(form.value);
-  // proxy.$refs["applicationsRef"].validate(valid => {
-  //   if (valid) {
-  //     updateApplications(form.value).then(response => {
-  //       proxy.$modal.msgSuccess("指派成功");
-  //       openAssign.value = false;
-  //       getAssignList();
-  //     });
-  //   }
-  // });
+  proxy.$refs["applicationsRef"].validate(valid => {
+    if (valid) {
+      assignApplications(form.value).then(response => {
+        proxy.$modal.msgSuccess("指派成功");
+        openAssign.value = false;
+        getAssignList();
+      });
+    }
+  });
 }
 /** 导出按钮操作 */
 function handleExport() {

+ 26 - 5
ruoyi-vue/src/views/care/applications/index_wait_check.vue

@@ -234,7 +234,7 @@
 
     <!-- 指派对话框 -->
     <el-dialog :title="title" v-model="openAssign" width="500px" append-to-body>
-      <el-form ref="applicationsRef" :model="form" :rules="rules" label-width="80px">
+      <el-form ref="applicationAssignRef" :model="form" :rules="rules" label-width="80px">
         <el-row :gutter="20">
           <el-col :span="12">
             <el-form-item label="申请人" prop="personId">
@@ -316,17 +316,22 @@
                     v-for="dict in companyList"
                     :key="dict.name"
                     :label="dict.name"
-                    :value="dict.name"
+                    :value="dict.companyId"
                 ></el-option>
               </el-select>
             </el-form-item>
           </el-col>
+          <el-col :span="24">
+            <el-form-item label="备注" prop="assignRemark">
+              <el-input v-model="form.assignRemark" type="textarea" placeholder="请输入备注" />
+            </el-form-item>
+          </el-col>
         </el-row>
 
       </el-form>
       <template #footer>
         <div class="dialog-footer">
-          <el-button type="primary" @click="submitForm()">确定</el-button>
+          <el-button type="primary" @click="submitAssignForm()">确定</el-button>
           <el-button @click="cancel">取 消</el-button>
         </div>
       </template>
@@ -335,7 +340,7 @@
 </template>
 
 <script setup name="WaitCheckApplications">
-import { listApplications, getApplications, delApplications, addApplications, updateApplications } from "@/api/care/applications";
+import { listApplications, getApplications, updateApplications,assignApplications } from "@/api/care/applications";
 import { listAllHospital } from "@/api/care/hospital";
 import {listAllPersons} from "@/api/care/persons";
 import {listAllCompany} from "@/api/care/nurses";
@@ -432,9 +437,12 @@ function reset() {
     updateBy: null,
     updateTime: null,
     remark: null,
-    companyId:null
+    companyId:null,
+    assignRemark:null,
+    assignId:null
   };
   proxy.resetForm("applicationsRef");
+  proxy.resetForm("applicationAssignRef");
 }
 
 /** 搜索按钮操作 */
@@ -510,6 +518,19 @@ function submitForm(type) {
     }
   });
 }
+
+function submitAssignForm(){
+  proxy.$refs["applicationAssignRef"].validate(valid => {
+    if (valid) {
+      assignApplications(form.value).then(response => {
+        proxy.$modal.msgSuccess("指派成功");
+        open.value = false;
+        getList();
+        getAssignList();
+      });
+    }
+  });
+}
 /** 导出按钮操作 */
 function handleExport() {
   proxy.download('care/applications/export', {