Explorar el Código

Merge branch 'master' of https://172.16.32.165/lighter/web-server

xiaochan hace 2 años
padre
commit
18c5f4c574

+ 55 - 0
src/main/java/thyyxxk/webserver/controller/dictionary/OpLevelManagementController.java

@@ -0,0 +1,55 @@
+package thyyxxk.webserver.controller.dictionary;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import thyyxxk.webserver.entity.ResultVo;
+import thyyxxk.webserver.entity.dictionary.OpLevelManagement;
+import thyyxxk.webserver.entity.zhuyuanyisheng.shoushu.ZdIcd9Cm3;
+import thyyxxk.webserver.service.dictionary.OpLevelManagementService;
+
+/**
+ * @Description: 手术医生级别管理
+ * @Author:lihong
+ * @Date: 2023/6/8
+ */
+@RestController
+@RequestMapping("/opLevelManagement")
+public class OpLevelManagementController {
+    @Autowired
+    private OpLevelManagementService service;
+
+    @PostMapping("/queryZdIcd9Cm3")
+    public ResultVo<IPage<ZdIcd9Cm3>> queryZdIcd9Cm3(@RequestBody ZdIcd9Cm3 param) {
+        return service.queryZdIcd9Cm3(param);
+    }
+
+    @PostMapping("/saveZdIcd9Cm3")
+    public ResultVo<String> saveZdIcd9Cm3(@RequestBody ZdIcd9Cm3 param) {
+        return service.saveZdIcd9Cm3(param);
+    }
+
+    @PostMapping("/queryOpLevelManagement")
+    public ResultVo<IPage<OpLevelManagement>> queryOpLevelManagement(@RequestBody OpLevelManagement param) {
+        return service.queryOpLevelManagement(param);
+    }
+
+    @PostMapping("/saveOpLevelManagement")
+    public ResultVo<String> saveOpLevelManagement(@RequestBody OpLevelManagement saveParam) {
+        return service.saveOpLevelManagement(saveParam);
+    }
+
+    @PostMapping("/queryOprtInfo")
+    public ResultVo<IPage<OpLevelManagement>> queryOprtInfo(@RequestBody OpLevelManagement param) {
+        return service.queryOprtInfo(param);
+    }
+    @GetMapping("/getEmpCodeRs")
+    public ResultVo<String> getEmpCodeRs(String code) {
+        return service.getEmpCodeRs(code);
+    }
+
+}

+ 39 - 0
src/main/java/thyyxxk/webserver/dao/his/dictionary/OpLevelManagementDao.java

@@ -0,0 +1,39 @@
+package thyyxxk.webserver.dao.his.dictionary;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+import thyyxxk.webserver.entity.dictionary.OpLevelManagement;
+import thyyxxk.webserver.entity.zhuyuanyisheng.shoushu.ZdIcd9Cm3;
+
+import java.util.List;
+
+/**
+ * ${comments}
+ * 
+ * @author lh
+ * @email lihong@gmail.com
+ * @date 2023-06-08 10:57:38
+ */
+@Mapper
+public interface OpLevelManagementDao extends BaseMapper<OpLevelManagement> {
+    @Select(" select rtrim(code) code ,name,op_scale from zd_icd9_cm3  ${ew.customSqlSegment}   ")
+    IPage<ZdIcd9Cm3> queryZdIcd9Cm3Page(IPage<ZdIcd9Cm3> page,@Param(Constants.WRAPPER) QueryWrapper queryWrapper);
+    @Update(" update  zd_icd9_cm3 set op_scale = #{opScale} where code =#{codes} ")
+    void updateZdIcd9Cm3OpScaleByCode(String codes, Integer opScale);
+    @Select(" select  code,code_doctor , name_doctor  from op_level_management  ${ew.customSqlSegment} group by code,code_doctor,name_doctor ")
+    IPage<OpLevelManagement> selectDoctorPage(IPage<OpLevelManagement> page, @Param(Constants.WRAPPER)QueryWrapper queryWrapper);
+    @Insert( " <script> " +
+            " insert into op_level_management ( code_doctor,name_doctor,code_op,code_op_name,input_time,input_user,code) values " +
+            "   <foreach collection='list' item='item'  separator=',' > " +
+            " ( #{item.codeDoctor},#{item.nameDoctor},#{item.codeOp},#{item.codeOpName},getdate(),#{item.inputUser},#{item.code} ) " +
+            "   </foreach> " +
+            " </script> ")
+    void batchSaveOpLevelManagement(@Param("list") List<OpLevelManagement> list);
+}

