|
@@ -2,26 +2,38 @@ package com.platform.service.business.impl;
|
|
|
|
|
|
import com.platform.activiti.dao.entity.ActAuditRequest;
|
|
import com.platform.activiti.dao.entity.ActAuditRequest;
|
|
import com.platform.common.bean.AbstractPageResultBean;
|
|
import com.platform.common.bean.AbstractPageResultBean;
|
|
|
|
+import com.platform.common.cache.ConfigCache;
|
|
import com.platform.common.constant.CommonConstants;
|
|
import com.platform.common.constant.CommonConstants;
|
|
import com.platform.common.exception.BusinessException;
|
|
import com.platform.common.exception.BusinessException;
|
|
import com.platform.common.model.UserInfo;
|
|
import com.platform.common.model.UserInfo;
|
|
import com.platform.common.util.IdGeneratorUtils;
|
|
import com.platform.common.util.IdGeneratorUtils;
|
|
|
|
+import com.platform.common.util.ListUtils;
|
|
import com.platform.common.util.SecurityUtils;
|
|
import com.platform.common.util.SecurityUtils;
|
|
|
|
+import com.platform.common.util.SpringContextHolder;
|
|
import com.platform.common.yongyou.response.OtherOutAddResponse;
|
|
import com.platform.common.yongyou.response.OtherOutAddResponse;
|
|
import com.platform.dao.entity.activiti.LocalAuditRecord;
|
|
import com.platform.dao.entity.activiti.LocalAuditRecord;
|
|
|
|
+import com.platform.dao.entity.preparation.Preparation;
|
|
import com.platform.dao.entity.store.OutStoreForm;
|
|
import com.platform.dao.entity.store.OutStoreForm;
|
|
-import com.platform.dao.enums.ActivitiFormStatusEnum;
|
|
|
|
-import com.platform.dao.enums.OutStoreStatusEnum;
|
|
|
|
|
|
+import com.platform.dao.entity.upms.SysUser;
|
|
|
|
+import com.platform.dao.enums.*;
|
|
import com.platform.dao.mapper.activiti.LocalAuditRecordMapper;
|
|
import com.platform.dao.mapper.activiti.LocalAuditRecordMapper;
|
|
import com.platform.dao.mapper.store.OutStoreFormMapper;
|
|
import com.platform.dao.mapper.store.OutStoreFormMapper;
|
|
|
|
+import com.platform.dao.mapper.upms.SysUserMapper;
|
|
|
|
+import com.platform.dao.util.MessageTemplateUtil;
|
|
|
|
+import com.platform.dao.vo.SysUserVO;
|
|
import com.platform.dao.vo.query.customize.CustomFieldTemplateDataVO;
|
|
import com.platform.dao.vo.query.customize.CustomFieldTemplateDataVO;
|
|
import com.platform.service.customize.BaseFormCheckServiceAbstract;
|
|
import com.platform.service.customize.BaseFormCheckServiceAbstract;
|
|
|
|
+import com.platform.service.event.WorkplaceBacklogEvent;
|
|
|
|
+import com.platform.service.util.SendMessageUtils;
|
|
import com.platform.service.yongyou.YongyouService;
|
|
import com.platform.service.yongyou.YongyouService;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
+import java.io.OutputStream;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
|
|
|
|
/**
|
|
/**
|
|
* @Description 工作流业务
|
|
* @Description 工作流业务
|
|
@@ -36,6 +48,7 @@ public class OutStoreFormActivitiServiceImpl extends BaseFormCheckServiceAbstrac
|
|
private OutStoreFormMapper outStoreFormMapper;
|
|
private OutStoreFormMapper outStoreFormMapper;
|
|
private final YongyouService yongyouService;
|
|
private final YongyouService yongyouService;
|
|
private final LocalAuditRecordMapper localAuditRecordMapper;
|
|
private final LocalAuditRecordMapper localAuditRecordMapper;
|
|
|
|
+ private final SysUserMapper sysUserMapper;
|
|
/**
|
|
/**
|
|
* 检查业务是否可以发起,比如检查业务状态等
|
|
* 检查业务是否可以发起,比如检查业务状态等
|
|
*
|
|
*
|
|
@@ -54,11 +67,47 @@ public class OutStoreFormActivitiServiceImpl extends BaseFormCheckServiceAbstrac
|
|
|
|
|
|
@Override
|
|
@Override
|
|
protected void doStartUpdate(ActAuditRequest actAuditRequest) {
|
|
protected void doStartUpdate(ActAuditRequest actAuditRequest) {
|
|
|
|
+ OutStoreForm queryForm = outStoreFormMapper.selectByPrimaryKey(actAuditRequest.getId());
|
|
OutStoreForm outStoreForm = new OutStoreForm();
|
|
OutStoreForm outStoreForm = new OutStoreForm();
|
|
outStoreForm.setId(actAuditRequest.getId());
|
|
outStoreForm.setId(actAuditRequest.getId());
|
|
outStoreForm.setProcessInstanceId(actAuditRequest.getProcessInstanceId());
|
|
outStoreForm.setProcessInstanceId(actAuditRequest.getProcessInstanceId());
|
|
outStoreForm.setStatus(OutStoreStatusEnum.NOT_EXECUTE.getValue());
|
|
outStoreForm.setStatus(OutStoreStatusEnum.NOT_EXECUTE.getValue());
|
|
outStoreFormMapper.updateByPrimaryKeySelective(outStoreForm);
|
|
outStoreFormMapper.updateByPrimaryKeySelective(outStoreForm);
|
|
|
|
+ // 给审核主管发送微信通知
|
|
|
|
+ sendMessageToManger(queryForm);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 给出库审批人发送消息
|
|
|
|
+ * @param outForm
|
|
|
|
+ */
|
|
|
|
+ private void sendMessageToManger(OutStoreForm outForm){
|
|
|
|
+ SysUser sysUser = sysUserMapper.selectByPrimaryKey(outForm.getCreatedUserId());
|
|
|
|
+ String info = MessageTemplateUtil.getOutStoreFormSuccess(outForm.getOutNo());
|
|
|
|
+ Integer detailType = WorkplaceBacklogDetailTypeEnum.OUT_STORE_NOTICE.getValue();
|
|
|
|
+ String[] values = new String[]{"出库单待审批!",outForm.getOutNo(),"无","无","无","请尽快审批"};
|
|
|
|
+ String wechatTemplateId = ConfigCache.getLabelByValueAllowNull(SysConfigEnum.REPAIR_SEND_SUCCESS_WECHAT_TEMPLATE_ID.name());;
|
|
|
|
+ String detailUrl = "pages/backlog/backlog";
|
|
|
|
+ List<String> mails = ListUtils.newArrayList();
|
|
|
|
+ List<String> userIds = ListUtils.newArrayList();
|
|
|
|
+ List<String> openIds = ListUtils.newArrayList();
|
|
|
|
+ List<String> phones = ListUtils.newArrayList();
|
|
|
|
+ mails.add(sysUser.getEmail());
|
|
|
|
+ userIds.add(sysUser.getUserId());
|
|
|
|
+ openIds.add(sysUser.getWxOpenId());
|
|
|
|
+ phones.add(sysUser.getPhone());
|
|
|
|
+ // 1、站内信
|
|
|
|
+ sendWorkplaceAndEmailNew(mails,userIds,outForm.getId(),info, detailType);
|
|
|
|
+ // 2、微信
|
|
|
|
+ SendMessageUtils.sendWechatNew(openIds,detailUrl,values,wechatTemplateId);
|
|
|
|
+ // 3、短信
|
|
|
|
+ SendMessageUtils.sendCommonSms(phones,info);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void sendWorkplaceAndEmailNew(List<String> mails,List<String> userIds,String repairId,String content,Integer detailType){
|
|
|
|
+ // 通过给当天值班维修人员
|
|
|
|
+ SpringContextHolder.publishEvent(new WorkplaceBacklogEvent(WorkplaceBacklogTypeEnum.OUT_STORE.getValue(), detailType,
|
|
|
|
+ repairId, content, repairId, userIds, mails));
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|