From 0a8b731d9cf46c78c0c4c66fa9954eeb262e4017 Mon Sep 17 00:00:00 2001
From: luliqiang <kidgrow>
Date: Mon, 10 Aug 2020 09:20:50 +0800
Subject: [PATCH] Merge branch 'dev' of http://192.168.2.240:7070/r/kidgrow-microservices-platform into dev

---
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java |   42 +++++++++++++++++++++++++++---------------
 1 files changed, 27 insertions(+), 15 deletions(-)

diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java
index 15d2364..5586df4 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDepartmentController.java
@@ -1,9 +1,12 @@
 package com.kidgrow.usercenter.controller;
 
+import com.kidgrow.common.annotation.LoginUser;
 import com.kidgrow.common.controller.BaseController;
 import com.kidgrow.common.model.PageResult;
 import com.kidgrow.common.model.ResultBody;
 import com.kidgrow.common.model.SysOrganization;
+import com.kidgrow.common.utils.StringUtils;
+import com.kidgrow.common.model.SysUser;
 import com.kidgrow.usercenter.model.SysDepartment;
 import com.kidgrow.usercenter.service.ISysDepartmentService;
 import com.kidgrow.usercenter.service.ISysOrganizationService;
@@ -13,13 +16,13 @@
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.ObjectError;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -85,21 +88,31 @@
      */
     @ApiOperation(value = "检查科室名是否存在")
     @GetMapping("/checkName")
-    public ResultBody checkDepName(@RequestParam Map<String, Object> params) {
-        params.put("page", 1);
-        params.put("limit", 1);
-        if (sysDepartmentService.findList(params).getData().size() > 0) {
-            return ResultBody.failed().msg(String.format("该医院下已经存在科室 %s", params.get("departmentName")));
+    public ResultBody checkDepName(Long hospitalId,String departmentName) {
+        if (departMentNameIsUsed(hospitalId,departmentName)) {
+            return ResultBody.failed().msg(String.format("该医院下已经存在科室 %s", departmentName));
         }
         return ResultBody.ok().msg("");
     }
 
     /**
+     * 检查科室名是否存在
+     * @param hosId
+     * @param departmentName
+     * @return
+     */
+    private Boolean departMentNameIsUsed(Long hosId,String departmentName)
+    {
+        String departName=sysDepartmentService.checkDepartmentName(hosId,departmentName);
+        return StringUtils.isNotBlank(departName);
+    }
+    /**
      * 新增or更新
      */
     @ApiOperation(value = "保存")
-    @PostMapping
-    public ResultBody save(@Valid @RequestBody SysDepartment sysDepartment, BindingResult bindingResult) {
+    @PostMapping("/{hosId}")
+    @Transactional(rollbackFor = {Exception.class})
+    public ResultBody save(@Valid @RequestBody SysDepartment sysDepartment,@PathVariable Long hosId, BindingResult bindingResult,@LoginUser SysUser sysUser) {
         List<String> errMsg = new ArrayList<>();
         if (bindingResult.hasErrors()) {
             for (ObjectError error : bindingResult.getAllErrors()) {
@@ -109,12 +122,8 @@
         } else {
             //先检查该医院该科室是否已经存在
             if (sysDepartment.getId() == null) {
-                Map<String, Object> checkDepartment = new HashMap<String, Object>();
-                checkDepartment.put("page", 1);
-                checkDepartment.put("limit", 1);
-                checkDepartment.put("hospitalId", sysDepartment.getHospitalId());
-                checkDepartment.put("departmentName", sysDepartment.getDepartmentName());
-                if (sysDepartmentService.findList(checkDepartment).getData().size() > 0) {
+
+                if (departMentNameIsUsed(hosId,sysDepartment.getDepartmentName())) {
                     return ResultBody.failed().msg(String.format("该医院下已经存在科室 %s", sysDepartment.getDepartmentName()));
                 }
             }
@@ -136,10 +145,13 @@
                 sysOrganization.setOrgLevel(2);
                 //临时暂用其它字段承载数据
                 sysOrganization.setOrgParentId(sysDepartment.getUpdateUserId());
+                if(!sysUser.getOrganizations().isEmpty()){
+                    sysOrganization.setCreateUserOrgCode(sysUser.getOrganizations().get(1).getOrgCode());
+                }
             } else {
                 sysOrganization.setOrgName(sysDepartment.getDepartmentName());
             }
-            boolean org = sysOrganizationService.saveOrUpdate(sysOrganization);
+            boolean org = sysOrganizationService.saveOrUpdateSer(sysOrganization);
             sysDepartment.setOrgId(sysOrganization.getId());
             boolean v = sysDepartmentService.saveOrUpdate(sysDepartment);
             if (v) {

--
Gitblit v1.8.0