diff --git a/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java b/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java index e559943a..5a30aed5 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java +++ b/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java @@ -402,4 +402,7 @@ public interface workFlowFeignClient { @RequestMapping(value = "/bat-wkflow/datas/bus-process-new/everyDayTenOlock",method = RequestMethod.GET) List everyDayTenOlock(); + + @RequestMapping(value = "/bat-wkflow/datas/bus-process-new/everyDayTenOlockSAM",method = RequestMethod.GET) + List everyDayTenOlockSAM(); } diff --git a/adc-da-activiti/src/main/java/com/adc/da/Timer/ProcessTimer.java b/adc-da-activiti/src/main/java/com/adc/da/Timer/ProcessTimer.java index cdf348f1..f37f251e 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/Timer/ProcessTimer.java +++ b/adc-da-activiti/src/main/java/com/adc/da/Timer/ProcessTimer.java @@ -11,6 +11,7 @@ import com.adc.da.sys.entity.UserEO; import com.adc.da.sys.service.IUserEOService; import com.adc.da.workFlow.controller.WorkFlowController; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -185,10 +186,39 @@ public class ProcessTimer { } } + @Scheduled(cron = "0 0 10 * * ? ")//每天十点执行 +// @Scheduled(cron = "*/40 * * * * ? ")//20s + public void everyDayTenOlockScanSAM() { + List busProcessNews=new ArrayList<>(); + busProcessNews=workFlowFeignClient.everyDayTenOlockSAM(); + if (!busProcessNews.isEmpty()){ + for (BusProcessNew bus:busProcessNews) { + JSONObject jsonObject= JSON.parseObject(bus.getMesg()); + String taskInfo = bus.getTaskInfo(); + String result = jsonObject.getJSONObject("roleList").getString("dockUser"); + result = result.split(",")[0]; + jsonObject.put("member",result); + if(taskInfo.equals("标准化活动参会流程-流程结束")){ + jsonObject.put("auto","1"); + ResponseMessage responseMessage = workFlowController.startProcessNew("22",result,null); + BusMes busMes=new BusMes(); + busMes.setTaskIds(String.valueOf(responseMessage.getData())); + busMes.setJson(jsonObject.toJSONString()); + busMes.setUserId(result); + + Wrapper wrapper=workFlowFeignClient.completeTaskByUserId(busMes); + System.out.println("标准化活动会后流程自动发起"); + } + + } + } + } + public static void main(String[]args){ ProcessTimer processTimer = new ProcessTimer(); processTimer.everyDayTenOlockScan(); + processTimer.everyDayTenOlockScanSAM(); } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sapMeetInfo/controller/SapMeetingController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sapMeetInfo/controller/SapMeetingController.java new file mode 100644 index 00000000..3d5997dc --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sapMeetInfo/controller/SapMeetingController.java @@ -0,0 +1,69 @@ +package com.adc.da.slrs.sapMeetInfo.controller; + + +import com.adc.da.slrs.sapMeetInfo.service.ISapMeetingService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.web.bind.annotation.*; +import com.adc.da.slrs.sapMeetInfo.entity.SapMeeting; +import io.swagger.annotations.Api; +import com.adc.da.base.web.BaseController; + +import java.util.Date; +import java.util.List; + +/** +*

+ * 流程通过的 标准化活动会议信息表 +standard_activity_pass + 前端控制器 + *

