Commit 1c781f05 authored by LiuLin's avatar LiuLin

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

parents a926d9e2 d5f2e56e
...@@ -737,7 +737,7 @@ ...@@ -737,7 +737,7 @@
<w:sz-cs w:val="32"/> <w:sz-cs w:val="32"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/> <w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr> </w:rPr>
<w:t>北京市天安门质检院</w:t> <w:t>${(receiveOrgName)!''}</w:t>
</w:r> </w:r>
</w:p> </w:p>
<w:p> <w:p>
......
...@@ -182,4 +182,10 @@ public class JyjcInspectionApplication extends BaseEntity { ...@@ -182,4 +182,10 @@ public class JyjcInspectionApplication extends BaseEntity {
@TableField(value = "create_user_id") @TableField(value = "create_user_id")
private String createUserId; private String createUserId;
@TableField(value = "next_task_id")
private String nextTaskId;
@TableField(value = "next_execute_user_ids")
private String nextExcuteUserIds;
} }
...@@ -126,4 +126,10 @@ public class JyjcOpeningApplication extends BaseEntity { ...@@ -126,4 +126,10 @@ public class JyjcOpeningApplication extends BaseEntity {
@TableField(value = "create_user_id") @TableField(value = "create_user_id")
private String createUserId; private String createUserId;
@TableField(value = "next_task_id")
private String nextTaskId;
@TableField(value = "next_execute_user_ids")
private String nextExecuteUserIds;
} }
...@@ -21,7 +21,8 @@ public enum BizTypeEnum { ...@@ -21,7 +21,8 @@ public enum BizTypeEnum {
SUPERVISE("supervise", "监督检验"), SUPERVISE("supervise", "监督检验"),
FIRST_INSPECTION("firstinspect", "定检"), FIRST_INSPECTION("firstinspect", "定检"),
DETECTION("detection", "检测"); DETECTION("detection", "检测"),
BUSINESS_OPEN("businessOpen", "开通");
private String code; private String code;
private String name; private String name;
......
...@@ -16,4 +16,6 @@ public interface JyjcInspectionResultMapper extends BaseMapper<JyjcInspectionRes ...@@ -16,4 +16,6 @@ public interface JyjcInspectionResultMapper extends BaseMapper<JyjcInspectionRes
Page<JyjcInspectionResultModel> selectJyjcInspectionResultpPage(@Param("page") Page<JyjcInspectionResultModel> page, @Param("jyjcInspectionResultModel") JyjcInspectionResultModel jyjcInspectionResultModel); Page<JyjcInspectionResultModel> selectJyjcInspectionResultpPage(@Param("page") Page<JyjcInspectionResultModel> page, @Param("jyjcInspectionResultModel") JyjcInspectionResultModel jyjcInspectionResultModel);
Page<JyjcInspectionResultModel> selectForPage(@Param("page") Page<JyjcInspectionResultModel> page, @Param("jyjcInspectionResultModel") JyjcInspectionResultModel jyjcInspectionResultModel,@Param("identity") String identity);
} }
...@@ -161,6 +161,19 @@ public class JyjcInspectionApplicationModel extends BaseModel { ...@@ -161,6 +161,19 @@ public class JyjcInspectionApplicationModel extends BaseModel {
@ApiModelProperty(value = "创建人ID") @ApiModelProperty(value = "创建人ID")
private String createUserId; private String createUserId;
@ApiModelProperty(value = "下一步任务id")
private String nextTaskId;
@ApiModelProperty(value = "下一步执行人Ids")
private String nextExcuteUserIds;
@ApiModelProperty(value = "下一步任务名称")
private String nextTaskName;
@ApiModelProperty(value = "设备分类")
private String equList;
@ApiModelProperty(value = "监管码")
private String supervisoryCode;
private String instanceId; private String instanceId;
......
...@@ -35,8 +35,7 @@ public class JyjcInspectionResultModel extends BaseModel { ...@@ -35,8 +35,7 @@ public class JyjcInspectionResultModel extends BaseModel {
@ApiModelProperty(value = "报检单位编号") @ApiModelProperty(value = "报检单位编号")
private String applicationUnitCode; private String applicationUnitCode;
//监管码 @ApiModelProperty(value = "设备唯一标识, 监管码")
@ApiModelProperty(value = "设备唯一标识")
private String equipUnicode; private String equipUnicode;
@ApiModelProperty(value = "检验结果状态(已出2、未出1)") @ApiModelProperty(value = "检验结果状态(已出2、未出1)")
......
...@@ -114,4 +114,11 @@ public class JyjcOpeningApplicationModel extends BaseModel { ...@@ -114,4 +114,11 @@ public class JyjcOpeningApplicationModel extends BaseModel {
@ApiModelProperty ("企业营业执照") @ApiModelProperty ("企业营业执照")
private List<AttachmentDto> unitBusinessLicense; private List<AttachmentDto> unitBusinessLicense;
@ApiModelProperty ("下个任务id")
private String nextTaskId;
@ApiModelProperty ("下个任务执行人ids")
private String nextExecuteUserIds;
} }
...@@ -58,4 +58,69 @@ ...@@ -58,4 +58,69 @@
</where> </where>
ORDER BY application_date DESC ORDER BY application_date DESC
</select> </select>
<select id="selectForPage"
resultType="com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionResultModel">
select res.sequence_nbr, res.inspection_unit_code, res.application_no, res.application_unit_code,
res.equip_unicode, res.result_status, res.license_number, res.result_no, res.inspector, res.inner_person_code,
res.inspection_conclusion, res.inspection_date, res.next_inspection_date, res.inspection_start_date,
res.inspection_end_date, res.inspection_result_summary, res.non_conformance, res.remark,
res.rec_user_id, res.rec_date, res.biz_type,res.equ_category, res.inspection_type, res.inspection_type_name,
res.application_date,use_unit_name, use_unit_credit_code, province_name, city_name, county_name, street_name, equ_code, use_inner_code, ibjri.equ_list,
tec1.name equ_list_name, ibjri.equ_category , ibjoi.SUPERVISORY_CODE supervisoryCode
, use_org_code, res.equ_define, ibjui.ADDRESS equUseAddress, bei.use_unit inspectionUnitName, bei1.use_unit applicationUnitName, cdb.name inspectionTypeName
from tz_jyjc_inspection_result res
left join idx_biz_jg_other_info ibjoi on res.equip_unicode = ibjoi.record
left join idx_biz_jg_use_info ibjui on ibjui.record = res.equip_unicode
left join idx_biz_jg_register_info ibjri on ibjui.record = ibjri.record
left join tz_equipment_category tec on ibjri.equ_category = tec.code
left join tz_equipment_category tec1 on ibjri.equ_list = tec1.code
left join tz_base_enterprise_info bei on res.inspection_unit_code = bei.use_code
left join tz_base_enterprise_info bei1 on res.application_unit_code = bei1.use_code
left join cb_data_dictionary cdb on res.inspection_type = cdb.code
<where>
<if test="jyjcInspectionResultModel.applicationNo != '' and jyjcInspectionResultModel.applicationNo != null">
and res.application_no like concat('%',#{jyjcInspectionResultModel.applicationNo},'%')
</if>
<if test="jyjcInspectionResultModel.applicationUnitCode != '' and jyjcInspectionResultModel.applicationUnitCode != null">
and res.application_unit_code = #{jyjcInspectionResultModel.applicationUnitCode}
</if>
<if test="jyjcInspectionResultModel.useInnerCode != '' and jyjcInspectionResultModel.useInnerCode != null">
and use_inner_code like concat('%',#{jyjcInspectionResultModel.useInnerCode},'%')
</if>
<if test="jyjcInspectionResultModel.equCode != '' and jyjcInspectionResultModel.equCode != null">
and equ_code like concat('%',#{jyjcInspectionResultModel.equCode},'%')
</if>
<if test="jyjcInspectionResultModel.equipUnicode != '' and jyjcInspectionResultModel.equipUnicode != null">
and res.equip_unicode like concat('%',#{jyjcInspectionResultModel.equipUnicode},'%')
</if>
<if test="jyjcInspectionResultModel.equCategory != '' and jyjcInspectionResultModel.equCategory != null">
and ibjri.equ_category = #{jyjcInspectionResultModel.equCategory}
</if>
<if test="jyjcInspectionResultModel.inspectionType != '' and jyjcInspectionResultModel.inspectionType != null">
and res.inspection_type = #{jyjcInspectionResultModel.inspectionType}
</if>
<if test="jyjcInspectionResultModel.applicationDate!=null">
AND TO_DAYS(res.application_date) = TO_DAYS(#{jyjcInspectionResultModel.applicationDate})
</if>
<if test="jyjcInspectionResultModel.useUnitCreditCode != '' and jyjcInspectionResultModel.useUnitCreditCode != null">
and use_unit_credit_code like concat('%',#{jyjcInspectionResultModel.useUnitCreditCode},'%')
</if>
<choose>
<when test="identity == 'apply'">
and use_org_code like concat('%',#{jyjcInspectionResultModel.useOrgCode},'%')
</when>
<when test="identity == 'receive'">
and res.inspection_unit_code = #{jyjcInspectionResultModel.inspectionUnitCode}
</when>
<when test="identity == 'all'">
and (use_org_code like concat('%',#{jyjcInspectionResultModel.useOrgCode},'%') or es.inspection_unit_code = #{jyjcInspectionResultModel.inspectionUnitCode})
</when>
<otherwise>
1 = 2
</otherwise>
</choose>
</where>
ORDER BY application_date DESC
</select>
</mapper> </mapper>
...@@ -52,6 +52,9 @@ ...@@ -52,6 +52,9 @@
<if test="jyjcOpeningApplicationRequstDto.type == 'supervision'"> <if test="jyjcOpeningApplicationRequstDto.type == 'supervision'">
and a.status not in ('6610') and a.status not in ('6610')
</if> </if>
<if test="jyjcOpeningApplicationRequstDto.unitCode != '' and jyjcOpeningApplicationRequstDto.unitCode != null">
and a.unit_code = #{jyjcOpeningApplicationRequstDto.unitCode}
</if>
</where> </where>
order by sequence_nbr desc order by sequence_nbr desc
......
...@@ -136,7 +136,21 @@ public class JyjcInspectionResultController extends BaseController { ...@@ -136,7 +136,21 @@ public class JyjcInspectionResultController extends BaseController {
} }
/** @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/page")
@ApiOperation(httpMethod = "POST", value = "列表页面(检验检测单位、使用单位共用)", notes = "列表页面(检验检测单位、使用单位共用)")
public ResponseModel<Page<JyjcInspectionResultModel>> pageList(
@RequestParam int current, @RequestParam int size,
@RequestBody JyjcInspectionResultModel model) {
Page<JyjcInspectionResultModel> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(jyjcInspectionResultServiceImpl.queryForPageList(page, model));
}
/**
* 检验结果-上传结果和编辑结果 * 检验结果-上传结果和编辑结果
* *
* @return * @return
......
...@@ -161,23 +161,23 @@ public class JyjcOpeningApplicationController extends BaseController { ...@@ -161,23 +161,23 @@ public class JyjcOpeningApplicationController extends BaseController {
} }
/** // /**
* 列表分页查询 // * 列表分页查询
* // *
* @param current 当前页 // * @param current 当前页
* @param current 每页大小 // * @param current 每页大小
* @return // * @return
*/ // */
@TycloudOperation(ApiLevel = UserType.AGENCY) // @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/pageForCompany") // @GetMapping(value = "/pageForCompany")
@ApiOperation(httpMethod = "GET",value = "分页查询-公司", notes = "分页查询-公司") // @ApiOperation(httpMethod = "GET",value = "分页查询-公司", notes = "分页查询-公司")
public ResponseModel<Page<JyjcOpeningApplicationModel>> querypageForCompany(@RequestParam(value = "current") int current, @RequestParam // public ResponseModel<Page<JyjcOpeningApplicationModel>> querypageForCompany(@RequestParam(value = "current") int current, @RequestParam
(value = "size") int size, JyjcOpeningApplicationRequstDto jyjcOpeningApplicationRequstDto) { // (value = "size") int size, JyjcOpeningApplicationRequstDto jyjcOpeningApplicationRequstDto) {
Page<JyjcOpeningApplication> page = new Page<JyjcOpeningApplication>(); // Page<JyjcOpeningApplication> page = new Page<JyjcOpeningApplication>();
page.setCurrent(current); // page.setCurrent(current);
page.setSize(size); // page.setSize(size);
return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.querypageForCompany(page,jyjcOpeningApplicationRequstDto)); // return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.querypageForCompany(page,jyjcOpeningApplicationRequstDto));
} // }
/** /**
* 列表全部数据查询 * 列表全部数据查询
......
...@@ -23,6 +23,7 @@ import org.apache.commons.lang3.StringUtils; ...@@ -23,6 +23,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource; import org.springframework.core.io.Resource;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
...@@ -34,6 +35,8 @@ import java.net.URLEncoder; ...@@ -34,6 +35,8 @@ import java.net.URLEncoder;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service
public class TaskModelServiceImpl { public class TaskModelServiceImpl {
@Autowired @Autowired
private RedisUtils redisUtils; private RedisUtils redisUtils;
......
...@@ -110,14 +110,61 @@ public class JyjcInspectionResultServiceImpl extends BaseService<JyjcInspectionR ...@@ -110,14 +110,61 @@ public class JyjcInspectionResultServiceImpl extends BaseService<JyjcInspectionR
} }
Page<JyjcInspectionResultModel> resultPage = resultMapper.selectJyjcInspectionResultpPage(page, model); Page<JyjcInspectionResultModel> resultPage = resultMapper.selectJyjcInspectionResultpPage(page, model);
resultPage.getRecords().stream().forEach(v -> { resultPage.getRecords().stream().forEach(v -> {
if (ResultStatusEnum.NO_RESULT.getCode().equals(v.getResultStatus())) if (ResultStatusEnum.NO_RESULT.getCode().equals(v.getResultStatus())) {
v.setResultStatusName(ResultStatusEnum.NO_RESULT.getName()); v.setResultStatusName(ResultStatusEnum.NO_RESULT.getName());
if (ResultStatusEnum.YES_RESULT.getCode().equals(v.getResultStatus())) }
if (ResultStatusEnum.YES_RESULT.getCode().equals(v.getResultStatus())) {
v.setResultStatusName(ResultStatusEnum.YES_RESULT.getName());
}
});
return resultPage;
}
public Page<JyjcInspectionResultModel> queryForPageList(Page<JyjcInspectionResultModel> page, JyjcInspectionResultModel model) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(),
RequestContext.getToken())).toString(), ReginParams.class);
if (ObjectUtils.isEmpty(model)) {
model = new JyjcInspectionResultModel();
}
// 判断当前登录人身份(报检机构、接收机构、即时报检又是接收机构、都不是(不存在此情况))
String identity= this.getCompanyIdentityByType(reginParams.getCompany().getCompanyType());
Page<JyjcInspectionResultModel> resultPage = resultMapper.selectForPage(page, model, identity);
resultPage.getRecords().forEach(v -> {
if (ResultStatusEnum.NO_RESULT.getCode().equals(v.getResultStatus())) {
v.setResultStatusName(ResultStatusEnum.NO_RESULT.getName());
}
if (ResultStatusEnum.YES_RESULT.getCode().equals(v.getResultStatus())) {
v.setResultStatusName(ResultStatusEnum.YES_RESULT.getName()); v.setResultStatusName(ResultStatusEnum.YES_RESULT.getName());
}
}); });
return resultPage; return resultPage;
} }
private String getCompanyIdentityByType(String companyType){
// 可发起单位的单位类型(角色与单位类型已绑定,在业务系统增加的账号不会出现角色与的单位类型不匹配场景)
String[] applyIdentityDefine = {"使用单位", "安装改造维修单位"};
// 可进行检验检测申请接收的单位类型,在业务系统增加的账号不会出现角色与的单位类型不匹配场景
String[] receiveIdentityDefine = {"检验检测机构"};
boolean isApplyIdentityMatch = false;
boolean isReceiveIdentityMatch = false;
if(Arrays.stream(applyIdentityDefine).anyMatch(companyType::contains)){
isApplyIdentityMatch = true;
}
if(Arrays.stream(receiveIdentityDefine).anyMatch(companyType::contains)){
isReceiveIdentityMatch = true;
}
if(isApplyIdentityMatch && !isReceiveIdentityMatch){
return "apply";
}
if(!isApplyIdentityMatch && isReceiveIdentityMatch){
return "receive";
}
if(isApplyIdentityMatch){
return "all";
}
return "no";
}
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public JyjcInspectionResultModel updateJyjcInspectionResult(Map<String, Map<String, Object>> tableModel) { public JyjcInspectionResultModel updateJyjcInspectionResult(Map<String, Map<String, Object>> tableModel) {
......
...@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; ...@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
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.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.common.api.dto.AttachmentDto; import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
...@@ -17,13 +18,12 @@ import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcOpeningApplication; ...@@ -17,13 +18,12 @@ 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.mapper.JyjcBaseMapper; import com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcBaseMapper;
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.JyjcGeographicModel; import com.yeejoin.amos.boot.module.jyjc.api.model.*;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcOpeningApplicationRequstDto;
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.model.JyjcOpeningApplicationModel;
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.feign.WorkflowFeignClient; import com.yeejoin.amos.boot.module.jyjc.biz.feign.WorkflowFeignClient;
import com.yeejoin.amos.boot.module.jyjc.biz.service.TaskModelServiceImpl;
import com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseUnitLicenceDto; import com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseUnitLicenceDto;
import com.yeejoin.amos.boot.module.ymt.api.dto.TzsUserInfoDto; import com.yeejoin.amos.boot.module.ymt.api.dto.TzsUserInfoDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo;
...@@ -38,9 +38,7 @@ import com.yeejoin.amos.component.feign.utils.FeignUtil; ...@@ -38,9 +38,7 @@ import com.yeejoin.amos.component.feign.utils.FeignUtil;
import com.yeejoin.amos.feign.privilege.Privilege; import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model; import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.Workflow; import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO; import com.yeejoin.amos.feign.workflow.model.*;
import com.yeejoin.amos.feign.workflow.model.AjaxResult;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -109,95 +107,105 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -109,95 +107,105 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
private WorkflowHelper workflowHelper; private WorkflowHelper workflowHelper;
@Autowired @Autowired
private WorkflowFeignClient workflowFeignClient; private WorkflowFeignClient workflowFeignClient;
@Autowired
CmWorkflowServiceImpl cmWorkflowService;
@Autowired
TaskModelServiceImpl commonServiceImpl;
@Transactional(rollbackFor = {Exception.class, BaseException.class}) @Transactional(rollbackFor = {Exception.class, BaseException.class})
public JyjcOpeningApplicationModel saveOrUpdateModel(JyjcOpeningApplicationModel model, Boolean enableStartFlow) { public JyjcOpeningApplicationModel saveOrUpdateModel(JyjcOpeningApplicationModel model, Boolean enableStartFlow) {
boolean isUpdate = false; boolean isUpdate = false;
String instanceId = null; String instanceId = null;
JyjcOpeningApplication entity = null; JyjcOpeningApplication entity = null;
try { if (model.getSequenceNbr() != null) {
if (model.getSequenceNbr() != null) { entity = jyjcOpeningApplicationMapper.selectById(model.getSequenceNbr());
entity = jyjcOpeningApplicationMapper.selectById(model.getSequenceNbr()); if (entity != null) {
if (entity != null) { instanceId = entity.getWorkflowProstanceId();
instanceId = entity.getWorkflowProstanceId(); isUpdate = true;
isUpdate = true;
}
} }
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); }
if (enableStartFlow) { ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if (StringUtils.isBlank(instanceId)) { if (enableStartFlow) {
// 未开启过工作流则进行开启 startProcess if (StringUtils.isBlank(instanceId)) {
instanceId = startFlow("1"); // 未开启过工作流则进行开启 startProcess
} ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
model.setStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode() + ""); ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
// model.setStatusName(FlowStatusEnum.TO_BE_PROCESSED.getName()); ArrayList<ActWorkflowStartDTO> list = new ArrayList<>();
model.setApplyTime(new Date()); dto.setProcessDefinitionKey(processDefinitionKey);
model.setWorkflowProstanceId(instanceId); dto.setBusinessKey("1");
// 默认自动执行第一步 dto.setCompleteFirstTask(Boolean.TRUE);
execueFlowNoBusiness(MapBuilder.<String, Object>create().put("op", "提交").put("instanceId", instanceId).put("comments", "").build()); // 接受机构
// 查询下节点任务 // dto.setNextExecuteUserCompanyCode(jgUseRegistration.getReceiveCompanyCode());
Map<String, Object> nextNodeInfo = workflowHelper.getNextWorkflowNode(instanceId); list.add(dto);
String role = (String) nextNodeInfo.get("role"); actWorkflowBatchDTO.setProcess(list);
String taskName = (String) nextNodeInfo.get("taskName"); List<ProcessTaskDTO> processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO);
model.setNextExecuteIds(role); List<WorkflowResultDto> resultDto = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS);
model.setPromoter(reginParams.getUserModel().getUserId()); if (!ObjectUtils.isEmpty(resultDto) && !ObjectUtils.isEmpty(resultDto.get(0))) {
if (!org.springframework.util.ObjectUtils.isEmpty(model.getWorkflowRole())) { WorkflowResultDto workflowResultDto = resultDto.get(0);
model.setWorkflowRole(model.getWorkflowRole() + "," + role); model.setWorkflowProstanceId(workflowResultDto.getInstanceId());
} else { model.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds());
model.setWorkflowRole(role); model.setNextTaskId(workflowResultDto.getNextTaskId());
} model.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
String json = null;
try {
json = IOUtils.toString(bizTypeInfo.getInputStream(), java.lang.String.valueOf(StandardCharsets.UTF_8));
} catch (IOException e) {
e.printStackTrace();
}
List<Map> list = parseArray(json, Map.class);
String url = null;
for (Map map : list) {
if (map.get("type").equals("opening")&& "look".equals(map.get("pageType"))){
url = map.get("url").toString();
}
} }
Map<String, Object> userOrgRoleMap = FeignUtil.remoteCall(() -> Privilege.userOrgRoleClient.getme());
List<String> userOrgRoleList = (List<String>) userOrgRoleMap.get("roleId");
String roleIds = String.join(",", userOrgRoleList);
commonservice.buildTaskModel(MapBuilder.<String, Object>create().put("instanceId", model.getWorkflowProstanceId()).put("startDate",new Date())
.put("agencyCode",reginParams.getUserModel().getAgencyCode()).put("userId",reginParams.getUserModel().getUserId()).put("startUser",reginParams.getUserModel().getUserId()).put("startUserId",reginParams.getUserModel().getUserId())
.put("taskStatus",FlowStatusEnum.TO_BE_PROCESSED.getCode()).put("taskStatusLabel",FlowStatusEnum.TO_BE_PROCESSED.getName()).put("taskName",taskName).put("taskType", "opening").put("taskTypeLabel", "检验业务").put("taskContent","")
.put("taskTitle",reginParams.getUserModel().getUserName()+"发起了"+taskName).put("taskDesc","").put("taskCode",model.getApplicationSeq())
.put("extras",JSON.toJSONString(model)).put("createUserId",reginParams.getUserModel().getUserName()).put("startUserId",reginParams.getUserModel().getUserId())
.put("routePath",url.replace("{sequenceNbr}",String.valueOf(model.getSequenceNbr())).replace("{userId}",reginParams.getUserModel().getUserId()).replace("{roleIds}",roleIds))
.build());
} else { } else {
// 只有第一次改为待提交 // 存在流程,执行
if (entity == null) { TaskResultDTO dto = new TaskResultDTO();
model.setStatus(FlowStatusEnum.TO_BE_SUBMITTED.getCode() + ""); dto.setResultCode("approvalStatus");
// model.setStatusName(FlowStatusEnum.TO_BE_SUBMITTED.getName()); dto.setTaskId(model.getNextTaskId());
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", "提交");
dto.setVariable(map);
ProcessTaskDTO complete = cmWorkflowService.complete(model.getNextTaskId(), dto);
ArrayList<ProcessTaskDTO> processTaskDTOS = new ArrayList<>();
processTaskDTOS.add(complete);
List<WorkflowResultDto> resultDto = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS);
if (!ObjectUtils.isEmpty(resultDto) && !ObjectUtils.isEmpty(resultDto.get(0))) {
WorkflowResultDto workflowResult = resultDto.get(0);
model.setWorkflowProstanceId(workflowResult.getInstanceId());
model.setNextExecuteIds(workflowResult.getNextExecutorRoleIds());
model.setNextTaskId(workflowResult.getNextTaskId());
model.setNextExecuteUserIds(workflowResult.getNextExecutorUserIds());
} }
} }
if (!isUpdate) { model.setStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode() + "");
CompanyBo companyBo = commonserviceImpl.getReginParamsOfCurrentUser().getCompany(); model.setApplyTime(new Date());
model.setUnitCode(companyBo.getCompanyCode()); } else {
model.setUnitCodeName(companyBo.getCompanyName()); // 只有第一次改为待提交
// ResponseModel<Map<String, Object>> result = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.JY.getCode(), 1); if (entity == null) {
List<String> codes = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.JY.getCode(), 1).getResult(); model.setStatus(FlowStatusEnum.TO_BE_SUBMITTED.getCode() + "");
//List<String> codes = createCodeService.createApplicationFormCode(ApplicationFormTypeEnum.JY.getCode(), 1);
model.setApplicationSeq(codes.get(0));
model.setCreateUserId(reginParams.getUserModel().getUserId());
model = this.createWithModel(model);
return model;
} else {
return this.updateWithModel(model);
} }
} catch (Exception e) {
log.error("saveModel: model={} error", model, e);
throw new BaseException(e.getMessage());
} }
if (!isUpdate) {
CompanyBo companyBo = commonserviceImpl.getReginParamsOfCurrentUser().getCompany();
model.setUnitCode(companyBo.getCompanyCode());
model.setUnitCodeName(companyBo.getCompanyName());
List<String> codes = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.JY.getCode(), 1).getResult();
model.setApplicationSeq(codes.get(0));
model.setCreateUserId(reginParams.getUserModel().getUserId());
model = this.createWithModel(model);
// 暂存生成代办逻辑
ArrayList<TaskModelDto> list = new ArrayList<>();
TaskModelDto dto = new TaskModelDto();
TaskMessageDto taskMessageDto = new TaskMessageDto();
BeanUtil.copyProperties(model, taskMessageDto);
// 数据参数
dto.setModel(taskMessageDto);
// 摘要
dto.setTaskContent(String.format("检验检测业务开通办理,【申请单号:%s】", model.getApplicationSeq()));
// 申请单号
dto.setTaskCode(model.getApplicationSeq());
// 业务类型
dto.setTaskType(String.valueOf(BizTypeEnum.BUSINESS_OPEN.getCode()));
// 业务主键
dto.setRelationId(String.valueOf(model.getSequenceNbr()));
dto.setNextExecuteUser("");
list.add(dto);
commonServiceImpl.buildTaskModel(list);
return model;
} else {
return this.updateWithModel(model);
}
} }
@Transactional(rollbackFor = {Exception.class, BaseException.class}) @Transactional(rollbackFor = {Exception.class, BaseException.class})
...@@ -314,36 +322,42 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -314,36 +322,42 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
return this.queryForList("", false); return this.queryForList("", false);
} }
public Page<JyjcOpeningApplicationModel> queryForJyjcOpeningApplicationPage(Page<JyjcOpeningApplication> page, JyjcOpeningApplicationRequstDto jyjcOpeningApplicationRequstDto) { public Page<JyjcOpeningApplicationModel> queryForJyjcOpeningApplicationPage(Page<JyjcOpeningApplication> page, JyjcOpeningApplicationRequstDto dto) {
ReginParams reginParams = commonserviceImpl.getReginParamsOfCurrentUser();
String level = reginParams.getCompany().getLevel();
if (BaseController.COMPANY_TYPE_COMPANY.equals(level)) {
dto.setType("enterprise");
dto.setUnitCode(reginParams.getCompany().getCompanyCode());
} else {
dto.setType("supervision");
}
String applyStartTime = ""; String applyStartTime = "";
String applyEndTime = ""; String applyEndTime = "";
if (ObjectUtils.isNotEmpty(jyjcOpeningApplicationRequstDto.getApplyTime())) { if (ObjectUtils.isNotEmpty(dto.getApplyTime())) {
String date = jyjcOpeningApplicationRequstDto.getApplyTime(); String date = dto.getApplyTime();
applyStartTime = date + " 00:00:00"; applyStartTime = date + " 00:00:00";
applyEndTime = date + " 23:59:59"; applyEndTime = date + " 23:59:59";
} }
// 设置为监管端 return jyjcOpeningApplicationMapper.selectJyjcOpeningApplicationList(page, dto, applyStartTime, applyEndTime);
jyjcOpeningApplicationRequstDto.setType("supervision");
return jyjcOpeningApplicationMapper.selectJyjcOpeningApplicationList(page, jyjcOpeningApplicationRequstDto, applyStartTime, applyEndTime);
} }
public Page<JyjcOpeningApplicationModel> querypageForCompany(Page<JyjcOpeningApplication> page, JyjcOpeningApplicationRequstDto jyjcOpeningApplicationRequstDto) { // public Page<JyjcOpeningApplicationModel> querypageForCompany(Page<JyjcOpeningApplication> page, JyjcOpeningApplicationRequstDto jyjcOpeningApplicationRequstDto) {
//根据申请单中的单位信息对于列表数据进行过滤 // //根据申请单中的单位信息对于列表数据进行过滤
CompanyBo companyBo = commonserviceImpl.getReginParamsOfCurrentUser().getCompany(); // CompanyBo companyBo = commonserviceImpl.getReginParamsOfCurrentUser().getCompany();
// if (companyBo.getLevel().equals("company")) { //// if (companyBo.getLevel().equals("company")) {
jyjcOpeningApplicationRequstDto.setUnitCode(companyBo.getCompanyCode()); // jyjcOpeningApplicationRequstDto.setUnitCode(companyBo.getCompanyCode());
//// }
//
// String applyStartTime = "";
// String applyEndTime = "";
// if (ObjectUtils.isNotEmpty(jyjcOpeningApplicationRequstDto.getApplyTime())) {
// String date = jyjcOpeningApplicationRequstDto.getApplyTime();
// applyStartTime = date + " 00:00:00";
// applyEndTime = date + " 23:59:59";
// } // }
// jyjcOpeningApplicationRequstDto.setType("enterprise");
String applyStartTime = ""; // return jyjcOpeningApplicationMapper.selectJyjcOpeningApplicationList(page, jyjcOpeningApplicationRequstDto, applyStartTime, applyEndTime);
String applyEndTime = ""; // }
if (ObjectUtils.isNotEmpty(jyjcOpeningApplicationRequstDto.getApplyTime())) {
String date = jyjcOpeningApplicationRequstDto.getApplyTime();
applyStartTime = date + " 00:00:00";
applyEndTime = date + " 23:59:59";
}
jyjcOpeningApplicationRequstDto.setType("enterprise");
return jyjcOpeningApplicationMapper.selectJyjcOpeningApplicationList(page, jyjcOpeningApplicationRequstDto, applyStartTime, applyEndTime);
}
/** /**
...@@ -430,31 +444,31 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -430,31 +444,31 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
return jyjcOpeningApplicationModel; return jyjcOpeningApplicationModel;
} }
public String startFlow(String businessKey) throws Exception { // public String startFlow(String businessKey) {
// 重新开启工作流 // // 重新开启工作流
ActWorkflowStartDTO dto = new ActWorkflowStartDTO(); // ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(processDefinitionKey); // dto.setProcessDefinitionKey(processDefinitionKey);
dto.setBusinessKey(StringUtils.defaultString(businessKey, "1")); // dto.setBusinessKey(StringUtils.defaultString(businessKey, "1"));
// dto.setCompleteFirstTask(true); // // dto.setCompleteFirstTask(true);
// FeignClientResult ajaxResult = Workflow.taskV2Client.startByVariable(dto); // // FeignClientResult ajaxResult = Workflow.taskV2Client.startByVariable(dto);
// // //
// if (log.isDebugEnabled()) { // // if (log.isDebugEnabled()) {
// log.debug("开启工作流结果:{}", ajaxResult); // // log.debug("开启工作流结果:{}", ajaxResult);
// } // // }
// if (ajaxResult == null || 200 != ajaxResult.getStatus()) { // // if (ajaxResult == null || 200 != ajaxResult.getStatus()) {
// throw new BaseException("开启工作流错误"); // // throw new BaseException("开启工作流错误");
// } // // }
// return ((Map) ajaxResult.getResult()).get("id").toString(); // // return ((Map) ajaxResult.getResult()).get("id").toString();
// V1 // // V1
AjaxResult ajaxResult = Workflow.taskClient.startByVariable(dto); // AjaxResult ajaxResult = Workflow.taskClient.startByVariable(dto);
if (log.isDebugEnabled()) { // if (log.isDebugEnabled()) {
log.debug("开启工作流结果:{}", ajaxResult); // log.debug("开启工作流结果:{}", ajaxResult);
} // }
if (ajaxResult == null || (ajaxResult.get(AjaxResult.CODE_TAG) != null && !"200".equals(ajaxResult.get(AjaxResult.CODE_TAG).toString()))) { // if (ajaxResult == null || (ajaxResult.get(AjaxResult.CODE_TAG) != null && !"200".equals(ajaxResult.get(AjaxResult.CODE_TAG).toString()))) {
throw new BaseException("开启工作流错误"); // throw new BaseException("开启工作流错误");
} // }
return ((Map) ajaxResult.get("data")).get("id").toString(); // return ((Map) ajaxResult.get("data")).get("id").toString();
} // }
/** /**
......
...@@ -23,5 +23,17 @@ ...@@ -23,5 +23,17 @@
"type":"detection", "type":"detection",
"pageType": "edit", "pageType": "edit",
"url": "/mixuap?appId=1742358052905971713&id=1736733779709423618&roleIds={roleIds}&userId={userId}&pageType=edit" "url": "/mixuap?appId=1742358052905971713&id=1736733779709423618&roleIds={roleIds}&userId={userId}&pageType=edit"
} }, {
"type":"businessOpen",
"pageType": "draft",
"url": "/mixuap?appId=1742358052905971713&id=1734569644833927170&roleIds={roleIds}&userId={userId}&pageType=edit"
}, {
"type":"businessOpen",
"pageType": "look",
"url": "/mixuap?appId=1742358052905971713&id=1735201757841092609&roleIds={roleIds}&userId={userId}&pageType=edit"
}, {
"type":"businessOpen",
"pageType": "edit",
"url": "/mixuap?appId=1742358052905971713&id=1735201757841092609&roleIds={roleIds}&userId={userId}&pageType=edit"
}
] ]
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment