Commit a6c3e9fc authored by 刘林's avatar 刘林

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

parents 68ac92bc 686e16c9
...@@ -52,6 +52,11 @@ public class BaseController { ...@@ -52,6 +52,11 @@ public class BaseController {
protected ReginParams getSelectedOrgInfo() { protected ReginParams getSelectedOrgInfo() {
return JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); return JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
} }
protected String getCompanyCode() {
String unitCode = getSelectedOrgInfo().getCompany().getCompanyCode();
return unitCode.contains("_") ? unitCode.substring(unitCode.indexOf("_") + 1) : unitCode;
}
/** /**
......
package com.yeejoin.amos.boot.module.common.api.dto;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import com.yeejoin.amos.boot.module.common.api.entity.BaseEnterpriseCert;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.List;
/**
* 单位资质证书表
*
* @author system_generator
* @date 2025-07-21
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "BaseEnterpriseCertDto", description = "单位资质证书表")
public class BaseEnterpriseCertDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "单位编码")
private String unitCode;
@ApiModelProperty(value = "证书类型")
private String certType;
@ApiModelProperty(value = "证书类型code")
private String certTypeCode;
@ApiModelProperty(value = "证书编号(核准证编号)")
private String certNo;
@ApiModelProperty(value = "有效期至")
private Date expiryDate;
@ApiModelProperty(value = "发证日期")
private Date issueDate;
@ApiModelProperty(value = "发证机关")
private String approvedOrgan;
@ApiModelProperty(value = "发证机关code")
private String approvedOrganCode;
@ApiModelProperty(value = "企业资质证书照片")
private String qualificationCertificateAttachment;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "许可项目信息code")
List<String> itemCodes;
}
package com.yeejoin.amos.boot.module.common.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* 单位资质证书表
*
* @author system_generator
* @date 2025-07-21
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tz_base_enterprise_cert")
public class BaseEnterpriseCert extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 单位编码
*/
@TableField("unit_code")
private String unitCode;
/**
* 证书类型
*/
@TableField("cert_type")
private String certType;
/**
* 证书类型code
*/
@TableField("cert_type_code")
private String certTypeCode;
/**
* 证书编号(核准证编号)
*/
@TableField("cert_no")
private String certNo;
/**
* 有效期至
*/
@TableField("expiry_date")
private Date expiryDate;
/**
* 发证日期
*/
@TableField("issue_date")
private Date issueDate;
/**
* 发证机关
*/
@TableField("approved_organ")
private String approvedOrgan;
/**
* 发证机关code
*/
@TableField("approved_organ_code")
private String approvedOrganCode;
/**
* 企业资质证书照片
*/
@TableField("qualification_certificate_attachment")
private String qualificationCertificateAttachment;
/**
* 备注
*/
@TableField("remark")
private String remark;
}
package com.yeejoin.amos.boot.module.common.api.mapper;
import com.yeejoin.amos.boot.module.common.api.entity.BaseEnterpriseCert;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 单位资质证书表 Mapper 接口
*
* @author system_generator
* @date 2025-07-21
*/
public interface BaseEnterpriseCertMapper extends BaseMapper<BaseEnterpriseCert> {
}
package com.yeejoin.amos.boot.module.common.api.service;
/**
* 单位资质证书表接口类
*
* @author system_generator
* @date 2025-07-21
*/
public interface IBaseEnterpriseCertService {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.common.api.mapper.BaseEnterpriseCertMapper">
</mapper>
package com.yeejoin.amos.boot.module.common.biz.controller;
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.List;
import com.yeejoin.amos.boot.module.common.biz.service.impl.BaseEnterpriseCertServiceImpl;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.dto.BaseEnterpriseCertDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
/**
* 单位资质证书表
*
* @author system_generator
* @date 2025-07-21
*/
@RestController
@Api(tags = "单位资质证书表Api")
@RequestMapping(value = "/base-enterprise-cert")
public class BaseEnterpriseCertController extends BaseController {
@Autowired
BaseEnterpriseCertServiceImpl baseEnterpriseCertServiceImpl;
/**
* 新增单位资质证书表
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增单位资质证书表", notes = "新增单位资质证书表")
public ResponseModel<BaseEnterpriseCertDto> save(@RequestBody BaseEnterpriseCertDto model) {
model = baseEnterpriseCertServiceImpl.createWithModel(model);
return ResponseHelper.buildResponse(model);
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新单位资质证书表", notes = "根据sequenceNbr更新单位资质证书表")
public ResponseModel<BaseEnterpriseCertDto> updateBySequenceNbrBaseEnterpriseCert(@RequestBody BaseEnterpriseCertDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(baseEnterpriseCertServiceImpl.updateWithModel(model));
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除单位资质证书表", notes = "根据sequenceNbr删除单位资质证书表")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){
return ResponseHelper.buildResponse(baseEnterpriseCertServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个单位资质证书表", notes = "根据sequenceNbr查询单个单位资质证书表")
public ResponseModel<BaseEnterpriseCertDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(baseEnterpriseCertServiceImpl.queryBySeq(sequenceNbr));
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "单位资质证书表分页查询", notes = "单位资质证书表分页查询")
public ResponseModel<Page<BaseEnterpriseCertDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
(value = "size") int size) {
Page<BaseEnterpriseCertDto> page = new Page<BaseEnterpriseCertDto>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(baseEnterpriseCertServiceImpl.queryForBaseEnterpriseCertPage(page));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "单位资质证书表列表全部数据查询", notes = "单位资质证书表列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<BaseEnterpriseCertDto>> selectForList() {
return ResponseHelper.buildResponse(baseEnterpriseCertServiceImpl.queryForBaseEnterpriseCertList());
}
}
package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.yeejoin.amos.boot.module.common.api.entity.BaseEnterpriseCert;
import com.yeejoin.amos.boot.module.common.api.mapper.BaseEnterpriseCertMapper;
import com.yeejoin.amos.boot.module.common.api.service.IBaseEnterpriseCertService;
import com.yeejoin.amos.boot.module.common.api.dto.BaseEnterpriseCertDto;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
/**
* 单位资质证书表服务实现类
*
* @author system_generator
* @date 2025-07-21
*/
@Service
public class BaseEnterpriseCertServiceImpl extends BaseService<BaseEnterpriseCertDto,BaseEnterpriseCert,BaseEnterpriseCertMapper> implements IBaseEnterpriseCertService {
/**
* 分页查询
*/
public Page<BaseEnterpriseCertDto> queryForBaseEnterpriseCertPage(Page<BaseEnterpriseCertDto> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例
*/
public List<BaseEnterpriseCertDto> queryForBaseEnterpriseCertList() {
return this.queryForList("" , false);
}
}
\ No newline at end of file
...@@ -79,7 +79,16 @@ public enum WorkFlowStatusEnum { ...@@ -79,7 +79,16 @@ public enum WorkFlowStatusEnum {
* 停用启用流程 * 停用启用流程
*/ */
ENABLE_SUBMIT("使用单位提交", "enableSubmit", "待提交", "已驳回", "已撤回"), ENABLE_SUBMIT("使用单位提交", "enableSubmit", "待提交", "已驳回", "已撤回"),
ENABLE_RECEIVE("监管受理", "enableReceive", "待受理", "", ""); ENABLE_RECEIVE("监管受理", "enableReceive", "待受理", "", ""),
/**
* 检验检测业务开通流程
*/
OPENING_APPLICATION_SUBMIT("开通申请提交", "openingApplicationSubmit", "开通申请待提交", "资料校对受理已退回", "申请单位已撤回"),
OPENING_APPLICATION_RECEIVE("资料校对", "openingApplicationReceive", "资料校对待受理", "业务开通确认已退回", "资料校对受理已撤回"),
OPENING_APPLICATION_PRELIMINARY("系统对接", "openingApplicationPreliminary", "系统对接中", "", "系统对接受理已撤回"),
OPENING_APPLICATION_REEXAMINE("业务开通确认", "openingApplicationReexamine", "业务开通确认待受理", "", "");
private final String name; private final String name;
......
...@@ -2251,7 +2251,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -2251,7 +2251,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
commonServiceImpl.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(data)); commonServiceImpl.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(data));
this.clearDataForCheckEquipRepeatUsed(data); this.clearDataForCheckEquipRepeatUsed(data);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); log.error(e.getMessage(), e);
} finally { } finally {
if (lock.isHeldByCurrentThread()) { if (lock.isHeldByCurrentThread()) {
lock.unlock(); lock.unlock();
......
...@@ -7,8 +7,25 @@ package com.yeejoin.amos.boot.module.jyjc.api.common; ...@@ -7,8 +7,25 @@ package com.yeejoin.amos.boot.module.jyjc.api.common;
*/ */
public interface BizCommonConstant { public interface BizCommonConstant {
/** /**
* 所有平台企业数据redisKey * 所有平台企业数据redisKey
*/ */
String COMPANY_TREE_REDIS_KEY = "REGULATOR_UNIT_TREE"; String COMPANY_TREE_REDIS_KEY = "REGULATOR_UNIT_TREE";
/**
* 检验检测人员信息
*/
String JYJC_USER_LIST_KEY = "jyjcUserInfos";
/**
* 检验检测区域负责人信息
*/
String CHAGRE_USER_LIST_KEY = "chargeUserInfos";
/**
* 资质信息key
*/
String UNIT_LICENCE_KEY = "baseUnitLicences";
} }
...@@ -82,17 +82,20 @@ public class JyjcOpeningApplication extends BaseEntity { ...@@ -82,17 +82,20 @@ public class JyjcOpeningApplication extends BaseEntity {
*/ */
@TableField("status") @TableField("status")
private String status; private String status;
/**
* 状态
*/
@TableField("status_name")
private String statusName;
/** /**
* 备注 * 备注
*/ */
@TableField("remark") @TableField("remark")
private String remark; private String remark;
/**
* 状态
*/
@Deprecated
@TableField("status_name")
private String statusName;
/** /**
* 申请时间 * 申请时间
*/ */
...@@ -147,4 +150,10 @@ public class JyjcOpeningApplication extends BaseEntity { ...@@ -147,4 +150,10 @@ public class JyjcOpeningApplication extends BaseEntity {
*/ */
@TableField(value = "open_biz_type") @TableField(value = "open_biz_type")
private String openBizType; private String openBizType;
/**
* 机构分类
*/
@TableField(value = "agency_classify")
private String agencyClassify;
} }
package com.yeejoin.amos.boot.module.jyjc.api.enums;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
/**
* @author Administrator
*/
@Getter
public enum OpenBizTypeEnumV2 {
/**
* 业务类型
*/
JY("jy", "检验机构", "检验业务"),
JC("jc", "检测机构", "检测业务"),
SYDW("jc-sydw", "使用单位", "使用单位电梯检测"),
AGW("jc-agw", "安装改造维修单位", "安改维电梯检测");
private String code;
private String unitType;
private String description;
private OpenBizTypeEnumV2(String code, String unitType, String description) {
this.code = code;
this.unitType = unitType;
this.description = description;
}
public static OpenBizTypeEnumV2 getOneByCode(String code) {
Optional<OpenBizTypeEnumV2> op = Arrays.stream(OpenBizTypeEnumV2.values()).filter(e -> e.getCode().equals(code)).findFirst();
return op.orElse(null);
}
public static OpenBizTypeEnumV2 getOneByUnitType(String unitType) {
Optional<OpenBizTypeEnumV2> op = Arrays.stream(OpenBizTypeEnumV2.values()).filter(e -> e.getUnitType().equals(unitType)).findFirst();
return op.orElse(null);
}
}
package com.yeejoin.amos.boot.module.jyjc.api.enums;
/**
* 人员类型
*/
public enum PersonTypeEnum {
jy,
jc,
charge
}
...@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField; ...@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler; import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto; import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseUnitLicenceDto; import com.yeejoin.amos.boot.module.common.api.dto.BaseEnterpriseCertDto;
import com.yeejoin.amos.boot.module.ymt.api.vo.TzsUserInfoVo; import com.yeejoin.amos.boot.module.ymt.api.vo.TzsUserInfoVo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -44,6 +44,7 @@ public class JyjcOpeningApplicationModel extends BaseModel { ...@@ -44,6 +44,7 @@ public class JyjcOpeningApplicationModel extends BaseModel {
@ApiModelProperty(value = "申请单号") @ApiModelProperty(value = "申请单号")
private String applicationSeq; private String applicationSeq;
@Deprecated
@ApiModelProperty(value = "检验结果方式") @ApiModelProperty(value = "检验结果方式")
private String resultType; private String resultType;
...@@ -58,6 +59,7 @@ public class JyjcOpeningApplicationModel extends BaseModel { ...@@ -58,6 +59,7 @@ public class JyjcOpeningApplicationModel extends BaseModel {
@ApiModelProperty(value = "状态") @ApiModelProperty(value = "状态")
private String status; private String status;
@Deprecated
@ApiModelProperty(value = "状态Name") @ApiModelProperty(value = "状态Name")
private String statusName; private String statusName;
...@@ -86,12 +88,12 @@ public class JyjcOpeningApplicationModel extends BaseModel { ...@@ -86,12 +88,12 @@ public class JyjcOpeningApplicationModel extends BaseModel {
@ApiModelProperty(value = "创建人ID") @ApiModelProperty(value = "创建人ID")
private String createUserId; private String createUserId;
@ApiModelProperty(value = "检验检测人员信息")
List<TzsUserInfoVo> jyjcUserInfos;
@ApiModelProperty(value = "企业资质信息") @ApiModelProperty(value = "检验检测区域负责人信息")
List<TzBaseUnitLicenceDto> baseUnitLicences; List<TzsUserInfoVo> chargeUserInfos;
@ApiModelProperty(value = "检验人员信息")
List<TzsUserInfoVo> userInfos;
@ApiModelProperty(value = "使用单位联系人") @ApiModelProperty(value = "使用单位联系人")
private String useContact; private String useContact;
...@@ -135,4 +137,19 @@ public class JyjcOpeningApplicationModel extends BaseModel { ...@@ -135,4 +137,19 @@ public class JyjcOpeningApplicationModel extends BaseModel {
@ApiModelProperty("开通的业务类型名称") @ApiModelProperty("开通的业务类型名称")
private String openBizTypeName; private String openBizTypeName;
@ApiModelProperty("机构分类")
private String agencyClassify;
@ApiModelProperty(value = "企业资质证书信息")
List<BaseEnterpriseCertDto> baseUnitLicences;
@ApiModelProperty(value = "省内办公地址省#市#区")
private String officeRegion;
@ApiModelProperty(value = "省内详细办公地址")
private String officeAddress;
@ApiModelProperty(value = "单位所在地:陕西省内企业,省外企业")
private String dataSources;
} }
package com.yeejoin.amos.boot.module.jyjc.biz.controller; package com.yeejoin.amos.boot.module.jyjc.biz.controller;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
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.BaseEnterpriseCertDto;
import com.yeejoin.amos.boot.module.jyjc.api.dto.InspectionCompanyPublicityDto; import com.yeejoin.amos.boot.module.jyjc.api.dto.InspectionCompanyPublicityDto;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcOpeningApplication; import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcOpeningApplication;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcOpeningApplicationModel; import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcOpeningApplicationModel;
...@@ -25,9 +27,7 @@ import org.springframework.util.Assert; ...@@ -25,9 +27,7 @@ import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
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;
...@@ -66,7 +66,11 @@ public class JyjcOpeningApplicationController extends BaseController { ...@@ -66,7 +66,11 @@ public class JyjcOpeningApplicationController extends BaseController {
// 详情保存逻辑 // 详情保存逻辑
BeanUtil.copyProperties(model, jyjcOpeningApplicationModel); BeanUtil.copyProperties(model, jyjcOpeningApplicationModel);
} }
return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.saveOrUpdate(jyjcOpeningApplicationModel)); if(model.containsKey("buniessInfo")){
List<BaseEnterpriseCertDto> baseEnterpriseCertDtos = JSONArray.parseArray(JSONObject.toJSONString(model.get("buniessInfo")), BaseEnterpriseCertDto.class);
jyjcOpeningApplicationModel.setBaseUnitLicences(baseEnterpriseCertDtos);
}
return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.saveOrUpdate(jyjcOpeningApplicationModel, getCompanyCode()));
} }
...@@ -80,14 +84,12 @@ public class JyjcOpeningApplicationController extends BaseController { ...@@ -80,14 +84,12 @@ public class JyjcOpeningApplicationController extends BaseController {
} else { } else {
BeanUtil.copyProperties(jsonObject, model); BeanUtil.copyProperties(jsonObject, model);
} }
model.setSequenceNbr(sequenceNbr); if(jsonObject.containsKey("buniessInfo")){
if (sequenceNbr != null) { List<BaseEnterpriseCertDto> baseEnterpriseCertDtos = JSONArray.parseArray(JSONObject.toJSONString(jsonObject.get("buniessInfo")), BaseEnterpriseCertDto.class);
JyjcOpeningApplicationModel jyjcOpeningApplicationModel = jyjcOpeningApplicationServiceImpl.queryDetail(sequenceNbr); model.setBaseUnitLicences(baseEnterpriseCertDtos);
if (jyjcOpeningApplicationModel == null || ValidationUtil.isEmpty(jyjcOpeningApplicationModel.getBaseUnitLicences()) || ValidationUtil.isEmpty(jyjcOpeningApplicationModel.getUserInfos())) {
throw new BadRequest("企业资质信息和检验人员信息为空,无法提交!");
}
} }
JyjcOpeningApplicationModel data = jyjcOpeningApplicationServiceImpl.submitApplication(model); model.setSequenceNbr(sequenceNbr);
JyjcOpeningApplicationModel data = jyjcOpeningApplicationServiceImpl.submitApplication(model, getCompanyCode());
return ResponseHelper.buildResponse(Collections.singletonList(data)); return ResponseHelper.buildResponse(Collections.singletonList(data));
} }
...@@ -168,10 +170,9 @@ public class JyjcOpeningApplicationController extends BaseController { ...@@ -168,10 +170,9 @@ public class JyjcOpeningApplicationController extends BaseController {
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "接收或者驳回业务开通申请", notes = "接收或者驳回业务开通申请") @ApiOperation(httpMethod = "POST", value = "流程节点执行", notes = "流程节点执行")
@PostMapping(value = "/execueFlow") @PostMapping(value = "/execueFlow")
public ResponseModel<HashMap<String, String>> execueFlow(@RequestBody Map<String, Object> params) { public ResponseModel<HashMap<String, String>> executeFlow(@RequestBody Map<String, Object> params) {
jyjcOpeningApplicationServiceImpl.executeFlow(params); jyjcOpeningApplicationServiceImpl.executeFlow(params);
HashMap<String, String> result = new HashMap<>(); HashMap<String, String> result = new HashMap<>();
result.put("result", "success"); result.put("result", "success");
...@@ -189,7 +190,7 @@ public class JyjcOpeningApplicationController extends BaseController { ...@@ -189,7 +190,7 @@ public class JyjcOpeningApplicationController extends BaseController {
public ResponseModel<Object> overflow(@RequestParam("sequenceNbr") String sequenceNbr, public ResponseModel<Object> overflow(@RequestParam("sequenceNbr") String sequenceNbr,
@RequestParam("instanceId") String instanceId, @RequestParam("instanceId") String instanceId,
@RequestParam("nextTaskId") String nextTaskId) { @RequestParam("nextTaskId") String nextTaskId) {
return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.stopFlow(sequenceNbr, instanceId, nextTaskId)); return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.rollBackFlow(sequenceNbr, instanceId, nextTaskId));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
...@@ -263,8 +264,7 @@ public class JyjcOpeningApplicationController extends BaseController { ...@@ -263,8 +264,7 @@ public class JyjcOpeningApplicationController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/user-list") @GetMapping(value = "/user-list")
@ApiOperation(httpMethod = "GET", value = "查询指定公司、指定人员类型的人员列表,默认当前登录人所在公司", notes = "查询指定公司、指定人员类型的人员列表,默认当前登录人所在公司") @ApiOperation(httpMethod = "GET", value = "查询指定公司、指定人员类型的人员列表,默认当前登录人所在公司", notes = "查询指定公司、指定人员类型的人员列表,默认当前登录人所在公司")
public ResponseModel<List<TzsUserInfoVo>> getBizUserInfosByUnitCode(@ApiParam(value = "公司编码") @RequestParam(required = false) String unitCode, public ResponseModel<List<TzsUserInfoVo>> getBizUserInfosByUnitCode(@ApiParam(value = "公司编码") @RequestParam(required = false) String unitCode, @ApiParam(value = "人员类型", allowableValues = "jy,jc") @RequestParam String personType) {
@ApiParam(value = "人员类型", allowableValues = "jy,jc") @RequestParam String personType) {
if (StringUtils.isEmpty(unitCode)) { if (StringUtils.isEmpty(unitCode)) {
ReginParams reginParams = getSelectedOrgInfo(); ReginParams reginParams = getSelectedOrgInfo();
unitCode = reginParams.getCompany().getCompanyCode(); unitCode = reginParams.getCompany().getCompanyCode();
...@@ -273,6 +273,13 @@ public class JyjcOpeningApplicationController extends BaseController { ...@@ -273,6 +273,13 @@ public class JyjcOpeningApplicationController extends BaseController {
} }
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/v2/users")
@ApiOperation(httpMethod = "GET", value = "查询当前登录人、指定人员类型的人员map结构", notes = "查询当前登录人、指定人员类型的人员map结构,key为jyjcUserInfos代表检验检测人员,chargeUserInfos为检验检测区域负责人")
public ResponseModel<Map<String, List<TzsUserInfoVo>>> getBizUserInfosByUnitCodeV2(@ApiParam(value = "人员类型", allowableValues = "jy,jc,charge" , defaultValue = "jy,jc,charge") @RequestParam String personType) {
return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.getUserListByUnitCodeAndPostV2(getCompanyCode(), personType));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/user-map") @GetMapping(value = "/user-map")
@ApiOperation(httpMethod = "GET", value = "查询指定公司、指定人员类型的人员列表,默认当前登录人所在公司,map", notes = "查询指定公司、指定人员类型的人员列表,默认当前登录人所在公司,map") @ApiOperation(httpMethod = "GET", value = "查询指定公司、指定人员类型的人员列表,默认当前登录人所在公司,map", notes = "查询指定公司、指定人员类型的人员列表,默认当前登录人所在公司,map")
public ResponseModel<Map<String, List<TzsUserInfoVo>>> getBizUserInfosByUnitCodeMap(@ApiParam(value = "公司编码") @RequestParam(required = false) String unitCode, public ResponseModel<Map<String, List<TzsUserInfoVo>>> getBizUserInfosByUnitCodeMap(@ApiParam(value = "公司编码") @RequestParam(required = false) String unitCode,
...@@ -297,6 +304,7 @@ public class JyjcOpeningApplicationController extends BaseController { ...@@ -297,6 +304,7 @@ public class JyjcOpeningApplicationController extends BaseController {
/** /**
* 检验业务开通列表导出 * 检验业务开通列表导出
*
* @param response * @param response
* @param ids * @param ids
*/ */
...@@ -304,8 +312,8 @@ public class JyjcOpeningApplicationController extends BaseController { ...@@ -304,8 +312,8 @@ public class JyjcOpeningApplicationController extends BaseController {
@GetMapping(value = "/exportdata") @GetMapping(value = "/exportdata")
@ApiOperation(httpMethod = "GET", value = "检验业务开通列表导出", notes = "检验业务开通列表导出") @ApiOperation(httpMethod = "GET", value = "检验业务开通列表导出", notes = "检验业务开通列表导出")
public void dataExport(HttpServletResponse response, String ids) { public void dataExport(HttpServletResponse response, String ids) {
Assert.hasText(ids,"未选择导出数据"); Assert.hasText(ids, "未选择导出数据");
jyjcOpeningApplicationServiceImpl.exportData(response,Arrays.asList(ids.split(","))); jyjcOpeningApplicationServiceImpl.exportData(response, Arrays.asList(ids.split(",")));
} }
} }
package com.yeejoin.amos.boot.module.jyjc.biz.service.impl; package com.yeejoin.amos.boot.module.jyjc.biz.service.impl;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...@@ -10,8 +11,11 @@ import com.yeejoin.amos.boot.biz.common.entity.DataDictionary; ...@@ -10,8 +11,11 @@ import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl; import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo; import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionHistory;
import com.yeejoin.amos.boot.module.jyjc.api.enums.OpenBizTypeEnum; import com.yeejoin.amos.boot.module.jyjc.api.enums.OpenBizTypeEnum;
import com.yeejoin.amos.boot.module.jyjc.api.enums.PersonTypeEnum;
import com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcBaseMapper; import com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcBaseMapper;
import com.yeejoin.amos.boot.module.jyjc.api.model.InstanceRuntimeData; import com.yeejoin.amos.boot.module.jyjc.api.model.InstanceRuntimeData;
import com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseEnterpriseInfoDto; import com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseEnterpriseInfoDto;
...@@ -31,6 +35,7 @@ import org.springframework.stereotype.Service; ...@@ -31,6 +35,7 @@ import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import javax.annotation.Resource;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
...@@ -52,6 +57,11 @@ public class CommonServiceImpl { ...@@ -52,6 +57,11 @@ public class CommonServiceImpl {
@Value("${jc.user-post:66152}") @Value("${jc.user-post:66152}")
private String jcUserPost; private String jcUserPost;
@Value("${jyjc.charge.user-post:6667}")
private String chargeUserPost;
@Autowired @Autowired
RedisUtils redisUtils; RedisUtils redisUtils;
@Autowired @Autowired
...@@ -69,6 +79,9 @@ public class CommonServiceImpl { ...@@ -69,6 +79,9 @@ public class CommonServiceImpl {
@Autowired @Autowired
private DataDictionaryServiceImpl dictionaryService; private DataDictionaryServiceImpl dictionaryService;
@Resource
private JyjcInspectionHistoryServiceImpl inspectionHistoryService;
/** /**
* @return ReginParams * @return ReginParams
...@@ -98,14 +111,13 @@ public class CommonServiceImpl { ...@@ -98,14 +111,13 @@ public class CommonServiceImpl {
public void castPersonType2Post(LambdaQueryWrapper<TzsUserInfo> userInfoQueryWrapper, String personType) { public void castPersonType2Post(LambdaQueryWrapper<TzsUserInfo> userInfoQueryWrapper, String personType) {
if (personType.contains(OpenBizTypeEnum.JY.getCode()) && personType.contains(OpenBizTypeEnum.JC.getCode())) { if (personType.contains(PersonTypeEnum.jc.name()) && personType.contains(PersonTypeEnum.jy.name()) && personType.contains(PersonTypeEnum.charge.name())) {
userInfoQueryWrapper.and(w-> w.like(TzsUserInfo::getPost, jyUserPost).or().like(TzsUserInfo::getPost, jcUserPost)); userInfoQueryWrapper.and(w-> w.like(TzsUserInfo::getPost, jyUserPost).or().like(TzsUserInfo::getPost, jcUserPost).or().like(TzsUserInfo::getPost, chargeUserPost));
return; return;
} }
if (personType.equals(OpenBizTypeEnum.JY.getCode())) { if (personType.equals(OpenBizTypeEnum.JY.getCode())) {
//userInfoQueryWrapper.like(TzsUserInfo::getPost, jcUserPost);
userInfoQueryWrapper.like(TzsUserInfo::getPost, jyUserPost); userInfoQueryWrapper.like(TzsUserInfo::getPost, jyUserPost);
return;
} }
if (personType.equals(OpenBizTypeEnum.JC.getCode())) { if (personType.equals(OpenBizTypeEnum.JC.getCode())) {
userInfoQueryWrapper.like(TzsUserInfo::getPost, jcUserPost); userInfoQueryWrapper.like(TzsUserInfo::getPost, jcUserPost);
...@@ -187,6 +199,40 @@ public class CommonServiceImpl { ...@@ -187,6 +199,40 @@ public class CommonServiceImpl {
redissonClient.getBucket(buildJcInstanceDataKey(instanceId)).set(instanceData); redissonClient.getBucket(buildJcInstanceDataKey(instanceId)).set(instanceData);
} }
/**
* 根据流程状态name 获取流程状态code
*
* @param name 流程状态name
* @return 流程状态code
*/
public Integer getDictionaryCodeByName(String name) {
List<DataDictionary> jggzzz = dictionaryService.getByType("JGGZZZ");
for (DataDictionary item : jggzzz) {
if (item.getName().equals(name)) {
return Integer.parseInt(item.getCode());
}
}
return null;
}
public void saveOrUpdateHistory(String type, JSONObject json, Long currentDocumentId) {
JyjcInspectionHistory jyjcInspectionHistory = new JyjcInspectionHistory();
LambdaQueryWrapper<JyjcInspectionHistory> lambda = new QueryWrapper<JyjcInspectionHistory>().lambda();
lambda.eq(JyjcInspectionHistory::getSSeq, currentDocumentId);
Integer integer = inspectionHistoryService.getBaseMapper().selectCount(lambda);
jyjcInspectionHistory.setHistoryData(json);
if (integer > 0) {
inspectionHistoryService.update(jyjcInspectionHistory, lambda);
} else {
jyjcInspectionHistory.setSType(type);
jyjcInspectionHistory.setSSeq(currentDocumentId);
inspectionHistoryService.save(jyjcInspectionHistory);
}
}
/** /**
* 撤回时校验流程是否已经执行 * 撤回时校验流程是否已经执行
......
package com.yeejoin.amos.boot.module.jyjc.biz.service.impl; package com.yeejoin.amos.boot.module.jyjc.biz.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapBuilder; import cn.hutool.core.map.MapBuilder;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
...@@ -17,24 +18,29 @@ import com.yeejoin.amos.boot.biz.common.dao.mapper.DataDictionaryMapper; ...@@ -17,24 +18,29 @@ import com.yeejoin.amos.boot.biz.common.dao.mapper.DataDictionaryMapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary; import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil; import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto; import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.common.api.dto.BaseEnterpriseCertDto;
import com.yeejoin.amos.boot.module.common.api.dto.TzsUserPermissionDto; import com.yeejoin.amos.boot.module.common.api.dto.TzsUserPermissionDto;
import com.yeejoin.amos.boot.module.common.api.entity.BaseEnterpriseCert;
import com.yeejoin.amos.boot.module.common.biz.service.impl.BaseEnterpriseCertServiceImpl;
import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
import com.yeejoin.amos.boot.module.jyjc.api.common.BizCommonConstant;
import com.yeejoin.amos.boot.module.jyjc.api.dto.InspectionCompanyPublicityDto; import com.yeejoin.amos.boot.module.jyjc.api.dto.InspectionCompanyPublicityDto;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionHistory;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcOpeningApplication; import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcOpeningApplication;
import com.yeejoin.amos.boot.module.jyjc.api.enums.BizTypeEnum; import com.yeejoin.amos.boot.module.jyjc.api.enums.BizTypeEnum;
import com.yeejoin.amos.boot.module.jyjc.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jyjc.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jyjc.api.enums.OpenBizTypeEnum; import com.yeejoin.amos.boot.module.jyjc.api.enums.OpenBizTypeEnum;
import com.yeejoin.amos.boot.module.jyjc.api.enums.OpenBizTypeEnumV2;
import com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcOpeningApplicationMapper; import com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcOpeningApplicationMapper;
import com.yeejoin.amos.boot.module.jyjc.api.model.*; import com.yeejoin.amos.boot.module.jyjc.api.model.*;
import com.yeejoin.amos.boot.module.jyjc.api.service.IJyjcOpeningApplicationService; import com.yeejoin.amos.boot.module.jyjc.api.service.IJyjcOpeningApplicationService;
import com.yeejoin.amos.boot.module.jyjc.api.vo.JyjcInspectionApplicationVo;
import com.yeejoin.amos.boot.module.jyjc.api.vo.JyjcOpeningApplicationVo; import com.yeejoin.amos.boot.module.jyjc.api.vo.JyjcOpeningApplicationVo;
import com.yeejoin.amos.boot.module.jyjc.biz.action.RuleActionHandler;
import com.yeejoin.amos.boot.module.jyjc.biz.config.BaseException; import com.yeejoin.amos.boot.module.jyjc.biz.config.BaseException;
import com.yeejoin.amos.boot.module.jyjc.biz.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jyjc.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jyjc.biz.service.TaskModelServiceImpl; import com.yeejoin.amos.boot.module.jyjc.biz.service.TaskModelServiceImpl;
import com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseEnterpriseInfoDto; import com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseEnterpriseInfoDto;
import com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseUnitLicenceDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.BaseUnitLicence; import com.yeejoin.amos.boot.module.ymt.api.entity.BaseUnitLicence;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseUnitLicence; import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseUnitLicence;
...@@ -43,6 +49,7 @@ import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; ...@@ -43,6 +49,7 @@ import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.BaseUnitLicenceMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.BaseUnitLicenceMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.TzBaseEnterpriseInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.TzBaseEnterpriseInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.TzBaseUnitLicenceMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.TzsUserInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.TzsUserInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.vo.TzsUserInfoVo; import com.yeejoin.amos.boot.module.ymt.api.vo.TzsUserInfoVo;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
...@@ -68,9 +75,8 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil; ...@@ -68,9 +75,8 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Function; import java.util.function.Function;
...@@ -111,8 +117,6 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -111,8 +117,6 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
@Autowired @Autowired
DataDictionaryMapper dataDictionaryMapper; DataDictionaryMapper dataDictionaryMapper;
@Autowired @Autowired
RuleActionHandler ruleActionHandler;
@Autowired
RedissonClient redissonClient; RedissonClient redissonClient;
@Autowired @Autowired
private TzsServiceFeignClient tzsServiceFeignClient; private TzsServiceFeignClient tzsServiceFeignClient;
...@@ -120,14 +124,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -120,14 +124,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
private String processDefinitionKey; private String processDefinitionKey;
@Value("${jy.user-post:66151}") @Value("${jy.user-post:66151}")
private String jyUserPost; private String jyUserPost;
@Value("${jy.cert.type.code:1233-1}")
private String jyCertTypeCode;
@Value("${jc.user-post:66152}") @Value("${jc.user-post:66152}")
private String jcUserPost; private String jcUserPost;
@Value("${jc.cert.type.code:1233-2}")
private String jcCertTypeCode; @Value("${jyjc.charge.user-post:6667}")
@Value("classpath:/json/bizTypeInfo.json") private String chargeUserPost;
private org.springframework.core.io.Resource bizTypeInfo;
@Autowired @Autowired
private TzBaseEnterpriseInfoMapper enterpriseInfoMapper; private TzBaseEnterpriseInfoMapper enterpriseInfoMapper;
@Autowired @Autowired
...@@ -136,6 +139,14 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -136,6 +139,14 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
private RuleCommonServiceImpl ruleCommonService; private RuleCommonServiceImpl ruleCommonService;
@Autowired @Autowired
private TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper; private TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper;
@Autowired
private BaseEnterpriseCertServiceImpl enterpriseCertService;
@Resource
private JyjcInspectionHistoryServiceImpl inspectionHistoryService;
@Resource
private SnowflakeIdUtil sequence;
/** /**
* 编辑、工作台暂存逻辑 * 编辑、工作台暂存逻辑
...@@ -144,8 +155,10 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -144,8 +155,10 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
* @return JyjcOpeningApplicationModel * @return JyjcOpeningApplicationModel
*/ */
@Transactional(rollbackFor = {Exception.class, BaseException.class}) @Transactional(rollbackFor = {Exception.class, BaseException.class})
public JyjcOpeningApplicationModel saveOrUpdate(JyjcOpeningApplicationModel model) { public JyjcOpeningApplicationModel saveOrUpdate(JyjcOpeningApplicationModel model, String unitCode) {
if (model.getSequenceNbr() != null) { if (model.getSequenceNbr() != null) {
// 存json
commonService.saveOrUpdateHistory(model.getOpenBizType(),JSONObject.parseObject(JSONObject.toJSONString(model)), model.getSequenceNbr());
// 编辑逻辑 // 编辑逻辑
return this.updateWithModel(model); return this.updateWithModel(model);
} else { } else {
...@@ -154,29 +167,30 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -154,29 +167,30 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
List<String> codes = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.JY.getCode(), 1).getResult(); List<String> codes = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.JY.getCode(), 1).getResult();
model.setApplicationSeq(codes.get(0)); model.setApplicationSeq(codes.get(0));
CompanyBo companyBo = commonService.getReginParamsOfCurrentUser().getCompany(); CompanyBo companyBo = commonService.getReginParamsOfCurrentUser().getCompany();
model.setUnitCode(companyBo.getCompanyCode()); model.setUnitCode(unitCode);
model.setUnitCodeName(companyBo.getCompanyName()); model.setUnitCodeName(companyBo.getCompanyName());
model.setCreateUserId(RequestContext.getExeUserId()); model.setCreateUserId(RequestContext.getExeUserId());
model.setStatus(FlowStatusEnum.TO_BE_SUBMITTED.getCode() + ""); model.setStatus(WorkFlowStatusEnum.OPENING_APPLICATION_SUBMIT.getPass());
model.setStatusName(FlowStatusEnum.TO_BE_SUBMITTED.getName());
this.createWithModel(model); this.createWithModel(model);
// 2.创建待办 // 2.创建待办
createDraftTask(model); createDraftTask(model);
// 3.存json
commonService.saveOrUpdateHistory(model.getOpenBizType(),JSONObject.parseObject(JSONObject.toJSONString(model)), model.getSequenceNbr());
} }
model.setStatusName(FlowStatusEnum.getNameByType(Long.parseLong((model.getStatus()))));
return this.updateWithModel(model); return this.updateWithModel(model);
} }
/** /**
* 提交、保存并提交逻辑 * 提交、保存并提交逻辑
* *
* @param model 对象 * @param model 对象
* @param companyCode
* @return JyjcOpeningApplicationModel * @return JyjcOpeningApplicationModel
*/ */
@Transactional(rollbackFor = {Exception.class, BaseException.class}) @Transactional(rollbackFor = {Exception.class, BaseException.class})
public JyjcOpeningApplicationModel submitApplication(JyjcOpeningApplicationModel model) { public JyjcOpeningApplicationModel submitApplication(JyjcOpeningApplicationModel model, String companyCode) {
String instanceId = model.getWorkflowProstanceId(); String instanceId = model.getWorkflowProstanceId();
this.setDefaultFieldValue(model); this.setDefaultFieldValue(model, companyCode);
if (StringUtils.isBlank(instanceId)) { if (StringUtils.isBlank(instanceId)) {
// 未开启过工作流则进行开启 startProcess // 未开启过工作流则进行开启 startProcess
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO(); ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
...@@ -191,8 +205,9 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -191,8 +205,9 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
List<ProcessTaskDTO> processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO); List<ProcessTaskDTO> processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO);
List<WorkflowResultDto> resultDto = taskModelService.buildWorkFlowInfo(processTaskDTOS); List<WorkflowResultDto> resultDto = taskModelService.buildWorkFlowInfo(processTaskDTOS);
WorkflowResultDto workflowResultDto = resultDto.get(0); WorkflowResultDto workflowResultDto = resultDto.get(0);
model.setStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode())); if (!org.springframework.util.ObjectUtils.isEmpty(workflowResultDto.getNextTaskCode())) {
model.setStatusName(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getName())); model.setStatus( WorkFlowStatusEnum.getMessage(workflowResultDto.getNextTaskCode()).getPass());
}
model.setPromoter(RequestContext.getExeUserId()); model.setPromoter(RequestContext.getExeUserId());
model.setWorkflowProstanceId(workflowResultDto.getInstanceId()); model.setWorkflowProstanceId(workflowResultDto.getInstanceId());
model.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds()); model.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds());
...@@ -205,13 +220,17 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -205,13 +220,17 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
buildTask(model, workflowResultDto); buildTask(model, workflowResultDto);
// 缓存流程数据 // 缓存流程数据
commonService.saveExecuteFlowData2Redis(workflowResultDto.getInstanceId(), this.buildInstanceRuntimeData(model)); commonService.saveExecuteFlowData2Redis(workflowResultDto.getInstanceId(), this.buildInstanceRuntimeData(model));
// 存json
commonService.saveOrUpdateHistory(model.getOpenBizType(),JSONObject.parseObject(JSONObject.toJSONString(model)), model.getSequenceNbr());
return model; return model;
} else { } else {
// 首次提交时删除暂存的待办 // 首次提交时删除暂存的待办
this.deleteDraftTask(model); this.deleteDraftTask(model);
// 存在流程,执行 // 存在流程,执行
executeOneStep(model); executeOneStep(model, "0");
saveModel(model); saveModel(model);
// 存json
commonService.saveOrUpdateHistory(model.getOpenBizType(),JSONObject.parseObject(JSONObject.toJSONString(model)), model.getSequenceNbr());
return model; return model;
} }
} }
...@@ -222,10 +241,10 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -222,10 +241,10 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
} }
} }
private void setDefaultFieldValue(JyjcOpeningApplicationModel model) { private void setDefaultFieldValue(JyjcOpeningApplicationModel model, String companyCode) {
CompanyBo companyBo = commonService.getReginParamsOfCurrentUser().getCompany(); CompanyBo companyBo = commonService.getReginParamsOfCurrentUser().getCompany();
model.setApplyTime(new Date()); model.setApplyTime(new Date());
model.setUnitCode(companyBo.getCompanyCode()); model.setUnitCode(companyCode);
model.setUnitCodeName(companyBo.getCompanyName()); model.setUnitCodeName(companyBo.getCompanyName());
if (model.getSequenceNbr() == null) { if (model.getSequenceNbr() == null) {
model.setCreateUserId(RequestContext.getExeUserId()); model.setCreateUserId(RequestContext.getExeUserId());
...@@ -291,15 +310,14 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -291,15 +310,14 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
.eq(JyjcOpeningApplication::getUnitCode, unitCode) .eq(JyjcOpeningApplication::getUnitCode, unitCode)
.eq(JyjcOpeningApplication::getOpenBizType, openBizType) .eq(JyjcOpeningApplication::getOpenBizType, openBizType)
.ne(JyjcOpeningApplication::getSequenceNbr, sequenceNbr) .ne(JyjcOpeningApplication::getSequenceNbr, sequenceNbr)
.eq(JyjcOpeningApplication::getStatus, FlowStatusEnum.TO_BE_FINISHED.getCode()) .eq(JyjcOpeningApplication::getStatus, FlowStatusEnum.TO_BE_FINISHED.getName())
.list().stream().filter(o -> !o.getSequenceNbr().equals(sequenceNbr)) .list().stream().map(JyjcOpeningApplication::getSequenceNbr)
.map(JyjcOpeningApplication::getSequenceNbr).collect(Collectors.toList()); .filter(nbr -> !nbr.equals(sequenceNbr)).collect(Collectors.toList());
if (ValidationUtil.isEmpty(ids)) { if (ValidationUtil.isEmpty(ids)) {
return; return;
} }
LambdaUpdateWrapper<JyjcOpeningApplication> updateWrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<JyjcOpeningApplication> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(JyjcOpeningApplication::getStatus, FlowStatusEnum.TO_BE_DISCARD.getCode()) updateWrapper.set(JyjcOpeningApplication::getStatus, FlowStatusEnum.TO_BE_DISCARD.getName())
.set(JyjcOpeningApplication::getStatusName, FlowStatusEnum.TO_BE_DISCARD.getName())
.set(JyjcOpeningApplication::getRemark, "新开通申请生效,原有开通申请自动作废") .set(JyjcOpeningApplication::getRemark, "新开通申请生效,原有开通申请自动作废")
.in(org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity::getSequenceNbr, ids); .in(org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity::getSequenceNbr, ids);
this.update(updateWrapper); this.update(updateWrapper);
...@@ -367,12 +385,10 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -367,12 +385,10 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
/** /**
* 获取详情跳转 * 开通详情
* *
* @param * @param sequenceNbr 主键,开始时为空,详情时非空
* @return {@link } * @return 开通申请详情
* @throws
* @author yangyang
*/ */
public JyjcOpeningApplicationModel queryDetail(Long sequenceNbr) { public JyjcOpeningApplicationModel queryDetail(Long sequenceNbr) {
ReginParams reginParams = commonService.getReginParamsOfCurrentUser(); ReginParams reginParams = commonService.getReginParamsOfCurrentUser();
...@@ -384,140 +400,114 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -384,140 +400,114 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
if (null != sequenceNbr) { if (null != sequenceNbr) {
jyjcOpeningApplicationModel = this.queryBySeq(sequenceNbr); jyjcOpeningApplicationModel = this.queryBySeq(sequenceNbr);
unitCode = jyjcOpeningApplicationModel.getUnitCode(); unitCode = jyjcOpeningApplicationModel.getUnitCode();
// 设置检验、检测资质信息 JyjcInspectionHistory jyjcInspectionHistory = inspectionHistoryService.getBySSeq(jyjcOpeningApplicationModel.getSequenceNbr());
setBaseUnitLicences(unitCode, jyjcOpeningApplicationModel, true); JSONObject hisData = jyjcInspectionHistory.getHistoryData();
// 设置检验、检测人员信息 // 人员信息:审批完成、已作废时显示历史数据
setJYJCUserList(unitCode, jyjcOpeningApplicationModel, false, "jy,jc"); if (jyjcOpeningApplicationModel.getStatus().equals(FlowStatusEnum.TO_BE_DISCARD.getCode() + "") || jyjcOpeningApplicationModel.getStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getCode() + "")) {
jyjcOpeningApplicationModel.setJyjcUserInfos(JSONArray.parseArray(hisData.getString(BizCommonConstant.JYJC_USER_LIST_KEY), TzsUserInfoVo.class));
jyjcOpeningApplicationModel.setChargeUserInfos(JSONArray.parseArray(hisData.getString(BizCommonConstant.CHAGRE_USER_LIST_KEY), TzsUserInfoVo.class));
} else { // 流程中实时数据显示人
setJYJCUserList(unitCode, jyjcOpeningApplicationModel);
}
// 证书资质信息-按照json显示
jyjcOpeningApplicationModel.setBaseUnitLicences(JSONArray.parseArray(hisData.getString("baseUnitLicences"), BaseEnterpriseCertDto.class));
} else { } else {
jyjcOpeningApplicationModel = new JyjcOpeningApplicationModel(); jyjcOpeningApplicationModel = new JyjcOpeningApplicationModel();
jyjcOpeningApplicationModel.setResultType("input"); jyjcOpeningApplicationModel.setOpenBizType(this.getOpenBizTypeByIdentity(reginParams.getCompany().getCompanyType()));
jyjcOpeningApplicationModel.setOpenBizType(OpenBizTypeEnum.JY.getCode()); unitCode = getUnitCode(reginParams);
unitCode = reginParams.getCompany().getCompanyCode();
jyjcOpeningApplicationModel.setUnitCodeName(reginParams.getCompany().getCompanyName()); jyjcOpeningApplicationModel.setUnitCodeName(reginParams.getCompany().getCompanyName());
jyjcOpeningApplicationModel.setUnitCode(unitCode); jyjcOpeningApplicationModel.setUnitCode(unitCode);
// 设置检测资质信息,前端需要按照开通的业务类型自行过滤,全部数据 // 证书资质信息
setBaseUnitLicences(unitCode, jyjcOpeningApplicationModel, false); setBaseUnitLicences2(unitCode, jyjcOpeningApplicationModel);
// 设置业务有效期的默认值与yjcOpeningApplicationModel.setOpenBizType(OpenBizTypeEnum.JY.getCode())对应
setDefaultExpiryDate(jyjcOpeningApplicationModel);
} }
// 设置企业信息 // 企业基本信息
setBaseEnterpriseInfo(unitCode, jyjcOpeningApplicationModel); setBaseEnterpriseInfo(unitCode, jyjcOpeningApplicationModel);
return jyjcOpeningApplicationModel; return jyjcOpeningApplicationModel;
} }
private static String getUnitCode(ReginParams reginParams) {
String unitCode;
unitCode = reginParams.getCompany().getCompanyCode();
unitCode = unitCode.contains("_") ? unitCode.substring(unitCode.indexOf("_") + 1) : unitCode;
return unitCode;
}
private String getOpenBizTypeByIdentity(String unitType) {
OpenBizTypeEnumV2 bizTypeEnumV2 = OpenBizTypeEnumV2.getOneByUnitType(unitType);
if (bizTypeEnumV2 == null) {
throw new BadRequest("非法的的单位类型!");
}
return bizTypeEnumV2.getCode();
}
private void setBaseEnterpriseInfo(String unitCode, JyjcOpeningApplicationModel jyjcOpeningApplicationModel) { private void setBaseEnterpriseInfo(String unitCode, JyjcOpeningApplicationModel jyjcOpeningApplicationModel) {
LambdaQueryWrapper<TzBaseEnterpriseInfo> enterpriseInfoQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TzBaseEnterpriseInfo> enterpriseInfoQueryWrapper = new LambdaQueryWrapper<>();
enterpriseInfoQueryWrapper.eq(TzBaseEnterpriseInfo::getUseCode, unitCode); enterpriseInfoQueryWrapper.eq(TzBaseEnterpriseInfo::getUseCode, unitCode);
TzBaseEnterpriseInfo baseUnitLicenceEntity = enterpriseInfoMapper.selectOne(enterpriseInfoQueryWrapper); TzBaseEnterpriseInfo baseEnterpriseInfo = enterpriseInfoMapper.selectOne(enterpriseInfoQueryWrapper);
// 获取企业资质 // 获取企业资质
if (baseUnitLicenceEntity != null) { if (baseEnterpriseInfo != null) {
jyjcOpeningApplicationModel.setUseContact(baseUnitLicenceEntity.getUseContact()); jyjcOpeningApplicationModel.setUseContact(baseEnterpriseInfo.getUseContact());
jyjcOpeningApplicationModel.setContactPhone(baseUnitLicenceEntity.getContactPhone()); jyjcOpeningApplicationModel.setContactPhone(baseEnterpriseInfo.getContactPhone());
jyjcOpeningApplicationModel.setUnitAddress(baseUnitLicenceEntity.getAddress()); jyjcOpeningApplicationModel.setUnitAddress(baseEnterpriseInfo.getFullAddress());
if (StringUtils.isNotBlank(baseUnitLicenceEntity.getIndustrySupervisor())) { if (StringUtils.isNotBlank(baseEnterpriseInfo.getIndustrySupervisor())) {
DataDictionary dict = dataDictionaryMapper.getByCode(baseUnitLicenceEntity.getIndustrySupervisor(), INDUSTRY_SUPERVISOR_DICT_TYPE); DataDictionary dict = dataDictionaryMapper.getByCode(baseEnterpriseInfo.getIndustrySupervisor(), INDUSTRY_SUPERVISOR_DICT_TYPE);
if (dict != null) { if (dict != null) {
jyjcOpeningApplicationModel.setIndustrySupervisor(dict.getName()); jyjcOpeningApplicationModel.setIndustrySupervisor(dict.getName());
} else { } else {
jyjcOpeningApplicationModel.setIndustrySupervisor(baseUnitLicenceEntity.getIndustrySupervisor()); jyjcOpeningApplicationModel.setIndustrySupervisor(baseEnterpriseInfo.getIndustrySupervisor());
} }
} }
jyjcOpeningApplicationModel.setGeographic(JyjcGeographicModel.builder().latitude(baseUnitLicenceEntity.getLatitude()).longitude(baseUnitLicenceEntity.getLongitude()).build()); jyjcOpeningApplicationModel.setGeographic(JyjcGeographicModel.builder().latitude(baseEnterpriseInfo.getLatitude()).longitude(baseEnterpriseInfo.getLongitude()).build());
jyjcOpeningApplicationModel.setLongitude(baseUnitLicenceEntity.getLongitude()); jyjcOpeningApplicationModel.setLongitude(baseEnterpriseInfo.getLongitude());
jyjcOpeningApplicationModel.setLatitude(baseUnitLicenceEntity.getLatitude()); jyjcOpeningApplicationModel.setLatitude(baseEnterpriseInfo.getLatitude());
if (ObjectUtils.isNotEmpty(baseUnitLicenceEntity.getUnitBusinessLicense())) { jyjcOpeningApplicationModel.setDataSources(baseEnterpriseInfo.getDataSources());
jyjcOpeningApplicationModel.setUnitBusinessLicense(JSONArray.parseArray(baseUnitLicenceEntity.getUnitBusinessLicense(), AttachmentDto.class)); if (ObjectUtils.isNotEmpty(baseEnterpriseInfo.getUnitBusinessLicense())) {
jyjcOpeningApplicationModel.setUnitBusinessLicense(JSONArray.parseArray(baseEnterpriseInfo.getUnitBusinessLicense(), AttachmentDto.class));
} }
} }
} }
private void setDefaultExpiryDate(JyjcOpeningApplicationModel jyjcOpeningApplicationModel) {
Optional<TzBaseUnitLicenceDto> op = jyjcOpeningApplicationModel.getBaseUnitLicences().stream().filter(l -> l.getCertTypeCode().equals(jyjcOpeningApplicationModel.getOpenBizType())).min(Comparator.comparing(TzBaseUnitLicenceDto::getExpiryDate));
op.ifPresent(licenceDto -> jyjcOpeningApplicationModel.setExpiryDate(licenceDto.getExpiryDate()));
}
private void setBaseUnitLicences(String unitCode, JyjcOpeningApplicationModel jyjcOpeningApplicationModel, boolean isNeedFilter) { private void setBaseUnitLicences2(String unitCode, JyjcOpeningApplicationModel jyjcOpeningApplicationModel) {
List<BaseUnitLicence> baseUnitLicences = baseUnitLicenceMapper.selectList(new LambdaQueryWrapper<BaseUnitLicence>() List<BaseEnterpriseCert> enterpriseCerts = enterpriseCertService.getBaseMapper().selectList(new LambdaQueryWrapper<BaseEnterpriseCert>().eq(BaseEnterpriseCert::getUnitCode, unitCode));
.eq(BaseUnitLicence::getUnitCode, unitCode) List<BaseEnterpriseCertDto> certDtos = enterpriseCerts.parallelStream().map(c -> {
.gt(BaseUnitLicence::getExpiryDate, new Date()) BaseEnterpriseCertDto enterpriseCertDto = new BaseEnterpriseCertDto();
.in(BaseUnitLicence::getCertTypeCode, Arrays.asList(jyCertTypeCode, jcCertTypeCode))); BeanUtils.copyProperties(c, enterpriseCertDto);
List<TzBaseUnitLicenceDto> licences = baseUnitLicences.stream().map(l -> { enterpriseCertDto.setItemCodes(this.getBuildItemCode(c.getSequenceNbr()));
TzBaseUnitLicenceDto licenceDto = new TzBaseUnitLicenceDto(); return enterpriseCertDto;
BeanUtil.copyProperties(l, licenceDto);
licenceDto.setCertTypeCode(this.castCode2Str(l.getCertTypeCode()));
return licenceDto;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
if (isNeedFilter) { jyjcOpeningApplicationModel.setBaseUnitLicences(certDtos);
licences = licences.stream().filter(u -> u.getCertTypeCode().equals(jyjcOpeningApplicationModel.getOpenBizType())).collect(Collectors.toList());
jyjcOpeningApplicationModel.setBaseUnitLicences(licences);
} else {
jyjcOpeningApplicationModel.setBaseUnitLicences(licences);
}
} }
private String castCode2Str(String certTypeCode) { private List<String> getBuildItemCode(Long sequenceNbr) {
// 新注册逻辑,逻辑在1处维护,便于代码维护【jy、jc对应前端的业务类型】 List<BaseUnitLicence> baseUnitLicences = baseUnitLicenceMapper.selectList(new LambdaQueryWrapper<BaseUnitLicence>()
if (jcCertTypeCode.equals(certTypeCode)) { .eq(BaseUnitLicence::getEnterpriseCertSeq, sequenceNbr).select(BaseUnitLicence::getItemCode, BaseEntity::getSequenceNbr));
// 检测类型资质 return baseUnitLicences.stream().map(BaseUnitLicence::getItemCode).filter(Objects::nonNull).collect(Collectors.toList());
return "jc";
}
if (jyCertTypeCode.equals(certTypeCode)) {
// 检验类型资质
return "jy";
}
// 之前老数据逻辑,逻辑在1处维护,便于代码维护【jy、jc对应前端的业务类型】
return "";
} }
private void setJYJCUserList(String unitCode, JyjcOpeningApplicationModel jyjcOpeningApplicationModel, boolean isNeedFilter, String openBizType) {
private void setJYJCUserList(String unitCode, JyjcOpeningApplicationModel jyjcOpeningApplicationModel) {
LambdaQueryWrapper<TzsUserInfo> userInfoQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TzsUserInfo> userInfoQueryWrapper = new LambdaQueryWrapper<>();
userInfoQueryWrapper.eq(TzsUserInfo::getUnitCode, unitCode); userInfoQueryWrapper.eq(TzsUserInfo::getUnitCode, unitCode);
userInfoQueryWrapper.eq(BaseEntity::getIsDelete, false); userInfoQueryWrapper.eq(BaseEntity::getIsDelete, false);
commonService.castPersonType2Post(userInfoQueryWrapper, openBizType); commonService.castPersonType2Post(userInfoQueryWrapper, "jy,jc,charge");
List<TzsUserInfo> userInfos = userInfoMapper.selectList(userInfoQueryWrapper); List<TzsUserInfo> userInfos = userInfoMapper.selectList(userInfoQueryWrapper);
if (!ValidationUtil.isEmpty(userInfos)) { if (!ValidationUtil.isEmpty(userInfos)) {
List<TzsUserInfoVo> tzsUserInfoVos = userInfos.stream().map(userInfo -> { List<TzsUserInfoVo> tzsUserInfoVos = userInfos.stream().map(userInfo -> {
TzsUserInfoVo vo = new TzsUserInfoVo(); TzsUserInfoVo vo = new TzsUserInfoVo();
BeanUtils.copyProperties(userInfo, vo, "identification", "profile", "permissionItem", "appointDoc", "permissionData"); BeanUtils.copyProperties(userInfo, vo, "identification", "profile", "permissionItem", "appointDoc", "permissionData", "appointDoc");
this.setPermissionInfo(vo, userInfo, openBizType);
if (!ObjectUtils.isEmpty(userInfo.getPost())) { if (!ObjectUtils.isEmpty(userInfo.getPost())) {
vo.setPost(JSON.parseArray(userInfo.getPost())); vo.setPost(JSON.parseArray(userInfo.getPost()));
} }
if (!ObjectUtils.isEmpty(userInfo.getAppointDoc())) {
vo.setAppointDoc(JSON.parseArray(userInfo.getAppointDoc()));
}
return vo; return vo;
}).filter(o -> o.getPost() != null && (o.getPost().contains(jyUserPost) || o.getPost().contains(jcUserPost))).peek(u -> {
// 设置岗位类型,逻辑在1端处理,便于代码维护,前端直接使用即可【jy、jc对应前端的业务类型】
if (u.getPost().contains(jyUserPost) && u.getPost().contains(jcUserPost)) {
// 即时检验又是检测人员
u.setStrPost("jy,jc");
}
if (u.getPost().contains(jyUserPost) && !u.getPost().contains(jcUserPost)) {
// 检验人员
u.setStrPost("jy");
}
if (!u.getPost().contains(jyUserPost) && u.getPost().contains(jcUserPost)) {
// 检测人员
u.setStrPost("jc");
}
}).collect(Collectors.toList()); }).collect(Collectors.toList());
if (isNeedFilter) { jyjcOpeningApplicationModel.setJyjcUserInfos(tzsUserInfoVos.stream().filter(u -> u.getPost().contains(jyUserPost) || u.getPost().contains(jcUserPost)).collect(Collectors.toList()));
tzsUserInfoVos = tzsUserInfoVos.stream().filter(u -> u.getStrPost().contains(jyjcOpeningApplicationModel.getOpenBizType())).collect(Collectors.toList()); jyjcOpeningApplicationModel.setChargeUserInfos(tzsUserInfoVos.stream().filter(u -> u.getPost().contains(chargeUserPost)).collect(Collectors.toList()));
jyjcOpeningApplicationModel.setUserInfos(tzsUserInfoVos);
} else {
jyjcOpeningApplicationModel.setUserInfos(tzsUserInfoVos);
}
} }
} }
public List<TzsUserInfoVo> getUserListByUnitCodeAndPost(String unitCode, String personType) { public List<TzsUserInfoVo> getUserListByUnitCodeAndPost(String unitCode, String personType) {
LambdaQueryWrapper<TzsUserInfo> userInfoQueryWrapper = new LambdaQueryWrapper<>(); List<TzsUserInfo> userInfos = getUserList(unitCode, personType);
userInfoQueryWrapper.eq(TzsUserInfo::getUnitCode, unitCode);
commonService.castPersonType2Post(userInfoQueryWrapper, personType);
userInfoQueryWrapper.eq(BaseEntity::getIsDelete, false);
userInfoQueryWrapper.orderByDesc(TzsUserInfo::getRecDate);
List<TzsUserInfo> userInfos = userInfoMapper.selectList(userInfoQueryWrapper);
String appKey = RequestContext.getAppKey(); String appKey = RequestContext.getAppKey();
String product = RequestContext.getProduct(); String product = RequestContext.getProduct();
String token = RequestContext.getToken(); String token = RequestContext.getToken();
...@@ -539,6 +529,33 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -539,6 +529,33 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
public Map<String, List<TzsUserInfoVo>> getUserListByUnitCodeAndPostV2(String unitCode, String personType) {
Map<String, List<TzsUserInfoVo>> result = new HashMap<>();
List<TzsUserInfo> userInfos = getUserList(unitCode, personType);
List<TzsUserInfoVo> tzsUserInfoVos = userInfos.stream().map(userInfo -> {
TzsUserInfoVo vo = new TzsUserInfoVo();
BeanUtils.copyProperties(userInfo, vo, "identification", "profile", "permissionItem", "appointDoc", "permissionData", "appointDoc");
vo.setSequenceNbr(userInfo.getSequenceNbr());
if (!ObjectUtils.isEmpty(userInfo.getNewPost())) {
vo.setPost(JSON.parseArray(userInfo.getNewPost()));
}
return vo;
}).collect(Collectors.toList());
result.put(BizCommonConstant.JYJC_USER_LIST_KEY, tzsUserInfoVos.stream().filter(u -> u.getPost().contains(jyUserPost) || u.getPost().contains(jcUserPost)).collect(Collectors.toList()));
result.put(BizCommonConstant.CHAGRE_USER_LIST_KEY, tzsUserInfoVos.stream().filter(u -> u.getPost().contains(chargeUserPost)).collect(Collectors.toList()));
return result;
}
private List<TzsUserInfo> getUserList(String unitCode, String personType) {
LambdaQueryWrapper<TzsUserInfo> userInfoQueryWrapper = new LambdaQueryWrapper<>();
userInfoQueryWrapper.eq(TzsUserInfo::getUnitCode, unitCode);
commonService.castPersonType2Post(userInfoQueryWrapper, personType);
userInfoQueryWrapper.eq(BaseEntity::getIsDelete, false);
userInfoQueryWrapper.orderByDesc(TzsUserInfo::getRecDate);
return userInfoMapper.selectList(userInfoQueryWrapper);
}
private void setPermissionInfo(TzsUserInfoVo vo, TzsUserInfo userInfo, String personType) { private void setPermissionInfo(TzsUserInfoVo vo, TzsUserInfo userInfo, String personType) {
String post = "6615"; String post = "6615";
if (personType.equals(OpenBizTypeEnum.JY.getCode())) { if (personType.equals(OpenBizTypeEnum.JY.getCode())) {
...@@ -616,7 +633,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -616,7 +633,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
dto.setComment(params.get("comments").toString()); dto.setComment(params.get("comments").toString());
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", op); map.put("approvalStatus", op);
if (String.valueOf(FlowStatusEnum.ROLLBACK.getCode()).equals(jyjcOpeningApplication.getStatus()) || String.valueOf(FlowStatusEnum.REJECTED.getCode()).equals(jyjcOpeningApplication.getStatus())) { if (WorkFlowStatusEnum.OPENING_APPLICATION_SUBMIT.getReject().equals(jyjcOpeningApplication.getStatus()) || WorkFlowStatusEnum.OPENING_APPLICATION_SUBMIT.getRollBack().equals(jyjcOpeningApplication.getStatus())) {
map.put("approvalStatus", "提交"); map.put("approvalStatus", "提交");
} }
dto.setVariable(map); dto.setVariable(map);
...@@ -631,31 +648,35 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -631,31 +648,35 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
processTaskDTOS.add(complete); processTaskDTOS.add(complete);
List<WorkflowResultDto> resultDto = taskModelService.buildWorkFlowInfo(processTaskDTOS); List<WorkflowResultDto> resultDto = taskModelService.buildWorkFlowInfo(processTaskDTOS);
WorkflowResultDto workflowResultDto = resultDto.get(0); WorkflowResultDto workflowResultDto = resultDto.get(0);
if (!ObjectUtils.isEmpty(workflowResultDto.getNextTaskId())) { String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
if ("1".equals(op)) { if (!org.springframework.util.ObjectUtils.isEmpty(workflowResultDto.getNextTaskCode())) {
// 驳回 taskCode = workflowResultDto.getNextTaskCode();
jyjcOpeningApplication.setStatus(String.valueOf(FlowStatusEnum.REJECTED.getCode())); }
jyjcOpeningApplication.setStatusName(String.valueOf(FlowStatusEnum.REJECTED.getName())); if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) {
jyjcOpeningApplication.setPromoter(""); if ("0".equals(op)) {
// 通过操作
jyjcOpeningApplication.setStatus(WorkFlowStatusEnum.getMessage(workflowResultDto.getNextTaskCode()).getPass());
jyjcOpeningApplication.setExpiryDate(DateUtil.parseDate(params.get("expiryDate").toString()));
} else { } else {
// 提交 // 驳回操作
jyjcOpeningApplication.setStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode())); jyjcOpeningApplication.setStatus(WorkFlowStatusEnum.getMessage(workflowResultDto.getNextTaskCode()).getReject());
jyjcOpeningApplication.setStatusName(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getName())); jyjcOpeningApplication.setPromoter("");
jyjcOpeningApplication.setPromoter(RequestContext.getExeUserId());
} }
jyjcOpeningApplication.setNextTaskId(workflowResultDto.getNextTaskId()); jyjcOpeningApplication.setNextTaskId(workflowResultDto.getNextTaskId());
jyjcOpeningApplication.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds()); jyjcOpeningApplication.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
// 更新代办 // 更新代办
updateTask(jyjcOpeningApplication, workflowResultDto, op); updateTask(jyjcOpeningApplication, workflowResultDto, op);
// 更新json
commonService.saveOrUpdateHistory(jyjcOpeningApplication.getOpenBizType(),JSONObject.parseObject(JSONObject.toJSONString(params)), jyjcOpeningApplication.getSequenceNbr());
} else { } else {
// 流程结束 // 流程结束
jyjcOpeningApplication.setStatus(String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode())); jyjcOpeningApplication.setStatus(taskCode);
//更新办理日期 //更新办理日期
jyjcOpeningApplication.setAcceptDate(new Date()); jyjcOpeningApplication.setAcceptDate(new Date());
// 更新代办 // 更新代办
HashMap<String, Object> taskParams = new HashMap<>(); HashMap<String, Object> taskParams = new HashMap<>();
taskParams.put("relationId", jyjcOpeningApplication.getWorkflowProstanceId()); taskParams.put("relationId", jyjcOpeningApplication.getWorkflowProstanceId());
taskParams.put("flowStatus", FlowStatusEnum.TO_BE_FINISHED.getCode()); taskParams.put("flowStatus", commonService.getDictionaryCodeByName(jyjcOpeningApplication.getStatus()));
taskParams.put("flowStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName()); taskParams.put("flowStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
taskParams.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode()); taskParams.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
taskParams.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName()); taskParams.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
...@@ -666,18 +687,20 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -666,18 +687,20 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
jyjcOpeningApplication.setPromoter(""); jyjcOpeningApplication.setPromoter("");
jyjcOpeningApplication.setNextTaskId(""); jyjcOpeningApplication.setNextTaskId("");
jyjcOpeningApplication.setNextExecuteUserIds(""); jyjcOpeningApplication.setNextExecuteUserIds("");
jyjcOpeningApplication.setStatusName(FlowStatusEnum.TO_BE_FINISHED.getName()); jyjcOpeningApplication.setExpiryDate(DateUtil.parseDate(params.get("expiryDate").toString()));
// 将审批通过的资质信息写入到企业资质表
this.saveLicenseData2Company(jyjcOpeningApplication);
} }
jyjcOpeningApplicationMapper.updateById(jyjcOpeningApplication); jyjcOpeningApplicationMapper.updateById(jyjcOpeningApplication);
// 已完成 作废逻辑 // 已完成 作废逻辑
if (String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode()).equals(jyjcOpeningApplication.getStatus())) { if (FlowStatusEnum.TO_BE_FINISHED.getName().equals(jyjcOpeningApplication.getStatus())) {
doDiscard(jyjcOpeningApplication.getUnitCode(), jyjcOpeningApplication.getSequenceNbr(), jyjcOpeningApplication.getOpenBizType()); doDiscard(jyjcOpeningApplication.getUnitCode(), jyjcOpeningApplication.getSequenceNbr(), jyjcOpeningApplication.getOpenBizType());
} }
// 更新流程中的流程数据 // 更新流程中的流程数据
commonService.saveExecuteFlowData2Redis(jyjcOpeningApplication.getWorkflowProstanceId(), this.buildInstanceRuntimeData(jyjcOpeningApplication)); commonService.saveExecuteFlowData2Redis(jyjcOpeningApplication.getWorkflowProstanceId(), this.buildInstanceRuntimeData(jyjcOpeningApplication));
return jyjcOpeningApplication; return jyjcOpeningApplication;
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); log.error(e.getMessage(), e);
} finally { } finally {
if (lock.isHeldByCurrentThread()) { if (lock.isHeldByCurrentThread()) {
lock.unlock(); lock.unlock();
...@@ -686,8 +709,39 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -686,8 +709,39 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
return null; return null;
} }
private void saveLicenseData2Company(JyjcOpeningApplication jyjcOpeningApplication) {
JyjcInspectionHistory history = inspectionHistoryService.getBySSeq(jyjcOpeningApplication.getSequenceNbr());
JSONObject hisData = history.getHistoryData();
List<BaseEnterpriseCertDto> certDtos = JSONArray.parseArray(hisData.getString(BizCommonConstant.UNIT_LICENCE_KEY), BaseEnterpriseCertDto.class);
List<BaseEnterpriseCert> certs = new ArrayList<>();
List<BaseUnitLicence> licences = new ArrayList<>();
certDtos.forEach(e->{
BaseEnterpriseCert cert = new BaseEnterpriseCert();
BeanUtils.copyProperties(e, cert);
if(cert.getSequenceNbr() == null){
cert.setSequenceNbr(sequence.nextId());
}
e.getItemCodes().forEach(itemCode->{
BaseUnitLicence licence = new BaseUnitLicence();
BeanUtils.copyProperties(e, licence);
licence.setItemCode(itemCode);
licence.setEnterpriseCertSeq(cert.getSequenceNbr().toString());
licences.add(licence);
});
certs.add(cert);
});
if(!certs.isEmpty()){
enterpriseCertService.saveBatch(certs);
}
if(!licences.isEmpty()){
licences.parallelStream().forEach(licence->{
baseUnitLicenceMapper.insert(licence);
});
}
}
private void executeOneStep(JyjcOpeningApplicationModel openingApplication) { private void executeOneStep(JyjcOpeningApplicationModel openingApplication, String operate) {
String instanceId = openingApplication.getWorkflowProstanceId(); String instanceId = openingApplication.getWorkflowProstanceId();
String nextTaskId = openingApplication.getNextTaskId(); String nextTaskId = openingApplication.getNextTaskId();
String lockKey = CommonServiceImpl.buildJcExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJcExecuteLockKey(instanceId);
...@@ -712,20 +766,26 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -712,20 +766,26 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
processTaskDTOS.add(complete); processTaskDTOS.add(complete);
List<WorkflowResultDto> resultDto = taskModelService.buildWorkFlowInfo(processTaskDTOS); List<WorkflowResultDto> resultDto = taskModelService.buildWorkFlowInfo(processTaskDTOS);
WorkflowResultDto workflowResultDto = resultDto.get(0); WorkflowResultDto workflowResultDto = resultDto.get(0);
if ("0".equals(operate)) {
// 通过操作
openingApplication.setStatus(WorkFlowStatusEnum.getMessage(workflowResultDto.getNextTaskCode()).getPass());
} else {
// 驳回操作
openingApplication.setStatus(WorkFlowStatusEnum.getMessage(workflowResultDto.getNextTaskCode()).getReject());
openingApplication.setPromoter("");
}
// 更新业务信息 // 更新业务信息
openingApplication.setStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
openingApplication.setStatusName(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getName()));
openingApplication.setPromoter(RequestContext.getExeUserId()); openingApplication.setPromoter(RequestContext.getExeUserId());
openingApplication.setNextTaskId(workflowResultDto.getNextTaskId()); openingApplication.setNextTaskId(workflowResultDto.getNextTaskId());
openingApplication.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds()); openingApplication.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
// 更新代办 // 更新代办
JyjcOpeningApplication jyjcOpeningApplicationEntry = new JyjcOpeningApplication(); JyjcOpeningApplication jyjcOpeningApplicationEntry = new JyjcOpeningApplication();
BeanUtil.copyProperties(openingApplication, jyjcOpeningApplicationEntry); BeanUtil.copyProperties(openingApplication, jyjcOpeningApplicationEntry);
updateTask(jyjcOpeningApplicationEntry, workflowResultDto, "0"); updateTask(jyjcOpeningApplicationEntry, workflowResultDto, operate);
// 更新流程中的流程数据 // 更新流程中的流程数据
commonService.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(jyjcOpeningApplicationEntry)); commonService.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(jyjcOpeningApplicationEntry));
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); log.error(e.getMessage(), e);
} finally { } finally {
if (lock.isHeldByCurrentThread()) { if (lock.isHeldByCurrentThread()) {
lock.unlock(); lock.unlock();
...@@ -737,7 +797,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -737,7 +797,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
/** /**
* 撤回流程办理单 * 撤回流程办理单
*/ */
public JyjcOpeningApplication stopFlow(String sequenceNbr, String instanceId, String nextTaskId) { public JyjcOpeningApplication rollBackFlow(String sequenceNbr, String instanceId, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJcExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJcExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
try { try {
...@@ -753,22 +813,23 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -753,22 +813,23 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
ProcessTaskDTO processTaskDTO = cmWorkflowService.rollBack(jyjcOpeningApplication.getWorkflowProstanceId()); ProcessTaskDTO processTaskDTO = cmWorkflowService.rollBack(jyjcOpeningApplication.getWorkflowProstanceId());
ArrayList<ProcessTaskDTO> processTaskDTOS = new ArrayList<>(); ArrayList<ProcessTaskDTO> processTaskDTOS = new ArrayList<>();
processTaskDTOS.add(processTaskDTO); processTaskDTOS.add(processTaskDTO);
jyjcOpeningApplication.setStatus(String.valueOf(FlowStatusEnum.ROLLBACK.getCode()));
jyjcOpeningApplication.setStatusName(FlowStatusEnum.ROLLBACK.getName());
jyjcOpeningApplication.setPromoter("");
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(jyjcOpeningApplication));
List<WorkflowResultDto> resultDto = taskModelService.buildWorkFlowInfo(processTaskDTOS); List<WorkflowResultDto> resultDto = taskModelService.buildWorkFlowInfo(processTaskDTOS);
if (!ObjectUtils.isEmpty(resultDto) && !ObjectUtils.isEmpty(resultDto.get(0))) { String taskCode = "";
WorkflowResultDto workflowResultDto = resultDto.get(0); if (!org.springframework.util.ObjectUtils.isEmpty(resultDto) && !org.springframework.util.ObjectUtils.isEmpty(resultDto.get(0))) {
jsonObject.put("nextExecuteUser", workflowResultDto.getNextExecutorRoleIds()); taskCode = resultDto.get(0).getNextTaskCode();
jyjcOpeningApplication.setNextTaskId(workflowResultDto.getNextTaskId()); jyjcOpeningApplication.setNextTaskId(resultDto.get(0).getNextTaskId());
jyjcOpeningApplication.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds()); jyjcOpeningApplication.setNextExecuteUserIds(resultDto.get(0).getNextExecutorUserIds());
}
if (StringUtils.isNotEmpty(taskCode)) {
jyjcOpeningApplication.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack());
} }
jyjcOpeningApplication.setPromoter("");
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(jyjcOpeningApplication));
jsonObject.put("nextTaskId", jyjcOpeningApplication.getNextTaskId()); jsonObject.put("nextTaskId", jyjcOpeningApplication.getNextTaskId());
jsonObject.put("nextExecuteUserIds", jyjcOpeningApplication.getNextExecuteUserIds()); jsonObject.put("nextExecuteUserIds", jyjcOpeningApplication.getNextExecuteUserIds());
jsonObject.put("taskType", BusinessTypeEnum.JY_OPENING_APPLICATION.getCode()); jsonObject.put("taskType", BusinessTypeEnum.JY_OPENING_APPLICATION.getCode());
jsonObject.put("flowStatus", FlowStatusEnum.ROLLBACK.getCode()); jsonObject.put("flowStatus", commonService.getDictionaryCodeByName(jyjcOpeningApplication.getStatus()));
jsonObject.put("flowStatusLabel", FlowStatusEnum.ROLLBACK.getName()); jsonObject.put("flowStatusLabel", jyjcOpeningApplication.getStatus());
// 撤回删除代办 // 撤回删除代办
taskModelService.rollbackTask(jyjcOpeningApplication.getWorkflowProstanceId(), jsonObject); taskModelService.rollbackTask(jyjcOpeningApplication.getWorkflowProstanceId(), jsonObject);
// 更新数据 // 更新数据
...@@ -777,7 +838,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -777,7 +838,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
commonService.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(jyjcOpeningApplication)); commonService.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(jyjcOpeningApplication));
return jyjcOpeningApplication; return jyjcOpeningApplication;
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); log.error(e.getMessage(), e);
} finally { } finally {
if (lock.isHeldByCurrentThread()) { if (lock.isHeldByCurrentThread()) {
lock.unlock(); lock.unlock();
...@@ -874,13 +935,17 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -874,13 +935,17 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
taskModelService.buildTaskModel(list); taskModelService.buildTaskModel(list);
} }
private void updateTask(JyjcOpeningApplication model, WorkflowResultDto workflowResultDto, String op) { private void updateTask(JyjcOpeningApplication model, WorkflowResultDto workflowResultDto, String operate) {
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
if (!org.springframework.util.ObjectUtils.isEmpty(workflowResultDto.getNextTaskCode())) {
taskCode = workflowResultDto.getNextTaskCode();
}
// 更新代办状态 // 更新代办状态
HashMap<String, Object> params = new HashMap<>(); HashMap<String, Object> params = new HashMap<>();
params.put("relationId", model.getWorkflowProstanceId()); params.put("relationId", model.getWorkflowProstanceId());
params.put("flowStatus", model.getStatus()); params.put("flowStatus", commonService.getDictionaryCodeByName(model.getStatus()));
params.put("flowStatusLabel", model.getStatus()); params.put("flowStatusLabel", model.getStatus());
params.put("taskStatus", model.getStatus()); params.put("taskStatus", commonService.getDictionaryCodeByName(model.getStatus()));
params.put("taskStatusLabel", model.getStatus()); params.put("taskStatusLabel", model.getStatus());
TaskV2Model taskV2Model = taskModelService.updateTaskModel(params); TaskV2Model taskV2Model = taskModelService.updateTaskModel(params);
// 创建新的代办 // 创建新的代办
...@@ -892,20 +957,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -892,20 +957,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
taskModelDto.setModel(urlParms); taskModelDto.setModel(urlParms);
taskModelDto.setTaskName(workflowResultDto.getNextTaskName()); taskModelDto.setTaskName(workflowResultDto.getNextTaskName());
taskModelDto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds()); taskModelDto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
if ("0".equals(op)) { taskModelDto.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
taskModelDto.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName()); taskModelDto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds());
taskModelDto.setTaskStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode()); taskModelDto.setFlowCode(workflowResultDto.getNextTaskId());
taskModelDto.setFlowStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode()); // 退回到发起单位或者在资料校队节点时,可编辑
taskModelDto.setFlowStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName()); if (WorkFlowStatusEnum.OPENING_APPLICATION_SUBMIT.getCode().equals(taskCode) && "1".equals(operate) || WorkFlowStatusEnum.OPENING_APPLICATION_RECEIVE.getCode().equals(taskCode)) {
} else {
taskModelDto.setTaskStatusLabel(FlowStatusEnum.REJECTED.getName());
taskModelDto.setTaskStatus(FlowStatusEnum.REJECTED.getCode());
taskModelDto.setFlowStatus(FlowStatusEnum.REJECTED.getCode());
taskModelDto.setFlowStatusLabel(FlowStatusEnum.REJECTED.getName());
taskModelDto.setPageType("edit"); taskModelDto.setPageType("edit");
} }
taskModelDto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds());
taskModelService.buildTaskModel(Collections.singletonList(taskModelDto)); taskModelService.buildTaskModel(Collections.singletonList(taskModelDto));
} else { } else {
JyjcOpeningApplicationModel applicationModel = new JyjcOpeningApplicationModel(); JyjcOpeningApplicationModel applicationModel = new JyjcOpeningApplicationModel();
......
...@@ -213,4 +213,10 @@ public class TzBaseEnterpriseInfo extends BaseEntity { ...@@ -213,4 +213,10 @@ public class TzBaseEnterpriseInfo extends BaseEntity {
*/ */
@TableField(value = "org_code") @TableField(value = "org_code")
protected String orgCode; protected String orgCode;
/**
* 完整地址
*/
@TableField(value = "full_address")
private String fullAddress;
} }
...@@ -184,4 +184,9 @@ public class BaseUnitLicence extends BaseEntity { ...@@ -184,4 +184,9 @@ public class BaseUnitLicence extends BaseEntity {
*/ */
private String licenceType; private String licenceType;
/**
* 所属证书
*/
private String enterpriseCertSeq;
} }
...@@ -78,6 +78,9 @@ public class TzBaseEnterpriseInfo extends BaseEntity { ...@@ -78,6 +78,9 @@ public class TzBaseEnterpriseInfo extends BaseEntity {
@ApiModelProperty(value = "单位详细地址") @ApiModelProperty(value = "单位详细地址")
private String address; private String address;
@ApiModelProperty(value = "完整地址")
private String fullAddress;
@ApiModelProperty(value = "使用单位法人") @ApiModelProperty(value = "使用单位法人")
private String legalPerson; private String legalPerson;
......
...@@ -107,4 +107,10 @@ public class TzBaseUnitLicence extends BaseEntity { ...@@ -107,4 +107,10 @@ public class TzBaseUnitLicence extends BaseEntity {
@ApiModelProperty(value = "资质类型编码(检验检测、其他)") @ApiModelProperty(value = "资质类型编码(检验检测、其他)")
private String licenceType; private String licenceType;
/**
* 所属证书
*/
private String enterpriseCertSeq;
} }
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