+ 80 - 0
src/main/java/thyyxxk/webserver/entity/dictionary/OpLevelManagement.java

@@ -0,0 +1,80 @@
+package thyyxxk.webserver.entity.dictionary;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 手术医生级别管理
+ * 
+ * @author lh
+ * @email lihong@gmail.com
+ * @date 2023-06-08 10:57:38
+ */
+@Data
+@TableName("op_level_management")
+public class OpLevelManagement implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 医生工号
+	 */
+	private String codeDoctor;
+	/**
+	 * 医生姓名
+	 */
+	private String nameDoctor;
+	/**
+	 * 手术编码
+	 */
+	private String codeOp;
+	/**
+	 * 手术名称
+	 */
+	private String codeOpName;
+	/**
+	 * 入库时间
+	 */
+	private Date inputTime;
+	/**
+	 * 入库操作人
+	 */
+	private String inputUser;
+	/**
+	 * $column.comments
+	 */
+	@TableId(type = IdType.AUTO)
+	private Integer id;
+
+	@TableField(exist = false)
+	private Integer currentPage;
+	@TableField(exist = false)
+	private Integer pageSize;
+	/**
+	 * 员工编码
+	 */
+	private String code;
+	@TableField(exist = false)
+	private List<OpLevelManagement> saveData;
+
+	@Override
+	public boolean equals(Object o) {
+		if (this == o) return true;
+		if (o == null || getClass() != o.getClass()) return false;
+		OpLevelManagement that = (OpLevelManagement) o;
+		return codeOp.equals(that.codeOp) &&
+				code.equals(that.code);
+	}
+
+	@Override
+	public int hashCode() {
+		return Objects.hash(codeOp, code);
+	}
+}

+ 10 - 0
src/main/java/thyyxxk/webserver/entity/zhuyuanyisheng/shoushu/ZdIcd9Cm3.java

@@ -3,6 +3,8 @@ package thyyxxk.webserver.entity.zhuyuanyisheng.shoushu;
 
 import lombok.Data;
 
+import java.util.List;
+
 /**
  * @author xc
  * @date 2022-11-30 03:30:47
@@ -35,6 +37,14 @@ public class ZdIcd9Cm3 {
     private String ybCode;
 
     private String ybName;
+    /**
+     * 手术级别 1 2 3 4
+     */
+    private Integer opScale;
+    private List<Integer> opScaleList;
+
+    private Integer currentPage;
+    private Integer pageSize;
 
 
 }

+ 105 - 0
src/main/java/thyyxxk/webserver/service/dictionary/OpLevelManagementService.java

