浏览代码

添加医生的兼职科室维护

DESKTOP-0GD05B0\Administrator 2 年之前
父节点
当前提交
d23d13d939

+ 23 - 1
src/main/java/thyyxxk/webserver/dao/his/settings/SettingsDao.java

@@ -76,7 +76,17 @@ public interface SettingsDao {
             "                          isnull(del_flag, 0) as del_flag, " +
             "                          rtrim(social_no) as social_no /*身份证*/, " +
             "                          rtrim(phone_no) as phone_no /* 手机 号码*/," +
-            "                          rtrim(yb_code) as yb_code " +
+            "                          rtrim(yb_code) as yb_code," +
+            "                          partTimeDeptCode =        STUFF((select ',' + zy_part_time_dept.dept_code " +
+            "                                                     from zy_part_time_dept " +
+            "                                                     where zy_part_time_dept.code = a.code " +
+            "                                                     for xml path('')), 1, 1, ''), " +
+            "                          partTimeDeptName =    STUFF((select ',' + (select rtrim(name) " +
+            "                                                                   from zd_unit_code " +
+            "                                                                   where zy_part_time_dept.dept_code = zd_unit_code.code) " +
+            "                                                     from zy_part_time_dept " +
+            "                                                     where zy_part_time_dept.code = a.code " +
+            "                                                     for xml path('')), 1, 1, '') " +
             "from a_employee_mi a  " +
             " ${ew.customSqlSegment} ")
     IPage<UserInfo> selectAllUsers(IPage<UserInfo> page,
@@ -200,4 +210,16 @@ public interface SettingsDao {
             "        #{orderYn}, #{ysjb}, #{ghChargeType}, #{loginFlag}, #{doctorXzYp}, #{delFlag}, #{socialNo}, #{phoneNo}, " +
             "        #{pyCode}, #{dCode})")
     void saveEmployeeInfo(UserInfo info);
+
+    @Delete("delete zy_part_time_dept where code = #{code} ")
+    void delPartTimeDeptByCode(String code);
+
+    @Insert("<script>" +
+            "insert into zy_part_time_dept (code, dept_code) values " +
+            "<foreach collection='list' item='item' separator=','>" +
+            "(#{code},#{item})" +
+            "</foreach>" +
+            "</script>")
+    void insertPartTimeDept(@Param("code") String code,
+                            @Param("list") List<String> list);
 }

+ 7 - 0
src/main/java/thyyxxk/webserver/entity/login/UserInfo.java

@@ -131,6 +131,13 @@ public class UserInfo {
 
     private List<Integer> roles;
 
+    /**
+     * 医生兼职科室
+     */
+    private List<String> partTimeDept;
+    private String partTimeDeptCode;
+    private String partTimeDeptName;
+
     public String getDoctorXzYpName() {
         return RestrictedDrugLevels.getName(doctorXzYp);
     }

+ 21 - 6
src/main/java/thyyxxk/webserver/service/settings/SettingsService.java

@@ -224,7 +224,7 @@ public class SettingsService {
         dao.updateReply(advice.getId(), advice.getReply(), TokenUtil.getTokenUserId());
         JSONObject obj = new JSONObject();
         obj.put("message", "您提交的建议已有新的回复,请前往个人中心查看。");
-        WebSocketServer.sendMessageByUserCode(advice.getSubmitStaff(), SocketMsg.socketVo(Message.SYSTEM_NOTIFICATION,obj));
+        WebSocketServer.sendMessageByUserCode(advice.getSubmitStaff(), SocketMsg.socketVo(Message.SYSTEM_NOTIFICATION, obj));
         return ResultVoUtil.success();
     }
 
@@ -254,11 +254,23 @@ public class SettingsService {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "没有查询到原来信息");
         }
         String changedField = CampareObject.getChangedFieldsOfSql(info, userInfo);
-        if (changedField.contains("name")) {
-            changedField += String.format(",py_code = '%s',d_code = '%s' ",
-                    PingYinUtils.pyShouZiMuDaXie(userInfo.getName()), PingYinUtils.getWBCode(userInfo.getName()));
+        if (StringUtil.notBlank(changedField)) {
+            if (changedField.contains("name")) {
+                changedField += String.format(",py_code = '%s',d_code = '%s' ",
+                        PingYinUtils.pyShouZiMuDaXie(userInfo.getName()), PingYinUtils.getWBCode(userInfo.getName()));
+            }
+            dao.modifyPersonnelInformation(changedField, userInfo.getCode());
         }
-        dao.modifyPersonnelInformation(changedField, userInfo.getCode());
+        dao.delPartTimeDeptByCode(userInfo.getCode());
+        if (ListUtil.notBlank(userInfo.getPartTimeDept())) {
+            dao.insertPartTimeDept(userInfo.getCode(), userInfo.getPartTimeDept());
+        }
+
+
+        if (ListUtil.notBlank(userInfo.getPartTimeDept())) {
+            log.info("兼职科室:{}", userInfo.getPartTimeDept());
+        }
+
         log.info("修改员工信息==>操作人:{},数据:{}", TokenUtil.getTokenUserId(), JSON.toJSONString(userInfo));
         return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION);
     }
@@ -267,11 +279,14 @@ public class SettingsService {
         if (dao.doesThePersonnelNumberExist(userInfo.getCodeRs()) > 0) {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "人事工号已存在,换一个.");
         }
-
         userInfo.setCode("0" + publicServer.getPersonnelCode())
                 .setPyCode(PingYinUtils.pyShouZiMuDaXie(userInfo.getName()))
                 .setDCode(PingYinUtils.getWBCode(userInfo.getName()));
         dao.saveEmployeeInfo(userInfo);
+        dao.delPartTimeDeptByCode(userInfo.getCode());
+        if (ListUtil.notBlank(userInfo.getPartTimeDept())) {
+            dao.insertPartTimeDept(userInfo.getCode(), userInfo.getPartTimeDept());
+        }
         log.info("添加员工信息==>操作人:{},数据:{}", TokenUtil.getTokenUserId(), JSON.toJSONString(userInfo));
         return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION);
     }

+ 1 - 1
src/main/java/thyyxxk/webserver/utils/CampareObject.java

@@ -87,7 +87,7 @@ public class CampareObject {
         }
         String sql = stringBuilder.toString();
         if (StringUtil.isBlank(sql)) {
-            throw new BizException(ExceptionEnum.LOGICAL_ERROR, "没有需要更新的字段");
+            return sql;
         }
         return sql.substring(0, stringBuilder.length() - 1);
     }