Commit 26d455ee authored by 曹盼盼's avatar 曹盼盼

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

# Conflicts: # amos-boot-system-ugp/amos-boot-module-ugp-biz/src/main/java/com/yeejoin/amos/boot/module/ugp/biz/controller/CompanyController.java # amos-boot-system-ugp/amos-boot-module-ugp-biz/src/main/java/com/yeejoin/amos/boot/module/ugp/biz/service/impl/CompanyServiceImpl.java
parents 001d0710 ca7dc288
......@@ -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";
//监管科室
......
package com.yeejoin.amos.boot.module.ugp.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 cpp
* @Description 部门负责人 部门名称
* @Date 2022/10/25
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="DepartmentDto", description="接收参数")
public class DepartmentDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "部门名称")
private String departmentName;
@ApiModelProperty(value = "部门负责人")
private String departmentHead;
}
......@@ -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>
......
......@@ -3,15 +3,21 @@ 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.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sun.org.apache.xpath.internal.objects.XObject;
import com.yeejoin.amos.boot.biz.common.constants.CommonConstant;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
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.biz.service.impl.OrgUsrServiceImpl;
import com.yeejoin.amos.boot.module.ugp.api.Enum.CompanyTypeEnum;
import com.yeejoin.amos.boot.module.ugp.api.Enum.OrgEnum;
import com.yeejoin.amos.boot.module.ugp.api.dto.DepartmentDto;
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;
......@@ -19,18 +25,21 @@ 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.model.RoleModel;
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;
......@@ -64,6 +73,13 @@ public class CompanyController extends BaseController {
@Value("${amos.secret.key}")
String secretKey;
@Value("${ugp.sms.tempCode}")
private String smsTempCode;
@Autowired
RedisUtils redisUtils;
/**
* 新增企业信息表
*
......@@ -180,58 +196,12 @@ 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));
}
......@@ -244,13 +214,138 @@ public class CompanyController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@PostMapping(value = "department")
@ApiOperation(httpMethod = "POST", value = "部門新增", notes = "部門新增")
public ResponseModel<Boolean> getInfo(@RequestBody DepartmentDto dto){
public ResponseModel<Boolean> getInfo(@RequestBody DepartmentDto dto) {
return ResponseHelper.buildResponse(companyServiceImpl.saveDepartment(dto));
}
/**
* 企业注册:获取单位类型
*/
@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);
}
}
......@@ -64,10 +64,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,27 +135,27 @@ 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删除项目焊工信息表")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr删除人员信息表", notes = "根据sequenceNbr删除人员信息表")
public void deleteOneById(@PathVariable String sequenceNbr) throws Exception {
orgServiceImpl.delectInfo(sequenceNbr);
}
......
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.common.api.dto.OrgUsrDto;
import com.yeejoin.amos.boot.module.ugp.api.Enum.OrgEnum;
......@@ -15,18 +13,28 @@ import com.yeejoin.amos.boot.module.ugp.api.dto.CompanyDto;
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 org.apache.lucene.queryparser.flexible.messages.Message;
import org.springframework.beans.BeanUtils;
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.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.annotation.Resource;
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;
/**
......@@ -38,10 +46,18 @@ import java.util.stream.Collectors;
@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;
/**
* 列表查询 示例
......@@ -65,7 +81,6 @@ public class CompanyServiceImpl extends BaseService<CompanyDto, Company, Company
page1.setRecords(collect);
}
return page1;
}
......@@ -97,4 +112,77 @@ public class CompanyServiceImpl extends BaseService<CompanyDto, Company, Company
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());
......@@ -260,7 +260,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 +306,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 +320,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 +334,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 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 +34,10 @@ public class WelderServiceImpl {
@Autowired
ProjectResourceServiceImpl projectResourceService;
@Value("${amos.secret.key}")
String secretKey;
@BusinessIdentify
public List<Map> getInfo(){
......@@ -66,4 +77,52 @@ 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){
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