Commit 810727cc authored by sxwnfpwx@163.com's avatar sxwnfpwx@163.com

Merge remote-tracking branch 'origin/developer' into developer

parents c05e4d47 3bb89af2
......@@ -32,14 +32,14 @@ public class ReginParams implements Serializable {
@Data
public static class BusinessInfo implements Serializable {
private Long amosBizCode;
private String companyName;
private Long companySequenceNbr;
private String companyType;
private Long amosBizCode; //平台企业code
private String companyName; //公司名称
private Long companySequenceNbr; //公司SequenceNbr(业务)
private String companyType; //公司类型
private Long amosUserCode;
private String userName;
private Long userSequenceNbr;
private String userType;
private String userName; //用户名称
private Long userSequenceNbr; //用户sequenceNbr(业务)
private String userType; //用户类型
}
public BusinessInfo getBusinessInfo() {
......
package com.yeejoin.amos.boot.module.ugp.api.Enum;
import lombok.AllArgsConstructor;
import lombok.Getter;
import org.apache.xmlbeans.impl.xb.xsdschema.Public;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Getter
@AllArgsConstructor
public enum CompanyTypeEnum {
建设单位("CONSTRUCTION","建设单位"),
安装单位("INSTALL","安装单位"),
设计单位("DESIGN","设计单位"),
监检机构("MONITORING","监检机构");
String key;
String type;
public static List<Map<String,String>> mapList = new ArrayList<>();
static{
for(CompanyTypeEnum companyTypeEnum:CompanyTypeEnum.values()){
Map<String,String> map = new HashMap();
map.put("name", companyTypeEnum.getType());
map.put("id", companyTypeEnum.getKey());
mapList.add(map);
}
}
}
......@@ -11,7 +11,7 @@ import java.util.HashMap;
public enum OrgEnum {
公司("COMPANY", "244", "公司",1),
部门("DEPARTMENT", "245", "部门",2),
人员("PERSON", "246", "人员",3),
普通人员("PERSON", "246", "普通人员",3),
焊工("WELDER","247","焊工",3),
建设单位负责人("CHARGE","254","建设单位负责人",3),
企业管理员("ADMIN","248","企业管理员",3),
......@@ -33,7 +33,7 @@ public enum OrgEnum {
static {
for(OrgPersonEnum orgPersonEnum:OrgPersonEnum.values()){
map.put(orgPersonEnum.getName(),orgPersonEnum.getKey());
map.put(orgPersonEnum.getKey(),orgPersonEnum.getName());
}
}
}
......@@ -21,6 +21,10 @@ public class XJConstant {
public static final String CHECK_TYPE = "CHECK_TYPE";
public static final String DEPT_WF_MAP_DIC_CODE = "DEPT_WF_MAP";
/** 企业用户注册前缀 */
public static final String UGP_USER_TEL = "ugp_tel_";
//审核/审批状态
public static final String PROCESS_PROJECT_STATE="processProjectState";
//监管科室
......
......@@ -31,6 +31,22 @@
<artifactId>fastjson</artifactId>
<version>1.2.24</version>
</dependency>
<dependency>
<groupId>fakepath</groupId>
<artifactId>ugp-welding-evaluation-inspection-sdk</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.36.0.3</version>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-compiler</artifactId>
<version>7.10.0.Final</version>
</dependency>
</dependencies>
<build>
......
package com.yeejoin.amos.boot.module.ugp.biz.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.biz.common.constants.CommonConstant;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.dto.OrgUsrDto;
import com.yeejoin.amos.boot.module.common.api.enums.OrgPersonEnum;
import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrService;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl;
import com.yeejoin.amos.boot.module.ugp.api.Enum.OrgEnum;
import com.yeejoin.amos.boot.module.ugp.api.Enum.CompanyTypeEnum;
import com.yeejoin.amos.boot.module.ugp.api.constants.XJConstant;
import com.yeejoin.amos.boot.module.ugp.api.entity.Company;
import com.yeejoin.amos.boot.module.ugp.api.mapper.CompanyMapper;
import com.yeejoin.amos.boot.module.ugp.biz.service.impl.OrgServiceImpl;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.privilege.util.DesUtil;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.RegionModel;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.util.*;
import com.yeejoin.amos.boot.module.ugp.biz.service.impl.CompanyServiceImpl;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -63,6 +59,13 @@ public class CompanyController extends BaseController {
@Value("${amos.secret.key}")
String secretKey;
@Value("${ugp.sms.tempCode}")
private String smsTempCode;
@Autowired
RedisUtils redisUtils;
/**
* 新增企业信息表
*
......@@ -179,60 +182,173 @@ public class CompanyController extends BaseController {
@PostMapping(value = "check")
@ApiOperation(httpMethod = "POST", value = "根据sequenceNbr更新,并创建单位及管理员", notes = "根据sequenceNbr更新,并创建单位及管理员")
public ResponseModel<Boolean> companyCheck(@RequestBody CompanyDto model,Long sequenceNbr,String bizOrgType) throws Exception{
Company company = companyServiceImpl.getById(sequenceNbr);
company.setApproved(model.getApproved());
if (company.getApproved().equals("已审核")){
final CompanyModel companyModel = new CompanyModel();
AgencyUserModel agencyUserModel = new AgencyUserModel();
//创建平台企业
companyModel.setCompanyName(company.getName());
companyModel.setCompanyCode(company.getCreditCode());
companyModel.setAddress(company.getAddress());
companyModel.setParentId(0L);
companyModel.setLevel("headquarter");
companyModel.setAgencyCode("ugp");
CompanyModel companyModelFeignClient = Privilege.companyClient.create(companyModel).getResult();
//创建平台用户
String adminName = company.getAdminName();
String adminLoginName = company.getAdminLoginName();
String adminPhone = company.getAdminTel();
String adminPassword = company.getAdminLoginPwd();
agencyUserModel.setRealName(adminName);
agencyUserModel.setAgencyCode("ugp");
agencyUserModel.setLockStatus("UNLOCK");
agencyUserModel.setMobile(adminPhone);
agencyUserModel.setCreateTime(new Date());
agencyUserModel.setUserName(adminLoginName);
agencyUserModel.setPassword(DesUtil.encode(adminPassword, secretKey));
agencyUserModel.setRePassword(DesUtil.encode(adminPassword, secretKey));
Privilege.agencyUserClient.create(agencyUserModel);
//企业动态表单存储
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(company));
jsonObject.put("amosOrgId",companyModelFeignClient.getSequenceNbr());
jsonObject.put("amosOrgCode",companyModelFeignClient.getOrgCode());
orgServiceImpl.dataHandling(jsonObject,bizOrgType,null);
//企业管理员人员 动态表单存储
jsonObject = null;
jsonObject.put("name",adminName);
jsonObject.put("phone",adminPhone);
jsonObject.put("amosOrgId",agencyUserModel.getSequenceNbr());
jsonObject.put("amosOrgCode",agencyUserModel.getUserId());
orgServiceImpl.dataHandling(jsonObject, OrgEnum.企业管理员.getKey(),null);
}
return ResponseHelper.buildResponse(companyServiceImpl.updateById(company));
return ResponseHelper.buildResponse(companyServiceImpl.companyCheck(model,sequenceNbr,bizOrgType));
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@PostMapping(value = "test")
@ApiOperation(httpMethod = "Post", value = "根据sequenceNbr更新,并创建单位及管理员", notes = "根据sequenceNbr更新,并创建单位及管理员")
@ApiOperation(httpMethod = "Post", value = "(测试)存储动态表单", notes = "(测试)存储动态表单")
public ResponseModel<OrgUsrDto> getInfo(@RequestBody JSONObject jsonObject, String bizOrgType,String sequenceNbr){
return ResponseHelper.buildResponse(orgServiceImpl.dataHandling(jsonObject,bizOrgType,sequenceNbr));
}
/***
* 部門新增或更新
* @param jsonObject 表单数据
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@PostMapping(value = "department")
@ApiOperation(httpMethod = "POST", value = "部門新增或更新", notes = "部門新增或更新")
public ResponseModel<Boolean> getInfo(@RequestBody JSONObject jsonObject, @RequestParam(required = false) String sequenceNbr) {
return ResponseHelper.buildResponse(companyServiceImpl.saveDepartment(jsonObject,sequenceNbr));
}
/***
* 获取当前登录人所在单位下的所有部门
* @param
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/deptList")
@ApiOperation(httpMethod = "GET", value = "部門新增", notes = "部門新增")
public ResponseModel<IPage> getDept(String size, String current) {
Page<OrgUsr> page = new Page<>();
page.setSize(Long.parseLong(size));
page.setCurrent(Long.parseLong(current));
return ResponseHelper.buildResponse(orgServiceImpl.getCompanyDept(page));
}
/**
* 企业注册:获取单位类型
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/getType")
@ApiOperation(httpMethod = "Get", value = "", notes = "")
public ResponseModel<List> getType(){
return ResponseHelper.buildResponse(CompanyTypeEnum.mapList);
}
// /**
// * 企业注册:3、账号信息提交
// */
// @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
// @PostMapping(value = "/saveInfo")
// @ApiOperation(httpMethod = "POST", value = "", notes = "")
// public ResponseModel<String> saveInfo(Object object){
// return ResponseHelper.buildResponse(companyServiceImpl.saveInfo(object));
// }
/**
* 获取组织机构树
*
* @return
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@GetMapping(value = "/region/tree")
@ApiOperation(httpMethod = "GET", value = "获取组织机构树", notes = "获取组织机构树")
public ResponseModel<Collection<RegionModel>> getRegionTree() {
return ResponseHelper.buildResponse(Systemctl.regionClient.queryForTree(null).getResult());
}
/**
* 判断用户是否存在
*
* @return
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@GetMapping(value = "/hasExistUser/{adminLoginName}")
@ApiOperation(httpMethod = "GET", value = "判断用户是否存在", notes = "判断用户是否存在")
public ResponseModel<Boolean> hasExistUser( @PathVariable(value = "adminLoginName") String adminLoginName) {
Boolean flag = false;
Company company = companyServiceImpl.getOne(new LambdaQueryWrapper<Company>().eq(Company::getAdminLoginName,adminLoginName));
if(!ValidationUtil.isEmpty(company)) {
flag = true;
}
return ResponseHelper.buildResponse(flag);
}
/**
* 判断手机号是否已经注册
*
* @return
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@GetMapping(value = "/hasExistPhone/{adminTel}")
@ApiOperation(httpMethod = "GET", value = "判断手机号是否已经注册", notes = "判断手机号是否已经注册")
public ResponseModel<Boolean> hasExistPhone( @PathVariable(value = "adminTel") String adminTel) {
Boolean flag = false;
Company company = companyServiceImpl.getOne(new LambdaQueryWrapper<Company>().eq(Company::getAdminTel,adminTel));
if(!ValidationUtil.isEmpty(company)) {
flag = true;
}
return ResponseHelper.buildResponse(flag);
}
/**
* 发送手机号验证码
*
* @return
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@GetMapping(value = "/sendTelCode/{tel}")
@ApiOperation(httpMethod = "GET", value = "发送手机号验证码", notes = "发送手机号验证码")
public ResponseModel<Boolean> sendTelCode( @PathVariable(value = "tel") String adminTel) {
if (ValidationUtil.isEmpty(adminTel)) {
throw new BadRequest("参数校验失败.");
}
Boolean flag = false;
HashMap<String, String> params = new HashMap<>();
String code = this.getRandomCode();
params.put("code",code);
params.put("mobile",adminTel);
params.put("smsCode", smsTempCode);
try {
Systemctl.smsClient.sendCommonSms(params).getResult();
flag = true;
} catch (Exception e) {
throw new BadRequest("发送短信失败:" + e.getMessage());
}
// code 保存到缓存中
redisUtils.set(XJConstant.UGP_USER_TEL + adminTel, code);
return ResponseHelper.buildResponse(flag);
}
private String getRandomCode(){
String code = "";
Random random = new Random();
for (int i = 0; i < 6; i++) {
int r = random.nextInt(10); //每次随机出一个数字(0-9)
code = code + r; //把每次随机出的数字拼在一起
}
return code;
}
/**
* 验证手机号验证码是否成功
*
* @return
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@GetMapping(value = "/verifyTelCode/{tel}/{code}")
@ApiOperation(httpMethod = "GET", value = "验证手机号验证码是否成功", notes = "验证手机号验证码是否成功")
public ResponseModel<Boolean> verifyTelCode(@PathVariable(value = "tel") String adminTel, @PathVariable(value = "code") String code) {
Boolean flag = false;
if (ValidationUtil.isEmpty(adminTel) || ValidationUtil.isEmpty(code)) {
throw new BadRequest("参数校验失败.");
}
if(redisUtils.hasKey(XJConstant.UGP_USER_TEL + adminTel)) {
String redisCode = redisUtils.get(XJConstant.UGP_USER_TEL + adminTel).toString();
if(code.equals(redisCode)) {
flag = true;
}
}
return ResponseHelper.buildResponse(flag);
}
}
......@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.common.api.dto.OrgUsrDto;
import com.yeejoin.amos.boot.module.ugp.api.Enum.OrgEnum;
import com.yeejoin.amos.boot.module.ugp.api.dto.InstallNoticeDto;
import com.yeejoin.amos.boot.module.ugp.api.dto.ProjectDto;
import com.yeejoin.amos.boot.module.ugp.api.dto.WelderDto;
......@@ -14,10 +15,12 @@ import com.yeejoin.amos.boot.module.ugp.api.dto.WelderEquipmentDto;
import com.yeejoin.amos.boot.module.ugp.api.entity.Project;
import com.yeejoin.amos.boot.module.ugp.api.mapper.ProjectMapper;
import com.yeejoin.amos.boot.module.ugp.api.mapper.ProjectResourceMapper;
import com.yeejoin.amos.boot.module.ugp.biz.framework.BusinessIdentify;
import com.yeejoin.amos.boot.module.ugp.biz.service.impl.OrgServiceImpl;
import com.yeejoin.amos.boot.module.ugp.biz.service.impl.ProjectResourceServiceImpl;
import com.yeejoin.amos.boot.module.ugp.biz.service.impl.ProjectServiceImpl;
import com.yeejoin.amos.boot.module.ugp.biz.service.impl.WelderServiceImpl;
import com.yeejoin.amos.feign.privilege.Privilege;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.poi.ss.formula.functions.T;
......@@ -64,10 +67,10 @@ public class WelderController extends BaseController {
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/saveWelder", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "新增焊工信息", notes = "新增焊工信息")
@ApiOperation(httpMethod = "POST", value = "新增人员信息", notes = "新增人员信息")
public ResponseModel<OrgUsrDto> saveWelder(@RequestBody JSONObject jsonObject, @RequestParam String bizOrgType ,
@RequestParam(required = false) String sequenceNbr) {
return ResponseHelper.buildResponse(orgServiceImpl.dataHandling(jsonObject,bizOrgType,sequenceNbr));
return ResponseHelper.buildResponse(welderServiceImpl.savePerson(jsonObject,bizOrgType,sequenceNbr));
}
/**
......@@ -135,29 +138,57 @@ public class WelderController extends BaseController {
}
/**
* 根据sequenceNbr查询焊工信息
* 根据sequenceNbr查询人员信息
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询项目焊工信息表", notes = "根据sequenceNbr查询项目焊工信息表")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询人员信息", notes = "根据sequenceNbr查询人员信息")
public ResponseModel<Map> selectOneById(@PathVariable String sequenceNbr) {
return ResponseHelper.buildResponse(orgServiceImpl.getdetialInfo(sequenceNbr));
}
/**
* 根据sequenceNbr删除焊工信息
* 根据sequenceNbr删除人员信息表
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr删除项目焊工信息表", notes = "根据sequenceNbr删除项目焊工信息表")
public void deleteOneById(@PathVariable String sequenceNbr) throws Exception {
@DeleteMapping(value = "/deleteOneById/{sequenceNbr}")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr删除人员信息表", notes = "根据sequenceNbr删除人员信息表")
public ResponseModel<String> deleteOneById(@PathVariable String sequenceNbr) throws Exception {
Privilege.agencyUserClient.multDeleteUser(orgServiceImpl.getOrgUsrById(sequenceNbr).getAmosOrgId());
orgServiceImpl.delectInfo(sequenceNbr);
return ResponseHelper.buildResponse("ok");
}
/**
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "", notes = "")
@GetMapping(value = "/getUserInfo")
@BusinessIdentify
public ResponseModel<IPage> getUserInfo(int current, int size){
IPage page = new Page();
page.setCurrent(current);
page.setSize(size);
page = orgServiceImpl.getPersonInfo(String.valueOf(orgServiceImpl.getReginParams().getCompany().getSequenceNbr()),page);
List<Map> mapList = page.getRecords();
for(Map map : mapList){
if(OrgEnum.焊工.getKey().equals((String)map.get("type"))){
map.put("typeName",OrgEnum.焊工.getName());
}else{
map.put("typeName",OrgEnum.普通人员.getName());
}
}
return ResponseHelper.buildResponse(page);
}
}
package com.yeejoin.amos.boot.module.ugp.biz.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.AbstractWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.ugp.api.Enum.OrgEnum;
import com.yeejoin.amos.boot.module.ugp.api.entity.Company;
import com.yeejoin.amos.boot.module.ugp.api.mapper.CompanyMapper;
import com.yeejoin.amos.boot.module.ugp.api.service.ICompanyService;
import com.yeejoin.amos.boot.module.ugp.api.dto.CompanyDto;
import org.apache.lucene.queryparser.flexible.messages.Message;
import org.springframework.beans.BeanUtils;
import com.yeejoin.amos.boot.module.ugp.biz.framework.BusinessIdentify;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.DepartmentModel;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.privilege.model.RoleModel;
import com.yeejoin.amos.feign.privilege.util.DesUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.beans.factory.annotation.Value;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -29,9 +35,20 @@ import java.util.stream.Collectors;
* @date 2022-09-22
*/
@Service
public class CompanyServiceImpl extends BaseService<CompanyDto, Company, CompanyMapper> implements ICompanyService {
@Autowired
CompanyMapper companyMapper;
@Autowired
OrgServiceImpl orgService;
ICompanyService iCompanyService;
@Value("${amos.secret.key}")
String secretKey;
@Autowired
OrgServiceImpl orgServiceImpl;
/**
* 列表查询 示例
......@@ -55,7 +72,105 @@ public class CompanyServiceImpl extends BaseService<CompanyDto, Company, Company
page1.setRecords(collect);
}
return page1;
}
/**
* 新增部门和负责人
* @return
*/
@BusinessIdentify
public Boolean saveDepartment(JSONObject jsonObject,String sequenceNbr){
if (ValidationUtil.isEmpty(jsonObject)) {
return false;
}
if (ValidationUtil.isEmpty(sequenceNbr)) {
//平台添加
DepartmentModel departmentModel = new DepartmentModel( );
ReginParams reginParams = orgService.getReginParams();
departmentModel.setCompanySeq(reginParams.getCompany().getSequenceNbr());
departmentModel.setDepartmentName(jsonObject.getString("name"));
departmentModel.setLevel("dept");
departmentModel.setParentId(1L);
departmentModel = Privilege.departmentClient.create(departmentModel).getResult();
//业务添加
jsonObject.put("amosOrgId",departmentModel.getSequenceNbr());
jsonObject.put("amosOrgCode",departmentModel.getOrgCode());
}
orgService.dataHandling(jsonObject, OrgEnum.部门.getKey(), sequenceNbr);
return true;
}
public Boolean companyCheck(CompanyDto model, Long sequenceNbr, String bizOrgType) throws Exception{
Set<String> roleNameSet = new HashSet<>();
List<RoleModel> userRoleList = new ArrayList<>();
List<Long> roleIds = new ArrayList<>();
Map<Long, List<Long>> roleSeqsMap = new HashMap<>();
Map<Long,List<RoleModel>> orgRoles = new HashMap<>();
Company company = this.getById(sequenceNbr);
company.setApproved(model.getApproved());
if (company.getApproved().equals("已审核")){
final CompanyModel companyModel = new CompanyModel();
AgencyUserModel agencyUserModel = new AgencyUserModel();
//创建平台企业
companyModel.setCompanyName(company.getName());
companyModel.setCompanyCode(company.getCreditCode());
companyModel.setAddress(company.getAddress());
companyModel.setParentId(0L);
companyModel.setLevel("headquarter");
companyModel.setAgencyCode("ugp");
CompanyModel companyModelFeignClient = Privilege.companyClient.create(companyModel).getResult();
//创建平台用户
//设置用户角色
List<RoleModel> allRoleList = Privilege.roleClient.queryRoleList(null,null).getResult();
String[] unitTypeCodes = company.getType().split(",");
for(String code : unitTypeCodes) {
roleNameSet.add(OrgEnum.map.get(code));
}
userRoleList = allRoleList.stream().filter(r -> r.getRoleName().equals(roleNameSet)).collect(Collectors.toList());
userRoleList.stream().forEach(r -> {
roleIds.add(r.getSequenceNbr());
});
roleSeqsMap.put(companyModelFeignClient.getSequenceNbr(),roleIds);
orgRoles.put(companyModelFeignClient.getSequenceNbr(),userRoleList);
agencyUserModel.setOrgRoleSeqs(roleSeqsMap);
agencyUserModel.setOrgRoles(orgRoles);
//设置用户信息
String adminName = company.getAdminName();
String adminLoginName = company.getAdminLoginName();
String adminPhone = company.getAdminTel();
String adminPassword = company.getAdminLoginPwd();
agencyUserModel.setRealName(adminName);
agencyUserModel.setAgencyCode("ugp");
agencyUserModel.setLockStatus("UNLOCK");
agencyUserModel.setMobile(adminPhone);
agencyUserModel.setCreateTime(new Date());
agencyUserModel.setUserName(adminLoginName);
agencyUserModel.setPassword(DesUtil.encode(adminPassword, secretKey));
agencyUserModel.setRePassword(DesUtil.encode(adminPassword, secretKey));
Privilege.agencyUserClient.create(agencyUserModel);
//企业动态表单存储
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(company));
jsonObject.put("amosOrgId",companyModelFeignClient.getSequenceNbr());
jsonObject.put("amosOrgCode",companyModelFeignClient.getOrgCode());
orgServiceImpl.dataHandling(jsonObject,bizOrgType,null);
//企业管理员人员 动态表单存储
jsonObject = null;
jsonObject.put("name",adminName);
jsonObject.put("phone",adminPhone);
jsonObject.put("amosOrgId",agencyUserModel.getSequenceNbr());
orgServiceImpl.dataHandling(jsonObject, OrgEnum.企业管理员.getKey(),null);
}
return this.updateById(company);
}
}
\ No newline at end of file
......@@ -131,7 +131,7 @@ public class OrgServiceImpl {
orgUsr.setOrgExpandAttr1(jsonObject.getString("type"));
orgUsr.setBizOrgCode(jsonObject.getString("creditCode"));
}
if (OrgEnum.人员.getKey().equals(bizOrgType)){
if (OrgEnum.普通人员.getKey().equals(bizOrgType)){
if (1==jsonObject.getInteger("isWelder")) {
orgUsr.setOrgExpandAttr1(OrgEnum.焊工.getKey());
orgUsr.setCode(getCode());
......@@ -217,9 +217,12 @@ public class OrgServiceImpl {
*/
public Map getdetialInfo(String sequenceNbr){
Map map = new HashMap();
OrgUsr orgUsr = getOrgUsrById(sequenceNbr);
String type = orgUsr.getOrgExpandAttr1();
LambdaQueryWrapper<DynamicFormInstance> instanceWrapper = new LambdaQueryWrapper<>();
instanceWrapper.eq(DynamicFormInstance :: getInstanceId,sequenceNbr);
List<DynamicFormInstance> dynamicFormInstanceList = alertFormValueServiceImpl.list(instanceWrapper);
map.put("type",type);
map.put("sequenceNbr",sequenceNbr);
for (DynamicFormInstance dynamicFormInstance : dynamicFormInstanceList) {
map.put(dynamicFormInstance.getFieldCode(),dynamicFormInstance.getFieldValue());
......@@ -233,7 +236,19 @@ public class OrgServiceImpl {
*/
public IPage getCompanyWelder(IPage page){
LambdaQueryWrapper<OrgUsr> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(OrgUsr :: getAmosOrgId,String.valueOf(getReginParams().getCompany().getSequenceNbr()));
wrapper.eq(OrgUsr :: getAmosOrgId,String.valueOf(getReginParams().getCompany().getSequenceNbr()))
.eq(OrgUsr::getBizOrgType,OrgEnum.焊工.getKey());
return getInfo(String.valueOf(orgUsrServiceImpl.getOne(wrapper).getSequenceNbr()),page);
}
/**
* 获取当前登陆人所在公司/单位/企业 下的 所有部门
* @return
*/
public IPage getCompanyDept(IPage page){
LambdaQueryWrapper<OrgUsr> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(OrgUsr :: getAmosOrgId,String.valueOf(getReginParams().getCompany().getSequenceNbr()))
.eq(OrgUsr::getBizOrgType,OrgEnum.部门.getKey());
return getInfo(String.valueOf(orgUsrServiceImpl.getOne(wrapper).getSequenceNbr()),page);
}
......@@ -260,7 +275,7 @@ public class OrgServiceImpl {
wrapper.eq(OrgUsr :: getAmosOrgId,String.valueOf(getReginParams().getCompany().getSequenceNbr()));
LambdaQueryWrapper<OrgUsr> personWrapper = new LambdaQueryWrapper<>();
personWrapper.eq(OrgUsr::getParentId,orgUsrServiceImpl.getOne(wrapper).getSequenceNbr())
.eq(OrgUsr :: getBizOrgType,OrgEnum.人员.getKey());
.eq(OrgUsr :: getBizOrgType,OrgEnum.普通人员.getKey());
return orgUsrServiceImpl.list(personWrapper);
}
......@@ -306,7 +321,7 @@ public class OrgServiceImpl {
OrgUsr orgUsr = getOrgUsrById(sequenceNbr);
LambdaQueryWrapper<OrgUsr> wrapper = new LambdaQueryWrapper<>();
wrapper.like(OrgUsr :: getBizOrgCode,orgUsr.getBizOrgCode())
.eq(OrgUsr::getBizOrgType,OrgEnum.人员.getKey())
.eq(OrgUsr::getBizOrgType,OrgEnum.普通人员.getKey())
.ne(OrgUsr::getOrgExpandAttr1,OrgEnum.焊工.getKey());
List<OrgUsr> orgUsrList = orgUsrServiceImpl.list(wrapper);
return orgUsrList;
......@@ -320,7 +335,7 @@ public class OrgServiceImpl {
public void delectInfo(String sequencenNbr) throws Exception {
OrgUsr orgUsr = getOrgUsrById(sequencenNbr);
LambdaQueryWrapper<DynamicFormInstance> dynamicWrapper = new LambdaQueryWrapper<>();
if(OrgEnum.人员.getKey().equals(orgUsr.getBizOrgType())){
if(OrgEnum.普通人员.getKey().equals(orgUsr.getBizOrgType())){
dynamicWrapper.eq(DynamicFormInstance::getInstanceId,sequencenNbr);
alertFormValueServiceImpl.remove(dynamicWrapper);
}else{
......@@ -334,7 +349,34 @@ public class OrgServiceImpl {
throw new Exception("该企业/部门下还有人员,不可删除!");
}
}
}
/**
* 获取企业下的人员信息列表
* @param companyId 单位/企业id
* @return
*/
public IPage getPersonInfo(String companyId,IPage page){
LambdaQueryWrapper<OrgUsr> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(OrgUsr :: getSequenceNbr ,companyId);
OrgUsr orgUsrCompany = orgUsrServiceImpl.getOne(wrapper);
LambdaQueryWrapper<OrgUsr> welderWrapper = new LambdaQueryWrapper<>();
welderWrapper.likeRight(OrgUsr :: getBizOrgCode,orgUsrCompany.getBizOrgCode()).eq(OrgUsr :: getBizOrgType, OrgEnum.普通人员.getKey());
List<OrgUsr> orgUsrList = new ArrayList<>();
if(ValidationUtil.isEmpty(page)){
orgUsrList = orgUsrServiceImpl.list(welderWrapper);
page = new Page();
}else{
orgUsrList = orgUsrServiceImpl.page(page,welderWrapper).getRecords();
}
List<Map> mapList = new ArrayList<>();
for (OrgUsr orgUsr : orgUsrList) {
Map map = getdetialInfo(String.valueOf(orgUsr.getSequenceNbr()));
mapList.add(map);
}
page.setRecords(mapList);
return page;
}
}
......@@ -3,10 +3,15 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.mao.demo1.TestWeldingRules;
import com.mao.demo1.material.MyPqr;
import com.mao.demo1.material.MyWps;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.ugp.api.Enum.StageEnum;
import com.yeejoin.amos.boot.module.ugp.api.Enum.VerifyEnum;
import com.yeejoin.amos.boot.module.ugp.api.Enum.VerifyTypeEnum;
import com.yeejoin.amos.boot.module.ugp.api.Enum.WeldCodeEnum;
import com.yeejoin.amos.boot.module.ugp.api.dto.*;
import com.yeejoin.amos.boot.module.ugp.api.entity.QualityProblem;
import com.yeejoin.amos.boot.module.ugp.api.entity.Verify;
......@@ -36,6 +41,8 @@ public class VerifyServiceImpl extends BaseService<VerifyDto,Verify,VerifyMapper
WeldServiceImpl weldService;
@Autowired
WeldMapper weldMapper;
@Autowired
OrgServiceImpl orgService;
@Autowired
VerifyMapper verifyMapper;
......@@ -67,27 +74,68 @@ public class VerifyServiceImpl extends BaseService<VerifyDto,Verify,VerifyMapper
* page 分页
*/
public Page<SmartListDto> commonality(String stage,Page<SmartListDto> page){
List<Verify> commonality = verifyMapper.commonality(stage);
List<Verify> verifyList = verifyMapper.commonality(stage);
List<SmartListDto> dtoList =new ArrayList<>();
//进入焊前
if (commonality !=null && commonality.size() !=0){
for (Verify verify : commonality) {
SmartListDto beforeDto = new SmartListDto( );
beforeDto.setSequenceNbr(verify.getSequenceNbr());//智能监检表id
beforeDto.setProjectId(verify.getProjectId()); //项目id
beforeDto.setName(verify.getProject().getName());//项目名称
beforeDto.setProjectCode(verify.getProject().getCode());//项目编号
beforeDto.setStatus(verify.getStatus());//检验状态
beforeDto.setType(verify.getType());//检验方式
beforeDto.setSubmitTime(verify.getVerifyTime());//交检日期
beforeDto.setVerifyTime(verify.getVerifyTime());//检验时间
beforeDto.setStage(verify.getStage());
if (verifyList !=null && verifyList.size() !=0){
for (Verify verify : verifyList) {
SmartListDto dto = new SmartListDto( );
dto.setSequenceNbr(verify.getSequenceNbr());//智能监检表id
dto.setProjectId(verify.getProjectId()); //项目id
dto.setName(verify.getProject().getName());//项目名称
dto.setProjectCode(verify.getProject().getCode());//项目编号
String status = verify.getStatus( );
if (status.equals("1")) {
dto.setStatus(VerifyEnum.已通过.getName());//检验状态
dto.setPeopleStatus("合格期内");//持证状态
}
if (status.equals("0")) {
dto.setStatus(VerifyEnum.未通过.getName());//检验状态
dto.setPeopleStatus("超期未检");//持证状态
}
dto.setType(verify.getType());//检验方式
dto.setSubmitTime(verify.getSubmitTime());//交检日期
dto.setVerifyTime(verify.getVerifyTime());//检验时间
String stage1 = verify.getStage( );//检验检测阶段
Map<String, String> map = StageEnum.getStatusByVerifyNameMap;
for (String key:map.keySet()){
if (key.equals(stage1)) {
dto.setStage(map.get(key).toString());//将阶段赋值
}
}
String targetInfo = verify.getTargetInfo();//app上传数据
dtoList.add(beforeDto);
Map mapInfo = JSON.parseObject(targetInfo, Map.class);
for (Object o:mapInfo.keySet()){
if (o.toString().equals("code")) {
//获取焊口编号
String code = (String)mapInfo.get(o.toString( ));
dto.setCode(code);
}
if (o.toString().equals("peopleLocation")) {
//获取焊接定位信息
String peopleLocation = (String)mapInfo.get(o.toString( ));
dto.setPeopleLocation(peopleLocation);
}
if (o.toString().equals("userId")) {
//获取焊工信息
String userId = (String)mapInfo.get(o.toString( ));
OrgUsr orgUsr = orgService.getOrgUsrById(userId);
dto.setPeopleName(orgUsr.getBizOrgName());//焊工姓名
dto.setPeopleName(orgUsr.getCode());//焊工编号
}
}
dtoList.add(dto);
}
}
page.setRecords(dtoList);
page.setTotal(dtoList.size());
......@@ -104,7 +152,7 @@ public class VerifyServiceImpl extends BaseService<VerifyDto,Verify,VerifyMapper
if (dto == null) {
return "数据不存在";
return "未上传数据,请上传";
}
Verify verify = new Verify( );
//获取公共属性信息
......@@ -113,9 +161,7 @@ public class VerifyServiceImpl extends BaseService<VerifyDto,Verify,VerifyMapper
String peopleLocation = dto.getPeopleLocation( );//焊接定位信息
String stage = dto.getStage( ); //阶段检验
//获取当前校验时间
Date time = new Date( );
Date time = new Date();
//人员
......@@ -194,19 +240,12 @@ public class VerifyServiceImpl extends BaseService<VerifyDto,Verify,VerifyMapper
}
//设备
if (stage.equals(StageEnum.焊前设备.getVerifyName())&&dto.getFacilityPhoto() !=null && !dto.getFacilityPhoto().equals("")){
//获取校验设备信息
String facilityId = dto.getFacilityId( ); //设备id
String calibrationStatus = dto.getCalibrationStatus( );//检定状态
String facilityPhoto = dto.getFacilityPhoto( );//设备图片
HashMap<String, String> mapfacilty = new HashMap<>( );
mapfacilty.put("code",code);//焊口编号
mapfacilty.put("peopleLocation",peopleLocation);//焊接定位信息
......@@ -262,6 +301,18 @@ public class VerifyServiceImpl extends BaseService<VerifyDto,Verify,VerifyMapper
//数据校验
MyPqr pqr = new MyPqr( );
pqr.setCombox_type("高于上转变温度进行焊后热处理(如正火)");
pqr.setMaterial_a_thickness("1.4");
pqr.setMaterial_b_thickness("5");
pqr.setIf_bend("lateral_bending");
MyWps wps = new MyWps( );
wps.setMaterial_a_thickness("1.5");
wps.setMaterial_b_thickness("1.4");
HashMap<String, String> stringStringHashMap = new TestWeldingRules( ).droolsTest(pqr, wps);
Boolean flag =false;
if (!flag) {
//不通过, 添加数据并返回未通过结果
......@@ -271,10 +322,7 @@ public class VerifyServiceImpl extends BaseService<VerifyDto,Verify,VerifyMapper
//校验通过
this.addSuccessData(verify);
}
return VerifyEnum.已通过.getName();
}
......@@ -740,4 +788,25 @@ public class VerifyServiceImpl extends BaseService<VerifyDto,Verify,VerifyMapper
return effect(jsonObject,定位效验数量,true);
}
/**
* 测试
* @param args
*/
public static void main(String[] args) {
MyPqr pqr = new MyPqr( );
pqr.setCombox_type("高于上转变温度进行焊后热处理(如正火)");
pqr.setMaterial_a_thickness("1.4");//厚度
pqr.setMaterial_b_thickness("5");//厚度
pqr.setIf_bend("lateral_bending"); //弯度
MyWps wps = new MyWps( );
wps.setMaterial_a_thickness("1.5");
wps.setMaterial_b_thickness("1.4");
HashMap<String, String> stringStringHashMap = new TestWeldingRules( ).droolsTest(pqr, wps);
System.out.println(stringStringHashMap );
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.ugp.biz.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.common.api.dto.OrgUsrDto;
import com.yeejoin.amos.boot.module.ugp.api.Enum.OrgEnum;
import com.yeejoin.amos.boot.module.ugp.api.Enum.ProjectResourceEnum;
import com.yeejoin.amos.boot.module.ugp.api.entity.Project;
import com.yeejoin.amos.boot.module.ugp.api.entity.ProjectResource;
import com.yeejoin.amos.boot.module.ugp.biz.framework.BusinessIdentify;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.RoleModel;
import com.yeejoin.amos.feign.privilege.util.DesUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
@Service
public class WelderServiceImpl {
......@@ -27,6 +35,10 @@ public class WelderServiceImpl {
@Autowired
ProjectResourceServiceImpl projectResourceService;
@Value("${amos.secret.key}")
String secretKey;
@BusinessIdentify
public List<Map> getInfo(){
......@@ -66,4 +78,55 @@ public class WelderServiceImpl {
page.setTotal(getInfo().size());
return page;
}
/**
* 存人员信息至业务表及平台表
* @param jsonObject
* @param bizOrgType
* @param sequenceNbr
* @return
*/
@BusinessIdentify
public OrgUsrDto savePerson(JSONObject jsonObject, String bizOrgType, String sequenceNbr){
if(ValidationUtil.isEmpty(sequenceNbr)){
Long companyId = orgService.getReginParams().getCompany().getSequenceNbr();
Set<String> roleNameSet = new HashSet<>();
List<RoleModel> userRoleList = new ArrayList<>();
List<Long> roleIds = new ArrayList<>();
Map<Long, List<Long>> roleSeqsMap = new HashMap<>();
AgencyUserModel agencyUserModel = new AgencyUserModel();
Map<Long,List<RoleModel>> orgRoles = new HashMap<>();
//用户基本信息
agencyUserModel.setRealName(jsonObject.getString("name"));
agencyUserModel.setAgencyCode("ugp");
agencyUserModel.setLockStatus("UNLOCK");
agencyUserModel.setMobile(jsonObject.getString("phone"));
agencyUserModel.setCreateTime(new Date());
agencyUserModel.setUserName(jsonObject.getString("phone"));
agencyUserModel.setPassword(DesUtil.encode(jsonObject.getString("phone"), secretKey));
agencyUserModel.setRePassword(DesUtil.encode(jsonObject.getString("phone"), secretKey));
//用户角色信息
List<RoleModel> allRoleList = Privilege.roleClient.queryRoleList(null,null).getResult();
if(1==jsonObject.getInteger("isWelder")){
roleNameSet.add(OrgEnum.焊工.getName());
} else {
roleNameSet.add(OrgEnum.普通人员.getName());
}
userRoleList = allRoleList.stream().filter(r -> r.getRoleName().equals(roleNameSet)).collect(Collectors.toList());
userRoleList.stream().forEach(r -> {
if (!roleIds.contains(r.getSequenceNbr())) {
roleIds.add(r.getSequenceNbr());
}
});
roleSeqsMap.put(companyId,roleIds);
orgRoles.put(companyId,userRoleList);
agencyUserModel.setOrgRoleSeqs(roleSeqsMap);
agencyUserModel.setOrgRoles(orgRoles);
//创建用户
agencyUserModel = Privilege.agencyUserClient.create(agencyUserModel).getResult();
jsonObject.put("amosOrgId",agencyUserModel.getSequenceNbr());
}
return orgService.dataHandling(jsonObject,bizOrgType,sequenceNbr);
}
}
......@@ -33,6 +33,9 @@ params.work.flow.processDefinitionKey=xiangmulixiangliucheng
params.work.flow.problemDefinitionKey=zhiliangwentiliucheng
amos.secret.key=ugp
ugp.sms.tempCode=SMS_UGP_0007
#logging.level.com.yeejoin.amos=error
#spring.security.user.name=admin
......
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