diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/controller/InstitutionAreaController.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/controller/InstitutionAreaController.java
deleted file mode 100644
index bc17cd6..0000000
--- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/controller/InstitutionAreaController.java
+++ /dev/null
@@ -1,147 +0,0 @@
-package com.nu.modules.institution.controller;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.nu.modules.institution.entity.InstitutionArea;
-import com.nu.modules.institution.model.InstitutionAreaTreeModel;
-import com.nu.modules.institution.service.IInstitutionAreaService;
-import lombok.extern.slf4j.Slf4j;
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.system.util.JwtUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletRequest;
-import java.util.*;
-
-/**
- *
- * 机构表 前端控制器
- *
- *
- * @Author: 曹磊 @Since: 2025-03-25
- */
-@RestController
-@RequestMapping("/admin/institutionArea")
-@Slf4j
-public class InstitutionAreaController {
-
- @Autowired
- private IInstitutionAreaService service;
-
- /**
- * 异步查询机构list
- * @param parentId 父节点 异步加载时传递
- * @param primaryKey 主键字段(id或者orgCode)
- * @return
- */
- @RequestMapping(value = "/queryTreeSync", method = RequestMethod.GET)
- public Result> queryTreeSync(@RequestParam(name = "pid", required = false) String parentId, @RequestParam(name = "primaryKey", required = false) String primaryKey) {
- Result> result = new Result<>();
- try {
- List list = service.queryTreeListByPid(parentId,primaryKey);
- result.setResult(list);
- result.setSuccess(true);
- } catch (Exception e) {
- log.error(e.getMessage(),e);
- result.setSuccess(false);
- result.setMessage("查询失败");
- }
- return result;
- }
-
- /**
- * 添加新数据 添加用户新建的机构对象数据,并保存到数据库
- *
- * @param InstitutionArea
- * @return
- */
- @RequestMapping(value = "/add", method = RequestMethod.POST)
- public Result add(@RequestBody InstitutionArea InstitutionArea, HttpServletRequest request) {
- Result result = new Result();
- String username = JwtUtil.getUserNameByToken(request);
- try {
- InstitutionArea.setCreateBy(username);
- service.saveInstData(InstitutionArea, username);
- result.success("添加成功!");
- } catch (Exception e) {
- log.error(e.getMessage(),e);
- result.error500("操作失败");
- }
- return result;
- }
-
- /**
- * 编辑数据 编辑机构的部分数据,并保存到数据库
- *
- * @param InstitutionArea
- * @return
- */
- @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
- public Result edit(@RequestBody InstitutionArea InstitutionArea, HttpServletRequest request) {
- String username = JwtUtil.getUserNameByToken(request);
- InstitutionArea.setUpdateBy(username);
- Result result = new Result();
- InstitutionArea InstitutionAreaEntity = service.getById(InstitutionArea.getId());
- if (InstitutionAreaEntity == null) {
- result.error500("未找到对应实体");
- } else {
- boolean ok = service.updateInstDataById(InstitutionArea, username);
- if (ok) {
- result.success("修改成功!");
- }
- }
- return result;
- }
-
- /**
- * 删除
- * @param institutionArea
- * @return
- */
- @PostMapping(value = "/delete")
- public Result delete(@RequestBody InstitutionArea institutionArea){
- InstitutionArea entity = service.getById(institutionArea.getId());
- if(entity==null) {
- return Result.error("未找到对应实体");
- }else {
- return service.deleteInst(entity);
- }
- }
-
- /**
- *
- * 机构搜索功能方法,根据关键字模糊搜索相关机构
- *
- *
- * @param keyWord
- * @return
- */
- @RequestMapping(value = "/searchBy", method = RequestMethod.GET)
- public Result> searchBy(@RequestParam(name = "keyWord", required = true) String keyWord) {
- Result> result = new Result>();
- List treeList = this.service.searchByKeyWord(keyWord);
- if (treeList == null || treeList.size() == 0) {
- result.setSuccess(false);
- result.setMessage("未查询匹配数据!");
- return result;
- }
- result.setResult(treeList);
- return result;
- }
-
- /**
- * 查询所有子区域信息
- * @return
- */
- @GetMapping("queryChildrenByParentId")
- public Result> queryChildrenByParentId(@RequestParam(name = "pid", required = false) String parentId) {
- Result> result = new Result<>();
- LambdaQueryWrapper query = new LambdaQueryWrapper();
- query.orderByAsc(InstitutionArea::getInstName);
- query.eq(InstitutionArea::getParentId,parentId);
- List ls = this.service.list(query);
- result.setSuccess(true);
- result.setResult(ls);
- return result;
- }
-
-}
diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/entity/InstitutionArea.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/entity/InstitutionArea.java
deleted file mode 100644
index 1b0dad1..0000000
--- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/entity/InstitutionArea.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package com.nu.modules.institution.entity;
-
-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 com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.Data;
-import org.jeecg.common.aspect.annotation.Dict;
-import org.jeecgframework.poi.excel.annotation.Excel;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.io.Serializable;
-import java.util.Date;
-import java.util.Objects;
-
-/**
- *
- * 机构区域表
- *
- *
- * @Author 曹磊
- * @Since 2025-03-25
- */
-@Data
-@TableName("nu_admin_institution_area")
-public class InstitutionArea implements Serializable {
- private static final long serialVersionUID = 1L;
-
- /**ID*/
- @TableId(type = IdType.ASSIGN_ID)
- private String id;
- /**父机构ID*/
- private String parentId;
- /**机构/部门名称*/
- @Excel(name="机构/区域名称",width=15)
- private String instName;
- /**英文名*/
- @Excel(name="英文名",width=15)
- private String instNameEn;
- /**缩写*/
- private String instNameAbbr;
- /**排序*/
- @Excel(name="排序",width=15)
- private Integer instOrder;
- /**描述*/
- @Excel(name="描述",width=15)
- private String description;
- /**机构类别 1=机构,2=区域*/
- @Excel(name="机构区域类别",width=15,dicCode="inst_category")
- private String orgCategory;
- /**机构类型 1一级部门 2子部门*/
- private String orgType;
- /**机构编码*/
- @Excel(name="机构编码",width=15)
- private String orgCode;
- /**手机号*/
- @Excel(name="手机号",width=15)
- private String mobile;
- /**地址*/
- @Excel(name="地址",width=15)
- private String address;
- /**状态(1启用,0不启用)*/
- @Dict(dicCode = "depart_status")
- private String status;
- /**删除状态(0,正常,1已删除)*/
- @Dict(dicCode = "del_flag")
- private String delFlag;
- /**创建人*/
- private String createBy;
- /**创建日期*/
- @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
- @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
- private Date createTime;
- /**更新人*/
- private String updateBy;
- /**更新日期*/
- @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
- @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
- private Date updateTime;
- /**租户ID*/
- private Integer tenantId;
- /**是否有叶子节点: 1是0否*/
- private Integer izLeaf;
-
-}
diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/mapper/InstitutionAreaMapper.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/mapper/InstitutionAreaMapper.java
deleted file mode 100644
index 6f1a22f..0000000
--- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/mapper/InstitutionAreaMapper.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package com.nu.modules.institution.mapper;
-
-import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.nu.modules.institution.entity.InstitutionArea;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-import org.springframework.data.repository.query.Param;
-
-import java.util.List;
-
-/**
- *
- * 机构 Mapper 接口
- *
- *
- * @Author: 曹磊
- * @Since: 2025-03-25
- */
-public interface InstitutionAreaMapper extends BaseMapper {
-
-
- /**
- * 根据parent_id查询下级区域
- * @param parentId 父id
- * @return List
- */
- List queryTreeListByPid(@Param("parentId") String parentId);
-
- /**
- * 根据id下级区域数量
- * @param parentId
- * @return
- */
- @Select("SELECT count(*) FROM nu_admin_institution_area where del_flag ='0' AND parent_id = #{parentId,jdbcType=VARCHAR}")
- Integer queryCountByPid(@Param("parentId")String parentId);
-
- @InterceptorIgnore(tenantLine = "true")
- @Select("SELECT * FROM nu_admin_institution_area where id = #{id,jdbcType=VARCHAR}")
- InstitutionArea getInstById(@Param("id") String id);
-
- @InterceptorIgnore(tenantLine = "true")
- List getMaxCodeInst(@Param("page") Page page, @Param("parentId") String parentId);
-
- /**
- * 修改部门状态字段: 是否子节点
- * @param id 部门id
- * @param leaf 叶子节点
- * @return int
- */
- @Update("UPDATE nu_admin_institution_area SET iz_leaf=#{leaf} WHERE id = #{id}")
- int setMainLeaf(@Param("id") String id, @Param("leaf") Integer leaf);
-
-}
diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/mapper/xml/InstitutionAreaMapper.xml b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/mapper/xml/InstitutionAreaMapper.xml
deleted file mode 100644
index 712ac58..0000000
--- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/mapper/xml/InstitutionAreaMapper.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/model/InstitutionAreaIdModel.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/model/InstitutionAreaIdModel.java
deleted file mode 100644
index 7d87514..0000000
--- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/model/InstitutionAreaIdModel.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package com.nu.modules.institution.model;
-
-import com.nu.modules.institution.entity.InstitutionArea;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- *
- * 机构表 封装树结构的机构的名称的实体类
- *
- *
- * @Author Steve
- * @Since 2019-01-22
- *
- */
-public class InstitutionAreaIdModel implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 主键ID
- */
- private String key;
-
- /**
- * 主键ID
- */
- private String value;
-
- /**
- * 机构名称
- */
- private String title;
-
- List children = new ArrayList<>();
-
- /**
- * 将SysDepartTreeModel的部分数据放在该对象当中
- * @param treeModel
- * @return
- */
- public InstitutionAreaIdModel convert(InstitutionAreaTreeModel treeModel) {
- this.key = treeModel.getId();
- this.value = treeModel.getId();
- this.title = treeModel.getInstName();
- return this;
- }
-
- /**
- * 该方法为用户机构的实现类所使用
- * @param inst
- * @return
- */
- public InstitutionAreaIdModel convertByUserDepart(InstitutionArea inst) {
- this.key = inst.getId();
- this.value = inst.getId();
- this.title = inst.getInstName();
- return this;
- }
-
- public List getChildren() {
- return children;
- }
-
- public void setChildren(List children) {
- this.children = children;
- }
-
- public static long getSerialVersionUID() {
- return serialVersionUID;
- }
-
- public String getKey() {
- return key;
- }
-
- public void setKey(String key) {
- this.key = key;
- }
-
- public String getValue() {
- return value;
- }
-
- public void setValue(String value) {
- this.value = value;
- }
-
- public String getTitle() {
- return title;
- }
-
- public void setTitle(String title) {
- this.title = title;
- }
-}
diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/model/InstitutionAreaTreeModel.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/model/InstitutionAreaTreeModel.java
deleted file mode 100644
index ca9de01..0000000
--- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/model/InstitutionAreaTreeModel.java
+++ /dev/null
@@ -1,357 +0,0 @@
-package com.nu.modules.institution.model;
-
-import com.nu.modules.institution.entity.InstitutionArea;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
-
-/**
- *
- * 机构表 存储树结构数据的实体类
- *
- *
- * @Author 曹磊
- * @Since 2025-03-25
- */
-public class InstitutionAreaTreeModel implements Serializable{
-
- private static final long serialVersionUID = 1L;
-
- /** 对应InstitutionArea中的id字段,前端数据树中的key*/
- private String key;
-
- /** 对应InstitutionArea中的id字段,前端数据树中的value*/
- private String value;
-
- /** 对应inst_name字段,前端数据树中的title*/
- private String title;
-
-
- private boolean isLeaf;
- // 以下所有字段均与InstitutionArea相同
-
- private String id;
-
- private String parentId;
-
- private String instName;
-
- private String instNameEn;
-
- private String instNameAbbr;
-
- private Integer instOrder;
-
- private String description;
-
- private String orgCategory;
-
- private String orgType;
-
- private String orgCode;
-
- private String mobile;
-
- private String address;
-
- private String status;
-
- private String delFlag;
-
- private String createBy;
-
- private Date createTime;
-
- private String updateBy;
-
- private Date updateTime;
-
- //update-begin---author:wangshuai ---date:20200308 for:[JTC-119]在部门管理菜单下设置部门负责人,新增字段部门负责人ids
- /**部门负责人ids*/
- private String directorUserIds;
- //update-end---author:wangshuai ---date:20200308 for:[JTC-119]在部门管理菜单下设置部门负责人,新增字段部门负责人ids
-
- private List children = new ArrayList<>();
-
-
- /**
- * 将InstitutionArea对象转换成InstitutionAreaTreeModel对象
- * @param inst
- */
- public InstitutionAreaTreeModel(InstitutionArea inst) {
- this.key = inst.getId();
- this.value = inst.getId();
- this.title = inst.getInstName();
- this.id = inst.getId();
- this.parentId = inst.getParentId();
- this.instName = inst.getInstName();
- this.instNameEn = inst.getInstNameEn();
- this.instNameAbbr = inst.getInstNameAbbr();
- this.instOrder = inst.getInstOrder();
- this.description = inst.getDescription();
- this.orgCategory = inst.getOrgCategory();
- this.orgType = inst.getOrgType();
- this.orgCode = inst.getOrgCode();
- this.mobile = inst.getMobile();
- this.address = inst.getAddress();
- this.status = inst.getStatus();
- this.delFlag = inst.getDelFlag();
- this.createBy = inst.getCreateBy();
- this.createTime = inst.getCreateTime();
- this.updateBy = inst.getUpdateBy();
- this.updateTime = inst.getUpdateTime();
- if(0 == inst.getIzLeaf()){
- this.isLeaf = false;
- }else{
- this.isLeaf = true;
- }
- }
-
- public boolean getIsLeaf() {
- return isLeaf;
- }
-
- public void setIsLeaf(boolean isleaf) {
- this.isLeaf = isleaf;
- }
-
- public String getKey() {
- return key;
- }
-
-
- public void setKey(String key) {
- this.key = key;
- }
-
-
- public String getValue() {
- return value;
- }
-
-
- public void setValue(String value) {
- this.value = value;
- }
-
-
- public String getTitle() {
- return title;
- }
-
-
- public void setTitle(String title) {
- this.title = title;
- }
-
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public List getChildren() {
- return children;
- }
-
- public void setChildren(List children) {
- if (children==null){
- this.isLeaf=true;
- }
- this.children = children;
- }
-
- public String getParentId() {
- return parentId;
- }
-
- public void setParentId(String parentId) {
- this.parentId = parentId;
- }
-
- public static long getSerialVersionUID() {
- return serialVersionUID;
- }
-
- public String getInstName() {
- return instName;
- }
-
- public void setInstName(String instName) {
- this.instName = instName;
- }
-
- public String getOrgCategory() {
- return orgCategory;
- }
-
- public void setOrgCategory(String orgCategory) {
- this.orgCategory = orgCategory;
- }
-
- public String getOrgType() {
- return orgType;
- }
-
- public void setOrgType(String orgType) {
- this.orgType = orgType;
- }
-
- public String getOrgCode() {
- return orgCode;
- }
-
- public void setOrgCode(String orgCode) {
- this.orgCode = orgCode;
- }
-
- public String getMobile() {
- return mobile;
- }
-
- public void setMobile(String mobile) {
- this.mobile = mobile;
- }
-
- public String getAddress() {
- return address;
- }
-
- public void setAddress(String address) {
- this.address = address;
- }
-
- public String getInstNameEn() {
- return instNameEn;
- }
-
- public void setInstNameEn(String instNameEn) {
- this.instNameEn = instNameEn;
- }
-
- public String getInstNameAbbr() {
- return instNameAbbr;
- }
-
- public void setInstNameAbbr(String instNameAbbr) {
- this.instNameAbbr = instNameAbbr;
- }
-
- public Integer getInstOrder() {
- return instOrder;
- }
-
- public void setInstOrder(Integer instOrder) {
- this.instOrder = instOrder;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getStatus() {
- return status;
- }
-
- public void setStatus(String status) {
- this.status = status;
- }
-
- public String getDelFlag() {
- return delFlag;
- }
-
- public void setDelFlag(String delFlag) {
- this.delFlag = delFlag;
- }
-
- public String getCreateBy() {
- return createBy;
- }
-
- public void setCreateBy(String createBy) {
- this.createBy = createBy;
- }
-
- public Date getCreateTime() {
- return createTime;
- }
-
- public void setCreateTime(Date createTime) {
- this.createTime = createTime;
- }
-
- public String getUpdateBy() {
- return updateBy;
- }
-
- public void setUpdateBy(String updateBy) {
- this.updateBy = updateBy;
- }
-
- public Date getUpdateTime() {
- return updateTime;
- }
-
- public void setUpdateTime(Date updateTime) {
- this.updateTime = updateTime;
- }
-
- public InstitutionAreaTreeModel() { }
-
- /**
- * 重写equals方法
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- InstitutionAreaTreeModel model = (InstitutionAreaTreeModel) o;
- return Objects.equals(id, model.id) &&
- Objects.equals(parentId, model.parentId) &&
- Objects.equals(instName, model.instName) &&
- Objects.equals(instNameEn, model.instNameEn) &&
- Objects.equals(instNameAbbr, model.instNameAbbr) &&
- Objects.equals(instOrder, model.instOrder) &&
- Objects.equals(description, model.description) &&
- Objects.equals(orgCategory, model.orgCategory) &&
- Objects.equals(orgType, model.orgType) &&
- Objects.equals(orgCode, model.orgCode) &&
- Objects.equals(mobile, model.mobile) &&
- Objects.equals(address, model.address) &&
- Objects.equals(status, model.status) &&
- Objects.equals(delFlag, model.delFlag) &&
- Objects.equals(createBy, model.createBy) &&
- Objects.equals(createTime, model.createTime) &&
- Objects.equals(updateBy, model.updateBy) &&
- Objects.equals(updateTime, model.updateTime) &&
- Objects.equals(children, model.children);
- }
-
- /**
- * 重写hashCode方法
- */
- @Override
- public int hashCode() {
-
- return Objects.hash(id, parentId, instName, instNameEn, instNameAbbr,
- instOrder, description, orgCategory, orgType, orgCode, mobile, address,
- status, delFlag, createBy, createTime, updateBy, updateTime,
- children);
- }
-
-}
diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/service/IInstitutionAreaService.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/service/IInstitutionAreaService.java
deleted file mode 100644
index 4566506..0000000
--- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/service/IInstitutionAreaService.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package com.nu.modules.institution.service;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.nu.modules.institution.entity.InstitutionArea;
-import com.nu.modules.institution.model.InstitutionAreaTreeModel;
-import org.jeecg.common.api.vo.Result;
-
-import java.util.List;
-
-/**
- *
- * 机构表 服务实现类
- *
- *
- * @Author 曹磊
- * @Since 2025-03-25
- */
-public interface IInstitutionAreaService extends IService{
-
- /**
- * 保存部门数据
- * @param InstitutionArea
- * @param username 用户名
- */
- void saveInstData(InstitutionArea InstitutionArea,String username);
-
- /**
- * 更新Inst数据
- * @param InstitutionArea
- * @param username 用户名
- * @return
- */
- Boolean updateInstDataById(InstitutionArea InstitutionArea,String username);
-
- /**
- * 根据关键字搜索相关的部门数据
- * @param keyWord
- * @return
- */
- List searchByKeyWord(String keyWord);
-
- /**
- * 根据部门id删除并删除其可能存在的子级部门
- * @param id
- * @return
- */
- boolean delete(String id);
-
- /**
- * 获取我的部门下级所有部门
- * @param parentId 父id
- * @param primaryKey 主键字段(id或者orgCode)
- * @return
- */
- List queryTreeListByPid(String parentId,String primaryKey);
-
- /**
- * 根据id查询机构信息
- * @param parentId
- * @return
- */
- IPage getMaxCodeInst(Page page, String parentId);
-
- /**
- * 删除部门
- * @param id
- */
- Result deleteInst(InstitutionArea institutionArea);
-
- /**
- * 根据id查询部门信息
- * @param parentId
- * @return
- */
- InstitutionArea getInstById(String parentId);
-
-
-}
diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/service/impl/InstitutionAreaServiceImpl.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/service/impl/InstitutionAreaServiceImpl.java
deleted file mode 100644
index 6d75016..0000000
--- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/service/impl/InstitutionAreaServiceImpl.java
+++ /dev/null
@@ -1,201 +0,0 @@
-package com.nu.modules.institution.service.impl;
-
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.IdWorker;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.nu.modules.institution.entity.InstitutionArea;
-import com.nu.modules.institution.mapper.InstitutionAreaMapper;
-import com.nu.modules.institution.model.InstitutionAreaTreeModel;
-import com.nu.modules.institution.service.IInstitutionAreaService;
-import com.nu.modules.institution.utils.OrgCodeRule;
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.constant.CommonConstant;
-import org.jeecg.common.util.oConvertUtils;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import java.util.*;
-import java.util.function.Consumer;
-
-/**
- *
- * 机构表 服务实现类
- *
- *
- * @Author 曹磊
- * @Since 2025-03-25
- */
-@Service
-public class InstitutionAreaServiceImpl extends ServiceImpl implements IInstitutionAreaService {
-
- /**
- * 根据parentId查询机构树
- * @param parentId
- * @param primaryKey 主键字段(id或者orgCode)
- * @return
- */
- @Override
- public List queryTreeListByPid(String parentId,String primaryKey) {
- Consumer> square = i -> {
- if(oConvertUtils.isEmpty(parentId)){
- i.and(q->q.isNull(true,InstitutionArea::getParentId).or().eq(true,InstitutionArea::getParentId,""));
- }else{
- i.eq(true,InstitutionArea::getParentId,parentId);
- }
- };
- LambdaQueryWrapper lqw=new LambdaQueryWrapper<>();
- lqw.eq(true,InstitutionArea::getDelFlag,CommonConstant.DEL_FLAG_0.toString());
- lqw.func(square);
- lqw.orderByAsc(InstitutionArea::getInstOrder);
- List list = list(lqw);
- List records = new ArrayList<>();
- for (int i = 0; i < list.size(); i++) {
- InstitutionArea inst = list.get(i);
- InstitutionAreaTreeModel treeModel = new InstitutionAreaTreeModel(inst);
- records.add(treeModel);
- }
- return records;
- }
-
- /**
- * 根据id查询机构信息
- * @param parentId
- * @return
- */
- @Override
- public IPage getMaxCodeInst(Page page, String parentId) {
- return page.setRecords(baseMapper.getMaxCodeInst(page,parentId));
- }
- /**
- * saveInstData 对应 add 保存用户在页面添加的新的机构对象数据
- */
- @Override
- @Transactional(rollbackFor = Exception.class)
- public void saveInstData(InstitutionArea institutionArea, String username) {
- if (institutionArea != null && username != null) {
- //给机构表加个是否有子节点------------
- if (oConvertUtils.isEmpty(institutionArea.getParentId())) {
- institutionArea.setParentId("");
- }else{
- //将父机构的设成不是叶子结点
- baseMapper.setMainLeaf(institutionArea.getParentId(),CommonConstant.NOT_LEAF);
- }
- //给机构表加个是否有子节点------------
- institutionArea.setId(IdWorker.getIdStr(institutionArea));
- // 先判断该对象有无父级ID,有则意味着不是最高级,否则意味着是最高级
- // 获取父级ID
- String parentId = institutionArea.getParentId();
- //begin--机构编码规则生成器做成公用配置
- JSONObject formData = new JSONObject();
- formData.put("parentId",parentId);
- String[] codeArray = OrgCodeRule.getOrgCode(formData);
- //end--机构编码规则生成器做成公用配置
- institutionArea.setOrgCode(codeArray[0]);
- String orgType = codeArray[1];
- institutionArea.setOrgType(String.valueOf(orgType));
- institutionArea.setCreateTime(new Date());
- institutionArea.setDelFlag(CommonConstant.DEL_FLAG_0.toString());
- //新添加的机构是叶子节点
- institutionArea.setIzLeaf(CommonConstant.IS_LEAF);
- if (oConvertUtils.isEmpty(institutionArea.getOrgCategory())) {
- if (oConvertUtils.isEmpty(institutionArea.getParentId())) {
- institutionArea.setOrgCategory("1");
- } else {
- institutionArea.setOrgCategory("2");
- }
- }
- this.save(institutionArea);
- }
- }
-
- /**
- * updateInstDataById 对应 edit 根据机构主键来更新对应的机构数据
- */
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Boolean updateInstDataById(InstitutionArea institutionArea, String username) {
- if (institutionArea != null && username != null) {
- institutionArea.setUpdateTime(new Date());
- institutionArea.setUpdateBy(username);
- this.updateById(institutionArea);
- return true;
- } else {
- return false;
- }
- }
-
- /**
- *
- * 根据关键字搜索相关的机构数据
- *
- */
- @Override
- public List searchByKeyWord(String keyWord) {
- LambdaQueryWrapper query = new LambdaQueryWrapper();
- List newList = new ArrayList<>();
- query.like(InstitutionArea::getInstName, keyWord);
- InstitutionAreaTreeModel model = new InstitutionAreaTreeModel();
- List instList = this.list(query);
- if(instList.size() > 0) {
- for(InstitutionArea inst : instList) {
- model = new InstitutionAreaTreeModel(inst);
- model.setChildren(null);
- newList.add(model);
- }
- return newList;
- }
- return null;
- }
-
- @Override
- public InstitutionArea getInstById(String id) {
- return baseMapper.getInstById(id);
- }
-
- @Override
- public Result deleteInst(InstitutionArea institutionArea) {
- //判断是否有字节点
- int childrenCount = baseMapper.queryCountByPid(institutionArea.getId());
- if(childrenCount>0){
- if(institutionArea.getOrgCategory().equals("1")){
- return Result.error("此机构存在子区域,请将子区域全部删除后再来删除此机构!");
- }else{
- return Result.error("此区域存在子区域,请将子区域全部删除后再来删除此区域!");
- }
- }
- //删除机构设置父级的叶子结点
- this.setIzLeaf(institutionArea.getId());
- this.delete(institutionArea.getId());
- return Result.OK("机构删除成功!");
- }
-
- /**
- * 设置父级节点是否存在叶子结点
- * @param id
- */
- private void setIzLeaf(String id) {
- InstitutionArea inst = this.getInstById(id);
- String parentId = inst.getParentId();
- if(oConvertUtils.isNotEmpty(parentId)){
- Long count = this.count(new QueryWrapper().lambda().eq(InstitutionArea::getParentId, parentId));
- if(count == 1){
- //若父节点无其他子节点,则该父节点是叶子节点
- baseMapper.setMainLeaf(parentId, CommonConstant.IS_LEAF);
- }
- }
- }
-
- /**
- * 根据机构id删除并且删除其可能存在的子级任何机构
- */
- @Override
- @Transactional(rollbackFor = Exception.class)
- public boolean delete(String id) {
- boolean ok = this.removeById(id);
- return ok;
- }
-
-}
diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/utils/FindOrgCodeUtil.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/utils/FindOrgCodeUtil.java
deleted file mode 100644
index c8e68f3..0000000
--- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/utils/FindOrgCodeUtil.java
+++ /dev/null
@@ -1,180 +0,0 @@
-package com.nu.modules.institution.utils;
-
-import io.netty.util.internal.StringUtil;
-import org.jeecg.common.util.oConvertUtils;
-
-/**
- * 流水号生成规则(按默认规则递增,数字从1-999开始递增,数字到999,递增字母;位数不够增加位数)
- * A001
- * A001A002
- * @Author 曹磊
- *
- */
-public class FindOrgCodeUtil {
-
- // 数字位数(默认生成3位的数字)
-
- /**代表数字位数*/
- private static final int NUM_LENGTH = 3;
-
- public static final int ZHANWEI_LENGTH = 1+ NUM_LENGTH;
-
- public static final char LETTER= 'Z';
-
- /**
- * 根据前一个code,获取同级下一个code
- * 例如:当前最大code为A001A004,下一个code为:A001A005
- *
- * @param code
- * @return
- */
- public static synchronized String getNextOrgCode(String code) {
- String newcode = "";
- if (oConvertUtils.isEmpty(code)) {
- String zimu = "A";
- String num = getStrNum(1);
- newcode = zimu + num;
- } else {
- String beforeCode = code.substring(0, code.length() - 1- NUM_LENGTH);
- String afterCode = code.substring(code.length() - 1 - NUM_LENGTH,code.length());
- char afterCodeZimu = afterCode.substring(0, 1).charAt(0);
- Integer afterCodeNum = Integer.parseInt(afterCode.substring(1));
-
- String nextNum = "";
- char nextZimu = 'A';
- // 先判断数字等于999*,则计数从1重新开始,递增
- if (afterCodeNum == getMaxNumByLength(NUM_LENGTH)) {
- nextNum = getNextStrNum(0);
- } else {
- nextNum = getNextStrNum(afterCodeNum);
- }
- // 先判断数字等于999*,则字母从A重新开始,递增
- if(afterCodeNum == getMaxNumByLength(NUM_LENGTH)) {
- nextZimu = getNextZiMu(afterCodeZimu);
- }else{
- nextZimu = afterCodeZimu;
- }
-
- // 例如Z99,下一个code就是Z99A01
- if (LETTER == afterCodeZimu && getMaxNumByLength(NUM_LENGTH) == afterCodeNum) {
- newcode = code + (nextZimu + nextNum);
- } else {
- newcode = beforeCode + (nextZimu + nextNum);
- }
- }
- return newcode;
- }
-
- /**
- * 根据父亲code,获取下级的下一个code
- *
- * 例如:父亲CODE:A001
- * 当前CODE:A001B003
- * 获取的code:A001B004
- *
- * @param parentCode 上级code
- * @param localCode 同级code
- * @return
- */
- public static synchronized String getSubOrgCode(String parentCode,String localCode) {
- if(localCode!=null && localCode!=""){
-
- return getNextOrgCode(localCode);
-
- }else{
- parentCode = parentCode + "A"+ getNextStrNum(0);
- }
- return parentCode;
- }
-
-
-
- /**
- * 将数字前面位数补零
- *
- * @param num
- * @return
- */
- private static String getNextStrNum(int num) {
- return getStrNum(getNextNum(num));
- }
-
- /**
- * 将数字前面位数补零
- *
- * @param num
- * @return
- */
- private static String getStrNum(int num) {
- String s = String.format("%0" + NUM_LENGTH + "d", num);
- return s;
- }
-
- /**
- * 递增获取下个数字
- *
- * @param num
- * @return
- */
- private static int getNextNum(int num) {
- num++;
- return num;
- }
-
- /**
- * 递增获取下个字母
- *
- * @param zimu
- * @return
- */
- private static char getNextZiMu(char zimu) {
- if (zimu == LETTER) {
- return 'A';
- }
- zimu++;
- return zimu;
- }
-
- /**
- * 根据数字位数获取最大值
- * @param length
- * @return
- */
- private static int getMaxNumByLength(int length){
- if(length==0){
- return 0;
- }
- StringBuilder maxNum = new StringBuilder();
- for (int i=0;i
- * 对应机构的表,处理并查找树级数据
- *
- *
- * @Author: 曹磊
- * @Date: 2025-03-25
- */
-public class FindsInstChildrenUtil {
-
- /**
- * queryTreeList的子方法 ====1=====
- * 该方法是s将InstitutionArea类型的list集合转换成InstitutionAreaTreeModel类型的集合
- */
- public static List wrapTreeDataToTreeList(List recordList) {
- List idList = new ArrayList();
- List records = new ArrayList<>();
- for (int i = 0; i < recordList.size(); i++) {
- InstitutionArea inst = recordList.get(i);
- records.add(new InstitutionAreaTreeModel(inst));
- }
- List tree = findChildren(records, idList);
- setEmptyChildrenAsNull(tree);
- return tree;
- }
-
- /**
- * 获取 InstitutionAreaIdModel
- * @param recordList
- * @return
- */
- public static List wrapTreeDataToInstIdTreeList(List recordList) {
- List idList = new ArrayList();
- List records = new ArrayList<>();
- for (int i = 0; i < recordList.size(); i++) {
- InstitutionArea inst = recordList.get(i);
- records.add(new InstitutionAreaTreeModel(inst));
- }
- findChildren(records, idList);
- return idList;
- }
-
- /**
- * queryTreeList的子方法 ====2=====
- * 该方法是找到并封装顶级父类的节点到TreeList集合
- */
- private static List findChildren(List recordList, List instIdList) {
- List treeList = new ArrayList<>();
- for (int i = 0; i < recordList.size(); i++) {
- InstitutionAreaTreeModel branch = recordList.get(i);
- if (oConvertUtils.isEmpty(branch.getParentId())) {
- treeList.add(branch);
- InstitutionAreaIdModel InstitutionAreaIdModel = new InstitutionAreaIdModel().convert(branch);
- instIdList.add(InstitutionAreaIdModel);
- }
- }
- getGrandChildren(treeList,recordList,instIdList);
- return treeList;
- }
-
- /**
- * queryTreeList的子方法====3====
- *该方法是找到顶级父类下的所有子节点集合并封装到TreeList集合
- */
- private static void getGrandChildren(List treeList,List recordList,List idList) {
- for (int i = 0; i < treeList.size(); i++) {
- InstitutionAreaTreeModel model = treeList.get(i);
- InstitutionAreaIdModel idModel = idList.get(i);
- for (int i1 = 0; i1 < recordList.size(); i1++) {
- InstitutionAreaTreeModel m = recordList.get(i1);
- if (m.getParentId()!=null && m.getParentId().equals(model.getId())) {
- model.getChildren().add(m);
- InstitutionAreaIdModel dim = new InstitutionAreaIdModel().convert(m);
- idModel.getChildren().add(dim);
- }
- }
- getGrandChildren(treeList.get(i).getChildren(), recordList, idList.get(i).getChildren());
- }
- }
-
- /**
- * queryTreeList的子方法 ====4====
- * 该方法是将子节点为空的List集合设置为Null值
- */
- private static void setEmptyChildrenAsNull(List treeList) {
-
- for (int i = 0; i < treeList.size(); i++) {
- InstitutionAreaTreeModel model = treeList.get(i);
- if (model.getChildren().size() == 0) {
- model.setChildren(null);
- model.setIsLeaf(true);
- }else{
- setEmptyChildrenAsNull(model.getChildren());
- model.setIsLeaf(false);
- }
- }
- }
-}
diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/utils/OrgCodeRule.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/utils/OrgCodeRule.java
deleted file mode 100644
index b85f307..0000000
--- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/institution/utils/OrgCodeRule.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package com.nu.modules.institution.utils;
-
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.nu.modules.institution.entity.InstitutionArea;
-import com.nu.modules.institution.service.impl.InstitutionAreaServiceImpl;
-import io.netty.util.internal.StringUtil;
-import org.jeecg.common.util.SpringContextUtils;
-import java.util.List;
-
-/**
- * @Author scott
- * @Date 2019/12/9 11:33
- * @Description: 机构编码生成规则
- */
-public class OrgCodeRule{
-
- public static String[] getOrgCode(JSONObject params) {
- InstitutionAreaServiceImpl institutionAreaService = (InstitutionAreaServiceImpl) SpringContextUtils.getBean("institutionAreaServiceImpl");
-
- String[] strArray = new String[2];
- //定义机构类型
- String orgType = "";
- // 定义新编码字符串
- String newOrgCode = "";
- // 定义旧编码字符串
- String oldOrgCode = "";
- String parentId = null;
- Object obj = params.get("parentId");
- if (obj != null) {
- parentId = obj.toString();
- }
- //如果是最高级,则查询出同级的org_code, 调用工具类生成编码并返回
- if (StringUtil.isNullOrEmpty(parentId)) {
- // 线判断数据库中的表是否为空,空则直接返回初始编码
- //获取最大值code的机构信息
- Page page = new Page<>(1,1);
- IPage pageList = institutionAreaService.getMaxCodeInst(page,"");
- List records = pageList.getRecords();
- if (null==records || records.size()==0) {
- strArray[0] = FindOrgCodeUtil.getNextOrgCode(null);
- strArray[1] = "1";
- return strArray;
- } else {
- InstitutionArea depart = records.get(0);
- oldOrgCode = depart.getOrgCode();
- orgType = depart.getOrgType();
- newOrgCode = FindOrgCodeUtil.getNextOrgCode(oldOrgCode);
- }
- } else {//反之则查询出所有同级的机构,获取结果后有两种情况,有同级和没有同级
- //获取自己机构最大值orgCode机构信息
- Page page = new Page<>(1,1);
- IPage pageList = institutionAreaService.getMaxCodeInst(page,parentId);
- List records = pageList.getRecords();
- // 查询出父级机构
- InstitutionArea depart = institutionAreaService.getInstById(parentId);
- // 获取父级机构的Code
- String parentCode = depart.getOrgCode();
- // 根据父级机构类型算出当前机构的类型
- orgType = String.valueOf(Integer.valueOf(depart.getOrgType()) + 1);
- // 处理同级机构为null的情况
- if (null == records || records.size()==0) {
- // 直接生成当前的机构编码并返回
- newOrgCode = FindOrgCodeUtil.getSubOrgCode(parentCode, null);
- } else { //处理有同级机构的情况
- // 获取同级机构的编码,利用工具类
- String subCode = records.get(0).getOrgCode();
- // 返回生成的当前机构编码
- newOrgCode = FindOrgCodeUtil.getSubOrgCode(parentCode, subCode);
- }
- }
- // 返回最终封装了机构编码和机构类型的数组
- strArray[0] = newOrgCode;
- strArray[1] = orgType;
- return strArray;
- }
-}
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/NuBizNuCustomerServer/entity/NuBizNuCustomerServer.java b/nursing-unit-api/src/main/java/com/nu/modules/NuBizNuCustomerServer/entity/NuBizNuCustomerServer.java
index 95ac196..37cf5cd 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/NuBizNuCustomerServer/entity/NuBizNuCustomerServer.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/NuBizNuCustomerServer/entity/NuBizNuCustomerServer.java
@@ -27,10 +27,10 @@ import lombok.experimental.Accessors;
* @Version: V1.0
*/
@Data
-@TableName("nu_biz_nu_customer_server")
+@TableName("nu_biz_nu_customer_server_care")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
-@ApiModel(value="nu_biz_nu_customer_server对象", description="护理单元客户配置服务指令")
+@ApiModel(value="nu_biz_nu_customer_server_care对象", description="护理单元客户配置服务指令")
public class NuBizNuCustomerServer implements Serializable {
private static final long serialVersionUID = 1L;
diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialCategoryServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialCategoryServiceImpl.java
index 47e5a7f..ebcadd3 100644
--- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialCategoryServiceImpl.java
+++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/ConfigMaterial/service/impl/ConfigMaterialCategoryServiceImpl.java
@@ -162,7 +162,7 @@ public class ConfigMaterialCategoryServiceImpl extends ServiceImpl
@@ -92,7 +92,7 @@
from nu_base_info b
- AND b.nu_id = #{params.nuId}
+ AND b.id = #{params.nuId}
AND b.nu_name LIKE concat('%',#{params.nuName},'%')
@@ -125,7 +125,7 @@
protocol as protocol,
a.nu_id as nuId,
b.nu_name as nuName
- from nu_iot_tplink_camera a left join nu_base_info b on a.nu_id = b.nu_id
+ from nu_iot_tplink_camera a left join nu_base_info b on a.nu_id = b.id
where device_index = #{deviceIndex}
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/service/impl/CameraInfoServiceImpl.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/service/impl/CameraInfoServiceImpl.java
index 6dbd07f..d0f2804 100644
--- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/service/impl/CameraInfoServiceImpl.java
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/service/impl/CameraInfoServiceImpl.java
@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.nu.modules.tplink.common.entity.TumsConfig;
-import com.nu.modules.tplink.common.service.ITumsConfigService;
+import com.nu.modules.tplink.common.mapper.TumsConfigMapper;
import org.apache.commons.compress.utils.Lists;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
@@ -42,7 +42,7 @@ public class CameraInfoServiceImpl extends ServiceImpl chnList = (List)chnMap.get("data");
if(chnList!=null&&chnList.size()>0){
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
- TumsConfig tumsConfig = tumsConfigService.getByCode(sysUser.getOrgCode());
+ TumsConfig tumsConfig = tumsConfigMapper.getByCode(sysUser.getOrgCode());
for(int j=0;j playbackMap = getPlaybackUrl(chn,1);
@@ -2014,7 +2014,7 @@ public class CameraInfoServiceImpl extends ServiceImpl getUser(TumsConfig tumsConfig) {
+ return tumsConfigService.getUser(tumsConfig);
+ }
+
+ /**
+ * 添加和编辑图门系统用户
+ * @return
+ */
+ @PostMapping(value = "/saveUser")
+ public Result saveUser(@RequestBody TumsConfig tumsConfig) {
+ return tumsConfigService.saveUser(tumsConfig);
+ }
+
}
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/common/entity/TumsConfig.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/common/entity/TumsConfig.java
index d75fe1c..929f3de 100644
--- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/common/entity/TumsConfig.java
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/common/entity/TumsConfig.java
@@ -1,7 +1,11 @@
package com.nu.modules.tplink.common.entity;
+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 io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@@ -21,9 +25,18 @@ import java.io.Serializable;
@ApiModel(value="nu_iot_tplink_tums_base", description="护理单元-物联管理-TPLINK图门系统配置信息")
public class TumsConfig implements Serializable {
private static final long serialVersionUID = 1L;
+ /**ID*/
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "ID")
+ private Integer id;
private String tumsUrl; //获取图门系统地址
+ private String tumsProjectId; //图门系统登录项目ID
+ @TableField(exist = false)
+ private String tumsProjectName; //图门系统登录项目ID
+ private String tumsUserId; // 图门系统登录用户ID
private String tumsUsername; // 获取图门系统用户
private String tumsPassword; //获取图门系统密码
+ private String tumsRoleId; //图门系统角色ID
private String ftpIp; //回放视频转FTP上传IP
private String ftpPort; //回放视频转FTP上传端口
private String ftpUsername; //回放视频转FTP上传用户
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/common/mapper/TumsConfigMapper.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/common/mapper/TumsConfigMapper.java
index 9eace62..3a8620d 100644
--- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/common/mapper/TumsConfigMapper.java
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/common/mapper/TumsConfigMapper.java
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nu.modules.tplink.common.entity.TumsConfig;
import org.apache.ibatis.annotations.Mapper;
+import java.util.Map;
+
/**
* @Description: 护理单元-物联管理-错误码
* @Author: jeecg-boot
@@ -14,4 +16,7 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface TumsConfigMapper extends BaseMapper {
TumsConfig getByCode(String orgCode);
+ TumsConfig findProjectByCodeOrId(TumsConfig tumsConfig);
+ void addUser(Map map);
+ void updateUser(Map map);
}
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/common/mapper/xml/TumsConfigMapper.xml b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/common/mapper/xml/TumsConfigMapper.xml
index 6168032..6ba6303 100644
--- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/common/mapper/xml/TumsConfigMapper.xml
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/common/mapper/xml/TumsConfigMapper.xml
@@ -6,8 +6,11 @@
select
id,
tums_url as tumsUrl,
+ tums_project_id as tumsProjectId,
+ tums_userId as tumsUserId,
tums_username as tumsUsername,
tums_password as tumsPassword,
+ tums_roleId as tumsRoleId,
ftp_ip as ftpIp,
ftp_port as ftpPort,
ftp_username as ftpUsername,
@@ -27,4 +30,135 @@
limit 1
+
+
+
+ insert into nu_iot_tplink_tums_base(
+
+ tums_url,
+
+
+ tums_project_id,
+
+
+ tums_userId,
+
+
+ tums_username,
+
+
+ tums_password,
+
+
+ tums_roleId,
+
+
+ ftp_ip,
+
+
+ ftp_port,
+
+
+ ftp_username,
+
+
+ ftp_password,
+
+
+ ftp_uploadpath,
+
+ org_code
+ )
+ values(
+
+ #{tumsUrl},
+
+
+ #{tumsProjectId},
+
+
+ #{tumsUserId},
+
+
+ #{tumsUsername},
+
+
+ #{tumsPassword},
+
+
+ #{tumsRoleId},
+
+
+ #{ftpIp},
+
+
+ #{ftpPort},
+
+
+ #{ftpUsername},
+
+
+ #{ftpPassword},
+
+
+ #{ftpUploadpath},
+
+ #{orgCode}
+ )
+
+
+
+ update nu_iot_tplink_tums_base
+ set
+
+ tums_url = #{tumsUrl},
+
+
+ tums_project_id = #{tumsProjectId},
+
+
+ tums_userId = #{tumsUserId},
+
+
+ tums_username = #{tumsUsername},
+
+
+ tums_password = #{tumsPassword},
+
+
+ tums_roleId = #{tumsRoleId},
+
+
+ ftp_ip = #{ftpIp},
+
+
+ ftp_port = #{ftpPort},
+
+
+ ftp_username = #{ftpUsername},
+
+
+ ftp_password = #{ftpPassword},
+
+
+ ftp_uploadpath = #{ftpUploadpath},
+
+ org_code = #{orgCode}
+ where org_code = #{orgCode}
+
+
\ No newline at end of file
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/common/service/ITumsConfigService.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/common/service/ITumsConfigService.java
index bc8119d..e1db723 100644
--- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/common/service/ITumsConfigService.java
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/common/service/ITumsConfigService.java
@@ -2,6 +2,7 @@ package com.nu.modules.tplink.common.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nu.modules.tplink.common.entity.TumsConfig;
+import org.jeecg.common.api.vo.Result;
/**
* @Description: 护理单元-物联管理-图门系统配置
@@ -11,4 +12,6 @@ import com.nu.modules.tplink.common.entity.TumsConfig;
*/
public interface ITumsConfigService extends IService {
TumsConfig getByCode(String orgCode);
+ Result> getUser(TumsConfig tumsConfig);
+ Result saveUser(TumsConfig tumsConfig);
}
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/common/service/impl/TumsConfigServiceImpl.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/common/service/impl/TumsConfigServiceImpl.java
index ef3eb81..f025379 100644
--- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/common/service/impl/TumsConfigServiceImpl.java
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/common/service/impl/TumsConfigServiceImpl.java
@@ -1,10 +1,17 @@
package com.nu.modules.tplink.common.service.impl;
+import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nu.modules.tplink.common.entity.TumsConfig;
import com.nu.modules.tplink.common.mapper.TumsConfigMapper;
import com.nu.modules.tplink.common.service.ITumsConfigService;
+import com.nu.modules.tplink.utils.TumsApi;
+import org.jeecg.common.api.vo.Result;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.HashMap;
+import java.util.Map;
+
/**
* @Description: 护理单元-物联管理-图门系统配置
@@ -15,9 +22,157 @@ import org.springframework.stereotype.Service;
@Service
public class TumsConfigServiceImpl extends ServiceImpl implements ITumsConfigService {
+ @Autowired
+ private TumsApi tumsApi;
+
@Override
public TumsConfig getByCode(String orgCode){
return baseMapper.getByCode(orgCode);
}
+ @Override
+ public Result> getUser(TumsConfig tumsConfig){
+ TumsConfig entity = baseMapper.getByCode(tumsConfig.getOrgCode());
+ if(entity == null){
+ entity = new TumsConfig();
+ entity.setOrgCode(tumsConfig.getOrgCode());
+ }
+ TumsConfig project = baseMapper.findProjectByCodeOrId(entity);
+ if(project!=null){
+ entity.setTumsProjectId(project.getTumsProjectId());
+ entity.setTumsProjectName(project.getTumsProjectName());
+ }
+ return Result.OK(entity);
+ }
+
+ @Override
+ public Result saveUser(TumsConfig tumsConfig){
+ TumsConfig entity = baseMapper.getByCode(tumsConfig.getOrgCode());
+ if(entity!=null){
+ String errorMsg = "";
+ Map map = new HashMap<>();
+ if(!entity.getTumsPassword().equals(tumsConfig.getTumsPassword())){
+ //调用修改密码接口
+ StringBuffer sbp = new StringBuffer();
+ sbp.append("{");
+ sbp.append("\"userId\"").append(":").append("\"").append(tumsConfig.getTumsUserId()).append("\",");
+ sbp.append("\"oldPassword\"").append(":").append("\"").append(entity.getTumsPassword()).append("\",");
+ sbp.append("\"newPassword\"").append(":").append("\"").append(tumsConfig.getTumsPassword()).append("\"");
+ sbp.append("}");
+ String jsonResponsep = tumsApi.changePassword(sbp.toString());
+ JSONObject jsonObjectp = new JSONObject(jsonResponsep);
+ String errorCodep = jsonObjectp.getStr("error_code");
+ if(errorCodep.equals("0")){
+ map.put("tumsPassword",tumsConfig.getTumsPassword());
+ }else{
+ if(errorCodep.equals("-82400")){
+ errorMsg = "修改密码:密码格式错误!";
+ }else{
+ errorMsg = "修改密码:"+jsonObjectp.getStr("msg");
+ }
+ }
+ }
+ if(!entity.getTumsRoleId().equals(tumsConfig.getTumsRoleId())){
+ //调用修改角色接口
+ StringBuffer sb = new StringBuffer();
+ sb.append("{");
+ sb.append("\"userId\"").append(":").append("\"").append(tumsConfig.getTumsUserId()).append("\",");
+ sb.append("\"roleList\"").append(":[").append(tumsConfig.getTumsRoleId()).append("]");
+ sb.append("}");
+ String jsonResponse = tumsApi.editUser(sb.toString());
+ JSONObject jsonObject = new JSONObject(jsonResponse);
+ String errorCode = jsonObject.getStr("error_code");
+ if(errorCode.equals("0")){
+ map.put("tumsRoleId",tumsConfig.getTumsRoleId());
+ }else{
+ if(!errorMsg.equals("")){
+ errorMsg = errorMsg + "\n" + "修改角色:"+jsonObject.getStr("msg");
+ }else{
+ errorMsg = "修改角色:"+jsonObject.getStr("msg");
+ }
+ }
+ }
+ if(tumsConfig.getTumsUrl()!=null&&!tumsConfig.getTumsUrl().equals("")){
+ map.put("tumsUrl",tumsConfig.getTumsUrl());
+ }
+ if(tumsConfig.getTumsProjectId()!=null&&!tumsConfig.getTumsProjectId().equals("")){
+ map.put("tumsProjectId",tumsConfig.getTumsProjectId());
+ }
+ if(tumsConfig.getFtpIp()!=null&&!tumsConfig.getFtpIp().equals("")){
+ map.put("ftpIp",tumsConfig.getFtpIp());
+ }
+ if(tumsConfig.getFtpPort()!=null&&!tumsConfig.getFtpPort().equals("")){
+ map.put("ftpPort",tumsConfig.getFtpPort());
+ }
+ if(tumsConfig.getFtpUsername()!=null&&!tumsConfig.getFtpUsername().equals("")){
+ map.put("ftpUsername",tumsConfig.getFtpUsername());
+ }
+ if(tumsConfig.getFtpPassword()!=null&&!tumsConfig.getFtpPassword().equals("")){
+ map.put("ftpPassword",tumsConfig.getFtpPassword());
+ }
+ if(tumsConfig.getFtpUploadpath()!=null&&!tumsConfig.getFtpUploadpath().equals("")){
+ map.put("ftpUploadpath",tumsConfig.getFtpUploadpath());
+ }
+ if(tumsConfig.getOrgCode()!=null&&!tumsConfig.getOrgCode().equals("")){
+ map.put("orgCode",tumsConfig.getOrgCode());
+ }
+ baseMapper.updateUser(map);
+ if(!errorMsg.equals("")){
+ return Result.error(errorMsg);
+ }else{
+ return Result.OK("编辑用户成功!");
+ }
+ }else {
+ StringBuffer sb = new StringBuffer();
+ sb.append("{");
+ sb.append("\"projectId\"").append(":").append("\"").append(tumsConfig.getTumsProjectId()).append("\",");
+ sb.append("\"username\"").append(":").append("\"").append(tumsConfig.getTumsUsername()).append("\",");
+ sb.append("\"password\"").append(":").append("\"").append(tumsConfig.getTumsPassword()).append("\",");
+ sb.append("\"roleList\"").append(":[").append(tumsConfig.getTumsRoleId()).append("]");
+ sb.append("}");
+ String jsonResponse = tumsApi.addUser(sb.toString());
+ JSONObject jsonObject = new JSONObject(jsonResponse);
+ String errorCode = jsonObject.getStr("error_code");
+ if(errorCode.equals("0")){
+ JSONObject result = (JSONObject)jsonObject.get("result");
+ Map map = new HashMap<>();
+ map.put("tumsUserId",result.getStr("userId"));
+ map.put("tumsUsername",result.getStr("username"));
+ map.put("tumsPassword",tumsConfig.getTumsPassword());
+ map.put("tumsRoleId",tumsConfig.getTumsRoleId());
+ if(tumsConfig.getTumsUrl()!=null&&!tumsConfig.getTumsUrl().equals("")){
+ map.put("tumsUrl",tumsConfig.getTumsUrl());
+ }
+ if(tumsConfig.getTumsProjectId()!=null&&!tumsConfig.getTumsProjectId().equals("")){
+ map.put("tumsProjectId",tumsConfig.getTumsProjectId());
+ }
+ if(tumsConfig.getFtpIp()!=null&&!tumsConfig.getFtpIp().equals("")){
+ map.put("ftpIp",tumsConfig.getFtpIp());
+ }
+ if(tumsConfig.getFtpPort()!=null&&!tumsConfig.getFtpPort().equals("")){
+ map.put("ftpPort",tumsConfig.getFtpPort());
+ }
+ if(tumsConfig.getFtpUsername()!=null&&!tumsConfig.getFtpUsername().equals("")){
+ map.put("ftpUsername",tumsConfig.getFtpUsername());
+ }
+ if(tumsConfig.getFtpPassword()!=null&&!tumsConfig.getFtpPassword().equals("")){
+ map.put("ftpPassword",tumsConfig.getFtpPassword());
+ }
+ if(tumsConfig.getFtpUploadpath()!=null&&!tumsConfig.getFtpUploadpath().equals("")){
+ map.put("ftpUploadpath",tumsConfig.getFtpUploadpath());
+ }
+ if(tumsConfig.getOrgCode()!=null&&!tumsConfig.getOrgCode().equals("")){
+ map.put("orgCode",tumsConfig.getOrgCode());
+ }
+ baseMapper.addUser(map);
+ return Result.OK("添加用户成功!");
+ }else{
+ if(errorCode.equals("-82400")){
+ return Result.error("密码格式错误");
+ }else{
+ return Result.error(jsonObject.getStr("msg"));
+ }
+ }
+ }
+ }
}
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/enums/ApiEnum.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/enums/ApiEnum.java
index 3ec8a4c..309c99f 100644
--- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/enums/ApiEnum.java
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/enums/ApiEnum.java
@@ -21,6 +21,9 @@ public enum ApiEnum {
GET_ENCRYPT_KEY_FOR_LOGIN("/tums/account/v1/getEncryptKeyForLogin","获取登录公钥"),
LOGIN("/tums/account/v2/login","登录"),
LOGOUT("/tums/account/v1/logout","注销"),
+ ADD_USER("/tums/account/v2/customCreateAccount","添加自定义用户"),
+ EDIT_USER("/tums/account/v2/editUser","编辑用户"),
+ CHANGE_PASSWORD("/tums/account/v2/changePassword","修改密码"),
SET_CURRENT_PROJECT("/tums/resource/v2/setCurrentProject","设置当前项目"),
GET_ALL_PROJECT_INFO("/tums/resource/v2/getAllProjectInfo","获取所有项目信息"),
ADD_PROJECT("/tums/resource/v2/addProject","添加项目信息"),
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/project/entity/ProjectInfo.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/project/entity/ProjectInfo.java
index 2f9be9d..49bf57f 100644
--- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/project/entity/ProjectInfo.java
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/project/entity/ProjectInfo.java
@@ -47,7 +47,7 @@ public class ProjectInfo implements Serializable {
/**机构ID*/
@Excel(name = "机构ID", width = 15)
@ApiModelProperty(value = "机构ID")
- @Dict(dicCode = "id" , dictTable = "nu_admin_institution_area" , dicText = "inst_name")
+ @Dict(dicCode = "id" , dictTable = "sys_depart" , dicText = "depart_name")
private String institutionId;
/**创建时间戳,单位秒*/
@ApiModelProperty(value = "创建时间戳,单位秒")
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/region/entity/RegionInfo.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/region/entity/RegionInfo.java
index f87abd7..aa8f246 100644
--- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/region/entity/RegionInfo.java
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/region/entity/RegionInfo.java
@@ -44,11 +44,11 @@ public class RegionInfo implements Serializable {
/**机构ID*/
@Excel(name = "区域ID", width = 15)
@ApiModelProperty(value = "区域ID")
- @Dict(dicCode = "id" , dictTable = "nu_admin_institution_area" , dicText = "inst_name")
+ @Dict(dicCode = "id" , dictTable = "sys_depart" , dicText = "depart_name")
private String areaId;
@Excel(name = "机构ID", width = 15)
@ApiModelProperty(value = "机构ID")
- @Dict(dicCode = "id" , dictTable = "nu_admin_institution_area" , dicText = "inst_name")
+ @Dict(dicCode = "id" , dictTable = "sys_depart" , dicText = "depart_name")
private String institutionId;
/**分组层级*/
@Excel(name = "分组层级", width = 15)
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/utils/TumsApi.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/utils/TumsApi.java
index 1e3d43d..551e2a4 100644
--- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/utils/TumsApi.java
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/utils/TumsApi.java
@@ -1,7 +1,7 @@
package com.nu.modules.tplink.utils;
import com.nu.modules.tplink.common.entity.TumsConfig;
-import com.nu.modules.tplink.common.service.ITumsConfigService;
+import com.nu.modules.tplink.common.mapper.TumsConfigMapper;
import com.tplink.ignite.libs.developersdk.api.TumsClient;
import com.tplink.ignite.libs.developersdk.vo.ResultVO;
import lombok.extern.slf4j.Slf4j;
@@ -18,8 +18,9 @@ public class TumsApi {
TumsClient tumsClient;
TumsConfig tumsConfig;
+
@Autowired
- private ITumsConfigService tumsConfigService;
+ private TumsConfigMapper tumsConfigMapper;
/**
* 创建tumsClient
@@ -44,10 +45,15 @@ public class TumsApi {
private void initTumsConfig(){
if(tumsConfig==null){
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
- tumsConfig = tumsConfigService.getByCode(sysUser.getOrgCode());
+ tumsConfig = tumsConfigMapper.getByCode(sysUser.getOrgCode());
}
}
+ public String getRsaKey(){
+ login();
+ return tumsClient.getRsaKey();
+ }
+
/**
* 登录
* @return
@@ -84,6 +90,45 @@ public class TumsApi {
}
}
+ /**
+ * 添加自定义用户
+ * @param jsonRequest
+ * @return
+ */
+ public String addUser(String jsonRequest){
+ this.createTumsClient();
+ log.info("addUser:request:{}",jsonRequest);
+ String jsonResponse = tumsClient.requestEncryptedApi(jsonRequest, ApiEnum.ADD_USER.getValue());
+ log.info("addUser:response:{}",jsonResponse);
+ return jsonResponse;
+ }
+
+ /**
+ * 编辑用户
+ * @param jsonRequest
+ * @return
+ */
+ public String editUser(String jsonRequest){
+ this.createTumsClient();
+ log.info("editUser:request:{}",jsonRequest);
+ String jsonResponse = tumsClient.requestEncryptedApi(jsonRequest, ApiEnum.EDIT_USER.getValue());
+ log.info("editUser:response:{}",jsonResponse);
+ return jsonResponse;
+ }
+
+ /**
+ * 编辑用户
+ * @param jsonRequest
+ * @return
+ */
+ public String changePassword(String jsonRequest){
+ this.createTumsClient();
+ log.info("changePassword:request:{}",jsonRequest);
+ String jsonResponse = tumsClient.requestEncryptedApi(jsonRequest, ApiEnum.CHANGE_PASSWORD.getValue());
+ log.info("changePassword:response:{}",jsonResponse);
+ return jsonResponse;
+ }
+
/**
* 设置当前项目
* @param jsonRequest
diff --git a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java
index e701c95..a10a886 100644
--- a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java
+++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartController.java
@@ -2,6 +2,7 @@ package org.jeecg.modules.system.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
@@ -683,4 +684,44 @@ public class SysDepartController {
return Result.error("文件导入失败!");
}
+
+ /**
+ * 人员入住可选择的机构
+ * @return
+ */
+ @RequestMapping(value = "/queryInstitutionsList", method = RequestMethod.GET)
+ public List