@@ -0,0 +1,105 @@
+package thyyxxk.webserver.service.dictionary;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import thyyxxk.webserver.config.exception.ExceptionEnum;
+import thyyxxk.webserver.dao.his.dictionary.OpLevelManagementDao;
+import thyyxxk.webserver.entity.ResultVo;
+import thyyxxk.webserver.entity.dictionary.OpLevelManagement;
+import thyyxxk.webserver.entity.zhuyuanyisheng.shoushu.ZdIcd9Cm3;
+import thyyxxk.webserver.service.redislike.RedisLikeService;
+import thyyxxk.webserver.utils.AssertUtil;
+import thyyxxk.webserver.utils.ResultVoUtil;
+
+import java.util.Date;
+import java.util.stream.Collectors;
+
+/**
+ * @Description:
+ * @Author:lihong
+ * @Date: 2023/6/8
+ */
+@Service
+@Slf4j
+public class OpLevelManagementService {
+    @Autowired
+    private OpLevelManagementDao dao;
+    @Autowired
+    private RedisLikeService redisLikeService;
+
+    public ResultVo<IPage<ZdIcd9Cm3>> queryZdIcd9Cm3(ZdIcd9Cm3 param) {
+        IPage<ZdIcd9Cm3> page = new Page<>(param.getCurrentPage(),param.getPageSize());
+        QueryWrapper queryWrapper = new QueryWrapper();
+        queryWrapper.eq("del_flag",0);
+        queryWrapper.in(CollUtil.isNotEmpty(param.getOpScaleList()), "op_scale", param.getOpScaleList());
+        String sqlTemplate = StrUtil.format("(code like '%{}%' or name like '%{}%' or py_code like '%{}%' )",param.getCode(),param.getCode(),param.getCode());
+        queryWrapper.apply(StrUtil.isNotBlank(param.getCode()),sqlTemplate);
+        dao.queryZdIcd9Cm3Page(page, queryWrapper);
+        page.setRecords(page.getRecords());
+        page.setTotal(page.getTotal());
+        return ResultVoUtil.success(page);
+    }
+
+
+    public ResultVo<String> saveZdIcd9Cm3(ZdIcd9Cm3 saveParam){
+        AssertUtil.isnotBlank(saveParam.getCode(),"手术编码不能为空");
+        AssertUtil.isnotBlank(saveParam.getOpScale(),"手术级别不能为空");
+        dao.updateZdIcd9Cm3OpScaleByCode(saveParam.getCode(),saveParam.getOpScale());
+        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "保存成功");
+    }
+
+    public ResultVo<IPage<OpLevelManagement>> queryOpLevelManagement(OpLevelManagement param) {
+        IPage<OpLevelManagement> page = new Page<>(param.getCurrentPage(),param.getPageSize());
+        QueryWrapper queryWrapper = new QueryWrapper();
+        queryWrapper.like(StrUtil.isNotBlank(param.getNameDoctor()), "name_doctor", param.getNameDoctor());
+        queryWrapper.like(StrUtil.isNotBlank(param.getCodeDoctor()),"code_doctor",param.getCodeDoctor());
+        dao.selectDoctorPage(page,queryWrapper);
+        page.setRecords(page.getRecords());
+        page.setTotal(page.getTotal());
+        return ResultVoUtil.success(page);
+    }
+
+
+    public ResultVo<IPage<OpLevelManagement>> queryOprtInfo(OpLevelManagement param){
+        AssertUtil.isnotBlank(param.getCode(),"医生编号不能为空");
+        IPage<OpLevelManagement> page = new Page<>(param.getCurrentPage(),param.getPageSize());
+        QueryWrapper queryWrapper = new QueryWrapper();
+        queryWrapper.eq("code",param.getCode());
+        queryWrapper.like(StrUtil.isNotBlank(param.getCodeOp()),"code_op",param.getCodeOp());
+        queryWrapper.like(StrUtil.isNotBlank(param.getCodeOpName()),"code_op_name",param.getCodeOpName());
+        dao.selectPage(page,queryWrapper);
+        page.setRecords(page.getRecords());
+        page.setTotal(page.getTotal());
+        return ResultVoUtil.success(page);
+    }
+
+    public ResultVo<String> saveOpLevelManagement(OpLevelManagement saveParam){
+        AssertUtil.isnotBlank(saveParam.getCode(),"医生编号不能为空");
+        QueryWrapper queryWrapper = new QueryWrapper();
+        queryWrapper.eq("code",saveParam.getCode());
+        dao.delete(queryWrapper);
+        Date now = new Date();
+        if (CollUtil.isNotEmpty(saveParam.getSaveData())) {
+            saveParam.getSaveData().forEach(item -> {
+                item.setCode(saveParam.getCode());
+                item.setCodeDoctor(saveParam.getCodeDoctor());
+                item.setNameDoctor(saveParam.getNameDoctor());
+                item.setInputTime(now);
+                item.setInputUser(redisLikeService.getUserInfoByToken().getCode());
+            });
+            dao.batchSaveOpLevelManagement(saveParam.getSaveData().stream().distinct().collect(Collectors.toList()));
+        }
+        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "保存成功");
+    }
+
+
+    public ResultVo<String> getEmpCodeRs(String code) {
+        return ResultVoUtil.success(redisLikeService.getUserInfoByCode(code).getCodeRs());
+    }
+}