Commit 573df079 authored by lisong's avatar lisong

更新

parent 93dd0010
......@@ -155,4 +155,7 @@ public class JgUseRegistration extends BaseEntity {
@TableField("inspect_unit_credit_code")
private String inspectUnitCreditCode;
@TableField("instance_status")
private String instanceStatus;
}
package com.yeejoin.amos.boot.module.jg.api.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
/**
* 使用登记状态西悉尼
*/
@Getter
@AllArgsConstructor
public enum UseStatusEnum {
SUBMIT("使用单位提交", "submit", "使用单位待提交"),
RECEIVE("一级受理", "receive", "一级受理待受理"),
PRELIMINARY("二级受理", "preliminary", "二级受理待受理"),
REEXAMINE("三级受理", "reexamine", "三级受理待受理");
private final String name;
private final String code;
private final String pass;
public static UseStatusEnum getMessage(String name){
for (UseStatusEnum constants : values()) {
if (constants.getName().equals(name)) {
return constants;
}
}
return null;
}
}
......@@ -14,9 +14,9 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.Map;
//@FeignClient(value = "AMOS-API-WORKFLOW", configuration = {FeignConfiguration.class})
@FeignClient(name = "AMOS-API-WORKFLOW", path = "workflow", configuration = {MultipartSupportConfig.class})
public interface WorkFlowFeginService {
public interface WorkFlowFeignService {
/***
* 根据task_id 获取节点信息
......@@ -64,5 +64,9 @@ public interface WorkFlowFeginService {
@PathVariable(value = "processInstanceId") String processInstanceId);
@RequestMapping(value = "/v2/task/rollBack/{processInstanceId}", method = RequestMethod.POST)
JSONObject rollBack(@PathVariable(value = "processInstanceId") String processInstanceId);
}
......@@ -14,7 +14,10 @@
jri.PRODUCT_NAME as productName,
jri.EQU_CODE as equCode,
use.USE_INNER_CODE as innerCode,
concat(use.PROVINCE_NAME,'-',use.CITY_NAME,'-',use.COUNTY_NAME) as place
concat(use.PROVINCE_NAME,'-',use.CITY_NAME,'-',use.COUNTY_NAME) as place,
ur.instance_id as instanceId,
re.equip_id as equipId,
ur.apply_no as applyNo
from tzs_jg_use_registration ur
LEFT JOIN tzs_jg_relation_equip re on ur.sequence_nbr = re.business_id
LEFT JOIN idx_biz_jg_register_info jri on re.equip_id = jri.RECORD
......@@ -35,12 +38,16 @@
and ur.use_unit_name like concat('%',#{dto.useUnitName},'%')
</if>
</where>
order by ur.rec_date desc
</select>
<select id="getDetail" resultType="java.util.Map">
SELECT jri.EQU_CODE as equCode,
(SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY) as equCategory,
(SELECT name from tz_equipment_category where code = jri.EQU_LIST) as equList,
(SELECT name from tz_equipment_category where code = jri.EQU_DEFINE) as equDefine,
-- (SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY) as equCategory,
-- (SELECT name from tz_equipment_category where code = jri.EQU_LIST) as equList,
-- (SELECT name from tz_equipment_category where code = jri.EQU_DEFINE) as equDefine,
jri.EQU_CATEGORY as equCategory,
jri.EQU_LIST as equList,
jri.EQU_DEFINE as equDefine,
jri.PRODUCT_NAME as productName,
jri.EQU_TYPE as equType,
jri.PRODUCT_PHOTO as proDuctPhoto,
......@@ -84,7 +91,8 @@
ADDRESS as address,
PROVINCE as province,
CITY as city,
COUNTY as county
COUNTY as county,
USE_INNER_CODE as useInnerCode
FROM "idx_biz_jg_use_info" where RECORD = #{id}
</select>
<select id="getEquipListPage" resultType="java.util.Map">
......
package com.yeejoin.amos.boot.module.jg.biz.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration;
import com.yeejoin.amos.boot.module.jg.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl;
import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeginService;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.AjaxResult;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
......@@ -48,6 +45,22 @@ public class JgUseRegistrationController extends BaseController {
return ResponseHelper.buildResponse("ok");
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/flowExecute")
@ApiOperation(httpMethod = "POST", value = "执行流程", notes = "执行流程")
public ResponseModel<Object> flowExecute(@RequestBody JSONObject map) {
jgUseRegistrationServiceImpl.flowExecute(String.valueOf(map.get("instanceId")), String.valueOf(map.get("operate")), String.valueOf(map.get("comment")), true);
return ResponseHelper.buildResponse("ok");
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/withdraw")
@ApiOperation(httpMethod = "POST", value = "撤回", notes = "撤回")
public ResponseModel<Object> withdraw(@RequestBody JSONObject map) {
jgUseRegistrationServiceImpl.withdraw(String.valueOf(map.get("instanceId")));
return ResponseHelper.buildResponse("ok");
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/deleteBatch")
......@@ -98,61 +111,16 @@ public class JgUseRegistrationController extends BaseController {
return ResponseHelper.buildResponse(jgUseRegistrationServiceImpl.getDetail(id));
}
@Autowired
WorkFlowFeginService workFlowFeginService;
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/test")
@ApiOperation(httpMethod = "GET", value = "", notes = "")
public ResponseModel test(@RequestParam("op") String op) {
String instanceId = "";
//启动流程
try {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey("useRegistration");
dto.setBusinessKey("1");
AjaxResult ajaxResult = Workflow.taskClient.startByVariable(dto);
instanceId = ((Map) ajaxResult.get("data")).get("id").toString();
} catch (Exception e) {
e.printStackTrace();
}
return ResponseHelper.buildResponse(instanceId);
@ApiOperation(httpMethod = "GET", value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/getMessage")
public ResponseModel<Map<String, Object>> getMessage() {
ReginParams selectedOrgInfo = getSelectedOrgInfo();
HashMap<String, Object> map = new HashMap<>();
map.put("useUnitCreditCode", selectedOrgInfo.getCompany().getCompanyCode());
map.put("useUnitName", selectedOrgInfo.getCompany().getCompanyName());
return ResponseHelper.buildResponse(map);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/test1")
@ApiOperation(httpMethod = "GET", value = "", notes = "")
public void overProjectFlowExecute(@RequestParam("op") String op, @RequestParam("instanceId") String instanceId) {
try {
AjaxResult ajaxResult = Workflow.taskClient.getTask(instanceId);
JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
String taskId = dataObject.getString("id");
// JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId);
// FeignClientResult<JSONObject> nodeInfo = workFlowFeginService.getNodeInfo(taskId);
//组装信息
TaskResultDTO dto = new TaskResultDTO();
// dto.setResult(op);
dto.setResultCode("approvalStatus");
dto.setTaskId(taskId);
dto.setComment("啦啦啦啦!!!!!");
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", op);
dto.setVariable(map);
// FeignClientResult reject = Workflow.taskV2Client.reject(taskId, dto);
//执行流程
AjaxResult ajaxResult1 = Workflow.taskClient.completeByTask(taskId, dto);
if (ObjectUtils.isEmpty(ajaxResult1)) {
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
......@@ -2,33 +2,38 @@ package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgRelationEquip;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.UseStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgRelationEquipMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgUseRegistrationService;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto;
import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeginService;
import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService;
import com.yeejoin.amos.boot.module.ymt.api.entity.InspectionDetectionInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.OtherInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.UseInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.InspectionDetectionInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.OtherInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.UseInfoMapper;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.boot.module.ymt.api.service.ICreateCodeService;
import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.AjaxResult;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.HashMap;
import java.util.List;
......@@ -52,16 +57,21 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
@Autowired
private JgRelationEquipMapper jgRelationEquipMapper;
@Autowired
WorkFlowFeginService workFlowFeginService;
WorkFlowFeignService workFlowFeginService;
@Autowired
private ICreateCodeService iCreateCodeService;
public Page<Map<String, Object>> getList(JgUseRegistrationDto dto, Page<Map<String, Object>> page) {
return this.baseMapper.getListPage(page, dto);
Page<Map<String, Object>> listPage = this.baseMapper.getListPage(page, dto);
return listPage;
}
public Page<Map<String, Object>> getEquipList(Page<Map<String, Object>> page,String factoryNum,String equList,String equCategory) {
return this.baseMapper.getEquipListPage(page, factoryNum, equList , equCategory);
public Page<Map<String, Object>> getEquipList(Page<Map<String, Object>> page, String factoryNum, String equList, String equCategory) {
return this.baseMapper.getEquipListPage(page, factoryNum, equList, equCategory);
}
public void save(JSONObject map){
public void save(JSONObject map) {
UseInfo useInfo = new UseInfo();
BeanUtil.copyProperties(map, useInfo);
LambdaQueryWrapper<UseInfo> lambda = new QueryWrapper<UseInfo>().lambda();
......@@ -77,7 +87,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
// 使用登记信息
JgUseRegistration jgUseRegistration = new JgUseRegistration();
LambdaQueryWrapper<OtherInfo> otherLambda = new QueryWrapper<OtherInfo>().lambda();
otherLambda.eq(OtherInfo :: getRecord, map.get("equipId"));
otherLambda.eq(OtherInfo::getRecord, map.get("equipId"));
OtherInfo otherInfo = otherInfoMapper.selectOne(otherLambda);
String supervisoryCode = otherInfo.getSupervisoryCode();
jgUseRegistration.setSupervisoryCode(supervisoryCode);
......@@ -85,34 +95,54 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
jgUseRegistration.setUseUnitCreditCode(useInfo.getUseUnitCreditCode());
jgUseRegistration.setInspectUnitCreditCode(map.get("inspectUnitCreditCode").toString());
jgUseRegistration.setInspectUnitName(map.get("inspectOrgName").toString());
// jgUseRegistration.setAuditStatus();
// jgUseRegistration.setUseRegistrationCode();
this.save(jgUseRegistration);
// 业务管理设备信息保存
JgRelationEquip jgRelationEquip = new JgRelationEquip();
jgRelationEquip.setBusinessId(jgUseRegistration.getSequenceNbr().toString());
jgRelationEquip.setEquipId(map.get("equipId").toString());
jgRelationEquip.setBusinessType(String.valueOf(BusinessTypeEnum.USAGE_REGISTRATION.getCode()));
jgRelationEquipMapper.insert(jgRelationEquip);
if (!ObjectUtils.isEmpty(map.get("submit"))){
// 启动并执行流程
String instanceId = startByVariable();
if (ObjectUtils.isEmpty(instanceId)){
if (map.containsKey("type") && "edit".equals(String.valueOf(map.get("type")))) {
jgUseRegistration.setSequenceNbr(Long.valueOf(String.valueOf(map.get("sequenceNbr"))));
this.getBaseMapper().updateById(jgUseRegistration);
} else {
// 业务管理设备信息保存
JgRelationEquip jgRelationEquip = new JgRelationEquip();
jgRelationEquip.setEquipId(map.get("equipId").toString());
jgRelationEquip.setBusinessType(String.valueOf(BusinessTypeEnum.USAGE_REGISTRATION.getCode()));
List<String> applicationFormCode = iCreateCodeService.createApplicationFormCode(ApplicationFormTypeEnum.SY.getCode(), 1);
jgUseRegistration.setApplyNo(applicationFormCode.get(0));
jgUseRegistration.setAuditStatus("待提交");
jgUseRegistration.setStatus(UseStatusEnum.SUBMIT.getPass());
this.save(jgUseRegistration);
jgRelationEquip.setBusinessId(jgUseRegistration.getSequenceNbr().toString());
jgRelationEquipMapper.insert(jgRelationEquip);
}
if (!ObjectUtils.isEmpty(map.get("submit"))) {
String instanceId = "";
if (map.containsKey("instanceId")) {
instanceId = map.get("instanceId").toString();
} else {
// 启动并执行流程
instanceId = startByVariable();
}
if (!ObjectUtils.isEmpty(instanceId)) {
// 执行流程
flowExecute(instanceId, "1", "备注"+System.currentTimeMillis());
String status = flowExecute(instanceId, "0", "", false);
jgUseRegistration.setInstanceStatus(status);
jgUseRegistration.setAuditStatus("已提交");
jgUseRegistration.setStatus(UseStatusEnum.RECEIVE.getPass());
}
jgUseRegistration.setInstanceId(instanceId);
this.update();
this.getBaseMapper().updateById(jgUseRegistration);
}
}
public String startByVariable (){
public String startByVariable() {
String instanceId = "";
//启动流程
try {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey("useRegistrationNew");
dto.setProcessDefinitionKey("useRegistration");
dto.setBusinessKey("submit");
AjaxResult ajaxResult = Workflow.taskClient.startByVariable(dto);
instanceId = ((Map) ajaxResult.get("data")).get("id").toString();
......@@ -122,31 +152,87 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
return instanceId;
}
public void flowExecute(String instanceId, String operate, String comment){
public String flowExecute(String instanceId, String operate, String comment, Boolean update) {
String role = "";
String taskName = "流程结束";
try {
AjaxResult ajaxResult = Workflow.taskClient.getTask(instanceId);
JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
String taskId = dataObject.getString("id");
JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId);
FeignClientResult<JSONObject> nodeInfo = workFlowFeginService.getNodeInfo(taskId);
JSONObject task = workFlowFeginService.getTaskNoAuth(instanceId);
JSONObject taskMessage = JSON.parseObject(JSON.toJSONString(task.get("data")));
String taskId = taskMessage.getString("id");
//组装信息
TaskResultDTO dto = new TaskResultDTO();
dto.setResultCode("approvalStatus");
dto.setTaskId(taskId);
dto.setComment(comment+System.currentTimeMillis());
dto.setComment(comment);
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", operate);
dto.setVariable(map);
//执行流程
AjaxResult ajaxResult1 = Workflow.taskClient.completeByTask(taskId, dto);
if (ObjectUtils.isEmpty(ajaxResult1)) {
Workflow.taskClient.completeByTask(taskId, dto);
// 查询下节点任务
JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId);
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) {
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data")));
String nextTaskId = nextTask.getString("id");
taskName = nextTask.getString("name");
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
for (Object datum : data) {
if (((Map) datum).containsKey("groupId")) {
role = ((Map) datum).get("groupId").toString();
continue;
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
if (update) {
updateStatus(instanceId, taskName, role);
}
return role;
}
public void updateStatus(String instanceId, String taskName, String role) {
LambdaQueryWrapper<JgUseRegistration> lambda = new QueryWrapper<JgUseRegistration>().lambda();
lambda.eq(JgUseRegistration::getInstanceId, instanceId);
JgUseRegistration jgUseRegistration = this.getBaseMapper().selectOne(lambda);
if ("流程结束".equals(taskName)) {
jgUseRegistration.setStatus(taskName);
jgUseRegistration.setAuditStatus("已完成");
} else {
if (!ObjectUtils.isEmpty(jgUseRegistration.getInstanceStatus())) {
jgUseRegistration.setInstanceStatus(jgUseRegistration.getInstanceStatus() + "," + role);
} else {
jgUseRegistration.setInstanceStatus(role);
}
UseStatusEnum message = UseStatusEnum.getMessage(taskName);
jgUseRegistration.setStatus(message.getPass());
}
this.getBaseMapper().update(jgUseRegistration, lambda);
}
public void withdraw(String instanceId) {
String taskName = "";
JgUseRegistration jgUseRegistration = new JgUseRegistration();
LambdaQueryWrapper<JgUseRegistration> lambda = new QueryWrapper<JgUseRegistration>().lambda();
lambda.eq(JgUseRegistration::getInstanceId, instanceId);
try {
workFlowFeginService.rollBack(instanceId);
JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId);
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data")));
taskName = nextTask.getString("name");
} catch (Exception e) {
e.printStackTrace();
}
if (!ObjectUtils.isEmpty(taskName)) {
UseStatusEnum message = UseStatusEnum.getMessage(taskName);
jgUseRegistration.setStatus(message.getPass());
}
this.getBaseMapper().update(jgUseRegistration, lambda);
}
public void deleteBatch(List<Long> ids) {
......@@ -163,6 +249,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
Map<String, Object> useDetail = this.baseMapper.getUseDetail(id);
detail.putAll(inspectDetail);
detail.putAll(useDetail);
detail.putAll(useDetail);
detail.put("proDuctPhoto", JSON.parse(String.valueOf(detail.get("proDuctPhoto"))));
detail.put("factoryStandard", JSON.parse(String.valueOf(detail.get("factoryStandard"))));
detail.put("productQualityYieldProve", JSON.parse(String.valueOf(detail.get("productQualityYieldProve"))));
......
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