package com.zcloud.flow.xgf.GuFen; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; import com.zcloud.entity.PageData; import com.zcloud.flow.util.GJSendMessageUtil; import com.zcloud.flow.util.dto.UserDTO; import com.zcloud.mapper.datasource.bus.CorpInfoMapper; import com.zcloud.mapper.datasource.xgf.XgfFlowsMapper; import com.zcloud.mapper.datasource.xgf.XgfUserDetailsMapper; import com.zcloud.mapper.datasource.xgf.XgfUserMapper; import com.zcloud.service.xgf.XgfUserService; import com.zcloud.util.DateUtil; import com.zcloud.util.Jurisdiction; import com.zcloud.flow.xgf.util.XgfFlowDto; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; @LiteflowComponent("GuFenWeiTuoSupervise") @SuppressWarnings("all") public class GuFenWeiTuoSupervise extends NodeComponent { @Resource private XgfFlowsMapper xgfFlowsMapper; @Resource private XgfUserService xgfUserService; @Resource private XgfUserMapper xgfUserMapper; @Resource private CorpInfoMapper corpInfoMapper; @Resource private XgfUserDetailsMapper xgfUserDetailsMapper; @Resource private GJSendMessageUtil gjSendMessageUtil; @Value("${gongJiangXueYuanGetImgUrl}") private String imgBaseUrl; @Override public boolean isAccess() { System.out.println("2???????"); XgfFlowDto info = this.getRequestData(); // 如果指针没有数据,赋值后自动结束 if (StringUtils.isBlank(info.getIterator())) { PageData condition = new PageData(); condition.put("FLOWS_ID", info.getFLOWS_ID()); PageData flows = xgfFlowsMapper.findById(condition); info.setIterator("2"); flows.put("APPOINT_TWO_CORP_TYPE", "0"); flows.put("APPOINT_TWO_DEPARTMENT_ID", info.getAPPOINT_DEPARTMENT_ID()); flows.put("APPOINT_TWO_DEPARTMENT_NAME", info.getAPPOINT_DEPARTMENT_NAME()); flows.put("APPOINT_TWO_USER_ID", info.getAPPOINT_USER_ID()); flows.put("APPOINT_TWO_USER_NAME", info.getAPPOINT_USER_NAME()); flows.put("FLOWS_STEP", 2); xgfFlowsMapper.edit(flows); return false; } return "2".equals(info.getIterator()); } @Override public void process() throws Exception { System.out.println(getName() + "节点"); XgfFlowDto info = this.getRequestData(); try { PageData condition = new PageData(); condition.put("FLOWS_ID", info.getFLOWS_ID()); PageData flows = xgfFlowsMapper.findById(condition); condition.clear(); condition.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); PageData corpEntity = corpInfoMapper.findById(condition); flows.put("APPOINT_TWO_CORP_ID", Jurisdiction.getCORPINFO_ID()); flows.put("APPOINT_TWO_CORP_NAME", corpEntity.getString("CORP_NAME")); flows.put("APPOINT_TWO_TIME", DateUtil.getTime()); flows.put("APPOINT_TWO_STATUS", info.getSTATUS()); flows.put("APPOINT_TWO_OPINION", info.getOPINION()); flows.put("OPINION", info.getOPINION()); if ("0".equals(info.getSTATUS())) { // 打回至相关方端 xgfUserService.repulse(flows, info); // 保存操作记录 xgfUserService.saveLog(info, info.getSTATUS(), "0"); } else { xgfFlowsMapper.edit(flows); condition.clear(); condition.put("XGF_USER_ID", flows.getString("FLOWS_ID")); PageData entity = xgfUserMapper.findById(condition); entity.put("CHECK_STATUS", 2); entity.put("VALID_FLAG", "1"); entity.put("STATUS", "2"); entity.put("CHECK_STEP", Integer.parseInt(entity.get("CHECK_STEP").toString()) + 1); xgfUserMapper.edit(entity); // created by liu jun 2024-06-26 工匠学院对接 condition.clear(); condition.put("XGF_USER_DETAILS_ID", flows.getString("FLOWS_ID")); PageData entityInfo = xgfUserDetailsMapper.findById(condition); UserDTO userDTO = UserDTO.builder() .userName(entity.getString("USERNAME")) .realName(entity.getString("NAME")) .userSex("0".equals(entityInfo.getString("SEX")) ? "男" : "女") .phoneNumber(entity.getString("USERNAME")) .idCard(entityInfo.getString("CARD_ID")) .orgTree("集团外公司(含外协单位)/"+ entity.getString("BELONG_TO_CORP_NAME")) .avatarUrl(imgBaseUrl + entityInfo.getString("PHOTO")) .build(); List list = new ArrayList(); list.add(userDTO); gjSendMessageUtil.sendMessage(list); // 保存操作记录 xgfUserService.saveLog(info, info.getSTATUS(), "1"); info.setIterator(""); } } catch (Exception e) { info.setErrorMsg(e.getMessage()); e.printStackTrace(); } } @Override public boolean isEnd() { XgfFlowDto info = this.getRequestData(); if (StringUtils.isNotBlank(info.getErrorMsg())) { throw new RuntimeException(info.getErrorMsg()); } if ("0".equals(info.getSTATUS()) && "2".equals(info.getIterator())) { return true; } return super.isEnd(); } }