Commit daf92bd9 authored by 郭武斌's avatar 郭武斌

Merge branch 'developer' of http://172.16.10.76/moa/amos-boot-biz into developer

parents 1af9198e e20c8276
package com.yeejoin.amos.boot.module.jcs.api.entity;
import java.util.List;
/**
* @author fengwang
* @date 2021-06-19.
*/
public class OrgMenu{
public Long key;
public String title;
public Long parentId;
public boolean isLeaf;
public List<OrgMenu> children;
public String bizOrgType;
public OrgMenu(Long key, String title, Long parentId, String bizOrgType, boolean isLeaf) {
super();
this.key = key;
this.title = title;
this.parentId = parentId;
this.bizOrgType = bizOrgType;
this.isLeaf = isLeaf;
}
public OrgMenu(Long key, String title, Long parentId, boolean isLeaf, List<OrgMenu> children, String bizOrgType) {
this.key = key;
this.title = title;
this.parentId = parentId;
this.isLeaf = isLeaf;
this.children = children;
this.bizOrgType = bizOrgType;
}
public Long getKey() {
return key;
}
public void setKey(Long key) {
this.key = key;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Long getParentId() {
return parentId;
}
public void setParentId(Long parentId) {
this.parentId = parentId;
}
public List<OrgMenu> getChildren() {
return children;
}
public void setChildren(List<OrgMenu> children) {
this.children = children;
}
public String getBizOrgType() {
return bizOrgType;
}
public void setBizOrgType(String bizOrgType) {
this.bizOrgType = bizOrgType;
}
}
......@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.jcs.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.jcs.api.entity.OrgUsr;
import org.apache.ibatis.annotations.Param;
/**
* 机构/部门/人员表 Mapper 接口
......@@ -10,5 +12,10 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.OrgUsr;
* @date 2021-06-18
*/
public interface OrgUsrMapper extends BaseMapper<OrgUsr> {
/**
* 根据parent_id查上级机构名
* @param biz_org_code
* @return
*/
String selectUpUnitByParam(@Param("biz_org_code")String biz_org_code);
}
package com.yeejoin.amos.boot.module.jcs.api.service;
import com.yeejoin.amos.boot.module.jcs.api.vo.OrgMenuVo;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import com.yeejoin.amos.boot.module.jcs.api.entity.OrgMenu;
/**
* 机构/部门/人员表 服务类
......@@ -12,9 +15,12 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.OrgMenu;
* @date 2021-06-18
*/
public interface IOrgUsrService {
List<OrgMenu> getTree(Long topId, Collection entityList, String packageURL, String IDMethodName, int IDHierarchy,
String selectUpUnitByParam(String parent_id);
List<OrgMenuVo> getTree(Long topId, Collection entityList, String packageURL, String IDMethodName, int IDHierarchy,
String NAMEMethodName, String PARENTIDMethodName, String OrgTypeMethodName) throws Exception;
List<OrgMenu> getSub(Long topId, Collection entityList, String packageURL, String IDMethodName, int IDHierarchy,
List<OrgMenuVo> getSub(Long topId, Collection entityList, String packageURL, String IDMethodName, int IDHierarchy,
String NAMEMethodName, String PARENTIDMethodName, String OrgTypeMethodName) throws Exception;
List<Map<String, Object>> returnCompanyPersonMsg(List<Long> ids) throws Exception;
}
......@@ -2,7 +2,6 @@ package com.yeejoin.amos.boot.module.jcs.api.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.jcs.api.entity.OrgUsr;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -25,14 +24,37 @@ public class OrgDepartmentVo {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "部门人员信息")
private OrgUsr OrgUsr;
@ApiModelProperty(value = "机构/部门名称")
private String bizOrgName;
@ApiModelProperty(value = "机构编码")
private String bizOrgCode;
@ApiModelProperty(value = "amos中公司/部门ID")
private String amosOrgId;
@ApiModelProperty(value = "amos中公司/部门编码")
private String amosOrgCode;
@ApiModelProperty(value = "机构类型`")
private String bizOrgType;
@ApiModelProperty(value = "所属建筑名称")
private String buildName;
@ApiModelProperty(value = "所属建筑ID")
private String buildId;
@ApiModelProperty(value = "归属机构/部门/人员")
private String parentId;
@ApiModelProperty(value = "动态表单值")
private List<AlertFormValue> alertFormValue;
public OrgDepartmentVo(OrgUsr orgUsr, List<AlertFormValue> alertFormValue) {
OrgUsr = orgUsr;
public OrgDepartmentVo(String bizOrgName, String parentId, String buildName, List<AlertFormValue> alertFormValue) {
this.bizOrgName = bizOrgName;
this.parentId = parentId;
this.buildName = buildName;
this.alertFormValue = alertFormValue;
}
}
package com.yeejoin.amos.boot.module.jcs.api.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* @author fengwang
* @date 2021-06-19.
*/
@Data
@Accessors(chain = true)
@ApiModel(value="OrgMenuVo", description="树菜单")
public class OrgMenuVo {
public Long key;
public String title;
public Long parentId;
public boolean isLeaf;
public List<OrgMenuVo> children;
public String bizOrgType;
public OrgMenuVo(Long key, String title, Long parentId, String bizOrgType, boolean isLeaf) {
super();
this.key = key;
this.title = title;
this.parentId = parentId;
this.bizOrgType = bizOrgType;
this.isLeaf = isLeaf;
}
public OrgMenuVo(Long key, String title, Long parentId, boolean isLeaf, List<OrgMenuVo> children, String bizOrgType) {
this.key = key;
this.title = title;
this.parentId = parentId;
this.isLeaf = isLeaf;
this.children = children;
this.bizOrgType = bizOrgType;
}
}
package com.yeejoin.amos.boot.module.jcs.api.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.module.jcs.api.entity.OrgUsr;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -23,15 +22,48 @@ public class OrgPersonFormVo {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "机构/部门id")
private Long id;
@ApiModelProperty(value = "机构/部门名称")
private String bizOrgName;
@ApiModelProperty(value = "人员基本信息")
private OrgUsr OrgUsr;
@ApiModelProperty(value = "机构编码")
private String bizOrgCode;
@ApiModelProperty(value = "amos中公司/部门ID")
private String amosOrgId;
@ApiModelProperty(value = "amos中公司/部门编码")
private String amosOrgCode;
@ApiModelProperty(value = "机构类型`")
private String bizOrgType;
@ApiModelProperty(value = "所属建筑名称")
private String buildName;
@ApiModelProperty(value = "所属建筑ID")
private String buildId;
@ApiModelProperty(value = "归属机构/部门/人员")
private String parentId;
@ApiModelProperty(value = "动态表单值")
private List<FormValue> dynamicFormAlert;
public OrgPersonFormVo(OrgUsr orgUsr, List<FormValue> dynamicFormAlert) {
OrgUsr = orgUsr;
public OrgPersonFormVo(String bizOrgName, String parentId, List<FormValue> dynamicFormAlert) {
this.bizOrgName = bizOrgName;
this.parentId = parentId;
this.dynamicFormAlert = dynamicFormAlert;
}
public OrgPersonFormVo(Long id, String bizOrgName, String parentId, List<FormValue> dynamicFormAlert) {
this.id = id;
this.bizOrgName = bizOrgName;
this.parentId = parentId;
this.dynamicFormAlert = dynamicFormAlert;
}
public OrgPersonFormVo() {
}
}
package com.yeejoin.amos.boot.module.jcs.api.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.module.jcs.api.entity.OrgUsr;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -23,9 +22,16 @@ public class OrgUsrFormVo {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "单位id")
private Long id;
@ApiModelProperty(value = "机构/部门人员基本信息")
private OrgUsr OrgUsr;
@ApiModelProperty(value = "单位名称")
private String currentUnit;
@ApiModelProperty(value = "归属机构/部门")
private String parentId;
private Integer personNum;
@ApiModelProperty(value = "动态表单值")
private List<FormValue> dynamicFormAlert;
......@@ -33,14 +39,23 @@ public class OrgUsrFormVo {
@ApiModelProperty(value = "单位人员信息值")
private List<OrgPersonFormVo> children;
public OrgUsrFormVo(OrgUsr orgUsr, List<FormValue> formValue) {
OrgUsr = orgUsr;
this.dynamicFormAlert = formValue;
public OrgUsrFormVo(String currentUnit, String parentId, Integer personNum, List<FormValue> dynamicFormAlert, List<OrgPersonFormVo> children) {
this.currentUnit = currentUnit;
this.parentId = parentId;
this.personNum = personNum;
this.dynamicFormAlert = dynamicFormAlert;
this.children = children;
}
public OrgUsrFormVo(OrgUsr orgUsr, List<FormValue> dynamicFormAlert, List<OrgPersonFormVo> children) {
this.OrgUsr = orgUsr;
public OrgUsrFormVo(Long id, String currentUnit, String parentId, Integer personNum, List<FormValue> dynamicFormAlert, List<OrgPersonFormVo> children) {
this.id = id;
this.currentUnit = currentUnit;
this.parentId = parentId;
this.personNum = personNum;
this.dynamicFormAlert = dynamicFormAlert;
this.children = children;
}
public OrgUsrFormVo() {
}
}
......@@ -2,7 +2,6 @@ package com.yeejoin.amos.boot.module.jcs.api.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.jcs.api.entity.OrgUsr;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -11,27 +10,55 @@ import lombok.experimental.Accessors;
import java.util.List;
/**
* 机构/部门/人员表
*
* @author tb
* @date 2021-06-18
*/
* 机构/部门/人员表
*
* @author tb
* @date 2021-06-18
*/
@Data
@Accessors(chain = true)
@TableName("cb_org_usr")
@ApiModel(value="OrgUsrVo", description="单位信息")
public class OrgUsrVo{
@ApiModel(value = "OrgUsrVo", description = "单位信息")
public class OrgUsrVo {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "单位基本信息")
private OrgUsr OrgUsr;
@ApiModelProperty(value = "机构/部门名称")
private String bizOrgName;
@ApiModelProperty(value = "机构编码")
private String bizOrgCode;
@ApiModelProperty(value = "amos中公司/部门ID")
private String amosOrgId;
@ApiModelProperty(value = "amos中公司/部门编码")
private String amosOrgCode;
@ApiModelProperty(value = "机构类型`")
private String bizOrgType;
@ApiModelProperty(value = "所属建筑名称")
private String buildName;
@ApiModelProperty(value = "所属建筑ID")
private String buildId;
@ApiModelProperty(value = "归属机构/部门/人员")
private String parentId;
@ApiModelProperty(value = "单位动态表单值")
private List<AlertFormValue> alertFormValue;
public OrgUsrVo(OrgUsr orgUsr, List<AlertFormValue> alertFormValue) {
OrgUsr = orgUsr;
public OrgUsrVo(String bizOrgName, String bizOrgCode, String amosOrgId, String amosOrgCode, String bizOrgType, String buildName, String buildId, String parentId, List<AlertFormValue> alertFormValue) {
this.bizOrgName = bizOrgName;
this.bizOrgCode = bizOrgCode;
this.amosOrgId = amosOrgId;
this.amosOrgCode = amosOrgCode;
this.bizOrgType = bizOrgType;
this.buildName = buildName;
this.buildId = buildId;
this.parentId = parentId;
this.alertFormValue = alertFormValue;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.jcs.api.mapper.OrgUsrMapper">
<select id="selectUpUnitByParam" resultType="java.lang.String">
SELECT
biz_org_name
FROM
`cb_org_usr`
WHERE
1=1
<if test="biz_org_code != null and biz_org_code != ''">
and `sequence_nbr` = ( SELECT parent_id FROM `cb_org_usr` WHERE biz_org_code = #{biz_org_code} limit 1)
</if>
</select>
</mapper>
......@@ -13,6 +13,7 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.yeejoin.amos.boot.module.jcs.api.vo.OrgMenuVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
......@@ -33,7 +34,6 @@ import com.yeejoin.amos.boot.biz.common.constants.CommonConstant;
import com.yeejoin.amos.boot.biz.common.utils.ExcelUtils;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.jcs.api.entity.OrgMenu;
import com.yeejoin.amos.boot.module.jcs.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.jcs.api.vo.FormValue;
import com.yeejoin.amos.boot.module.jcs.api.vo.OrgDepartmentVo;
......@@ -44,6 +44,7 @@ import com.yeejoin.amos.boot.module.jcs.biz.service.impl.OrgUsrServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
/**
* @author fengwang
......@@ -67,7 +68,8 @@ public class OrgDepartmentController {
@RequestMapping(value = "/save", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "新增部门信息", notes = "新增部门信息")
public ResponseModel<Object> saveOrgUsr(HttpServletRequest request, @RequestBody OrgDepartmentVo OrgDepartmentVo) {
OrgUsr orgUsr = OrgDepartmentVo.getOrgUsr();
OrgUsr orgUsr = new OrgUsr();
BeanUtils.copyProperties(OrgDepartmentVo, orgUsr);
// 单位新增情况
iOrgUsrService.save(orgUsr);
// 动态表单
......@@ -106,7 +108,8 @@ public class OrgDepartmentController {
@RequestMapping(value = "/{id}", method = RequestMethod.PUT)
@ApiOperation(httpMethod = "PUT", value = "更新单位数据", notes = "更新单位数据")
public ResponseModel<Object> updateByIdOrgUsr(HttpServletRequest request, @RequestBody OrgDepartmentVo OrgDepartmentVo, @PathVariable Long id) {
OrgUsr orgUsr = OrgDepartmentVo.getOrgUsr();
OrgUsr orgUsr = new OrgUsr();
BeanUtils.copyProperties(OrgDepartmentVo, orgUsr);
// 单位新增情况
iOrgUsrService.save(orgUsr);
// 动态表单
......@@ -132,15 +135,19 @@ public class OrgDepartmentController {
@ApiOperation(httpMethod = "GET", value = "获取部门详情", notes = "获取部门详情")
public ResponseModel<OrgUsrFormVo> selectById(HttpServletRequest request, @PathVariable Long id) {
QueryWrapper<AlertFormValue> queryWrapper = new QueryWrapper<>();
OrgUsr orgUsr = iOrgUsrService.getById(id);
queryWrapper.eq("alert_called_id", id);
// 动态表单数据
List<AlertFormValue> list = iAlertFromValueService.list(queryWrapper);
List<FormValue> formValue = new ArrayList<FormValue>();
for (AlertFormValue alertFormValue : list) {
FormValue value = new FormValue(alertFormValue.getFieldCode(), alertFormValue.getFieldName(), "text", alertFormValue.getFieldValue(),alertFormValue.isBlock());
FormValue value = new FormValue(alertFormValue.getFieldCode(), alertFormValue.getFieldName(), "text", alertFormValue.getFieldValue(), alertFormValue.isBlock());
formValue.add(value);
}
return ResponseHelper.buildResponse( new OrgUsrFormVo(iOrgUsrService.getById(id), formValue));
OrgUsrFormVo orgUsrFormVo = new OrgUsrFormVo();
BeanUtils.copyProperties(orgUsr,orgUsrFormVo);
orgUsrFormVo.setDynamicFormAlert(formValue);
return ResponseHelper.buildResponse(orgUsrFormVo);
}
......@@ -173,12 +180,12 @@ public class OrgDepartmentController {
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/companyTree", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "获取部门树", notes = "获取部门树")
public ResponseModel< List<OrgMenu>> selectCompanyTree() throws Exception {
public ResponseModel< List<OrgMenuVo>> selectCompanyTree() throws Exception {
Map<String, Object> columnMap = new HashMap<>();
columnMap.put("is_delete", CommonConstant.IS_DELETE_00);
columnMap.put("biz_org_type", CommonConstant.BIZ_ORG_TYPE_DEPARTMENT);
Collection<OrgUsr> list = iOrgUsrService.listByMap(columnMap);
List<OrgMenu> menus = iOrgUsrService.getTree(null, list, OrgUsr.class.getName(), "getSequenceNbr", 2, "getBizOrgName", "getParentId", "getBizOrgType");
List<OrgMenuVo> menus = iOrgUsrService.getTree(null, list, OrgUsr.class.getName(), "getSequenceNbr", 2, "getBizOrgName", "getParentId", "getBizOrgType");
return ResponseHelper.buildResponse(menus);
}
......@@ -192,7 +199,6 @@ public class OrgDepartmentController {
@RequestMapping(value = "/list", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询")
public IPage<OrgUsr> listPage(String pageNum, String pageSize, OrgUsr orgUsr) {
Page<OrgUsr> pageBean;
QueryWrapper<OrgUsr> orgUsrQueryWrapper = new QueryWrapper<>();
Class<? extends OrgUsr> aClass = orgUsr.getClass();
......@@ -259,23 +265,22 @@ public class OrgDepartmentController {
// return CommonResponseUtil.failure("机构类型需为部门");
// }
/**
* 获取部门列表
*
* @param orgCode
* @return
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{orgCode}/users", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "获取部门人员列表", notes = "获取部门人员列表")
public ResponseModel<Collection<OrgUsr>> selectUsersByOrgCode(HttpServletRequest request,@PathVariable Long orgCode) {
Map<String, Object> columnMap = new HashMap<>();
columnMap.put("biz_org_code", orgCode);
columnMap.put("biz_org_type", CommonConstant.BIZ_ORG_TYPE_PERSON);
columnMap.put("is_delete",CommonConstant.IS_DELETE_00);
return ResponseHelper.buildResponse(iOrgUsrService.listByMap(columnMap));
}
// /**
// * 获取部门列表
// *
// * @param orgCode
// * @return
// */
// @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
// @RequestMapping(value = "/{orgCode}/users", method = RequestMethod.GET)
// @ApiOperation(httpMethod = "GET", value = "获取部门人员列表", notes = "获取部门人员列表")
// public ResponseModel<Collection<OrgUsr>> selectUsersByOrgCode(HttpServletRequest request,@PathVariable Long orgCode) {
// Map<String, Object> columnMap = new HashMap<>();
// columnMap.put("biz_org_code", orgCode);
// columnMap.put("biz_org_type", CommonConstant.BIZ_ORG_TYPE_PERSON);
// columnMap.put("is_delete",CommonConstant.IS_DELETE_00);
// return ResponseHelper.buildResponse(iOrgUsrService.listByMap(columnMap));
// }
/**
* 导出部门模板
*
......
......@@ -35,14 +35,17 @@ import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.jcs.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.jcs.api.vo.FormValue;
import com.yeejoin.amos.boot.module.jcs.api.vo.OrgPersonFormVo;
import com.yeejoin.amos.boot.module.jcs.api.vo.OrgPersonVo;
import com.yeejoin.amos.boot.module.jcs.api.vo.OrgUsrDownloadTemplateVO;
import com.yeejoin.amos.boot.module.jcs.api.vo.OrgUsrFormVo;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.AlertFormValueServiceImpl;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.OrgUsrServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
/**
* @author fengwang
......@@ -97,7 +100,7 @@ public class OrgPersonController {
/**
* 更新单位数据
* 更新人员数据
*
* @return
*/
......@@ -106,7 +109,6 @@ public class OrgPersonController {
@ApiOperation(httpMethod = "PUT", value = "更新单位数据", notes = "更新单位数据")
public ResponseModel updateByIdOrgUsr(HttpServletRequest request, @RequestBody OrgUsr orgUsr, @PathVariable Long id) {
// 修改单位信息
orgUsr.setSequenceNbr(id);
iOrgUsrService.updateById(orgUsr);
return ResponseHelper.buildResponse(null);
}
......@@ -132,7 +134,9 @@ public class OrgPersonController {
FormValue value = new FormValue(alertFormValue.getFieldCode(), alertFormValue.getFieldName(), "text", alertFormValue.getFieldValue(),alertFormValue.isBlock());
formValue.add(value);
}
OrgUsrFormVo orgUsrFormVo = new OrgUsrFormVo(orgUsr, formValue);
OrgPersonFormVo orgUsrFormVo = new OrgPersonFormVo();
BeanUtils.copyProperties(orgUsr,orgUsrFormVo);
orgUsrFormVo.setDynamicFormAlert(formValue);
return ResponseHelper.buildResponse(orgUsrFormVo);
}
......@@ -230,7 +234,7 @@ public class OrgPersonController {
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{orgCode}/users", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据orgCode分页查询", notes = "根据orgCode分页查询")
@ApiOperation(httpMethod = "GET", value = "根据orgCode查询", notes = "根据orgCode查询")
public ResponseModel selectUsersByOrgCode(HttpServletRequest request, String pageNum, String pageSize, @PathVariable Long orgCode) {
Map<String, Object> columnMap = new HashMap<>();
columnMap.put("is_delete",CommonConstant.IS_DELETE_00);
......
package com.yeejoin.amos.boot.module.jcs.biz.controller;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
......@@ -12,6 +13,7 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.yeejoin.amos.boot.module.jcs.api.vo.OrgMenuVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -24,7 +26,6 @@ import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
......@@ -34,15 +35,14 @@ import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.ExcelUtils;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.jcs.api.entity.OrgMenu;
import com.yeejoin.amos.boot.module.jcs.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.jcs.api.vo.FormValue;
import com.yeejoin.amos.boot.module.jcs.api.vo.OrgDepartmentVo;
import com.yeejoin.amos.boot.module.jcs.api.vo.OrgUsrDownloadTemplateVO;
import com.yeejoin.amos.boot.module.jcs.api.vo.OrgUsrFormVo;
import com.yeejoin.amos.boot.module.jcs.api.vo.OrgUsrVo;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.AlertFormValueServiceImpl;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.OrgUsrServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -73,7 +73,7 @@ public class OrgUsrController extends BaseController {
@ApiOperation(httpMethod = "POST", value = "新增单位信息", notes = "新增单位信息")
public ResponseModel saveOrgUsr(HttpServletRequest request, @RequestBody OrgUsrVo OrgUsrVo) {
OrgUsr orgUsr = new OrgUsr();
BeanUtils.copyProperties(OrgUsrVo,orgUsr);
BeanUtils.copyProperties(OrgUsrVo, orgUsr);
// 单位新增情况
iOrgUsrService.save(orgUsr);
// 动态表单
......@@ -113,7 +113,6 @@ public class OrgUsrController extends BaseController {
@ApiOperation(httpMethod = "PUT", value = "更新单位数据", notes = "更新单位数据")
public ResponseModel updateByIdOrgUsr(HttpServletRequest request, @RequestBody OrgUsr orgUsr, @PathVariable Long id) {
// 修改单位信息
orgUsr.setSequenceNbr(id);
iOrgUsrService.updateById(orgUsr);
return ResponseHelper.buildResponse(null);
}
......@@ -130,16 +129,19 @@ public class OrgUsrController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "获取单位详情", notes = "获取单位详情")
public ResponseModel selectById(HttpServletRequest request, @PathVariable Long id) {
OrgUsr orgUsr = iOrgUsrService.getById(id);
QueryWrapper queryWrapper = new QueryWrapper<>();
QueryWrapper queryWrapper = new QueryWrapper<OrgUsr>();
queryWrapper.eq("alert_called_id", id);
// 动态表单数据
List<AlertFormValue> list = iAlertFromValueService.list(queryWrapper);
List<FormValue> formValue = new ArrayList();
for (AlertFormValue alertFormValue : list) {
FormValue value = new FormValue(alertFormValue.getFieldCode(), alertFormValue.getFieldName(), "text", alertFormValue.getFieldValue(),alertFormValue.isBlock());
FormValue value = new FormValue(alertFormValue.getFieldCode(), alertFormValue.getFieldName(), "text", alertFormValue.getFieldValue(), alertFormValue.isBlock());
formValue.add(value);
}
return ResponseHelper.buildResponse(new OrgUsrFormVo(orgUsr, formValue));
OrgUsrFormVo orgUsrFormVo = new OrgUsrFormVo();
orgUsrFormVo.setDynamicFormAlert(formValue);
BeanUtils.copyProperties(orgUsr, orgUsrFormVo);
return ResponseHelper.buildResponse(orgUsrFormVo);
}
......@@ -172,11 +174,11 @@ public class OrgUsrController extends BaseController {
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/companyTree", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "获取单位树", notes = "获取单位树")
public ResponseModel selectCompanyTree() throws Exception {
public ResponseModel< List<OrgMenuVo>>selectCompanyTree() throws Exception {
Map<String, Object> columnMap = new HashMap<>();
columnMap.put("is_delete", CommonConstant.IS_DELETE_00);
columnMap.put("biz_org_type", CommonConstant.BIZ_ORG_TYPE_COMPANY);
List<OrgMenu> menus = iOrgUsrService.getTree(null, iOrgUsrService.listByMap(columnMap), OrgUsr.class.getName(), "getSequenceNbr", 2, "getBizOrgName", "getParentId", "getBizOrgType");
List<OrgMenuVo> menus = iOrgUsrService.getTree(null, iOrgUsrService.listByMap(columnMap), OrgUsr.class.getName(), "getSequenceNbr", 2, "getBizOrgName", "getParentId", "getBizOrgType");
return ResponseHelper.buildResponse(menus);
}
......@@ -229,56 +231,43 @@ public class OrgUsrController extends BaseController {
}
/**
* 根据orgCode获取单位人员列表
* 导入部门信息
*
* @param orgCode
* @return
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{orgCode}/users", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据orgCode获取单位人员列表", notes = "根据orgCode获取单位人员列表")
public ResponseModel selectUsersByOrgCode(HttpServletRequest request, @PathVariable Long orgCode) {
// Map<String, Object> columnMap = new LinkedHashMap<>();
// columnMap.put("is_delete", CommonConstant.IS_DELETE_00);
// columnMap.put("biz_org_code", orgCode);
// columnMap.put("biz_org_type", CommonConstant.BIZ_ORG_TYPE_COMPANY);
// // 查询出单位基本信息
// OrgUsr company = iOrgUsrService.getOne(new QueryWrapper<OrgUsr>().allEq(columnMap));
// if (company != null) {
// QueryWrapper queryWrapper = new QueryWrapper<>();
// queryWrapper.eq("alert_called_id", company.getSequenceNbr());
// // 获取单位动态表单数据
// List<AlertFormValue> list = iAlertFromValueService.list(queryWrapper);
// List<FormValue> formValue = new ArrayList();
// for (AlertFormValue alertFormValue : list) {
// FormValue value = new FormValue(alertFormValue.getFieldCode(), alertFormValue.getFieldName(), "text", alertFormValue.getFieldValue());
// formValue.add(value);
// }
// // 获取单位人员列表信息
// Map<String, Object> personColumnMap = new LinkedHashMap<>();
// personColumnMap.put("is_delete", CommonConstant.IS_DELETE_00);
// personColumnMap.put("biz_org_code", orgCode);
// personColumnMap.put("biz_org_type", CommonConstant.BIZ_ORG_TYPE_PERSON);
// List<OrgPersonFormVo> orgPersonFormVos = new ArrayList<>();
// Collection<OrgUsr> orgUsrs = iOrgUsrService.listByMap(personColumnMap);
// orgUsrs.forEach(orgUsr -> {
// QueryWrapper personQueryWrapper = new QueryWrapper<>();
// queryWrapper.eq("alert_called_id", orgUsr.getSequenceNbr());
// // 获取人员动态表单数据
// List<AlertFormValue> personList = iAlertFromValueService.list(queryWrapper);
// List<FormValue> personFormValue = new ArrayList();
// for (AlertFormValue alertFormValue : list) {
// FormValue value = new FormValue(alertFormValue.getFieldCode(), alertFormValue.getFieldName(), "text", alertFormValue.getFieldValue());
// personFormValue.add(value);
// }
// // 添加单位人员信息列表
// orgPersonFormVos.add(new OrgPersonFormVo(orgUsr, formValue));
// });
// return ResponseHelper.buildResponse(new OrgUsrFormVo(company, formValue, orgPersonFormVos));
// }
// return CommonResponseUtil.failure("根据orgCode获取单位人员列表失败");
@RequestMapping(value = "/saveDepartment", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "导入部门信息", notes = "导入部门信息")
public ResponseModel saveDepartment(HttpServletRequest request, @RequestBody OrgDepartmentVo OrgDepartmentVo, @PathVariable Long id) {
// 导入部门信息的前提条件:单位信息已经存在
if (iOrgUsrService.getById(id) == null) {
return ResponseHelper.buildResponse("单位信息需存在才可导入部门信息");
}
OrgUsr orgUsr = new OrgUsr();
BeanUtils.copyProperties(OrgDepartmentVo, orgUsr);
iOrgUsrService.save(orgUsr);
// 动态表单
List<AlertFormValue> alertFromValuelist = OrgDepartmentVo.getAlertFormValue();
// 填充主键
alertFromValuelist.stream().forEach(alertFromValue -> {
alertFromValue.setAlertCalledId(orgUsr.getSequenceNbr());
});
// 保存动态表单数据
iAlertFromValueService.saveBatch(alertFromValuelist);
return ResponseHelper.buildResponse(null);
}
/**
* 根据id获取单位人员列表
*
* @param ids
* @return
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{ids}/users", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据id获取单位人员列表", notes = "根据id获取单位人员列表")
public ResponseModel selectUsersByOrgCode(HttpServletRequest request, @PathVariable List<Long> ids) throws Exception {
return ResponseHelper.buildResponse(iOrgUsrService.returnCompanyPersonMsg(ids)) ;
}
/**
* 导出单位模板
......
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.yeejoin.amos.boot.module.jcs.api.dto.OrgUsrDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.OrgMenu;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.biz.common.constants.CommonConstant;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.jcs.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.jcs.api.mapper.OrgUsrMapper;
import com.yeejoin.amos.boot.module.jcs.api.service.IOrgUsrService;
import com.yeejoin.amos.boot.module.jcs.api.vo.OrgMenuVo;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.beans.factory.annotation.Autowired;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 机构/部门/人员表 服务实现类
*
* @author tb
* @date 2021-06-18
*/
* 机构/部门/人员表 服务实现类
*
* @author tb
* @date 2021-06-18
*/
@Service
public class OrgUsrServiceImpl extends BaseService<OrgUsrDto,OrgUsr,OrgUsrMapper> implements IOrgUsrService {
@Autowired
AlertFormValueServiceImpl alertFormValueServiceImpl;
@Override
public String selectUpUnitByParam(String biz_org_code) {
return this.baseMapper.selectUpUnitByParam(biz_org_code);
}
@Override
@SuppressWarnings("unchecked")
public List<OrgMenu> getTree(Long topId, Collection entityList, String packageURL, String IDMethodName, int IDHierarchy, String NAMEMethodName, String PARENTIDMethodName, String OrgTypeMethodName) throws Exception{
List<OrgMenu> resultList=new ArrayList<>();
Class clazz= Class.forName(packageURL);
public List<OrgMenuVo> getTree(Long topId, Collection entityList, String packageURL, String IDMethodName, int IDHierarchy, String NAMEMethodName, String PARENTIDMethodName, String OrgTypeMethodName) throws Exception {
List<OrgMenuVo> resultList = new ArrayList<>();
Class clazz = Class.forName(packageURL);
Method IDMethodNameme = null;
switch (IDHierarchy) { case 1:
switch (IDHierarchy) {
case 1:
IDMethodNameme = clazz.getDeclaredMethod(IDMethodName);
break;
case 2:
......@@ -51,16 +68,16 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto,OrgUsr,OrgUsrMappe
Object entity = clazz.cast(ob);
parentId=PARENTIDMethodNameme.invoke(entity)!=null? Long.valueOf(String.valueOf(PARENTIDMethodNameme.invoke(entity))):null;
parentId = PARENTIDMethodNameme.invoke(entity) != null ? Long.valueOf(String.valueOf(PARENTIDMethodNameme.invoke(entity))) : null;
if(parentId==null||topId==parentId){
OrgMenu menu=new OrgMenu(Long.valueOf(String.valueOf(IDMethodNameme.invoke(entity))), String.valueOf(NAMEMethodNameme.invoke(entity)), parentId,String.valueOf(OrgTypeMethodNameme.invoke(entity)),false);
if (parentId == null || topId == parentId) {
OrgMenuVo menu = new OrgMenuVo(Long.valueOf(String.valueOf(IDMethodNameme.invoke(entity))), String.valueOf(NAMEMethodNameme.invoke(entity)), parentId, String.valueOf(OrgTypeMethodNameme.invoke(entity)), false);
resultList.add(menu);
}
}
//获取每个顶层元素的子数据集合
for (OrgMenu entity : resultList) {
entity.setChildren(getSub(entity.getKey(), entityList, packageURL, IDMethodName,IDHierarchy, NAMEMethodName, PARENTIDMethodName, OrgTypeMethodName));
for (OrgMenuVo entity : resultList) {
entity.setChildren(getSub(entity.getKey(), entityList, packageURL, IDMethodName, IDHierarchy, NAMEMethodName, PARENTIDMethodName, OrgTypeMethodName));
}
return resultList;
......@@ -68,10 +85,11 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto,OrgUsr,OrgUsrMappe
@SuppressWarnings("unchecked")
@Override
public List<OrgMenu> getSub(Long topId, @SuppressWarnings("rawtypes") Collection entityList, String packageURL, String IDMethodName, int IDHierarchy, String NAMEMethodName, String PARENTIDMethodName, String OrgTypeMethodName) throws Exception{
List<OrgMenu> childList=new ArrayList<>();
public List<OrgMenuVo> getSub(Long topId, @SuppressWarnings("rawtypes") Collection entityList, String packageURL, String IDMethodName, int IDHierarchy, String NAMEMethodName, String PARENTIDMethodName, String OrgTypeMethodName) throws Exception{
List<OrgMenuVo> childList=new ArrayList<>();
@SuppressWarnings("rawtypes")
Class clazz= Class.forName(packageURL);
Method IDMethodNameme = null;
switch (IDHierarchy) {
case 1:
......@@ -96,16 +114,16 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto,OrgUsr,OrgUsrMappe
for (Object ob : entityList) {
Object entity = clazz.cast(ob);
parentId=PARENTIDMethodNameme.invoke(entity)!=null? Long.valueOf(String.valueOf(PARENTIDMethodNameme.invoke(entity))):null;
parentId = PARENTIDMethodNameme.invoke(entity) != null ? Long.valueOf(String.valueOf(PARENTIDMethodNameme.invoke(entity))) : null;
if(parentId==null) {
if(topId==parentId){
OrgMenu menu=new OrgMenu(Long.valueOf(String.valueOf(IDMethodNameme.invoke(entity))), String.valueOf(NAMEMethodNameme.invoke(entity)), parentId,String.valueOf(OrgTypeMethodNameme.invoke(entity)),false);
if (parentId == null) {
if (topId == parentId) {
OrgMenuVo menu = new OrgMenuVo(Long.valueOf(String.valueOf(IDMethodNameme.invoke(entity))), String.valueOf(NAMEMethodNameme.invoke(entity)), parentId, String.valueOf(OrgTypeMethodNameme.invoke(entity)), false);
childList.add(menu);
}
}else {
if(topId.longValue()==parentId.longValue()){
OrgMenu menu=new OrgMenu(Long.valueOf(String.valueOf(IDMethodNameme.invoke(entity))), String.valueOf(NAMEMethodNameme.invoke(entity)), parentId,String.valueOf(OrgTypeMethodNameme.invoke(entity)),true);
} else {
if (topId.longValue() == parentId.longValue()) {
OrgMenuVo menu = new OrgMenuVo(Long.valueOf(String.valueOf(IDMethodNameme.invoke(entity))), String.valueOf(NAMEMethodNameme.invoke(entity)), parentId, String.valueOf(OrgTypeMethodNameme.invoke(entity)), true);
childList.add(menu);
}
}
......@@ -113,15 +131,100 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto,OrgUsr,OrgUsrMappe
}
//子集的间接子对象
for (OrgMenu entity : childList) {
entity.setChildren(getSub(entity.getKey(), entityList, packageURL, IDMethodName,IDHierarchy, NAMEMethodName, PARENTIDMethodName,OrgTypeMethodName));
for (OrgMenuVo entity : childList) {
entity.setChildren(getSub(entity.getKey(), entityList, packageURL, IDMethodName, IDHierarchy, NAMEMethodName, PARENTIDMethodName, OrgTypeMethodName));
}
//递归退出条件
if(childList.size()==0){
if (childList.size() == 0) {
return null;
}
return childList;
}
@Override
public List<Map<String, Object>> returnCompanyPersonMsg(List<Long> ids) throws Exception {
List<Map<String, Object>> companyPersonMsg = new ArrayList<>();
for (int i = 0; i < ids.size(); i++) {
Map<String, Object> columnMap = new HashMap<>();
Map<String, Object> resultMap = new HashMap<>();
// 查询出单位基本信息
OrgUsr company = getById(ids.get(i));
resultMap.put("id", company.getSequenceNbr());
resultMap.put("upUnit", selectUpUnitByParam(company.getBizOrgCode()));
resultMap.put("currentUnit", company.getBizOrgName());
// 人员数量
Map<String, Object> countPerson = new HashMap<>();
countPerson.put("parent_id", company.getSequenceNbr());
countPerson.put("biz_org_type",CommonConstant.BIZ_ORG_TYPE_PERSON);
QueryWrapper personNumWrapper = new QueryWrapper<Integer>();
personNumWrapper.allEq(countPerson);
resultMap.put("personNum", count(personNumWrapper));
QueryWrapper companyWrapper = new QueryWrapper<AlertFormValue>();
companyWrapper.eq("alert_called_id",company.getSequenceNbr());
List<Map<String, Object>> personList = new ArrayList<>();
if(alertFormValueServiceImpl.list(companyWrapper).size() != 0){
// 查询动态表单Phone
Map<String, Object> phone = new HashMap<>();
phone.put("alert_called_id", company.getSequenceNbr());
phone.put("field_code", "companyPhone");
QueryWrapper phoneWrapper = new QueryWrapper<AlertFormValue>();
phoneWrapper.allEq(phone);
AlertFormValue phoneValue = alertFormValueServiceImpl.getOne(phoneWrapper);
resultMap.put("tel", phoneValue.getFieldValue());
// 获取单位人员列表信息
Map<String, Object> personColumnMap = new HashMap<>();
personColumnMap.put("is_delete", CommonConstant.IS_DELETE_00);
personColumnMap.put("biz_org_code", company.getBizOrgCode());
personColumnMap.put("biz_org_type", CommonConstant.BIZ_ORG_TYPE_PERSON);
Collection<OrgUsr> orgUsrs = listByMap(personColumnMap);
orgUsrs.forEach(orgUsr -> {
Map<String, Object> personMap = new HashMap<>();
personMap.put("id", orgUsr.getSequenceNbr());
personMap.put("name", orgUsr.getBizOrgName());
personMap.put("unit",company.getBizOrgName());
QueryWrapper wrapper = new QueryWrapper<AlertFormValue>();
wrapper.eq("alert_called_id",orgUsr.getSequenceNbr());
if ( alertFormValueServiceImpl.list(wrapper).size() == 0 ){
personMap.put("zhiweii",null);
personMap.put("tel", null);
personMap.put("img", null);
personList.add(personMap);
}else{
// 查询动态表单zhiwei
Map<String, Object> zhiwei = new HashMap<String, Object>();
zhiwei.put("alert_called_id", orgUsr.getSequenceNbr());
zhiwei.put("field_code", "internalPosition");
QueryWrapper zhiweiWrapper = new QueryWrapper<AlertFormValue>();
zhiweiWrapper.allEq(zhiwei);
AlertFormValue zhiweiValue = alertFormValueServiceImpl.getOne(zhiweiWrapper);
personMap.put("zhiwu", zhiweiValue.getFieldValue());
// 查询动态表单Phone
Map<String, Object> personPhone = new HashMap<String, Object>();
personPhone.put("alert_called_id", orgUsr.getSequenceNbr());
personPhone.put("field_code", "telephone");
QueryWrapper personPhoneWrapper = new QueryWrapper<AlertFormValue>();
personPhoneWrapper.allEq(personPhone);
AlertFormValue personPhoneValue = alertFormValueServiceImpl.getOne(personPhoneWrapper);
personMap.put("tel", personPhoneValue.getFieldValue());
// 查询动态表单Img
Map<String, Object> img = new HashMap<String, Object>();
img.put("alert_called_id", orgUsr.getSequenceNbr());
img.put("field_code", "personImg");
QueryWrapper imgWrapper = new QueryWrapper<AlertFormValue>();
imgWrapper.allEq(img);
AlertFormValue imgValue = alertFormValueServiceImpl.getOne(imgWrapper);
personMap.put("img", imgValue.getFieldValue());
personList.add(personMap);
}
});
}
resultMap.put("children",personList);
companyPersonMsg.add(resultMap);
}
return companyPersonMsg;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment