Commit df006e67 authored by chenhao's avatar chenhao

提交维保单位代码 by chenhao

parent 4ca9028d
...@@ -7,7 +7,6 @@ import com.yeejoin.amos.boot.biz.common.dto.BaseDto; ...@@ -7,7 +7,6 @@ import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
/** /**
* 维保单位 * 维保单位
...@@ -16,14 +15,21 @@ import lombok.EqualsAndHashCode; ...@@ -16,14 +15,21 @@ import lombok.EqualsAndHashCode;
* @date 2021-07-16 * @date 2021-07-16
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "MaintenanceCompanyDto", description = "维保单位") @ApiModel(value = "MaintenanceCompanyDto", description = "维保单位")
public class MaintenanceCompanyDto extends BaseDto { public class MaintenanceCompanyDto extends BaseDto{
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "照片地址")
private List<String> photoAddress;
@ApiModelProperty(value = "上级单位Id") @ApiModelProperty(value = "上级单位Id")
private Long parentId; private Long parentId;
@ApiModelProperty(value = "instanceId")
private Long instanceId;
@ApiModelProperty(value = "生产企业名称") @ApiModelProperty(value = "生产企业名称")
private String name; private String name;
...@@ -93,7 +99,7 @@ public class MaintenanceCompanyDto extends BaseDto { ...@@ -93,7 +99,7 @@ public class MaintenanceCompanyDto extends BaseDto {
@ApiModelProperty(value = "地址") @ApiModelProperty(value = "地址")
private String address; private String address;
@ApiModelProperty(value = "类型(COMPANY单位,PERSON人员)") @ApiModelProperty(value = "类型(COMPANY单位,PERSON人员,DEPARTMENT部门)")
private String type; private String type;
@ApiModelProperty(value = "纬度") @ApiModelProperty(value = "纬度")
...@@ -109,6 +115,5 @@ public class MaintenanceCompanyDto extends BaseDto { ...@@ -109,6 +115,5 @@ public class MaintenanceCompanyDto extends BaseDto {
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
private String remark; private String remark;
@ApiModelProperty(value = "照片地址")
private List<String> photoAddress;
} }
package com.yeejoin.amos.boot.module.common.api.dto;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 维保单位
*
* @author chenhao
* @date 2021-07-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "MaintenanceDepartmentDto", description = "维保单位部门")
public class MaintenanceDepartmentDto extends BaseDto {
/**
*
*/
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "部门名称")
private String name;
@ApiModelProperty(value = "所在建筑")
private String projectCode;
@ApiModelProperty(value = "所属单位/部门")
private Long parentId;
@ApiModelProperty(value = "部门地址")
private String adrerss;
@ApiModelProperty(value = "部门男员工人数")
private String maleStaffNumber;
@ApiModelProperty(value = "部门女员工人数")
private String femaleStaffNumber;
@ApiModelProperty(value = "下属部门电话")
private String tel;
@ApiModelProperty(value = "类型(COMPANY单位,PERSON人员,DEPARTMENT部门)")
private String type;
}
package com.yeejoin.amos.boot.module.common.api.dto; package com.yeejoin.amos.boot.module.common.api.dto;
import java.util.List;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto; import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/** /**
* 维保单位 * 维保单位
...@@ -15,7 +19,56 @@ import lombok.EqualsAndHashCode; ...@@ -15,7 +19,56 @@ import lombok.EqualsAndHashCode;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value = "MaintenancePersonDto", description = "维保单位人员") @ApiModel(value = "MaintenancePersonDto", description = "维保单位人员")
public class MaintenancePersonDto extends BaseDto{ public class MaintenancePersonDto extends BaseDto{
/**
*
*/
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "类型(COMPANY单位,PERSON人员,DEPARTMENT部门)")
private String type;
@ApiModelProperty(value = "关联系统账号")
private String amosAccount;
@ApiModelProperty(value = "类别")
private String category;
@ApiModelProperty(value = "证书编号")
private String certificateNo;
@ApiModelProperty(value = "性别")
private String gender;
@ApiModelProperty(value = "身份证号码")
private String idNumber;
@ApiModelProperty(value = "民族")
private String nation;
//消防重点工种资格证书
@ApiModelProperty(value = "职业资格证书")
private String professionalCertificate;
//人员资质
@ApiModelProperty(value = "职业资格")
private String qualification;
@ApiModelProperty(value = "注册号")
private String registerId;
@ApiModelProperty(value = "状态")
private String status;
@ApiModelProperty(value = "手机号码")
private String tel;
@ApiModelProperty(value = "部门编号")
private String departmentNumber;
@ApiModelProperty(value = "系统账户")
private String systemAccount;
@ApiModelProperty(value = "注册有效期开始时间")
private String registrationStartTime;
@ApiModelProperty(value = "注册有效期结束时间")
private String registrationEndTime;
@ApiModelProperty(value = "员工姓名")
private String name;
@ApiModelProperty(value = "员工所在单位单位id")
private Long parentId;
@ApiModelProperty(value = "上传资源的地址集合")
private List<String> resourcesAdress;
} }
...@@ -86,4 +86,5 @@ public class DynamicFormColumn extends BaseEntity { ...@@ -86,4 +86,5 @@ public class DynamicFormColumn extends BaseEntity {
*/ */
@TableField("org_code") @TableField("org_code")
private String orgCode; private String orgCode;
} }
...@@ -17,7 +17,7 @@ import lombok.experimental.Accessors; ...@@ -17,7 +17,7 @@ import lombok.experimental.Accessors;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Accessors(chain = true) @Accessors(chain = true)
@TableName("cb_maintenance_company") @TableName(value = "cb_maintenance_company",autoResultMap = true)
public class MaintenanceCompany extends BaseEntity { public class MaintenanceCompany extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -33,7 +33,7 @@ public class MaintenanceCompany extends BaseEntity { ...@@ -33,7 +33,7 @@ public class MaintenanceCompany extends BaseEntity {
*/ */
@TableField("code") @TableField("code")
private String code; private String code;
/** /**
* 类型(COMPANY单位,PERSON人员) * 类型(COMPANY单位,PERSON人员)
*/ */
...@@ -75,4 +75,10 @@ public class MaintenanceCompany extends BaseEntity { ...@@ -75,4 +75,10 @@ public class MaintenanceCompany extends BaseEntity {
*/ */
@TableField("instance_id") @TableField("instance_id")
private Long instanceId; private Long instanceId;
} }
package com.yeejoin.amos.boot.module.common.api.mapper; package com.yeejoin.amos.boot.module.common.api.mapper;
import com.yeejoin.amos.boot.module.common.api.entity.MaintenanceCompany;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.common.api.entity.MaintenanceCompany;
/** /**
* 维保单位 Mapper 接口 * 维保单位 Mapper 接口
...@@ -10,5 +10,4 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -10,5 +10,4 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @date 2021-07-16 * @date 2021-07-16
*/ */
public interface MaintenanceCompanyMapper extends BaseMapper<MaintenanceCompany> { public interface MaintenanceCompanyMapper extends BaseMapper<MaintenanceCompany> {
} }
...@@ -3,7 +3,11 @@ package com.yeejoin.amos.boot.module.common.api.service; ...@@ -3,7 +3,11 @@ package com.yeejoin.amos.boot.module.common.api.service;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.module.common.api.dto.MaintenanceCompanyDto; import com.yeejoin.amos.boot.module.common.api.dto.MaintenanceCompanyDto;
import com.yeejoin.amos.boot.module.common.api.dto.MaintenanceDepartmentDto;
import com.yeejoin.amos.boot.module.common.api.dto.MaintenancePersonDto;
import com.yeejoin.amos.boot.module.common.api.entity.MaintenanceCompany;
/** /**
* 维保单位接口类 * 维保单位接口类
...@@ -14,27 +18,117 @@ import com.yeejoin.amos.boot.module.common.api.dto.MaintenanceCompanyDto; ...@@ -14,27 +18,117 @@ import com.yeejoin.amos.boot.module.common.api.dto.MaintenanceCompanyDto;
public interface IMaintenanceCompanyService { public interface IMaintenanceCompanyService {
/** /**
* 添加保存维保公司基本信息 * 添加保存维保公司基本信息
*
* @param maintenanceCompanyDto * @param maintenanceCompanyDto
* @return * @return
*/ */
public boolean saveCompanyDetail(MaintenanceCompanyDto maintenanceCompanyDto); public boolean saveCompanyDetail(MaintenanceCompanyDto maintenanceCompanyDto);
/**
* 添加保存维保单位人员基本信息 /**
* @param maintenanceCompany * 添加保存维保单位人员基本信息
* @return *
*/ * @param maintenanceCompany
public boolean savePersonDetail(MaintenanceCompanyDto maintenanceCompany); * @return
*/
public boolean savePersonDetail(MaintenancePersonDto maintenancePerson, String Companycode);
/** /**
* 自定义假删除 * 自定义假删除
*
* @param sequenceNbr * @param sequenceNbr
* @return * @return
*/ */
public boolean deleteById(Long sequenceNbr); public boolean deleteById(Long sequenceNbr);
/** /**
* 获取公司名称的下拉列表 * 获取公司名称的下拉列表
*
* @return
*/
List<Map<String, Object>> getMaintenanceCompanyDropDownList();
/**
* 添加保存维保单位部门基本信息
*
* @param maintenanceDepartment
* @return * @return
*/ */
List<Map<String, Object>> getMaintenanceCompanyDropDownList(); public boolean saveDepartmentDetail(MaintenanceDepartmentDto maintenanceDepartment ,String Companycode);
/**
* 检查当前的员工编号是否已经存在
*
* @param code
* @return
*/
public boolean checkPersonCodeExists(String code);
/**
* 查询所有的维保人员/单位/部门列表信息,无分页
*
* @param maintenanceType 类型(COMPANY单位,PERSON人员,DEPARTMENT部门)
* @return
*/
List<Map<String, Object>> getAllMaintenanceList(String maintenanceType);
/**
* 查询分页展示的维保人员/单位/部门列表信息
*
* @param current 页码起始值
* @param size 行数
* @param informationCard 是否显示维保单位人员信息卡数据项
* @param dataItem 是否显示人员概要信息数据项
* @param maintenanceType 类型(COMPANY单位,PERSON人员,DEPARTMENT部门)
* @return
*/
IPage<Map<String, Object>> getPageMaintenanceList(int current, int size, String maintenanceType,String name,long parentId,String isWork);
/**根据主键查询对应的信息
* @param sequenceNbr 主键
* @return
*/
Map<String, Object> findByInstanceId(Long instanceId,String maintenanceType );
/**
* 修改维保单位
* @param model
* @return
*/
boolean updateMaintenanceCompanyDetail(MaintenanceCompanyDto model);
/**
* 修改维保部门
* @param MaintenanceDepartmentDto
* @return
*/
public boolean updateMaintenancDepartmentDetail(MaintenanceDepartmentDto model, String Companycode);
/**
* 修改维保人员
* @param MaintenancePersonDto
* @param Companycode
* @return
*/
public boolean updateMaintenancePersonDetail(MaintenancePersonDto model, String Companycode);
/**
* 查询所有的单位-部门树
* @return
*/
public List<MaintenanceCompany> getCompanyAndDepartmentTree();
/**
* 查询制定公司的部门-人树
* @param sequenceNbr
* @return
*/
public List<MaintenanceCompany> getDepartmentAndPersonTree(long sequenceNbr);
/**
* 查询当前单位下所有的部门基本信息--下拉列表
* @param sequenceNbr
* @return
*/
public List<MaintenanceCompany> getDepartmentList(long sequenceNbr);
} }
...@@ -20,11 +20,15 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation; ...@@ -20,11 +20,15 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.common.api.dto.MaintenanceCompanyDto; import com.yeejoin.amos.boot.module.common.api.dto.MaintenanceCompanyDto;
import com.yeejoin.amos.boot.module.common.api.enums.ExceptionEnum; import com.yeejoin.amos.boot.module.common.api.dto.MaintenanceDepartmentDto;
import com.yeejoin.amos.boot.module.common.api.dto.MaintenancePersonDto;
import com.yeejoin.amos.boot.module.common.api.dto.OrgMenuDto;
import com.yeejoin.amos.boot.module.common.api.entity.MaintenanceCompany;
import com.yeejoin.amos.boot.module.common.api.service.IMaintenanceCompanyService; import com.yeejoin.amos.boot.module.common.api.service.IMaintenanceCompanyService;
import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrService;
import com.yeejoin.amos.boot.module.common.biz.service.impl.MaintenanceCompanyServiceImpl; import com.yeejoin.amos.boot.module.common.biz.service.impl.MaintenanceCompanyServiceImpl;
import com.yeejoin.amos.boot.module.common.biz.utils.MyException; import com.yeejoin.amos.boot.module.common.biz.utils.MyException;
...@@ -44,12 +48,16 @@ public class MaintenanceCompanyController extends BaseController { ...@@ -44,12 +48,16 @@ public class MaintenanceCompanyController extends BaseController {
@Autowired @Autowired
MaintenanceCompanyServiceImpl maintenanceCompanyServiceImpl; MaintenanceCompanyServiceImpl maintenanceCompanyServiceImpl;
@Autowired @Autowired
IMaintenanceCompanyService maintenanceCompanyService; IMaintenanceCompanyService maintenanceCompanyService;
private static final String COMPANY = "COMPANY"; private static final String COMPANY = "COMPANY";
private static final String PERSON = "PERSON"; private static final String PERSON = "PERSON";
private static final String DEPARTMENT = "DEPARTMENT";
@Autowired
IOrgUsrService iOrgUsrService;
/** /**
* 新增维保单位 * 新增维保单位
...@@ -59,15 +67,12 @@ public class MaintenanceCompanyController extends BaseController { ...@@ -59,15 +67,12 @@ public class MaintenanceCompanyController extends BaseController {
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/company/save") @PostMapping(value = "/company/save")
@ApiOperation(httpMethod = "POST", value = "新增维保人员", notes = "新增维保人员") @ApiOperation(httpMethod = "POST", value = "新增维保单位", notes = "新增维保人员")
public ResponseModel<Boolean> saveMaintenanceCompany(@RequestBody MaintenanceCompanyDto model) throws MyException { public ResponseModel<Boolean> saveMaintenanceCompany(@RequestBody MaintenanceCompanyDto model) throws MyException {
if( COMPANY.equals(model.getType())) { model.setType(COMPANY);
return ResponseHelper.buildResponse(maintenanceCompanyService.saveCompanyDetail(model)); return ResponseHelper.buildResponse(maintenanceCompanyService.saveCompanyDetail(model));
}else {
throw new MyException(ExceptionEnum.PARAMETER_TYPE_ERROR);
}
} }
/** /**
* 新增维保单位人员基本信息 * 新增维保单位人员基本信息
* *
...@@ -77,27 +82,87 @@ public class MaintenanceCompanyController extends BaseController { ...@@ -77,27 +82,87 @@ public class MaintenanceCompanyController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/person/save") @PostMapping(value = "/person/save")
@ApiOperation(httpMethod = "POST", value = "新增维保人员", notes = "新增维保人员") @ApiOperation(httpMethod = "POST", value = "新增维保人员", notes = "新增维保人员")
public ResponseModel<Boolean> saveMaintenancePerson(@RequestBody MaintenanceCompanyDto model) throws MyException { public ResponseModel<Boolean> saveMaintenancePerson(@RequestBody MaintenancePersonDto model,
if(PERSON.equals(model.getType())) { @RequestParam String Companycode) throws Exception {
return ResponseHelper.buildResponse(maintenanceCompanyService.savePersonDetail(model)); model.setType(PERSON);
}else { return ResponseHelper.buildResponse(maintenanceCompanyService.savePersonDetail(model, Companycode));
throw new MyException(ExceptionEnum.PARAMETER_TYPE_ERROR); }
/**
* 检查员工编号是否已经存在,用于手动输入的员工编号校验
*
* @return
* @throws MyException
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/person/check/{personCode}")
@ApiOperation(httpMethod = "POST", value = "校验员工编号", notes = "校验员工编号")
public ResponseModel<Boolean> checkPersonCodeExists(@PathVariable String personCode) {
boolean flag = maintenanceCompanyService.checkPersonCodeExists(personCode);
if (flag) {
return ResponseHelper.buildResponse(true);
} }
return ResponseHelper.buildResponse(false);
} }
/**
* 查询所有的维保人员/单位/部门信息的列表,不分页
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/allList")
@ApiOperation(httpMethod = "GET", value = "所有维保人员/单位/部门列表,不分页", notes = "所有维保人员列表")
public ResponseModel<List<Map<String, Object>>> getAllMaintenanceList(@RequestParam String maintenanceType) {
return ResponseHelper.buildResponse(maintenanceCompanyService.getAllMaintenanceList(maintenanceType));
}
/**
* 查询所有的维保人员/单位/部门信息的列表,不分页
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page/List")
@ApiOperation(httpMethod = "GET", value = "所有维保人员/单位/部门分页列表", notes = "所有维保人员列表")
public ResponseModel<IPage<Map<String, Object>>> getPageMaintenanceList(
@RequestParam(value = "current") int current, @RequestParam(value = "size") int size,
@RequestParam String maintenanceType, @RequestParam String name, @RequestParam long parentId,
@RequestParam String isWork) throws Exception {
return ResponseHelper
.buildResponse(maintenanceCompanyService.getPageMaintenanceList(current, size, maintenanceType,name,parentId,isWork));
}
/**
* 新增维保单位部门基本信息
*
* @return
* @throws MyException
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/department/save")
@ApiOperation(httpMethod = "POST", value = "新增维保部门", notes = "新增维保部门")
public ResponseModel<Boolean> saveMaintenanceDepartment(@RequestBody MaintenanceDepartmentDto model,
@RequestParam String Companycode) {
model.setType(DEPARTMENT);
return ResponseHelper.buildResponse(maintenanceCompanyService.saveDepartmentDetail(model, Companycode));
}
/** /**
* 获取公司名称的下拉列表 * 获取公司名称的下拉列表
*
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/getCompanyDropDownList") @GetMapping(value = "/getCompanyDropDownList")
@ApiOperation(httpMethod = "GET", value = "查询公司名称下拉列表", notes = "查询公司名称下拉列表") @ApiOperation(httpMethod = "GET", value = "查询公司名称下拉列表", notes = "查询公司名称下拉列表")
public ResponseModel<List<Map<String, Object>>> getMaintenanceCompanyDropDownList() { public ResponseModel<List<Map<String, Object>>> getMaintenanceCompanyDropDownList() {
List<Map<String, Object>> result= maintenanceCompanyService.getMaintenanceCompanyDropDownList(); List<Map<String, Object>> result = maintenanceCompanyService.getMaintenanceCompanyDropDownList();
return ResponseHelper.buildResponse(result); return ResponseHelper.buildResponse(result);
} }
/** /**
* 根据sequenceNbr更新 * 根据sequenceNbr更新
* *
...@@ -105,12 +170,44 @@ public class MaintenanceCompanyController extends BaseController { ...@@ -105,12 +170,44 @@ public class MaintenanceCompanyController extends BaseController {
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}") @PutMapping(value = "put/company/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新维保单位", notes = "根据sequenceNbr更新维保单位") @ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新维保单位", notes = "根据sequenceNbr更新维保单位")
public ResponseModel<MaintenanceCompanyDto> updateBySequenceNbrMaintenanceCompany( public ResponseModel<Boolean> updateBySequenceNbrMaintenanceCompany(@RequestBody MaintenanceCompanyDto model,
@RequestBody MaintenanceCompanyDto model, @PathVariable(value = "sequenceNbr") Long sequenceNbr) { @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(maintenanceCompanyService.updateMaintenanceCompanyDetail(model));
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "put/person/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新维保单位人员", notes = "根据sequenceNbr更新维保单位")
public ResponseModel<Boolean> updateBySequenceNbrMaintenancePerson(@RequestBody MaintenancePersonDto model,
@PathVariable(value = "sequenceNbr") Long sequenceNbr, @RequestParam String Companycode) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper
.buildResponse(maintenanceCompanyService.updateMaintenancePersonDetail(model, Companycode));
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "put/department/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新维保单位部门", notes = "根据sequenceNbr更新维保单位")
public ResponseModel<Boolean> updateBySequenceNbrMaintenanceDepartment(@RequestBody MaintenanceDepartmentDto model,
@PathVariable(value = "sequenceNbr") Long sequenceNbr, @RequestParam String Companycode) {
model.setSequenceNbr(sequenceNbr); model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(maintenanceCompanyServiceImpl.updateWithModel(model)); return ResponseHelper
.buildResponse(maintenanceCompanyService.updateMaintenancDepartmentDetail(model, Companycode));
} }
/** /**
...@@ -120,11 +217,11 @@ public class MaintenanceCompanyController extends BaseController { ...@@ -120,11 +217,11 @@ public class MaintenanceCompanyController extends BaseController {
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}") @DeleteMapping(value = "delete/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除维保单位", notes = "根据sequenceNbr删除维保单位") @ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request,
@PathVariable(value = "sequenceNbr") Long sequenceNbr) { @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(maintenanceCompanyServiceImpl.deleteById(sequenceNbr)); return ResponseHelper.buildResponse(maintenanceCompanyService.deleteById(sequenceNbr));
} }
/** /**
...@@ -134,39 +231,57 @@ public class MaintenanceCompanyController extends BaseController { ...@@ -134,39 +231,57 @@ public class MaintenanceCompanyController extends BaseController {
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}") @GetMapping(value = "find/{instanceId}/{maintenanceType}")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个维保单位", notes = "根据sequenceNbr查询单个维保单位") @ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个维保单位/人员/部门", notes = "根据sequenceNbr查询单个维保单位/人员/部门")
public ResponseModel<MaintenanceCompanyDto> seleteOne(@PathVariable Long sequenceNbr) { public ResponseModel<Map<String, Object>> seleteOne(@PathVariable Long instanceId,
return ResponseHelper.buildResponse(maintenanceCompanyServiceImpl.queryBySeq(sequenceNbr)); @PathVariable String maintenanceType) {
return ResponseHelper.buildResponse(maintenanceCompanyService.findByInstanceId(instanceId, maintenanceType));
} }
/** /**
* 列表分页查询 * 查询单位-部门树结构数据
* *
* @param current 当前页
* @param current 每页大小
* @return * @return
* @throws Exception
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page") @GetMapping(value = "companyAndDepartment/getTree")
@ApiOperation(httpMethod = "GET", value = "维保单位分页查询", notes = "维保单位分页查询") @ApiOperation(httpMethod = "GET", value = "查询单位-部门树结构数据", notes = "查询单位-部门树结构数据")
public ResponseModel<Page<MaintenanceCompanyDto>> queryForPage(@RequestParam(value = "current") int current, public ResponseModel<List<OrgMenuDto>> getCompanyAndDepartmentTree() throws Exception {
@RequestParam(value = "size") int size) { List<OrgMenuDto> menus = iOrgUsrService.getTree(null, maintenanceCompanyService.getCompanyAndDepartmentTree(),
Page<MaintenanceCompanyDto> page = new Page<MaintenanceCompanyDto>(); MaintenanceCompany.class.getName(), "getSequenceNbr", 2, "getName", "getParentId", "getType");
page.setCurrent(current); return ResponseHelper.buildResponse(menus);
page.setSize(size);
return ResponseHelper.buildResponse(maintenanceCompanyServiceImpl.queryForMaintenanceCompanyPage(page));
} }
/** /**
* 列表全部数据查询 * 查询单位-部门树结构数据
* *
* @return * @return
* @throws Exception
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "维保单位列表全部数据查询", notes = "维保单位列表全部数据查询") @GetMapping(value = "departmentAndPerson/getTree")
@GetMapping(value = "/list") @ApiOperation(httpMethod = "GET", value = "查询部门-人树结构数据", notes = "查询部门-人树结构数据")
public ResponseModel<List<MaintenanceCompanyDto>> selectForList() { public ResponseModel<List<OrgMenuDto>> getDepartmentTree(@RequestParam long sequenceNbr) throws Exception {
return ResponseHelper.buildResponse(maintenanceCompanyServiceImpl.queryForMaintenanceCompanyList()); List<OrgMenuDto> menus = iOrgUsrService.getTree(null,
maintenanceCompanyService.getDepartmentAndPersonTree(sequenceNbr), MaintenanceCompany.class.getName(),
"getSequenceNbr", 2, "getName", "getParentId", "getType");
return ResponseHelper.buildResponse(menus);
} }
/**
* 查询单位-部门树结构数据
*
* @return
* @throws Exception
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getDepartmentList")
@ApiOperation(httpMethod = "GET", value = "查询部门下拉列表数据", notes = "查询部门下拉列表数据")
public ResponseModel<List<OrgMenuDto>> getDepartmentList(@RequestParam long sequenceNbr) throws Exception {
List<OrgMenuDto> menus = iOrgUsrService.getTree(null, maintenanceCompanyService.getDepartmentList(sequenceNbr),
MaintenanceCompany.class.getName(), "getSequenceNbr", 2, "getName", "getParentId", "getType");
return ResponseHelper.buildResponse(menus);
}
} }
package com.yeejoin.amos.boot.module.common.biz.service.impl; package com.yeejoin.amos.boot.module.common.biz.service.impl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.function.Function;
import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.utils.Bean; import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Sequence; import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.itextpdf.text.pdf.PdfStructTreeController.returnType;
import com.yeejoin.amos.boot.module.common.api.dto.MaintenanceCompanyDto; import com.yeejoin.amos.boot.module.common.api.dto.MaintenanceCompanyDto;
import com.yeejoin.amos.boot.module.common.api.dto.MaintenanceDepartmentDto;
import com.yeejoin.amos.boot.module.common.api.dto.MaintenancePersonDto;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance;
import com.yeejoin.amos.boot.module.common.api.entity.MaintenanceCompany; import com.yeejoin.amos.boot.module.common.api.entity.MaintenanceCompany;
import com.yeejoin.amos.boot.module.common.api.mapper.MaintenanceCompanyMapper; import com.yeejoin.amos.boot.module.common.api.mapper.MaintenanceCompanyMapper;
import com.yeejoin.amos.boot.module.common.api.service.IMaintenanceCompanyService; import com.yeejoin.amos.boot.module.common.api.service.IMaintenanceCompanyService;
...@@ -28,10 +41,18 @@ public class MaintenanceCompanyServiceImpl ...@@ -28,10 +41,18 @@ public class MaintenanceCompanyServiceImpl
extends BaseService<MaintenanceCompanyDto, MaintenanceCompany, MaintenanceCompanyMapper> extends BaseService<MaintenanceCompanyDto, MaintenanceCompany, MaintenanceCompanyMapper>
implements IMaintenanceCompanyService { implements IMaintenanceCompanyService {
private static final String MAINTENANC_ECOMPANY = "maintenanceCompany"; private static final String MAINTENANCE_COMPANY = "maintenanceCompany";
private static final String MAINTENANCE_PERSON = "maintenancePerson"; private static final String MAINTENANCE_PERSON = "maintenancePerson";
private static final String PERSON = "Person"; private static final String MAINTENANCE_DEPARTMENT = "maintenanceDepartment";
private static final String COMPANY = "Company";
private static final String PERSON = "PERSON";
private static final String COMPANY = "COMPANY";
private static final String DEPARTMENT = "DEPARTMENT";
// private static final String[] INFORMATION_CARD_ARRAY = { "resourcesAdress", "name", "qualification",
// "professionalCertificate", "tel" };
// private static final String[] INFORMATION_DATA_ITEM = { "resourcesAdress", "name", "age", "qualification",
// "professionalCertificate", "tel", "systemAccount" };
@Autowired @Autowired
DynamicFormInstanceServiceImpl dynamicFormInstanceService; DynamicFormInstanceServiceImpl dynamicFormInstanceService;
...@@ -65,24 +86,26 @@ public class MaintenanceCompanyServiceImpl ...@@ -65,24 +86,26 @@ public class MaintenanceCompanyServiceImpl
* @param maintenanceCompany * @param maintenanceCompany
* @return * @return
*/ */
@Transactional
public boolean saveCompanyDetail(MaintenanceCompanyDto maintenanceCompanyDto) { public boolean saveCompanyDetail(MaintenanceCompanyDto maintenanceCompanyDto) {
Map<String, Object> model = Bean.BeantoMap(maintenanceCompanyDto); Map<String, Object> model = Bean.BeantoMap(maintenanceCompanyDto);
// 将数据西安存入扩展表操作service提供的公共保存方法,以便拿到对应的instanceId // 将数据西安存入扩展表操作service提供的公共保存方法,以便拿到对应的instanceId
Long instanceId = dynamicFormInstanceService.commonSave(MAINTENANC_ECOMPANY, model); Long instanceId = dynamicFormInstanceService.commonSave(MAINTENANCE_COMPANY, model);
// 拿到instanceId之后进行往主表中插入数据 // 拿到instanceId之后进行往主表中插入数据
MaintenanceCompany maintenanceCompany = (MaintenanceCompany) Bean.mapToBean(model, MaintenanceCompany.class); MaintenanceCompany maintenanceCompany = (MaintenanceCompany) Bean.mapToBean(model, MaintenanceCompany.class);
maintenanceCompany.setCode(OrgUsrServiceImpl.getOrgCodeStr()); maintenanceCompany.setCode(OrgUsrServiceImpl.getOrgCodeStr());
maintenanceCompany.setOrgCode(null); maintenanceCompany.setOrgCode(null);
maintenanceCompany.setType(COMPANY);
maintenanceCompany.setBizCode(sequence.nextId() + ""); maintenanceCompany.setBizCode(sequence.nextId() + "");
maintenanceCompany.setInstanceId(instanceId); maintenanceCompany.setInstanceId(instanceId);
maintenanceCompany.setType(maintenanceCompanyDto.getType().toUpperCase());
try { try {
this.save(maintenanceCompany); this.save(maintenanceCompany);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace();
return false; return false;
} }
return false; return true;
} }
/** /**
...@@ -91,30 +114,54 @@ public class MaintenanceCompanyServiceImpl ...@@ -91,30 +114,54 @@ public class MaintenanceCompanyServiceImpl
* @param maintenanceCompany * @param maintenanceCompany
* @return * @return
*/ */
public boolean savePersonDetail(MaintenanceCompanyDto maintenanceCompany) { public boolean savePersonDetail(MaintenancePersonDto maintenancePerson, String Companycode) {
Map<String, Object> model = Bean.BeantoMap(maintenanceCompany); Map<String, Object> model = Bean.BeantoMap(maintenancePerson);
// 将数据西安存入扩展表操作service提供的公共保存方法,以便拿到对应的instanceId // 将数据西安存入扩展表操作service提供的公共保存方法,以便拿到对应的instanceId
Long instanceId = dynamicFormInstanceService.commonSave(MAINTENANCE_PERSON, model); Long instanceId = dynamicFormInstanceService.commonSave(MAINTENANCE_PERSON, model);
// 拿到instanceId之后进行往主表中插入数据 // 拿到instanceId之后进行往主表中插入数据
MaintenanceCompany entity = (MaintenanceCompany) Bean.mapToBean(model, MaintenanceCompany.class); MaintenanceCompany entity = (MaintenanceCompany) Bean.mapToBean(model, MaintenanceCompany.class);
// 前台页面没有传入员工编号时系统自动赋值
if (StringUtils.isBlank(entity.getCode())) {
// 添加人员时,当前的orgcode 为单位code+6位随机数
entity.setCode(Companycode + OrgUsrServiceImpl.getOrgCodeStr());
}
entity.setOrgCode(null);
entity.setBizCode(sequence.nextId() + "");
entity.setInstanceId(instanceId);
entity.setType(maintenancePerson.getType().toUpperCase());
try {
this.save(entity);
} catch (Exception e) {
return false;
}
return true;
}
@Override
public boolean saveDepartmentDetail(MaintenanceDepartmentDto maintenanceDepartment, String Companycode) {
Map<String, Object> model = Bean.BeantoMap(maintenanceDepartment);
// 将数据西安存入扩展表操作service提供的公共保存方法,以便拿到对应的instanceId
Long instanceId = dynamicFormInstanceService.commonSave(MAINTENANCE_DEPARTMENT, model);
// 拿到instanceId之后进行往主表中插入数据
MaintenanceCompany entity = (MaintenanceCompany) Bean.mapToBean(model, MaintenanceCompany.class);
// 添加人员时,当前的orgcode 为单位code+6位随机数 // 添加人员时,当前的orgcode 为单位code+6位随机数
entity.setCode(entity.getCode() + OrgUsrServiceImpl.getOrgCodeStr()); entity.setCode(Companycode + OrgUsrServiceImpl.getOrgCodeStr());
entity.setOrgCode(null); entity.setOrgCode(null);
entity.setType(PERSON);
entity.setBizCode(sequence.nextId() + ""); entity.setBizCode(sequence.nextId() + "");
entity.setInstanceId(instanceId); entity.setInstanceId(instanceId);
entity.setType(maintenanceDepartment.getType().toUpperCase());
try { try {
this.save(entity); this.save(entity);
} catch (Exception e) { } catch (Exception e) {
return false; return false;
} }
return false; return true;
} }
public boolean deleteById( Long sequenceNbr) { public boolean deleteById(Long sequenceNbr) {
MaintenanceCompany maintenanceCompany = maintenanceCompanyMapper.selectById(sequenceNbr); MaintenanceCompany maintenanceCompany = maintenanceCompanyMapper.selectById(sequenceNbr);
if(ObjectUtils.isEmpty(maintenanceCompany)) { if (ObjectUtils.isEmpty(maintenanceCompany)) {
return false; return false;
} }
maintenanceCompany.setIsDelete(true); maintenanceCompany.setIsDelete(true);
...@@ -131,8 +178,281 @@ public class MaintenanceCompanyServiceImpl ...@@ -131,8 +178,281 @@ public class MaintenanceCompanyServiceImpl
@Override @Override
public List<Map<String, Object>> getMaintenanceCompanyDropDownList() { public List<Map<String, Object>> getMaintenanceCompanyDropDownList() {
LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<>();
wrapper.select(MaintenanceCompany::getCode,MaintenanceCompany::getName); wrapper.select(MaintenanceCompany::getCode, MaintenanceCompany::getName);
return maintenanceCompanyMapper.selectMaps(wrapper); return maintenanceCompanyMapper.selectMaps(wrapper);
}
@Override
public boolean checkPersonCodeExists(String code) {
LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(MaintenanceCompany::getCode, code);
MaintenanceCompany detail = maintenanceCompanyMapper.selectOne(wrapper);
if (ObjectUtils.isEmpty(detail)) {
return false;
}
return true;
}
@Override
public List<Map<String, Object>> getAllMaintenanceList(String maintenanceType) {
String type = null;
switch (maintenanceType) {
case PERSON:
type = MAINTENANCE_PERSON;
break;
case COMPANY:
type = MAINTENANCE_COMPANY;
break;
case DEPARTMENT:
type = MAINTENANCE_DEPARTMENT;
break;
}
if (StringUtils.isBlank(type)) {
return null;
}
List<Map<String, Object>> dynamicFormList = dynamicFormInstanceService.listAll(type);
List<MaintenanceCompany> mintenanceCompany = this.list();
Map<Long, MaintenanceCompany> mintenanceCompanyMap = mintenanceCompany.stream()
.collect(Collectors.toMap(MaintenanceCompany::getInstanceId, Function.identity()));
dynamicFormList.forEach(r -> {
MaintenanceCompany detail = mintenanceCompanyMap.get(Long.parseLong(r.get("instanceId").toString()));
if(!ObjectUtils.isEmpty(detail)) {
r.putAll(Bean.BeantoMap(detail));
}
});
return dynamicFormList;
}
/**
* 维保单位人员信息分頁信息显示时的字段过滤
*
* @param current
* @param size
* @param list
* @param arrayType
* @return
*/
public IPage<Map<String, Object>> getLegalList(int current, int size, IPage<Map<String, Object>> list,
String[] arrayType) {
List<Map<String, Object>> returnlist = new ArrayList<Map<String, Object>>();
Map<String, Object> legalMap = null;
for (Map<String, Object> map : list.getRecords()) {
legalMap = new HashMap<String, Object>();
for (Entry<String, Object> m : map.entrySet()) {
if (Arrays.asList(arrayType).contains(m.getKey())) {
legalMap.putAll(map);
}
}
returnlist.add(legalMap);
}
Page<Map<String, Object>> pegaIPage = new Page<Map<String, Object>>();
pegaIPage.setCurrent(current);
pegaIPage.setSize(size);
pegaIPage.setRecords(returnlist);
return pegaIPage;
}
@Override
public IPage<Map<String, Object>> getPageMaintenanceList(int current, int size, String maintenanceType,String name,long parentId,String isWork) {
List<MaintenanceCompany> mainTableList=null;
String type = null;
switch (maintenanceType) {
case PERSON:
type = MAINTENANCE_PERSON;
mainTableList = this.checkMaintenanceCompanyList(name,parentId);
break;
case COMPANY:
type = MAINTENANCE_COMPANY;
mainTableList = this.list();
break;
case DEPARTMENT:
type = MAINTENANCE_DEPARTMENT;
mainTableList = this.list();
break;
}
if (StringUtils.isBlank(type)) {
return null;
}
IPage<Map<String, Object>> page = dynamicFormInstanceService.pageList(current, size, type);
Map<Long, MaintenanceCompany> mintenanceCompanyMap = mainTableList.stream()
.collect(Collectors.toMap(MaintenanceCompany::getInstanceId, Function.identity()));
page.getRecords().forEach(r -> {
MaintenanceCompany detail = mintenanceCompanyMap.get(Long.parseLong(r.get("instanceId").toString()));
if(!ObjectUtils.isEmpty(detail)) {
r.putAll(Bean.BeantoMap(detail));
}
});
if(PERSON.equals(type)) {
}
return page;
}
public List<MaintenanceCompany> checkMaintenanceCompanyList(String name,long parentId){
LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<>();
if(StringUtils.isNotBlank(name)) {
wrapper.likeRight(MaintenanceCompany::getName, name);
}
if(parentId!=0) {
wrapper.eq(MaintenanceCompany::getParentId, parentId);
}
wrapper.eq(MaintenanceCompany::getType, PERSON);
return maintenanceCompanyMapper.selectList(wrapper);
}
@Override
public Map<String, Object> findByInstanceId(Long instanceId, String maintenanceType) {
String type = null;
switch (maintenanceType) {
case PERSON:
type = MAINTENANCE_PERSON;
break;
case COMPANY:
type = MAINTENANCE_COMPANY;
break;
case DEPARTMENT:
type = MAINTENANCE_DEPARTMENT;
break;
}
if (StringUtils.isBlank(type)) {
return null;
}
return dynamicFormInstanceService.getOneMap(instanceId, type);
}
@Override
@Transactional
public boolean updateMaintenanceCompanyDetail(MaintenanceCompanyDto model) {
// 先刪除,后添加
MaintenanceCompanyDto maintenanceCompany = this.queryBySeq(model.getSequenceNbr());
try {
if (maintenanceCompany != null) {
dynamicFormInstanceService.remove(new LambdaQueryWrapper<DynamicFormInstance>()
.eq(DynamicFormInstance::getInstanceId, maintenanceCompany.getInstanceId()));
this.removeById(maintenanceCompany.getSequenceNbr());
}
} catch (Exception e) {
return false;
}
try {
this.saveCompanyDetail(model);
} catch (Exception e) {
return false;
}
return true;
}
@Override
@Transactional
public boolean updateMaintenancePersonDetail(MaintenancePersonDto model, String Companycode) {
// 先刪除,后添加
MaintenanceCompanyDto maintenanceCompany = this.queryBySeq(model.getSequenceNbr());
try {
if (maintenanceCompany != null) {
dynamicFormInstanceService.remove(new LambdaQueryWrapper<DynamicFormInstance>()
.eq(DynamicFormInstance::getInstanceId, maintenanceCompany.getInstanceId()));
this.removeById(maintenanceCompany.getSequenceNbr());
}
} catch (Exception e) {
return false;
}
try {
this.savePersonDetail(model,Companycode);
} catch (Exception e) {
return false;
}
return true;
}
@Override
@Transactional
public boolean updateMaintenancDepartmentDetail(MaintenanceDepartmentDto model, String Companycode) {
// 先刪除,后添加
MaintenanceCompanyDto maintenanceCompany = this.queryBySeq(model.getSequenceNbr());
try {
if (maintenanceCompany != null) {
dynamicFormInstanceService.remove(new LambdaQueryWrapper<DynamicFormInstance>()
.eq(DynamicFormInstance::getInstanceId, maintenanceCompany.getInstanceId()));
this.removeById(maintenanceCompany.getSequenceNbr());
}
} catch (Exception e) {
return false;
}
try {
this.saveDepartmentDetail(model,Companycode);
} catch (Exception e) {
return false;
}
return true;
}
@Override
public List<MaintenanceCompany> getCompanyAndDepartmentTree() {
LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<>();
wrapper.select(MaintenanceCompany::getSequenceNbr,MaintenanceCompany::getName,MaintenanceCompany::getCode,MaintenanceCompany::getType,MaintenanceCompany::getBizCode,MaintenanceCompany::getParentId);
wrapper.eq(MaintenanceCompany::getIsDelete, 0);
wrapper.in(MaintenanceCompany::getType, Arrays.asList(COMPANY,DEPARTMENT));
List<MaintenanceCompany> list= maintenanceCompanyMapper.selectList(wrapper);
if (list == null) {
return new ArrayList<>();
}
list = list.stream().filter(o -> !ObjectUtils.isEmpty(o)).collect(Collectors.toList());
return list;
} }
@Override
public List<MaintenanceCompany> getDepartmentAndPersonTree(long sequenceNbr) {
List<MaintenanceCompany> departmentAllList =new ArrayList<MaintenanceCompany>();
List<MaintenanceCompany> departmentList= getDepartmentList(sequenceNbr);
departmentAllList.addAll(departmentList);
departmentAllList = getDepartmentAllList(departmentAllList,departmentList);
for (MaintenanceCompany map : departmentList) {
Long departmentSequenceNbr=map.getSequenceNbr();
departmentAllList.addAll(getPersonList(departmentSequenceNbr));
}
if (departmentAllList == null) {
return new ArrayList<>();
}
departmentAllList = departmentAllList.stream().filter(o -> !ObjectUtils.isEmpty(o)).collect(Collectors.toList());
return departmentAllList;
}
public List<MaintenanceCompany> getDepartmentAllList(List<MaintenanceCompany> departmentAllList,List<MaintenanceCompany> departmentList){
for (MaintenanceCompany map : departmentList) {
long chrildSequenceNbr=map.getSequenceNbr();
List<MaintenanceCompany> chrlidList= getDepartmentList(chrildSequenceNbr);
if(chrlidList.size()>0) {
departmentAllList.addAll(chrlidList);
getDepartmentAllList(departmentAllList,chrlidList);
}
}
return departmentAllList;
}
@Override
public List<MaintenanceCompany> getDepartmentList(long sequenceNbr) {
LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<>();
wrapper.select(MaintenanceCompany::getSequenceNbr,MaintenanceCompany::getName,MaintenanceCompany::getCode,MaintenanceCompany::getType,MaintenanceCompany::getBizCode,MaintenanceCompany::getParentId);
wrapper.eq(MaintenanceCompany::getIsDelete, 0);
wrapper.eq(MaintenanceCompany::getType, DEPARTMENT);
wrapper.eq(MaintenanceCompany::getParentId, sequenceNbr);
return maintenanceCompanyMapper.selectList(wrapper);
}
public List<MaintenanceCompany> getPersonList(long sequenceNbr) {
LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<>();
wrapper.select(MaintenanceCompany::getSequenceNbr,MaintenanceCompany::getName,MaintenanceCompany::getCode,MaintenanceCompany::getType,MaintenanceCompany::getBizCode,MaintenanceCompany::getParentId);
wrapper.eq(MaintenanceCompany::getIsDelete, 0);
wrapper.eq(MaintenanceCompany::getType, PERSON);
wrapper.eq(MaintenanceCompany::getParentId, sequenceNbr);
return maintenanceCompanyMapper.selectList(wrapper);
}
} }
\ No newline at end of file
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