| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package com.xcgl.activititask.service.impl;
- import cn.com.lzt.message.send.util.MessageSendUtil;
- import com.xcgl.activititask.entity.PActivitiTaskEntity;
- import com.xcgl.activititask.service.ActivitiTaskService;
- import com.xcgl.activititask.util.ActivitiTaskHandler;
- import com.xcgl.activititask.util.ActivitiTaskHandlerUtil;
- import com.xcgl.projecttask.entity.ProjecttaskEntity;
- import com.xcgl.utils.XcglConstant;
- import org.apache.commons.lang.xwork.StringUtils;
- import org.jeecgframework.core.constant.Globals;
- import org.jeecgframework.core.util.DateUtils;
- import org.jeecgframework.web.system.pojo.base.TSUser;
- import org.jeecgframework.web.system.service.SystemService;
- import org.jeecgframework.workflow.pojo.base.TPProcess;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.text.SimpleDateFormat;
- import java.util.*;
- @Service
- public class ActivitiTaskServiceImpl implements ActivitiTaskService {
- @Autowired
- private SystemService systemService;
- @Override
- public void start(String processKey, String table, String formId) {
- TPProcess process = systemService.findUniqueByProperty(TPProcess.class, "processkey", processKey);
- if(process!=null){
- String processId = process.getId();
- List<PActivitiTaskEntity> activitiTaskList =systemService.findByProperty(PActivitiTaskEntity.class, "processId",processId );
- for(PActivitiTaskEntity activitiTaskEntity : activitiTaskList){
- String clazzStringValue = activitiTaskEntity.getExecuteClass();
- List<ProjecttaskEntity> taskList = null;
- ActivitiTaskHandler handler = ActivitiTaskHandlerUtil.getHandler(clazzStringValue);
- if(handler.canDo(activitiTaskEntity,table,formId)){
- taskList = handler.createTask(activitiTaskEntity,table,formId);
- if(taskList==null || taskList.isEmpty()) return;
- systemService.batchSave(taskList);
- for(ProjecttaskEntity task : taskList) {
- try {
- //发消息
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String owner = task.getOwner();
- TSUser ownerUser = systemService.getEntity(TSUser.class, owner);
- String targetUserId = task.getTargetUser();
- ProjecttaskEntity.ExecuteWay executeWay = task.getExecuteWay();
- Map<String, Object> userMsgParms = new HashMap<String, Object>();
- userMsgParms.put("first", "你好" + ownerUser.getRealName() + ",你有一个新工作");
- userMsgParms.put("keyword1", task.getName());//工作内容
- userMsgParms.put("keyword2", format.format(new Date()));//创建时间
- String openId = ownerUser.getOpenid();
- String url = null;
- String remark = "任务时间:截止到 " + format.format(task.getPlanendtime()) + "\r\n ";
- if (executeWay == ProjecttaskEntity.ExecuteWay.both) {
- url = "http://www.shenqin.work/h5/task.html?id=" + task.getId();
- remark += "点击【详情】查看工作内容";
- } else {
- remark += "请登录慧管理系统完成工作";
- }
- userMsgParms.put("remark", remark);
- MessageSendUtil.sendMsgToWX(XcglConstant.TEMPLATE_WXMSG_TASK, owner, openId, url, userMsgParms, true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- }
- }
- }
- }
|