Commit a774ff0c authored by 王果's avatar 王果

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

parents 3de07155 988ac7ec
...@@ -323,6 +323,9 @@ public class JgMaintainNotice extends BaseEntity { ...@@ -323,6 +323,9 @@ public class JgMaintainNotice extends BaseEntity {
@TableField(value = "create_user_company_name") @TableField(value = "create_user_company_name")
private String createUserCompanyName; private String createUserCompanyName;
@TableField(value = "transfer_to_user_ids")
private String transferToUserIds;
@TableField("next_task_id") @TableField("next_task_id")
private String nextTaskId; private String nextTaskId;
......
package com.yeejoin.amos.boot.module.jg.api.mapper; package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory; import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory;
...@@ -26,5 +27,9 @@ public interface CommonMapper extends BaseMapper<EquipmentCategory> { ...@@ -26,5 +27,9 @@ public interface CommonMapper extends BaseMapper<EquipmentCategory> {
List<Map<String,Object>> getEnterpriseEmployee(String unitCode); List<Map<String,Object>> getEnterpriseEmployee(String unitCode);
String getOrgCodeByCompanyCode(String companyCode); String getOrgCodeByCompanyCode(String companyCode);
String selectBusinessData(String tableName, String instanceId);
void updateBusinessData(String tableName,String assignee, String transferToUserIds, String instanceId);
} }
...@@ -24,7 +24,11 @@ public interface JgMaintainNoticeMapper extends CustomBaseMapper<JgMaintainNotic ...@@ -24,7 +24,11 @@ public interface JgMaintainNoticeMapper extends CustomBaseMapper<JgMaintainNotic
* @param type 类型:enterprise-企业端、supervision-监管端 * @param type 类型:enterprise-企业端、supervision-监管端
* @return 维修告知列表 * @return 维修告知列表
*/ */
Page<JgMaintainNotice> queryForPage(Page<JgMaintainNotice> page, @Param("param") JgMaintainNoticeDto model, @Param("type") String type, @Param("orgCode") String orgCode); Page<JgMaintainNotice> queryForPage(Page<JgMaintainNotice> page,
@Param("param") JgMaintainNoticeDto model,
@Param("type") String type,
@Param("userId") String userId,
@Param("orgCode") String orgCode);
/** /**
* 根据维修告知编号查询设备、设计、制造等信息 * 根据维修告知编号查询设备、设计、制造等信息
......
...@@ -66,4 +66,17 @@ ...@@ -66,4 +66,17 @@
<select id="getOrgCodeByCompanyCode" resultType="java.lang.String"> <select id="getOrgCodeByCompanyCode" resultType="java.lang.String">
select org_code from privilege_company where company_code = #{companyCode} limit 1 select org_code from privilege_company where company_code = #{companyCode} limit 1
</select> </select>
<select id="selectBusinessData" resultType="java.lang.String">
select transfer_to_user_ids
from ${tableName}
where instance_id = #{instanceId}
</select>
<update id="updateBusinessData">
update ${tableName}
set transfer_to_user_ids = #{transferToUserIds},
next_execute_user_ids = #{assignee}
where instance_id = #{instanceId}
</update>
</mapper> </mapper>
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
AND crt.use_unit_credit_code = #{dto.unitCode} AND crt.use_unit_credit_code = #{dto.unitCode}
</if> </if>
<if test="currentUserId != null and currentUserId != '' "> <if test="currentUserId != null and currentUserId != '' ">
or ur.transfer_to_user_ids like concat('%',#{currentUserId},'%') or crt.transfer_to_user_ids like concat('%',#{currentUserId},'%')
</if> </if>
</where> </where>
order by crt.rec_date desc order by crt.rec_date desc
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
LEFT JOIN idx_biz_jg_other_info ibjoi on isneq.equ_id = ibjoi.RECORD LEFT JOIN idx_biz_jg_other_info ibjoi on isneq.equ_id = ibjoi.RECORD
<where> <where>
isn.is_delete = 0 isn.is_delete = 0
and isn.transfer_to_user_ids like concat('%',#{userId},'%'))
<if test="param != null "> <if test="param != null ">
<if test="param.applyNo != null and param.applyNo != ''"> <if test="param.applyNo != null and param.applyNo != ''">
AND isn.apply_no LIKE CONCAT('%', #{param.applyNo}, '%') AND isn.apply_no LIKE CONCAT('%', #{param.applyNo}, '%')
......
...@@ -14,6 +14,7 @@ import org.springframework.util.ObjectUtils; ...@@ -14,6 +14,7 @@ import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
...@@ -230,4 +231,18 @@ public class CommonController extends BaseController { ...@@ -230,4 +231,18 @@ public class CommonController extends BaseController {
return ResponseHelper.buildResponse(commonService.creatTree()); return ResponseHelper.buildResponse(commonService.creatTree());
} }
/**
* 公共转办接口
* /jg/common/transfer
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/transfer")
@ApiOperation(httpMethod = "POST", value = "公共转办接口", notes = "公共转办接口")
public ResponseModel<Object> transfer(@RequestBody Map<String, Object> map) {
Object result = commonService.transfer(map);
return ResponseHelper.buildResponse(result);
}
} }
...@@ -13,4 +13,6 @@ public interface ICmWorkflowService { ...@@ -13,4 +13,6 @@ public interface ICmWorkflowService {
ProcessTaskDTO completeOrReject(String taskId, TaskResultDTO data, String operate); ProcessTaskDTO completeOrReject(String taskId, TaskResultDTO data, String operate);
ProcessTaskDTO rollBack(String processInstanceId); ProcessTaskDTO rollBack(String processInstanceId);
String assign(FlowTaskVo taskVo);
} }
...@@ -45,4 +45,6 @@ public interface ICommonService { ...@@ -45,4 +45,6 @@ public interface ICommonService {
Object invokeBusinessProcess(String submitType, Map<String, Object> obj, ReginParams reginParams); Object invokeBusinessProcess(String submitType, Map<String, Object> obj, ReginParams reginParams);
Object getCompanyUser(Long companyId); Object getCompanyUser(Long companyId);
Object transfer(Map<String, Object> obj);
} }
...@@ -8,12 +8,14 @@ import com.yeejoin.amos.component.feign.config.InnerInvokException; ...@@ -8,12 +8,14 @@ import com.yeejoin.amos.component.feign.config.InnerInvokException;
import com.yeejoin.amos.component.feign.utils.FeignUtil; import com.yeejoin.amos.component.feign.utils.FeignUtil;
import com.yeejoin.amos.feign.workflow.Workflow; import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO; import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.FlowTaskVo;
import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO; import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO; import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @author Administrator * @author Administrator
...@@ -88,4 +90,24 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService { ...@@ -88,4 +90,24 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService {
log.info("开始请求工作流撤回接口:/rollBack/standard/{processInstanceId},请求参数:{}", processInstanceId); log.info("开始请求工作流撤回接口:/rollBack/standard/{processInstanceId},请求参数:{}", processInstanceId);
return FeignUtil.remoteCall(() -> Workflow.taskV2Client.rollBackTask(processInstanceId)); return FeignUtil.remoteCall(() -> Workflow.taskV2Client.rollBackTask(processInstanceId));
} }
@Override
public String assign(FlowTaskVo taskVo) {
String result;
try {
log.info("开始请求工作流转办任务接口:/assign/{taskVo},请求参数:{},{}", taskVo);
result = Workflow.taskV2Client.assign(taskVo).getResult();
} catch (InnerInvokException e) {
//拦截无审核人异常信息
String devMessage = e.getDevMessage();
devMessage = devMessage.contains(";") ? devMessage.split(";")[0] : devMessage;
log.error(devMessage);
throw new LocalBadRequest(devMessage);
} catch (Exception e) {
log.error("调用工作流转办任务接口失败", e);
throw new RuntimeException("调用工作流转办任务接口失败");
}
return result;
}
} }
...@@ -20,6 +20,7 @@ import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationTransfer ...@@ -20,6 +20,7 @@ import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationTransfer
import com.yeejoin.amos.boot.module.jg.api.service.IJgInstallationNoticeService; import com.yeejoin.amos.boot.module.jg.api.service.IJgInstallationNoticeService;
import com.yeejoin.amos.boot.module.jg.api.service.IJgMaintainNoticeService; import com.yeejoin.amos.boot.module.jg.api.service.IJgMaintainNoticeService;
import com.yeejoin.amos.boot.module.jg.api.service.IJgTransferNoticeService; import com.yeejoin.amos.boot.module.jg.api.service.IJgTransferNoticeService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService; import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
import com.yeejoin.amos.boot.module.jg.biz.utils.FileExporter; import com.yeejoin.amos.boot.module.jg.biz.utils.FileExporter;
import com.yeejoin.amos.boot.module.jg.biz.utils.ImageUtils; import com.yeejoin.amos.boot.module.jg.biz.utils.ImageUtils;
...@@ -35,6 +36,7 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; ...@@ -35,6 +36,7 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.Systemctl; import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model; import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.model.ActTaskDTO; import com.yeejoin.amos.feign.workflow.model.ActTaskDTO;
import com.yeejoin.amos.feign.workflow.model.FlowTaskVo;
import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO; import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -48,6 +50,7 @@ import org.springframework.util.ObjectUtils; ...@@ -48,6 +50,7 @@ import org.springframework.util.ObjectUtils;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.File; import java.io.File;
...@@ -183,6 +186,10 @@ public class CommonServiceImpl implements ICommonService { ...@@ -183,6 +186,10 @@ public class CommonServiceImpl implements ICommonService {
@Autowired @Autowired
JgScrapCancelServiceImpl jgScrapCancelService; JgScrapCancelServiceImpl jgScrapCancelService;
@Autowired
ICmWorkflowService cmWorkflowService;
public static byte[] file2byte(File file) { public static byte[] file2byte(File file) {
try { try {
FileInputStream in = new FileInputStream(file); FileInputStream in = new FileInputStream(file);
...@@ -631,6 +638,58 @@ public class CommonServiceImpl implements ICommonService { ...@@ -631,6 +638,58 @@ public class CommonServiceImpl implements ICommonService {
} }
return null; return null;
} }
@Override
public Object transfer(Map<String, Object> map) {
if (ObjectUtils.isEmpty(map.get("nextTaskId")) || map.get("nextTaskId") == null) {
throw new BadRequest("nextTaskId不能为空");
}
if (ObjectUtils.isEmpty(map.get("instanceId")) || map.get("instanceId") == null) {
throw new BadRequest("instanceId不能为空");
}
String taskId = map.get("nextTaskId").toString();
String instanceId = map.get("instanceId").toString();
String tableName = map.get("tableName").toString();
String assignee = map.get("assignee").toString();
FlowTaskVo flowTaskVo = new FlowTaskVo();
flowTaskVo.setTaskId(taskId);
flowTaskVo.setAssignee(assignee);
cmWorkflowService.assign(flowTaskVo);
//修改待办
List<TaskV2Model> result = Systemctl.taskV2Client.selectListByRelationId(instanceId).getResult();
TaskV2Model taskV2Model = result.stream().filter(r -> r.getFlowCode().equals(taskId)).findFirst().orElse(null);
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
taskV2Model.setExecuteUserIds(reginParams.getUserModel().getUserId());
taskV2Model.setTaskStatus(FlowStatusEnum.TO_BE_TRANSFER.getCode());
taskV2Model.setTaskStatusLabel(FlowStatusEnum.TO_BE_TRANSFER.getName());
taskV2Model.setEndUserId(reginParams.getUserModel().getUserId());
Date createDate = taskV2Model.getCreateDate();
taskV2Model.setCreateDate(new Date());
taskV2Model.setEndDate(new Date());
String routhPath = taskV2Model.getRoutePath().replace("nextExecuteUserIds", "executeUserId") + "&nextExecuteUserIds=" + assignee;
taskV2Model.setRoutePath(routhPath);
Systemctl.taskV2Client.update(taskV2Model, taskV2Model.getSequenceNbr());
//创建新待办
taskV2Model.setExecuteUserIds(assignee);
taskV2Model.setCreateDate(createDate);
taskV2Model.setTaskStatus(0);
taskV2Model.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
taskV2Model.setEndUserId(null);
taskV2Model.setEndDate(null);
taskV2Model.setSequenceNbr(null);
Systemctl.taskV2Client.create(taskV2Model);
String id = commonMapper.selectBusinessData(tableName, instanceId);
if ("null".equals(id)) {
id = assignee;
} else {
id = id + "," + assignee;
}
//修改业务数据
commonMapper.updateBusinessData(tableName, assignee, id, instanceId);
return Boolean.TRUE;
}
public void deleteTaskModel(String id) { public void deleteTaskModel(String id) {
......
...@@ -280,8 +280,9 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto ...@@ -280,8 +280,9 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
public Page<JgMaintainNoticeDto> queryForJgMaintainNoticePage(Page<JgMaintainNotice> page, JgMaintainNoticeDto model, ReginParams reginParams) { public Page<JgMaintainNoticeDto> queryForJgMaintainNoticePage(Page<JgMaintainNotice> page, JgMaintainNoticeDto model, ReginParams reginParams) {
String orgCode = reginParams.getCompany().getCompanyCode(); String orgCode = reginParams.getCompany().getCompanyCode();
String type = reginParams.getCompany().getLevel(); String type = reginParams.getCompany().getLevel();
String userId = reginParams.getUserModel().getUserId();
List<DataDictionary> dictionaries = dataDictionaryService.getByType("WXLX"); List<DataDictionary> dictionaries = dataDictionaryService.getByType("WXLX");
Page<JgMaintainNotice> noticePage = jgMaintainNoticeMapper.queryForPage(page, model, type, orgCode); Page<JgMaintainNotice> noticePage = jgMaintainNoticeMapper.queryForPage(page, model, type, orgCode,userId);
Page<JgMaintainNoticeDto> noticeDtoPage = new Page<>(); Page<JgMaintainNoticeDto> noticeDtoPage = new Page<>();
BeanUtils.copyProperties(noticePage, noticeDtoPage, "records"); BeanUtils.copyProperties(noticePage, noticeDtoPage, "records");
List<JgMaintainNoticeDto> records = noticePage.getRecords().stream().map(notice -> { List<JgMaintainNoticeDto> records = noticePage.getRecords().stream().map(notice -> {
...@@ -505,6 +506,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto ...@@ -505,6 +506,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
//行数据 //行数据
TaskMessageDto taskMessageDto = new TaskMessageDto(); TaskMessageDto taskMessageDto = new TaskMessageDto();
BeanUtils.copyProperties(obj, taskMessageDto); BeanUtils.copyProperties(obj, taskMessageDto);
taskMessageDto.setNextTaskId(obj.getNextTaskId());
dto.setModel(taskMessageDto); dto.setModel(taskMessageDto);
//摘要 按原有规则组装 //摘要 按原有规则组装
dto.setTaskContent(String.format("来自%s【%s】的业务办理,【申请单号:%s】", obj.getEquList(), obj.getSupervisoryCode(), obj.getApplyNo())); dto.setTaskContent(String.format("来自%s【%s】的业务办理,【申请单号:%s】", obj.getEquList(), obj.getSupervisoryCode(), obj.getApplyNo()));
...@@ -532,7 +534,8 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto ...@@ -532,7 +534,8 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
taskModelDto.setTaskCode(item.getApplyNo()); taskModelDto.setTaskCode(item.getApplyNo());
taskModelDto.setTaskType(BusinessTypeEnum.JG_MAINTENANCE_NOTIFICATION.getCode()); taskModelDto.setTaskType(BusinessTypeEnum.JG_MAINTENANCE_NOTIFICATION.getCode());
taskModelDto.setTaskTypeLabel(BusinessTypeEnum.JG_MAINTENANCE_NOTIFICATION.getName()); taskModelDto.setTaskTypeLabel(BusinessTypeEnum.JG_MAINTENANCE_NOTIFICATION.getName());
taskModelDto.setRelationId(workflowResultDto.getInstanceId()); String instanceId = workflowResultList.stream().filter(e -> e.getInstanceId().equals(item.getInstanceId())).findFirst().orElse(null).getInstanceId();
taskModelDto.setRelationId(instanceId);
taskModelDto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds()); // 工作流API返回 taskModelDto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds()); // 工作流API返回
taskModelDto.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName()); taskModelDto.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
taskModelDto.setFlowStatus(commonService.getDictionaryCodeByName(FlowStatusEnum.TO_BE_PROCESSED.getName())); // 流程状态枚举 taskModelDto.setFlowStatus(commonService.getDictionaryCodeByName(FlowStatusEnum.TO_BE_PROCESSED.getName())); // 流程状态枚举
...@@ -544,6 +547,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto ...@@ -544,6 +547,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
taskModelDto.setStartDate(item.getCreateDate()); taskModelDto.setStartDate(item.getCreateDate());
TaskMessageDto taskMessageDto = new TaskMessageDto(); TaskMessageDto taskMessageDto = new TaskMessageDto();
BeanUtils.copyProperties(item, taskMessageDto); BeanUtils.copyProperties(item, taskMessageDto);
taskMessageDto.setNextTaskId(item.getNextTaskId());
taskModelDto.setModel(taskMessageDto); taskModelDto.setModel(taskMessageDto);
taskModelDto.setNextExecuteUser(item.getNextExecuteIds()); taskModelDto.setNextExecuteUser(item.getNextExecuteIds());
taskModelDto.setTaskContent(String.format("来自%s【%s】的业务办理,【申请单号:%s】", item.getEquList(), item.getSupervisoryCode(), item.getApplyNo())); taskModelDto.setTaskContent(String.format("来自%s【%s】的业务办理,【申请单号:%s】", item.getEquList(), item.getSupervisoryCode(), item.getApplyNo()));
......
...@@ -585,6 +585,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -585,6 +585,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
if (!ObjectUtils.isEmpty(useDestail)) { if (!ObjectUtils.isEmpty(useDestail)) {
detail.putAll(useDestail); detail.putAll(useDestail);
} }
detail.remove("safetyManager");
detail.put("proDuctPhoto", JSON.parse(String.valueOf(detail.get("proDuctPhoto")))); detail.put("proDuctPhoto", JSON.parse(String.valueOf(detail.get("proDuctPhoto"))));
detail.put("factoryStandard", JSON.parse(String.valueOf(detail.get("factoryStandard")))); detail.put("factoryStandard", JSON.parse(String.valueOf(detail.get("factoryStandard"))));
detail.put("productQualityYieldProve", JSON.parse(String.valueOf(detail.get("productQualityYieldProve")))); detail.put("productQualityYieldProve", JSON.parse(String.valueOf(detail.get("productQualityYieldProve"))));
......
...@@ -7,6 +7,12 @@ import lombok.Getter; ...@@ -7,6 +7,12 @@ import lombok.Getter;
*/ */
@Getter @Getter
public enum FlowStatusEnum { public enum FlowStatusEnum {
/**
* 已转办
*/
TO_BE_TRANSFER(6621, "已转办"),
/** /**
* 待提交 * 待提交
*/ */
......
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