+* +* @author zcr +* @since 2021-11-09 +*/ +@RestController +@Api(description = "|SapMeeting|") +@RequestMapping("/api/sapMeetInfo") +public class SapMeetingController extends BaseController { + + @Autowired + ISapMeetingService sapMeetingService; + + @ApiOperation(value = "id查询会议信息") + @GetMapping("/getOneById") + public SapMeeting getOneById(String id){ + return sapMeetingService.getMeetingById(id); + } + + @ApiOperation(value = "获取日历显示会议信息") + @GetMapping("/getDateMeeting") + public int getDateMeeting(@DateTimeFormat(pattern = "yyyy-MM-dd") Date date, String id,int type){ + return sapMeetingService.getDateMeeting(date,id,type); + } + + @ApiOperation(value = "获取当月") + @GetMapping("/getMeetingsByMonth") + public List getMeetingsByMonth(@DateTimeFormat(pattern = "yyyy-MM-dd") Date date){ + return sapMeetingService.getMeetingsByMonth(date); + } + + @ApiOperation(value = "获取当月,根据标志位type区分 1标准活动和2政策课题") + @GetMapping("/getMeetingsByMonthType") + public List getMeetingsByMonthType(@DateTimeFormat(pattern = "yyyy-MM-dd") Date date,int type){ + return sapMeetingService.getMeetingsByMonth(date, type); + } + + @ApiOperation(value = "获取当天") + @GetMapping("/getMeetingsByDate") + public List getMeetingsByDate(@DateTimeFormat(pattern = "yyyy-MM-dd") Date date,int type){ + return sapMeetingService.getMeetingsByDate(date,type); + } + + @ApiOperation(value = "插入") + @PostMapping("/addMeeting") + public int addMeeting(@RequestBody SapMeeting sapMeeting){ + return sapMeetingService.addMeeting(sapMeeting); + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sapMeetInfo/dao/SapMeetingDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sapMeetInfo/dao/SapMeetingDao.java new file mode 100644 index 00000000..f3fd90bb --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sapMeetInfo/dao/SapMeetingDao.java @@ -0,0 +1,43 @@ +package com.adc.da.slrs.sapMeetInfo.dao; + +import com.adc.da.slrs.sapMeetInfo.entity.SapMeeting; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + *

+ * 流程通过的 标准化活动会议信息表 +standard_activity_pass + Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-11-09 + */ +@Repository +public interface SapMeetingDao extends BaseMapper { + + int insertMeeting(SapMeeting sapMeeting);//参会流程结束--插入 + + List selectMeetingsByDate(Map map);//根据日期查找-当日所有会议(时间正序) + List selectMeetingsByMonth(Date date);//根据年,月查找 + List selectMeetingsByMonthType(Map map);//根据年,月查找,type标志位 1标准化活动 2政策课题组 + + + SapMeeting selectMeetingById(String id); + + + int deleteById(String id); + + int deleteByDate(Date date); + + int updateMeeting(SapMeeting sapMeeting); + + + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sapMeetInfo/entity/SapMeeting.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sapMeetInfo/entity/SapMeeting.java new file mode 100644 index 00000000..6b273f94 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sapMeetInfo/entity/SapMeeting.java @@ -0,0 +1,47 @@ +package com.adc.da.slrs.sapMeetInfo.entity; + +import com.adc.da.base.entity.BaseEntity; +import java.util.Date; + +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +/** + *

+ * 流程通过的 标准化活动会议信息表 +standard_activity_pass + + *

+ * + * @author super_liu + * @since 2021-11-09 + */ +@Data +@Accessors(chain = true) +@ToString +@ApiModel(value="SapMeeting对象", description="流程通过的 标准化活动会议信息表 standard_activity_pass") +public class SapMeeting{ + + private static final long serialVersionUID = 1L; + + private String id;//主键-会议id + + private String title;//会议标题 + + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date date;//会议开始时间 + + private String content;//会议内容大纲 + + private int type;//标志位--1标准化活动会议,0政策组会议 + + private String attend;//参与人 {id,name} json + + private String files;//附件 json + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sapMeetInfo/service/ISapMeetingService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sapMeetInfo/service/ISapMeetingService.java new file mode 100644 index 00000000..c2b9d42c --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sapMeetInfo/service/ISapMeetingService.java @@ -0,0 +1,38 @@ +package com.adc.da.slrs.sapMeetInfo.service; + +import com.adc.da.slrs.sapMeetInfo.entity.SapMeeting; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Date; +import java.util.List; + +/** + *

+ * 流程通过的 标准化活动会议信息表 +standard_activity_pass + 服务类 + *

+ * + * @author super_liu + * @since 2021-11-09 + */ +public interface ISapMeetingService extends IService { + + int addMeeting(SapMeeting sapMeeting);//参会流程结束--插入 + + List getMeetingsByDate(Date date,int type);//根据日期查找-当日所有会议(时间正序) + List getMeetingsByMonth(Date date);//根据年,月查找 + List getMeetingsByMonth(Date date,int type);//根据年,月查找 + + int getDateMeeting(Date date,String id,int type); + + + SapMeeting getMeetingById(String id); + + int delById(String id); + + int delByDate(Date date); + + int modMeeting(SapMeeting sapMeeting); + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sapMeetInfo/service/impl/SapMeetingServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sapMeetInfo/service/impl/SapMeetingServiceImpl.java new file mode 100644 index 00000000..7d71da5c --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sapMeetInfo/service/impl/SapMeetingServiceImpl.java @@ -0,0 +1,112 @@ +package com.adc.da.slrs.sapMeetInfo.service.impl; + +import com.adc.da.slrs.sapMeetInfo.entity.SapMeeting; +import com.adc.da.slrs.sapMeetInfo.dao.SapMeetingDao; +import com.adc.da.slrs.sapMeetInfo.service.ISapMeetingService; +import com.adc.da.util.UUIDUtils; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + *

+ * 流程通过的 标准化活动会议信息表 +standard_activity_pass + 服务实现类 + *

+ * + * @author super_liu + * @since 2021-11-09 + */ +@Service +public class SapMeetingServiceImpl extends ServiceImpl implements ISapMeetingService { + + @Autowired + SapMeetingDao sapMeetingDao; + + @Override + public int addMeeting(SapMeeting sapMeeting) { + sapMeeting.setId(UUIDUtils.randomUUID(30)); + return sapMeetingDao.insertMeeting(sapMeeting); + } + + @Override + public List getMeetingsByDate(Date date,int type) { + Map map = new HashMap(); + map.put("date",date); + map.put("type",type); + return sapMeetingDao.selectMeetingsByDate(map); + } + + @Override + public List getMeetingsByMonth(Date date) { + List sapMeetings = sapMeetingDao.selectMeetingsByMonth(date); + return sapMeetings; + } + + @Override + public List getMeetingsByMonth(Date date, int type) { + Map map = new HashMap(); + map.put("date",date); + map.put("type",type); + return sapMeetingDao.selectMeetingsByMonthType(map); + } + + @Override + public int getDateMeeting(Date date,String id,int type) { + Map map = new HashMap(); + map.put("type",type); + map.put("date",date); + List sapMeetings = sapMeetingDao.selectMeetingsByDate(map); + int rat = 0;//标志位 0无会议;1有会议;2有会议且有自己参会的会议 + if(sapMeetings.isEmpty()){ + rat = 1; + }else if(hasOwnMeeting(id,sapMeetings)){ + rat = 2; + } + return rat; + } + + @Override + public SapMeeting getMeetingById(String id) { + return sapMeetingDao.selectMeetingById(id); + } + + @Override + public int delById(String id) { + return sapMeetingDao.deleteById(id); + } + + @Override + public int delByDate(Date date) { + return sapMeetingDao.deleteByDate(date); + } + + @Override + public int modMeeting(SapMeeting sapMeeting) { + return sapMeetingDao.updateMeeting(sapMeeting); + } + + boolean hasOwnMeeting(String id,List sapMeetings){ + for(SapMeeting sapMeeting : sapMeetings){ + JSONObject jsonObject = JSONObject.parseObject(sapMeeting.getAttend()); + String a = jsonObject.getString("id"); + if(a.contains("[") && a.contains("]")){ + a.substring(1,a.length()-1); + } + String[] split = a.trim().split(","); + for (String s : split) { + if (s.equals(id)) { + return true; + } + } + } + return false; + } +} diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sapMeetInfo/SapMeetingMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sapMeetInfo/SapMeetingMapper.xml new file mode 100644 index 00000000..533cc110 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sapMeetInfo/SapMeetingMapper.xml @@ -0,0 +1,77 @@ + + + + + + id,title,date,content,type,attend,files + + + type = #{type} + + + + insert into sap_meeting + + id, + title, + date, + content, + type, + attend, + files, + + values + + #{id}, + #{title}, + #{date}, + #{content}, + #{type}, + #{attend}, + #{files}, + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/spaMeetInfo/SapAttendeeMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/spaMeetInfo/SapAttendeeMapper.xml new file mode 100644 index 00000000..9ffa4968 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/spaMeetInfo/SapAttendeeMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/spaMeetInfo/SapFilesMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/spaMeetInfo/SapFilesMapper.xml new file mode 100644 index 00000000..e19264db --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/spaMeetInfo/SapFilesMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/spaMeetInfo/SapMeetingMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/spaMeetInfo/SapMeetingMapper.xml new file mode 100644 index 00000000..586270ef --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/spaMeetInfo/SapMeetingMapper.xml @@ -0,0 +1,5 @@ + + + + +