Commit 55341fd3 authored by suhuiguang's avatar suhuiguang

1.检验检测新需求开发

parent 050956d8
...@@ -141,4 +141,10 @@ public class JyjcOpeningApplication extends BaseEntity { ...@@ -141,4 +141,10 @@ public class JyjcOpeningApplication extends BaseEntity {
*/ */
@TableField(value = "docking_unit_code") @TableField(value = "docking_unit_code")
private String dockingUnitCode; private String dockingUnitCode;
/**
* 开通的业务类型:jc-检测;jy-检验
*/
@TableField(value = "open_biz_type")
private String openBizType;
} }
package com.yeejoin.amos.boot.module.jyjc.api.enums;
import lombok.Getter;
/**
* @author Administrator
*/
@Getter
public enum OpenBizTypeEnum {
/**
* 业务类型
*/
JY("jy","检验业务"),
JC("jc","检测业务");
private String code;
private String name;
private OpenBizTypeEnum(String code,String name){
this.code = code;
this.name = name;
}
}
...@@ -132,4 +132,7 @@ public class JyjcOpeningApplicationModel extends BaseModel { ...@@ -132,4 +132,7 @@ public class JyjcOpeningApplicationModel extends BaseModel {
@ApiModelProperty("对接单位code") @ApiModelProperty("对接单位code")
private String dockingUnitCode; private String dockingUnitCode;
@ApiModelProperty("开通的业务类型")
private String openBizType;
} }
...@@ -6,8 +6,9 @@ ...@@ -6,8 +6,9 @@
<select id="selectJyjcOpeningApplicationList" <select id="selectJyjcOpeningApplicationList"
resultType="com.yeejoin.amos.boot.module.jyjc.api.model.JyjcOpeningApplicationModel"> resultType="com.yeejoin.amos.boot.module.jyjc.api.model.JyjcOpeningApplicationModel">
select select
a.*,cdd2.NAME as status_name a.*,cdd2.NAME as status_name
from tz_jyjc_opening_application a from
tz_jyjc_opening_application a
LEFT JOIN cb_data_dictionary cdd2 ON cdd2.code = a.status and cdd2.type = 'JYLCSQ' LEFT JOIN cb_data_dictionary cdd2 ON cdd2.code = a.status and cdd2.type = 'JYLCSQ'
<where> <where>
<if test="jyjcOpeningApplicationRequstDto.applicationSeq != '' and jyjcOpeningApplicationRequstDto.applicationSeq != null"> <if test="jyjcOpeningApplicationRequstDto.applicationSeq != '' and jyjcOpeningApplicationRequstDto.applicationSeq != null">
...@@ -26,12 +27,11 @@ ...@@ -26,12 +27,11 @@
and a.apply_time &gt;=#{applyStartTime} and a.apply_time &gt;=#{applyStartTime}
</if> </if>
<if test="jyjcOpeningApplicationRequstDto.type == 'supervision'"> <if test="jyjcOpeningApplicationRequstDto.type == 'supervision'">
and a.status not in ('6610') and (a.status not in ('6610') OR a.transfer_to_user_ids LIKE concat ('%', #{currentUserId}, '%' ))
</if> </if>
<if test="jyjcOpeningApplicationRequstDto.unitCode != '' and jyjcOpeningApplicationRequstDto.unitCode != null"> <if test="jyjcOpeningApplicationRequstDto.unitCode != '' and jyjcOpeningApplicationRequstDto.unitCode != null">
and a.unit_code = #{jyjcOpeningApplicationRequstDto.unitCode} and (a.unit_code = #{jyjcOpeningApplicationRequstDto.unitCode} OR a.transfer_to_user_ids LIKE concat ( '%', #{currentUserId}, '%' ) )
</if> </if>
OR (a.transfer_to_user_ids LIKE concat ( '%', #{currentUserId}, '%' ) )
</where> </where>
order by sequence_nbr desc order by sequence_nbr desc
......
...@@ -3,41 +3,37 @@ package com.yeejoin.amos.boot.module.jyjc.biz.controller; ...@@ -3,41 +3,37 @@ 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.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
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.JyjcOpeningApplicationRequstDto; import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcOpeningApplicationRequstDto;
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.service.impl.JyjcOpeningApplicationServiceImpl;
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.entity.TzBaseEnterpriseInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.feign.privilege.Privilege; import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.RoleModel; import com.yeejoin.amos.feign.privilege.model.RoleModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.*;
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 com.yeejoin.amos.boot.module.jyjc.biz.service.impl.JyjcOpeningApplicationServiceImpl;
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.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; 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;
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.jyjc.api.model.JyjcOpeningApplicationModel;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import javax.servlet.http.HttpServletRequest;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
*
* @author system_generator * @author system_generator
* @date 2023-12-13 * @date 2023-12-13
*/ */
...@@ -55,64 +51,65 @@ public class JyjcOpeningApplicationController extends BaseController { ...@@ -55,64 +51,65 @@ public class JyjcOpeningApplicationController extends BaseController {
* *
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save") @PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增") @ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<JyjcOpeningApplicationModel> save(@RequestBody JSONObject model) { public ResponseModel<JyjcOpeningApplicationModel> save(@RequestBody JSONObject model) {
JyjcOpeningApplicationModel jyjcOpeningApplicationModel = new JyjcOpeningApplicationModel(); JyjcOpeningApplicationModel jyjcOpeningApplicationModel = new JyjcOpeningApplicationModel();
// 兼容工作台暂存逻辑、编辑时报错逻辑 // 兼容工作台暂存逻辑、编辑时报错逻辑
if (model.containsKey("applyInfo")) { // 工作台暂存逻辑 if (model.containsKey("applyInfo")) { // 工作台暂存逻辑
BeanUtil.copyProperties(model.get("applyInfo"), jyjcOpeningApplicationModel); BeanUtil.copyProperties(model.get("applyInfo"), jyjcOpeningApplicationModel);
} else { // 详情保存逻辑 } else { // 详情保存逻辑
BeanUtil.copyProperties(model, jyjcOpeningApplicationModel); BeanUtil.copyProperties(model, jyjcOpeningApplicationModel);
} }
return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.saveOrUpdateModel(jyjcOpeningApplicationModel, false)); return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.saveOrUpdateModel(jyjcOpeningApplicationModel, false));
} }
/**
/**
* 根据sequenceNbr更新 * 根据sequenceNbr更新
* *
* @param sequenceNbr 主键 * @param sequenceNbr 主键
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}") @PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "更新", notes = "更新") @ApiOperation(httpMethod = "PUT", value = "更新", notes = "更新")
public ResponseModel<JyjcOpeningApplicationModel> updateBySequenceNbrJyjcOpeningApplication(@RequestBody JyjcOpeningApplicationModel model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) { public ResponseModel<JyjcOpeningApplicationModel> updateBySequenceNbrJyjcOpeningApplication(@RequestBody JyjcOpeningApplicationModel model, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr); model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.saveOrUpdateModel(model,false)); return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.saveOrUpdateModel(model, false));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/submit") @PutMapping(value = "/submit")
@ApiOperation(httpMethod = "PUT", value = "保存并提交", notes = "保存并提交") @ApiOperation(httpMethod = "PUT", value = "保存并提交", notes = "保存并提交")
public ResponseModel<List<JyjcOpeningApplicationModel>> updateBySequenceNbrAndStartFlow(@RequestBody JSONObject jsonObject, @RequestParam(value = "sequenceNbr", required = false) Long sequenceNbr) { public ResponseModel<List<JyjcOpeningApplicationModel>> updateBySequenceNbrAndStartFlow(@RequestBody JSONObject jsonObject, @RequestParam(value = "sequenceNbr", required = false) Long sequenceNbr) {
JyjcOpeningApplicationModel model = new JyjcOpeningApplicationModel(); JyjcOpeningApplicationModel model = new JyjcOpeningApplicationModel();
if (jsonObject.containsKey("applyInfo")) { if (jsonObject.containsKey("applyInfo")) {
BeanUtil.copyProperties(jsonObject.get("applyInfo"), model); BeanUtil.copyProperties(jsonObject.get("applyInfo"), model);
} else { } else {
BeanUtil.copyProperties(jsonObject, model); BeanUtil.copyProperties(jsonObject, model);
} }
model.setSequenceNbr(sequenceNbr); model.setSequenceNbr(sequenceNbr);
if (sequenceNbr != null) { if (sequenceNbr != null) {
JyjcOpeningApplicationModel jyjcOpeningApplicationModel = jyjcOpeningApplicationServiceImpl.queryDetail(sequenceNbr); JyjcOpeningApplicationModel jyjcOpeningApplicationModel = jyjcOpeningApplicationServiceImpl.queryDetail(sequenceNbr);
if (jyjcOpeningApplicationModel == null || ValidationUtil.isEmpty(jyjcOpeningApplicationModel.getBaseUnitLicences()) || ValidationUtil.isEmpty(jyjcOpeningApplicationModel.getUserInfos())) { if (jyjcOpeningApplicationModel == null || ValidationUtil.isEmpty(jyjcOpeningApplicationModel.getBaseUnitLicences()) || ValidationUtil.isEmpty(jyjcOpeningApplicationModel.getUserInfos())) {
throw new BadRequest("企业资质信息和检验人员信息为空,无法提交!"); throw new BadRequest("企业资质信息和检验人员信息为空,无法提交!");
} }
} }
JyjcOpeningApplicationModel data = jyjcOpeningApplicationServiceImpl.saveOrUpdateModel(model, true); JyjcOpeningApplicationModel data = jyjcOpeningApplicationServiceImpl.saveOrUpdateModel(model, true);
return ResponseHelper.buildResponse(Collections.singletonList(data)); return ResponseHelper.buildResponse(Collections.singletonList(data));
} }
@Deprecated @Deprecated
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/startFlow/{sequenceNbr}") @PostMapping(value = "/startFlow/{sequenceNbr}")
@ApiOperation(httpMethod = "POST", value = "重新提交开通申请", notes = "重新提交开通申请") @ApiOperation(httpMethod = "POST", value = "重新提交开通申请", notes = "重新提交开通申请")
public ResponseModel<JyjcOpeningApplicationModel> resubmitJyjcOpeningApplication(@RequestBody JyjcOpeningApplicationModel model, @PathVariable(value = "sequenceNbr") Long sequenceNbr) { public ResponseModel<JyjcOpeningApplicationModel> resubmitJyjcOpeningApplication(@RequestBody JyjcOpeningApplicationModel model, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr); model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.resubmit(model)); return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.resubmit(model));
} }
/** /**
* 根据sequenceNbr删除 * 根据sequenceNbr删除
* *
* @param sequenceNbr 主键 * @param sequenceNbr 主键
...@@ -121,204 +118,176 @@ public class JyjcOpeningApplicationController extends BaseController { ...@@ -121,204 +118,176 @@ public class JyjcOpeningApplicationController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}") @DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除") @ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){ public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
// JyjcOpeningApplication jyjcOpeningApplication = jyjcOpeningApplicationServiceImpl.getById(sequenceNbr);
// List<String> status = Arrays.asList(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()), String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode()));
// if(status.contains(jyjcOpeningApplication.getStatus())) {
// throw new BadRequest("除撤回跟驳回的流程之外其余流程不可删除!");
// }
return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.removeById(sequenceNbr)); return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.removeById(sequenceNbr));
} }
/** /**
* 根据sequenceNbr删除 * 根据sequenceNbr删除
* *
* @param sequenceNbrList 主键列表 * @param sequenceNbrList 主键列表
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "batchDelete") @DeleteMapping(value = "batchDelete")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除") @ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除")
public ResponseModel<Boolean> deleteBySequenceNbr(@RequestParam(value = "sequenceNbrList") List<Long> sequenceNbrList){ public ResponseModel<Boolean> deleteBySequenceNbr(@RequestParam(value = "sequenceNbrList") List<Long> sequenceNbrList) {
return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.deleteBatchByIds(sequenceNbrList)); return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.deleteBatchByIds(sequenceNbrList));
} }
/** /**
* 根据sequenceNbr查询 * 根据sequenceNbr查询
* *
* @param sequenceNbr 主键 * @param sequenceNbr 主键
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/detail") @GetMapping(value = "/detail")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个") @ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<JyjcOpeningApplicationModel> selectOne(@RequestParam(value = "sequenceNbr", required = false) Long sequenceNbr) { public ResponseModel<JyjcOpeningApplicationModel> selectOne(@RequestParam(value = "sequenceNbr", required = false) Long sequenceNbr) {
return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.queryDetail(sequenceNbr)); return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.queryDetail(sequenceNbr));
} }
/** /**
* 列表分页查询 * 列表分页查询
* *
* @param current 当前页 * @param current 当前页
* @param current 每页大小 * @param current 每页大小
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/page") @PostMapping(value = "/page")
@ApiOperation(httpMethod = "POST",value = "分页查询", notes = "分页查询") @ApiOperation(httpMethod = "POST", value = "分页查询", notes = "分页查询")
public ResponseModel<Page<JyjcOpeningApplicationModel>> queryForPage(@RequestParam(value = "current") int current,@RequestParam public ResponseModel<Page<JyjcOpeningApplicationModel>> queryForPage(@RequestParam(value = "current") int current, @RequestParam
(value = "size") int size,@RequestBody JyjcOpeningApplicationRequstDto jyjcOpeningApplicationRequstDto) { (value = "size") int size, @RequestBody 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.queryForJyjcOpeningApplicationPage(page,jyjcOpeningApplicationRequstDto)); return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.queryForJyjcOpeningApplicationPage(page, jyjcOpeningApplicationRequstDto));
} }
// /**
// * 列表分页查询
// *
// * @param current 当前页
// * @param current 每页大小
// * @return
// */
// @TycloudOperation(ApiLevel = UserType.AGENCY)
// @GetMapping(value = "/pageForCompany")
// @ApiOperation(httpMethod = "GET",value = "分页查询-公司", notes = "分页查询-公司")
// public ResponseModel<Page<JyjcOpeningApplicationModel>> querypageForCompany(@RequestParam(value = "current") int current, @RequestParam
// (value = "size") int size, JyjcOpeningApplicationRequstDto jyjcOpeningApplicationRequstDto) {
// Page<JyjcOpeningApplication> page = new Page<JyjcOpeningApplication>();
// page.setCurrent(current);
// page.setSize(size);
// return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.querypageForCompany(page,jyjcOpeningApplicationRequstDto));
// }
/** /**
* 列表全部数据查询 * 列表全部数据查询
* *
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "列表全部数据查询", notes = "列表全部数据查询") @ApiOperation(httpMethod = "GET", value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public ResponseModel<List<JyjcOpeningApplicationModel>> selectForList() { public ResponseModel<List<JyjcOpeningApplicationModel>> selectForList() {
return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.queryForJyjcOpeningApplicationList()); return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.queryForJyjcOpeningApplicationList());
} }
/** /**
* 列表全部数据查询 * 列表全部数据查询
* *
* @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>> execueFlow(@RequestBody Map<String, Object> params) {
jyjcOpeningApplicationServiceImpl.execueFlow(params); jyjcOpeningApplicationServiceImpl.executeFlow(params);
HashMap<String,String> result =new HashMap<>(); HashMap<String, String> result = new HashMap<>();
result.put("result","success"); result.put("result", "success");
return ResponseHelper.buildResponse(result); return ResponseHelper.buildResponse(result);
} }
/** /**
* 列表全部数据查询 * 列表全部数据查询
* *
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "撤回业务开通申请", notes = "撤回业务开通申请") @ApiOperation(httpMethod = "GET", value = "撤回业务开通申请", notes = "撤回业务开通申请")
@GetMapping(value = "/rollBackFlow") @GetMapping(value = "/rollBackFlow")
public ResponseModel<Object> overflow(@RequestParam("sequenceNbr") String sequenceNbr) { public ResponseModel<Object> overflow(@RequestParam("sequenceNbr") String sequenceNbr) {
return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.stopFlow(sequenceNbr)); return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.stopFlow(sequenceNbr));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getUserRole") @GetMapping(value = "/getUserRole")
@ApiOperation(httpMethod = "GET", value = "获取用户所属组", notes = "获取用户所属组") @ApiOperation(httpMethod = "GET", value = "获取用户所属组", notes = "获取用户所属组")
public ResponseModel<List<Long>> getUserRole() { public ResponseModel<List<Long>> getUserRole() {
AgencyUserModel userModel = Privilege.agencyUserClient.queryByUserId(RequestContext.getExeUserId()).getResult(); AgencyUserModel userModel = Privilege.agencyUserClient.queryByUserId(RequestContext.getExeUserId()).getResult();
if (userModel == null) { if (userModel == null) {
throw new BaseException("请先登陆!"); throw new BaseException("请先登陆!");
} }
List<RoleModel> roleModels = userModel.getOrgRoles() List<RoleModel> roleModels = userModel.getOrgRoles()
.values().stream().flatMap(Collection::stream).collect(Collectors.toList()); .values().stream().flatMap(Collection::stream).collect(Collectors.toList());
List<Long> roleIds = roleModels.stream().map(RoleModel::getSequenceNbr).distinct().collect(Collectors.toList()); List<Long> roleIds = roleModels.stream().map(RoleModel::getSequenceNbr).distinct().collect(Collectors.toList());
return ResponseHelper.buildResponse(roleIds); return ResponseHelper.buildResponse(roleIds);
} }
/** /**
* 废弃接口, 已替换成公共接口 * 废弃接口, 已替换成公共接口
* *
* * @param
* @param * @return {@link ResponseModel< List< Map< String Object>>>}
* @return {@link ResponseModel< List< Map< String Object>>>} * @throws
* @author yangyang * @author yangyang
* @throws */
*/ @Deprecated
@Deprecated @TycloudOperation(ApiLevel = UserType.AGENCY)
@TycloudOperation (ApiLevel = UserType.AGENCY) @ApiOperation(httpMethod = "GET", value = "办理状态枚举列表", notes = "办理状态枚举列表")
@ApiOperation (httpMethod = "GET", value = "办理状态枚举列表", notes = "办理状态枚举列表") @GetMapping(value = "/flow-status/list")
@GetMapping (value = "/flow-status/list") public ResponseModel<List<Map<String, Object>>> selectForFlowStatusList() {
public ResponseModel<List<Map<String, Object>>> selectForFlowStatusList() { return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.selectForFlowStatusList());
return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.selectForFlowStatusList()); }
}
/** /**
* 查询检验检测机构列表(基本信息及联系人)by 开通机构过滤 * 查询检验检测机构列表(基本信息及联系人)by 开通机构过滤
* *
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getInspectionUnitList") @GetMapping(value = "/getInspectionUnitList")
@ApiOperation(httpMethod = "GET", value = "查询检验检测机构列表(基本信息及联系人)", notes = "查询检验检测机构列表(基本信息及联系人)by 开通机构过滤") @ApiOperation(httpMethod = "GET", value = "查询检验检测机构列表(基本信息及联系人)", notes = "查询检验检测机构列表(基本信息及联系人)by 开通机构过滤")
public ResponseModel<List<TzBaseEnterpriseInfoDto>> getInspectionUnitList() { public ResponseModel<List<TzBaseEnterpriseInfoDto>> getInspectionUnitList() {
return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.getInspectionUnitList()); return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.getInspectionUnitList());
} }
/** /**
* 作废 * 作废
* *
* * @param
* @param * @return {@link ResponseModel< List< TzBaseEnterpriseInfoDto>>}
* @return {@link ResponseModel< List< TzBaseEnterpriseInfoDto>>} * @throws
* @author yangyang * @author yangyang
* @throws * @date 2023/12/22 16:13
* @date 2023/12/22 16:13 */
*/ @TycloudOperation(ApiLevel = UserType.AGENCY)
@TycloudOperation(ApiLevel = UserType.AGENCY) @PutMapping(value = "/discard")
@PutMapping(value = "/discard") @ApiOperation(httpMethod = "PUT", value = "作废", notes = "作废")
@ApiOperation(httpMethod = "PUT", value = "作废", notes = "作废") public ResponseModel<Boolean> doDiscard(@RequestBody Map<String, Object> params) {
public ResponseModel<Boolean> doDiscard(@RequestBody Map<String,Object> params) { String sequenceNbr = (String) params.get("sequenceNbr");
String sequenceNbr = (String) params.get("sequenceNbr"); String remark = (String) params.get("remark");
String remark = (String) params.get("remark"); return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.doDiscard(Long.parseLong(sequenceNbr), remark));
return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.doDiscard(Long.parseLong(sequenceNbr), remark)); }
}
/** /**
* 自动作废 * 自动作废
* *
* * @param
* @param * @return {@link ResponseModel< List< TzBaseEnterpriseInfo>>}
* @return {@link ResponseModel< List< TzBaseEnterpriseInfo>>} * @throws
* @author yangyang * @author yangyang
* @throws * @date 2023/12/22 16:13
* @date 2023/12/22 16:13 */
*/ @Scheduled(cron = "0 0 0 * * ?")
@Scheduled(cron = "0 0 0 * * ?") public void timingDiscard() {
public void timingDiscard() {
List<Long> longs = jyjcOpeningApplicationServiceImpl.selectOverdueData(); List<Long> longs = jyjcOpeningApplicationServiceImpl.selectOverdueData();
if (CollectionUtils.isNotEmpty(longs)){ if (CollectionUtils.isNotEmpty(longs)) {
for (Long aLong : longs) { for (Long aLong : longs) {
String remark = "到期作废"; String remark = "到期作废";
jyjcOpeningApplicationServiceImpl.doDiscard(aLong, remark); jyjcOpeningApplicationServiceImpl.doDiscard(aLong, remark);
} }
} }
} }
} }
...@@ -71,7 +71,7 @@ public class InspectionOrgRefreshListener extends EmqxListener { ...@@ -71,7 +71,7 @@ public class InspectionOrgRefreshListener extends EmqxListener {
@Value("${spring.application.name}") @Value("${spring.application.name}")
private String applicationName; private String applicationName;
private static final int REPEAT_TIME = 2; private static final int repeatTime = 2;
@Autowired @Autowired
RedisUtils redisUtils; RedisUtils redisUtils;
...@@ -100,10 +100,10 @@ public class InspectionOrgRefreshListener extends EmqxListener { ...@@ -100,10 +100,10 @@ public class InspectionOrgRefreshListener extends EmqxListener {
BizMessage bizMessage = BLOCKING_QUEUE.take(); BizMessage bizMessage = BLOCKING_QUEUE.take();
// 解决前端组件在属性变化时重复发送两次问题 // 解决前端组件在属性变化时重复发送两次问题
if(!redisUtils.hasKey(bizMessage.getTopic())){ if(!redisUtils.hasKey(bizMessage.getTopic())){
redisUtils.set(bizMessage.getTopic(),true, REPEAT_TIME); redisUtils.set(bizMessage.getTopic(),true, repeatTime);
processBizMessage(bizMessage); processBizMessage(bizMessage);
} else { } else {
log.warn("消息在{}秒内重复,", REPEAT_TIME); log.warn("消息在{}秒内重复,", repeatTime);
} }
} catch (Exception e) { } catch (Exception e) {
log.error("数据处理失败", e); log.error("数据处理失败", e);
......
...@@ -2,29 +2,32 @@ package com.yeejoin.amos.boot.module.jyjc.biz.service.impl; ...@@ -2,29 +2,32 @@ 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.map.MapBuilder; import cn.hutool.core.map.MapBuilder;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
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;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.enums.WorkFlowEnum; 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.DataDictionary;
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;
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.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.*; 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.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.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.dto.TzBaseUnitLicenceDto;
...@@ -34,39 +37,30 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.TzsUserInfo; ...@@ -34,39 +37,30 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.TzsUserInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; 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.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.component.feign.model.FeignClientResult;
import com.yeejoin.amos.component.feign.utils.FeignUtil;
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.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.*; import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import org.apache.commons.io.IOUtils; import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import org.apache.commons.lang3.ObjectUtils; import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
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.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean; import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; 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.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.alibaba.fastjson.JSON.parseArray;
/** /**
* 服务实现类 * 服务实现类
...@@ -91,29 +85,47 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -91,29 +85,47 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
@Value("${process-definition-key.jyjc.openapplication:}") @Value("${process-definition-key.jyjc.openapplication:}")
private String processDefinitionKey; private String processDefinitionKey;
@Value("${jyjc.user-post:6615}") @Value("${jy.user-post:6615}")
private String jyjcUserPost; private String jyUserPost;
@Value("${jy.cert.type.code:1233-1}")
private String jyCertTypeCode;
@Value("${jc.user-post:6615}")
private String jcUserPost;
@Value("${jc.cert.type.code:1233-2}")
private String jcCertTypeCode;
@Value("classpath:/json/bizTypeInfo.json") @Value("classpath:/json/bizTypeInfo.json")
private org.springframework.core.io.Resource bizTypeInfo; private org.springframework.core.io.Resource bizTypeInfo;
@Autowired @Autowired
private RedisUtils redisUtils; private RedisUtils redisUtils;
@Autowired @Autowired
private TzBaseEnterpriseInfoMapper enterpriseInfoMapper; private TzBaseEnterpriseInfoMapper enterpriseInfoMapper;
@Autowired @Autowired
private TzsUserInfoMapper userInfoMapper; private TzsUserInfoMapper userInfoMapper;
@Autowired @Autowired
CommonserviceImpl commonservice; CommonserviceImpl commonservice;
@Autowired @Autowired
private WorkflowFeignClient workflowFeignClient;
@Autowired
CmWorkflowServiceImpl cmWorkflowService; CmWorkflowServiceImpl cmWorkflowService;
@Autowired @Autowired
TaskModelServiceImpl commonServiceImpl; TaskModelServiceImpl commonServiceImpl;
@Autowired
DataDictionaryMapper dataDictionaryMapper;
private final String INDUSTRY_SUPERVISOR_DICT_TYPE = "HYZGBM";
@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;
...@@ -149,7 +161,6 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -149,7 +161,6 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
dto.setBusinessKey("1"); dto.setBusinessKey("1");
dto.setCompleteFirstTask(Boolean.TRUE); dto.setCompleteFirstTask(Boolean.TRUE);
// 接受机构 // 接受机构
// dto.setNextExecuteUserCompanyCode(jgUseRegistration.getReceiveCompanyCode());
list.add(dto); list.add(dto);
actWorkflowBatchDTO.setProcess(list); actWorkflowBatchDTO.setProcess(list);
List<ProcessTaskDTO> processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO); List<ProcessTaskDTO> processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO);
...@@ -166,31 +177,11 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -166,31 +177,11 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
} else { } else {
// 存在流程,执行 // 存在流程,执行
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
map.put("sequenceNbr",model.getSequenceNbr()); map.put("sequenceNbr", model.getSequenceNbr());
map.put("op", "0"); map.put("op", "0");
map.put("comments", "提交"); map.put("comments", "提交");
JyjcOpeningApplication jyjcOpeningApplication = execueFlow(map); JyjcOpeningApplication jyjcOpeningApplication = executeFlow(map);
model.setNextTaskId(jyjcOpeningApplication.getNextTaskId()); model.setNextTaskId(jyjcOpeningApplication.getNextTaskId());
// TaskResultDTO dto = new TaskResultDTO();
// dto.setResultCode("approvalStatus");
// 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());
// model.setPromoter(reginParams.getUserModel().getUserId());
// // 更新代办
// }
} }
} else { } else {
...@@ -218,86 +209,46 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -218,86 +209,46 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
} }
} }
model.setStatusName(FlowStatusEnum.getNameByType(Long.parseLong((model.getStatus())))); model.setStatusName(FlowStatusEnum.getNameByType(Long.parseLong((model.getStatus()))));
return this.updateWithModel(model); return this.updateWithModel(model);
} }
@Transactional(rollbackFor = {Exception.class, BaseException.class}) @Transactional(rollbackFor = {Exception.class, BaseException.class})
public JyjcOpeningApplicationModel resubmit(JyjcOpeningApplicationModel model) { public JyjcOpeningApplicationModel resubmit(JyjcOpeningApplicationModel model) {
model.setStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode() + ""); model.setStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode() + "");
// model.setStatusName(FlowStatusEnum.TO_BE_PROCESSED.getName());
model = this.updateWithModel(model); model = this.updateWithModel(model);
execueFlow(MapBuilder.<String, Object>create().put("op", "0").put("instanceId", model.getWorkflowProstanceId()).put("comments", "").build()); executeFlow(MapBuilder.<String, Object>create().put("op", "0").put("instanceId", model.getWorkflowProstanceId()).put("comments", "").build());
return model; return model;
} }
public void updateModelByInstanceId(Long sequenceNbr, String instanceId, String status, String role, Boolean rollBack) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
LambdaQueryWrapper<JyjcOpeningApplication> lambda = new QueryWrapper<JyjcOpeningApplication>().lambda();
lambda.eq(JyjcOpeningApplication::getSequenceNbr, sequenceNbr);
JyjcOpeningApplication entity = this.getBaseMapper().selectOne(lambda);
// JyjcOpeningApplication entity = this.lambdaQuery().eq(JyjcOpeningApplication::getWorkflowProstanceId, instanceId).one();
if (entity == null) {
return;
}
// JSONObject taskJson = getTask(instanceId);
// if (taskJson == null) {
// log.warn("流程=>{}查询不到或已结束", instanceId);
// return;
// }
// entity.setWorkflowRole(getWorkflowRoleGroups(taskJson));
// entity.setWorkflowActiveKey(taskJson.getString("taskDefinitionKey"));
entity.setNextExecuteIds(role);
entity.setPromoter(reginParams.getUserModel().getUserId());
if (!org.springframework.util.ObjectUtils.isEmpty(entity.getWorkflowRole())) {
entity.setWorkflowRole(entity.getWorkflowRole() + "," + role);
} else {
entity.setWorkflowRole(role);
}
entity.setStatus(status);
// entity.setStatusName(FlowStatusEnum.getNameByType(Long.parseLong(status)));
// region 更新其他的数据为已作废
if (String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode()).equals(status)) {
doDiscard(entity.getUnitCode(), entity.getSequenceNbr());
entity.setAcceptDate(new Date());
}
// endregion
this.updateById(entity);
if (rollBack) {
this.getBaseMapper().updatePromoter(entity.getSequenceNbr());
}
}
/** /**
* 完成的时候废弃其他已完成的申请单 * 完成的时候废弃其他已完成的申请单
* *
* * @param unitCode unitCode
* @param unitCode unitCode
* @param sequenceNbr sequenceNbr * @param sequenceNbr sequenceNbr
* @return {@link Boolean} * @param openBizType 按照单位及开通业务类型进进行作废
* @author yangyang
* @throws * @throws
* @author yangyang
* @date 2023/12/22 09:23 * @date 2023/12/22 09:23
*/ */
public Boolean doDiscard(String unitCode, Long sequenceNbr) { private void doDiscard(String unitCode, Long sequenceNbr, String openBizType) {
if (StringUtils.isBlank(unitCode) || sequenceNbr == null) {
return false;
}
List<Long> ids = this.lambdaQuery().select(JyjcOpeningApplication::getSequenceNbr) List<Long> ids = this.lambdaQuery().select(JyjcOpeningApplication::getSequenceNbr)
.eq(JyjcOpeningApplication::getUnitCode, unitCode) .eq(JyjcOpeningApplication::getUnitCode, unitCode)
.eq(JyjcOpeningApplication::getStatus, FlowStatusEnum.TO_BE_FINISHED.getCode()) .eq(JyjcOpeningApplication::getOpenBizType, openBizType)
.list().stream().filter(o -> o.getSequenceNbr().compareTo(sequenceNbr) != 0) .ne(JyjcOpeningApplication::getSequenceNbr, sequenceNbr)
.map(JyjcOpeningApplication::getSequenceNbr).collect(Collectors.toList()); .eq(JyjcOpeningApplication::getStatus, FlowStatusEnum.TO_BE_FINISHED.getCode())
.list().stream().filter(o -> !o.getSequenceNbr().equals(sequenceNbr))
.map(JyjcOpeningApplication::getSequenceNbr).collect(Collectors.toList());
if (ValidationUtil.isEmpty(ids)) { if (ValidationUtil.isEmpty(ids)) {
return false; return;
} }
UpdateWrapper<JyjcOpeningApplication> updateWrapper = new UpdateWrapper<>(); LambdaUpdateWrapper<JyjcOpeningApplication> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set("status", FlowStatusEnum.TO_BE_DISCARD.getCode()) updateWrapper.set(JyjcOpeningApplication::getStatus, FlowStatusEnum.TO_BE_DISCARD.getCode())
.set("status_name", FlowStatusEnum.TO_BE_DISCARD.getName()) .set(JyjcOpeningApplication::getStatusName, FlowStatusEnum.TO_BE_DISCARD.getName())
.set("remark", "到期作废") .set(JyjcOpeningApplication::getRemark, "到期作废")
.in("SEQUENCE_NBR", ids); .in(org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity::getSequenceNbr, ids);
return this.update(updateWrapper); this.update(updateWrapper);
} }
public Boolean doDiscard(Long sequenceNbr, String remark) { public Boolean doDiscard(Long sequenceNbr, String remark) {
...@@ -322,14 +273,6 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -322,14 +273,6 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
/** /**
* 分页查询
*/
public Page<JyjcOpeningApplicationModel> queryForJyjcOpeningApplicationPage(Page<JyjcOpeningApplicationModel> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例 * 列表查询 示例
*/ */
public List<JyjcOpeningApplicationModel> queryForJyjcOpeningApplicationList() { public List<JyjcOpeningApplicationModel> queryForJyjcOpeningApplicationList() {
...@@ -353,31 +296,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -353,31 +296,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
applyStartTime = date + " 00:00:00"; applyStartTime = date + " 00:00:00";
applyEndTime = date + " 23:59:59"; applyEndTime = date + " 23:59:59";
} }
Page<JyjcOpeningApplicationModel> result = jyjcOpeningApplicationMapper.selectJyjcOpeningApplicationList(page, dto, applyStartTime,currentUserId, applyEndTime); Page<JyjcOpeningApplicationModel> result = jyjcOpeningApplicationMapper.selectJyjcOpeningApplicationList(page, dto, applyStartTime, currentUserId, applyEndTime);
for (JyjcOpeningApplicationModel record : result.getRecords()) { for (JyjcOpeningApplicationModel record : result.getRecords()) {
record.setIdentityType(dto.getType()); record.setIdentityType(dto.getType());
} }
return result; return result;
} }
// public Page<JyjcOpeningApplicationModel> querypageForCompany(Page<JyjcOpeningApplication> page, JyjcOpeningApplicationRequstDto jyjcOpeningApplicationRequstDto) {
// //根据申请单中的单位信息对于列表数据进行过滤
// CompanyBo companyBo = commonserviceImpl.getReginParamsOfCurrentUser().getCompany();
//// if (companyBo.getLevel().equals("company")) {
// 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");
// return jyjcOpeningApplicationMapper.selectJyjcOpeningApplicationList(page, jyjcOpeningApplicationRequstDto, applyStartTime, applyEndTime);
// }
/** /**
* 获取详情跳转 * 获取详情跳转
...@@ -397,13 +322,30 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -397,13 +322,30 @@ 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();
// 设置检验、检测资质信息
setBaseUnitLicences(unitCode, jyjcOpeningApplicationModel, true);
// 设置检验、检测人员信息
setJYJCUserList(unitCode, jyjcOpeningApplicationModel,true);
} else { } else {
jyjcOpeningApplicationModel = new JyjcOpeningApplicationModel(); jyjcOpeningApplicationModel = new JyjcOpeningApplicationModel();
jyjcOpeningApplicationModel.setResultType("input"); jyjcOpeningApplicationModel.setResultType("input");
jyjcOpeningApplicationModel.setOpenBizType(OpenBizTypeEnum.JY.getCode());
unitCode = reginParams.getCompany().getCompanyCode(); unitCode = reginParams.getCompany().getCompanyCode();
// 设置检验、检测资质信息,前端需要按照开通的业务类型自行过滤,全部数据
setBaseUnitLicences(unitCode, jyjcOpeningApplicationModel, false);
// 设置检验、检测人员信息,前端需要按照开通的业务类型自行过滤,全部数据
setJYJCUserList(unitCode, jyjcOpeningApplicationModel, false);
// 设置业务有效期的默认值与yjcOpeningApplicationModel.setOpenBizType(OpenBizTypeEnum.JY.getCode())对应
setDefaultExpiryDate(jyjcOpeningApplicationModel);
} }
QueryWrapper enterpriseInfoQueryWrapper = new QueryWrapper<>(); // 设置企业信息
enterpriseInfoQueryWrapper.eq("use_code", unitCode); setBaseEnterpriseInfo(unitCode, jyjcOpeningApplicationModel);
return jyjcOpeningApplicationModel;
}
private void setBaseEnterpriseInfo(String unitCode, JyjcOpeningApplicationModel jyjcOpeningApplicationModel) {
LambdaQueryWrapper<TzBaseEnterpriseInfo> enterpriseInfoQueryWrapper = new LambdaQueryWrapper<>();
enterpriseInfoQueryWrapper.eq(TzBaseEnterpriseInfo::getUseCode, unitCode);
TzBaseEnterpriseInfo baseUnitLicenceEntity = enterpriseInfoMapper.selectOne(enterpriseInfoQueryWrapper); TzBaseEnterpriseInfo baseUnitLicenceEntity = enterpriseInfoMapper.selectOne(enterpriseInfoQueryWrapper);
// 获取企业资质 // 获取企业资质
if (baseUnitLicenceEntity != null) { if (baseUnitLicenceEntity != null) {
...@@ -411,14 +353,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -411,14 +353,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
jyjcOpeningApplicationModel.setContactPhone(baseUnitLicenceEntity.getContactPhone()); jyjcOpeningApplicationModel.setContactPhone(baseUnitLicenceEntity.getContactPhone());
jyjcOpeningApplicationModel.setUnitAddress(baseUnitLicenceEntity.getAddress()); jyjcOpeningApplicationModel.setUnitAddress(baseUnitLicenceEntity.getAddress());
if (StringUtils.isNotBlank(baseUnitLicenceEntity.getIndustrySupervisor())) { if (StringUtils.isNotBlank(baseUnitLicenceEntity.getIndustrySupervisor())) {
List<Map<String, String>> dicts = baseMapper.selectDataDictionaryList(Arrays.asList(baseUnitLicenceEntity.getIndustrySupervisor())); DataDictionary dict = dataDictionaryMapper.getByCode(baseUnitLicenceEntity.getIndustrySupervisor(),INDUSTRY_SUPERVISOR_DICT_TYPE);
if (!ValidationUtil.isEmpty(dicts)) { if (dict != null) {
jyjcOpeningApplicationModel.setIndustrySupervisor(dicts.get(0).get("name")); jyjcOpeningApplicationModel.setIndustrySupervisor(dict.getName());
} else { } else {
jyjcOpeningApplicationModel.setIndustrySupervisor(baseUnitLicenceEntity.getIndustrySupervisor()); jyjcOpeningApplicationModel.setIndustrySupervisor(baseUnitLicenceEntity.getIndustrySupervisor());
} }
} }
// { "latitude": "34.311788", "longitude": "108.948721"}
jyjcOpeningApplicationModel.setGeographic(JyjcGeographicModel.builder().latitude(baseUnitLicenceEntity.getLatitude()).longitude(baseUnitLicenceEntity.getLongitude()).build()); jyjcOpeningApplicationModel.setGeographic(JyjcGeographicModel.builder().latitude(baseUnitLicenceEntity.getLatitude()).longitude(baseUnitLicenceEntity.getLongitude()).build());
jyjcOpeningApplicationModel.setLongitude(baseUnitLicenceEntity.getLongitude()); jyjcOpeningApplicationModel.setLongitude(baseUnitLicenceEntity.getLongitude());
jyjcOpeningApplicationModel.setLatitude(baseUnitLicenceEntity.getLatitude()); jyjcOpeningApplicationModel.setLatitude(baseUnitLicenceEntity.getLatitude());
...@@ -426,96 +367,74 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -426,96 +367,74 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
jyjcOpeningApplicationModel.setUnitBusinessLicense(JSONArray.parseArray(baseUnitLicenceEntity.getUnitBusinessLicense(), AttachmentDto.class)); jyjcOpeningApplicationModel.setUnitBusinessLicense(JSONArray.parseArray(baseUnitLicenceEntity.getUnitBusinessLicense(), AttachmentDto.class));
} }
} }
// QueryWrapper unitLicenceQueryWrapper = new QueryWrapper<>(); }
// unitLicenceQueryWrapper.eq("unit_code", unitCode);
// unitLicenceQueryWrapper.eq("licence_type", LicenceTypeEnum.JYJC.getCode()); private void setDefaultExpiryDate(JyjcOpeningApplicationModel jyjcOpeningApplicationModel) {
// List<TzBaseUnitLicenceDto> baseUnitLicences = Bean.toModels(unitLicenceMapper.selectList(unitLicenceQueryWrapper), TzBaseUnitLicenceDto.class ); 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) {
List<TzBaseUnitLicenceDto> baseUnitLicences = baseMapper.selectBaseUnitLicenceList(MapBuilder.<String, Object>create().put("unitCode", unitCode).put("licenceType", "jyjc").build()); List<TzBaseUnitLicenceDto> baseUnitLicences = baseMapper.selectBaseUnitLicenceList(MapBuilder.<String, Object>create().put("unitCode", unitCode).put("licenceType", "jyjc").build());
jyjcOpeningApplicationModel.setBaseUnitLicences(baseUnitLicences); baseUnitLicences.forEach(licenceDto->{
// 获取检验人员信息 licenceDto.setCertTypeCode(this.castCode2Str(licenceDto.getCertTypeCode()));
QueryWrapper userInfoQueryWrapper = new QueryWrapper<>(); });
userInfoQueryWrapper.eq("unit_code", unitCode); if(isNeedFilter){
baseUnitLicences = baseUnitLicences.stream().filter(u->u.getCertTypeCode().equals(jyjcOpeningApplicationModel.getOpenBizType())).collect(Collectors.toList());
jyjcOpeningApplicationModel.setBaseUnitLicences(baseUnitLicences);
} else {
jyjcOpeningApplicationModel.setBaseUnitLicences(baseUnitLicences);
}
}
private String castCode2Str(String certTypeCode) {
// 新注册逻辑,逻辑在1处维护,便于代码维护【jy、jc对应前端的业务类型】
if(jcCertTypeCode.equals(certTypeCode)){
// 检测类型资质
return "jc";
}
if(jyCertTypeCode.equals(certTypeCode)){
// 检验类型资质
return "jy";
}
// 之前老数据逻辑,逻辑在1处维护,便于代码维护【jy、jc对应前端的业务类型】
return "";
}
private void setJYJCUserList(String unitCode, JyjcOpeningApplicationModel jyjcOpeningApplicationModel, boolean isNeedFilter) {
LambdaQueryWrapper<TzsUserInfo> userInfoQueryWrapper = new LambdaQueryWrapper<>();
userInfoQueryWrapper.eq(TzsUserInfo::getUnitCode, unitCode);
if (StringUtils.isBlank(jyjcOpeningApplicationModel.getWorkflowProstanceId())) { if (StringUtils.isBlank(jyjcOpeningApplicationModel.getWorkflowProstanceId())) {
// 如果未开启流程则只查询未被删除的用户 // 如果未开启流程则只查询未被删除的用户
userInfoQueryWrapper.eq("is_delete", false); userInfoQueryWrapper.eq(BaseEntity::getIsDelete, false);
} }
List<TzsUserInfo> userInfos = userInfoMapper.selectList(userInfoQueryWrapper); List<TzsUserInfo> userInfos = userInfoMapper.selectList(userInfoQueryWrapper);
if (!ValidationUtil.isEmpty(userInfos)) { if (!ValidationUtil.isEmpty(userInfos)) {
// List<String> codes = userInfos.stream()
// .map(o -> o.getPost() != null ? JSON.parseArray(o.getPost(), String.class) : null)
// .filter(Objects::nonNull)
// .collect(Collectors.toList())
// .stream().flatMap(o -> o.stream()).distinct().collect(Collectors.toList());
// List<Map<String, String>> dicts = baseMapper.selectDataDictionaryList(codes);
List<TzsUserInfoDto> userInfoDtos = userInfos.stream().map(o -> { List<TzsUserInfoDto> userInfoDtos = userInfos.stream().map(o -> {
TzsUserInfoDto dto = new TzsUserInfoDto(); TzsUserInfoDto dto = new TzsUserInfoDto();
Bean.toModel(o, dto); Bean.toModel(o, dto);
// 字段不要了
// if (o.getPost() != null) {
// List<String> temps = JSON.parseArray(o.getPost(), String.class);
// String postName = temps.stream().map(m -> dicts.stream().filter(dict -> dict.get("code").equals(m)).findFirst().map(n -> n.get("name")).orElse("")).collect(Collectors.joining(","));
// dto.setPostName(postName);
// }
return dto; return dto;
}).filter(o -> o.getPost() != null && o.getPost().contains(jyjcUserPost)).collect(Collectors.toList()); }).filter(o -> o.getPost() != null && (o.getPost().contains(jyUserPost) || o.getPost().contains(jcUserPost))).peek(u->{
jyjcOpeningApplicationModel.setUserInfos(userInfoDtos); // 设置岗位类型,逻辑在1端处理,便于代码维护,前端直接使用即可【jy、jc对应前端的业务类型】
} if(u.getPost().contains(jyUserPost) && u.getPost().contains(jcUserPost)){
return jyjcOpeningApplicationModel; // 即时检验又是检测人员
} u.setPost("jy,jc");
}
// public String startFlow(String businessKey) { if(u.getPost().contains(jyUserPost) && !u.getPost().contains(jcUserPost)){
// // 重新开启工作流 // 检验人员
// ActWorkflowStartDTO dto = new ActWorkflowStartDTO(); u.setPost("jy");
// dto.setProcessDefinitionKey(processDefinitionKey); }
// dto.setBusinessKey(StringUtils.defaultString(businessKey, "1")); if(!u.getPost().contains(jyUserPost) && u.getPost().contains(jcUserPost)){
// // dto.setCompleteFirstTask(true); // 检测人员
// // FeignClientResult ajaxResult = Workflow.taskV2Client.startByVariable(dto); u.setPost("jc");
// // }
// // if (log.isDebugEnabled()) { }).collect(Collectors.toList());
// // log.debug("开启工作流结果:{}", ajaxResult); if(isNeedFilter){
// // } userInfoDtos = userInfoDtos.stream().filter(u->u.getPost().contains(jyjcOpeningApplicationModel.getOpenBizType())).collect(Collectors.toList());
// // if (ajaxResult == null || 200 != ajaxResult.getStatus()) { jyjcOpeningApplicationModel.setUserInfos(userInfoDtos);
// // throw new BaseException("开启工作流错误"); } else {
// // } jyjcOpeningApplicationModel.setUserInfos(userInfoDtos);
// // return ((Map) ajaxResult.getResult()).get("id").toString(); }
// // V1
// AjaxResult ajaxResult = Workflow.taskClient.startByVariable(dto);
// if (log.isDebugEnabled()) {
// log.debug("开启工作流结果:{}", ajaxResult);
// }
// if (ajaxResult == null || (ajaxResult.get(AjaxResult.CODE_TAG) != null && !"200".equals(ajaxResult.get(AjaxResult.CODE_TAG).toString()))) {
// throw new BaseException("开启工作流错误");
// }
// return ((Map) ajaxResult.get("data")).get("id").toString();
// }
/**
* 接收/驳回通知检验单
*/
public void execueFlowNoBusiness(Map<String, Object> params) {
String op = params.get("op").toString();
String instanceId = params.get("instanceId").toString();
String comments = params.get("comments").toString();
try {
AjaxResult ajaxResult = Workflow.taskClient.getTaskNoAuth(instanceId);
JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
String taskId = dataObject.getString("id");
//组装信息
TaskResultDTO dto = new TaskResultDTO();
// dto.setResult(op);
dto.setResultCode("approvalStatus");
dto.setTaskId(taskId);
HashMap<String, Object> varibalble = new HashMap<>();
varibalble.put("approvalStatus", op);
dto.setVariable(varibalble);
dto.setComment(comments);
//执行流程
Workflow.taskClient.completeByTask(taskId, dto);
} catch (Exception e) {
e.printStackTrace();
log.error("execueFlow error:{}", e);
} }
} }
...@@ -523,7 +442,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -523,7 +442,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
/** /**
* 接收/驳回通知检验单 * 接收/驳回通知检验单
*/ */
public JyjcOpeningApplication execueFlow(Map<String, Object> params) { public JyjcOpeningApplication executeFlow(Map<String, Object> params) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
Long sequenceNbr = Long.parseLong(params.get("sequenceNbr") + ""); Long sequenceNbr = Long.parseLong(params.get("sequenceNbr") + "");
String op = params.get("op").toString(); String op = params.get("op").toString();
...@@ -540,10 +459,10 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -540,10 +459,10 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
} }
dto.setVariable(map); dto.setVariable(map);
ProcessTaskDTO complete = new ProcessTaskDTO(); ProcessTaskDTO complete = new ProcessTaskDTO();
if ("0".equals(op)){ if ("0".equals(op)) {
complete = cmWorkflowService.complete(data.getNextTaskId(), dto); complete = cmWorkflowService.complete(data.getNextTaskId(), dto);
}else { } else {
complete = cmWorkflowService.reject(data.getNextTaskId(), dto); complete = cmWorkflowService.reject(data.getNextTaskId(), dto);
} }
...@@ -552,14 +471,14 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -552,14 +471,14 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
List<WorkflowResultDto> resultDto = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS); List<WorkflowResultDto> resultDto = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS);
if (!org.springframework.util.ObjectUtils.isEmpty(resultDto) && !org.springframework.util.ObjectUtils.isEmpty(resultDto.get(0))) { if (!org.springframework.util.ObjectUtils.isEmpty(resultDto) && !org.springframework.util.ObjectUtils.isEmpty(resultDto.get(0))) {
WorkflowResultDto workflowResultDto = resultDto.get(0); WorkflowResultDto workflowResultDto = resultDto.get(0);
if (!ObjectUtils.isEmpty(workflowResultDto.getNextTaskId())){ if (!ObjectUtils.isEmpty(workflowResultDto.getNextTaskId())) {
if ("1".equals(op)) { if ("1".equals(op)) {
// 驳回 // 驳回
data.setStatus(String.valueOf(FlowStatusEnum.REJECTED.getCode())); data.setStatus(String.valueOf(FlowStatusEnum.REJECTED.getCode()));
data.setStatusName(String.valueOf(FlowStatusEnum.REJECTED.getName())); data.setStatusName(String.valueOf(FlowStatusEnum.REJECTED.getName()));
data.setPromoter(""); data.setPromoter("");
}else { } else {
data.setStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode())); data.setStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
data.setStatusName(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getName())); data.setStatusName(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getName()));
data.setPromoter(reginParams.getUserModel().getUserId()); data.setPromoter(reginParams.getUserModel().getUserId());
...@@ -567,12 +486,12 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -567,12 +486,12 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
// 更新代办 // 更新代办
updateTask(data, workflowResultDto, op); updateTask(data, workflowResultDto, op);
data.setNextTaskId(workflowResultDto.getNextTaskId()); data.setNextTaskId(workflowResultDto.getNextTaskId());
}else { } else {
// 流程结束 // 流程结束
data.setStatus(String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode())); data.setStatus(String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode()));
//更新办理日期 //更新办理日期
data.setAcceptDate( new Date()); data.setAcceptDate(new Date());
// 更新代办 // 更新代办
HashMap<String, Object> taskParams = new HashMap<>(); HashMap<String, Object> taskParams = new HashMap<>();
taskParams.put("relationId", data.getWorkflowProstanceId()); taskParams.put("relationId", data.getWorkflowProstanceId());
...@@ -587,14 +506,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -587,14 +506,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
} }
jyjcOpeningApplicationMapper.updateById(data); jyjcOpeningApplicationMapper.updateById(data);
// 已完成 作废逻辑 // 已完成 作废逻辑
if (String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode()).equals(data.getStatus())){ if (String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode()).equals(data.getStatus())) {
doDiscard(data.getUnitCode(), data.getSequenceNbr()); doDiscard(data.getUnitCode(), data.getSequenceNbr(), data.getOpenBizType());
} }
return data; return data;
} }
/** /**
* 撤回流程办理单 * 撤回流程办理单
*/ */
...@@ -624,26 +542,6 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -624,26 +542,6 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
return jyjcOpeningApplication; return jyjcOpeningApplication;
} }
private String getWorkflowStatus(JSONObject dataObject) {
return !ValidationUtil.isEmpty(dataObject) && !ValidationUtil.isEmpty(dataObject.get("status")) ? String.valueOf(dataObject.get("status")) : "";
}
private String getWorkflowRoleGroups(JSONObject dataObject) {
JSONArray executorArray = dataObject.getJSONObject("nodeInfo").getJSONArray("executor");
if (!ValidationUtil.isEmpty(executorArray)) {
return executorArray.stream().map(json -> Optional.ofNullable(((LinkedHashMap) json).get("groupId")).orElse("").toString()).collect(Collectors.joining(","));
}
return null;
}
private JSONObject getTask(String instanceId) {
AjaxResult ajaxResult = Workflow.taskClient.getTaskNoAuth(instanceId);
JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
String taskId = dataObject.getString("id");// 工作流ID
FeignClientResult<JSONObject> nodeInfo = workflowFeignClient.getNodeInfotoken(RequestContext.getAppKey(), RequestContext.getProduct(), RequestContext.getToken(), taskId);
dataObject.put("nodeInfo", nodeInfo.getResult());
return dataObject;
}
public List<Map<String, Object>> selectForFlowStatusList() { public List<Map<String, Object>> selectForFlowStatusList() {
return Arrays.stream(FlowStatusEnum.values()).map(this::mapPointTypeToMap).collect(Collectors.toList()); return Arrays.stream(FlowStatusEnum.values()).map(this::mapPointTypeToMap).collect(Collectors.toList());
...@@ -656,12 +554,12 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -656,12 +554,12 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
return record; return record;
} }
public Boolean deleteBatchByIds(List<Long> ids){ public Boolean deleteBatchByIds(List<Long> ids) {
List<JyjcOpeningApplication> jyjcOpeningApplicationList=jyjcOpeningApplicationMapper.selectList(new QueryWrapper<JyjcOpeningApplication>() List<JyjcOpeningApplication> jyjcOpeningApplicationList = jyjcOpeningApplicationMapper.selectList(new QueryWrapper<JyjcOpeningApplication>()
.in("sequence_nbr")); .in("sequence_nbr"));
List<String> status = Arrays.asList(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()), String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode())); List<String> status = Arrays.asList(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()), String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode()));
jyjcOpeningApplicationList = jyjcOpeningApplicationList.stream().filter(jyjcOpeningApplication ->status.contains(jyjcOpeningApplication.getStatus())).collect(Collectors.toList()); jyjcOpeningApplicationList = jyjcOpeningApplicationList.stream().filter(jyjcOpeningApplication -> status.contains(jyjcOpeningApplication.getStatus())).collect(Collectors.toList());
if(jyjcOpeningApplicationList.isEmpty()) { if (jyjcOpeningApplicationList.isEmpty()) {
throw new BadRequest("除撤回跟驳回的流程之外其余流程不可删除,请核对数据后重新提交!"); throw new BadRequest("除撤回跟驳回的流程之外其余流程不可删除,请核对数据后重新提交!");
} }
deleteBatchByIds(ids); deleteBatchByIds(ids);
...@@ -678,13 +576,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -678,13 +576,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
return tzBaseEnterpriseInfos.stream().filter(o -> StringUtils.isNotBlank(o.getUseCode()) && unitCodes.contains(o.getUseCode())).collect(Collectors.toList()); return tzBaseEnterpriseInfos.stream().filter(o -> StringUtils.isNotBlank(o.getUseCode()) && unitCodes.contains(o.getUseCode())).collect(Collectors.toList());
} }
public List<Long> selectOverdueData(){ public List<Long> selectOverdueData() {
return jyjcOpeningApplicationMapper.selectOverdueData(); return jyjcOpeningApplicationMapper.selectOverdueData();
} }
public void buildTask(JyjcOpeningApplicationModel model, WorkflowResultDto workflowResultDto) { private void buildTask(JyjcOpeningApplicationModel model, WorkflowResultDto workflowResultDto) {
ReginParams reginParams = commonserviceImpl.getReginParamsOfCurrentUser(); ReginParams reginParams = commonserviceImpl.getReginParamsOfCurrentUser();
// 代办消息 // 代办消息
ArrayList<TaskModelDto> list = new ArrayList<>(); ArrayList<TaskModelDto> list = new ArrayList<>();
...@@ -708,7 +606,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -708,7 +606,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
model.setWorkflowProstanceId(workflowResultDto.getInstanceId()); model.setWorkflowProstanceId(workflowResultDto.getInstanceId());
model.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds()); model.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds());
JyjcOpeningApplicationModel urlParms = new JyjcOpeningApplicationModel(); JyjcOpeningApplicationModel urlParms = new JyjcOpeningApplicationModel();
BeanUtil.copyProperties(model, urlParms, "unitCode" ,"unitAddress" , "unitCodeName" ,"detectionRegion" , "detectionRegionName" , "applicationSeq" , "resultType" , "expiryDate" , "acceptDate" , "remark" , "applyTime" , "baseUnitLicences" , "userInfos" , "useContact" , "contactPhone" , "industrySupervisor" , "longitude" , "latitude" , "geographic" , "unitBusinessLicense"); BeanUtil.copyProperties(model, urlParms, "unitCode", "unitAddress", "unitCodeName", "detectionRegion", "detectionRegionName", "applicationSeq", "resultType", "expiryDate", "acceptDate", "remark", "applyTime", "baseUnitLicences", "userInfos", "useContact", "contactPhone", "industrySupervisor", "longitude", "latitude", "geographic", "unitBusinessLicense");
dto.setModel(urlParms); dto.setModel(urlParms);
dto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds()); dto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds());
dto.setPageType("look"); dto.setPageType("look");
...@@ -716,7 +614,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -716,7 +614,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
commonServiceImpl.buildTaskModel(list); commonServiceImpl.buildTaskModel(list);
} }
public void updateTask(JyjcOpeningApplication model, WorkflowResultDto workflowResultDto, String op) { private void updateTask(JyjcOpeningApplication model, WorkflowResultDto workflowResultDto, String op) {
// 更新代办状态 // 更新代办状态
HashMap<String, Object> params = new HashMap<>(); HashMap<String, Object> params = new HashMap<>();
params.put("relationId", model.getWorkflowProstanceId()); params.put("relationId", model.getWorkflowProstanceId());
...@@ -730,16 +628,16 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -730,16 +628,16 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
TaskModelDto taskModelDto = new TaskModelDto(); TaskModelDto taskModelDto = new TaskModelDto();
BeanUtils.copyProperties(taskV2Model, taskModelDto); BeanUtils.copyProperties(taskV2Model, taskModelDto);
JyjcOpeningApplication urlParms = new JyjcOpeningApplication(); JyjcOpeningApplication urlParms = new JyjcOpeningApplication();
BeanUtil.copyProperties(model, urlParms, "unitCode" ,"unitAddress" , "unitCodeName" ,"detectionRegion" , "detectionRegionName" , "applicationSeq" , "resultType" , "expiryDate" , "acceptDate" , "remark" , "applyTime" , "baseUnitLicences" , "userInfos" , "useContact" , "contactPhone" , "industrySupervisor" , "longitude" , "latitude" , "geographic" , "unitBusinessLicense"); BeanUtil.copyProperties(model, urlParms, "unitCode", "unitAddress", "unitCodeName", "detectionRegion", "detectionRegionName", "applicationSeq", "resultType", "expiryDate", "acceptDate", "remark", "applyTime", "baseUnitLicences", "userInfos", "useContact", "contactPhone", "industrySupervisor", "longitude", "latitude", "geographic", "unitBusinessLicense");
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)){ if ("0".equals(op)) {
taskModelDto.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName()); taskModelDto.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
taskModelDto.setTaskStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode()); taskModelDto.setTaskStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode());
taskModelDto.setFlowStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode()); taskModelDto.setFlowStatus(FlowStatusEnum.TO_BE_PROCESSED.getCode());
taskModelDto.setFlowStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName()); taskModelDto.setFlowStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
}else { } else {
taskModelDto.setTaskStatusLabel(FlowStatusEnum.REJECTED.getName()); taskModelDto.setTaskStatusLabel(FlowStatusEnum.REJECTED.getName());
taskModelDto.setTaskStatus(FlowStatusEnum.REJECTED.getCode()); taskModelDto.setTaskStatus(FlowStatusEnum.REJECTED.getCode());
taskModelDto.setFlowStatus(FlowStatusEnum.REJECTED.getCode()); taskModelDto.setFlowStatus(FlowStatusEnum.REJECTED.getCode());
......
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