浏览代码

诊室字典

lighter 4 月之前
父节点
当前提交
6de3c979c9

+ 38 - 0
src/main/java/thyyxxk/webserver/controller/dictionary/ClinicRoomDictController.java

@@ -0,0 +1,38 @@
+package thyyxxk.webserver.controller.dictionary;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import thyyxxk.webserver.entity.ResultVo;
+import thyyxxk.webserver.entity.dictionary.CodeName;
+import thyyxxk.webserver.entity.outpatient.triage.MzfzZdDeptRoom;
+import thyyxxk.webserver.service.dictionary.ClinicRoomDictService;
+import thyyxxk.webserver.utils.ResultVoUtil;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/clinicRoomDict")
+public class ClinicRoomDictController {
+    private final ClinicRoomDictService service;
+
+    @Autowired
+    public ClinicRoomDictController(ClinicRoomDictService service) {
+        this.service = service;
+    }
+
+    @GetMapping("/getDeptList")
+    public ResultVo<List<CodeName>> getDeptList() {
+        return ResultVoUtil.success(service.getDeptList());
+    }
+
+    @GetMapping("/getAllRooms")
+    public ResultVo<List<MzfzZdDeptRoom>> getAllRooms() {
+        List<MzfzZdDeptRoom> list = service.getAllRooms();
+        return ResultVoUtil.success(list);
+    }
+
+    @PostMapping("/changeRoomInfo")
+    public ResultVo<MzfzZdDeptRoom> changeRoomInfo(@RequestBody MzfzZdDeptRoom room) {
+        return ResultVoUtil.success(service.changeRoomInfo(room));
+    }
+}

+ 32 - 0
src/main/java/thyyxxk/webserver/dao/his/dictionary/ClinicRoomDictDao.java

@@ -0,0 +1,32 @@
+package thyyxxk.webserver.dao.his.dictionary;
+
+import org.apache.ibatis.annotations.*;
+import thyyxxk.webserver.entity.dictionary.CodeName;
+import thyyxxk.webserver.entity.outpatient.triage.MzfzZdDeptRoom;
+
+import java.util.List;
+
+@Mapper
+public interface ClinicRoomDictDao {
+    @Select("select " +
+            "a.dept_code,deptName=b.name,a.room_code,a.room_name, " +
+            "statusFlag=isnull(a.status_flag,0),a.room_no " +
+            "from mzfz_zd_dept_room a,zd_unit_code b " +
+            "where a.dept_code=b.code order by dept_code,room_no")
+    List<MzfzZdDeptRoom> getAllRooms();
+
+    @Select("select code,name from zd_unit_code where mz_flag='1' and ghjz_flag='1' order by code")
+    List<CodeName> getDeptList();
+
+    @Update("update mzfz_zd_dept_room set dept_code=#{deptCode}, " +
+            "room_name=#{roomName},room_no=#{roomNo},status_flag=#{statusFlag} " +
+            "where room_code=#{roomCode}")
+    void updateRoomInfo(MzfzZdDeptRoom room);
+
+    @Select("select max(room_code)+1 from mzfz_zd_dept_room")
+    String getMaxRoomCode();
+
+    @Insert("insert into mzfz_zd_dept_room (dept_code,room_code,room_name,room_no,status_flag) " +
+            "values (#{deptCode},#{roomCode},#{roomName},#{roomNo},#{statusFlag})")
+    void insertRoomInfo(MzfzZdDeptRoom room);
+}

+ 43 - 0
src/main/java/thyyxxk/webserver/service/dictionary/ClinicRoomDictService.java

@@ -0,0 +1,43 @@
+package thyyxxk.webserver.service.dictionary;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import thyyxxk.webserver.dao.his.dictionary.ClinicRoomDictDao;
+import thyyxxk.webserver.entity.dictionary.CodeName;
+import thyyxxk.webserver.entity.outpatient.triage.MzfzZdDeptRoom;
+import thyyxxk.webserver.service.redislike.RedisLikeService;
+import thyyxxk.webserver.utils.StringUtil;
+
+import java.util.List;
+
+@Service
+public class ClinicRoomDictService {
+    private final ClinicRoomDictDao dao;
+    private final RedisLikeService redis;
+
+    @Autowired
+    public ClinicRoomDictService(ClinicRoomDictDao dao, RedisLikeService redis) {
+        this.dao = dao;
+        this.redis = redis;
+    }
+
+    public List<CodeName> getDeptList() {
+        return dao.getDeptList();
+    }
+
+    public List<MzfzZdDeptRoom> getAllRooms() {
+        return dao.getAllRooms();
+    }
+
+    public MzfzZdDeptRoom changeRoomInfo(MzfzZdDeptRoom room) {
+        if (StringUtil.notBlank(room.getRoomCode())) {
+            dao.updateRoomInfo(room);
+        } else {
+            room.setRoomCode(dao.getMaxRoomCode());
+            dao.insertRoomInfo(room);
+        }
+        room.setDeptName(redis.getDeptName(room.getDeptCode()));
+        return room;
+    }
+
+}