| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- package cn.com.goldenwater.dcproj.task;
- import cn.com.goldenwater.dcproj.dao.BisInspPblmPlistDao;
- import cn.com.goldenwater.dcproj.dao.GwComFileDao;
- import cn.com.goldenwater.dcproj.model.*;
- import cn.com.goldenwater.dcproj.service.GwPblmShrService;
- import cn.com.goldenwater.dcproj.utils.StringUtils;
- import cn.com.goldenwater.id.util.UuidUtil;
- import org.quartz.DisallowConcurrentExecution;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.scheduling.annotation.EnableScheduling;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Component;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.transaction.interceptor.TransactionAspectSupport;
- import javax.annotation.Resource;
- import java.util.Date;
- import java.util.List;
- /*
- * 督查问题共享,整改台账-----定时任务
- * */
- @Component
- @EnableScheduling
- @DisallowConcurrentExecution
- public class GwPblmShrTask {
- private Logger logger = LoggerFactory.getLogger(getClass());
- private static final String CODE_35 = "350000000000";
- @Value("${fj.gwPblmShrTask.isSign:false}")
- private boolean taskSign;// 定时任务默认关闭
- @Resource
- private GwPblmShrService gwPblmShrService;
- @Resource
- private BisInspPblmPlistDao bisInspPblmPlistDao;
- @Resource
- GwComFileDao gwComFileDao;
- // 每一个小时执行一次(错开整点,往后推迟20分钟执行)
- @Transactional
- @Scheduled(cron = "0 20 */1 * * ?")
- public void doGwPblmShrTask() {
- try {
- if(!taskSign){// 定时任务没有开启
- return;
- }
- // 获取待同步的数据(督察问题中类型为:大中小型水库,的数据)
- BisInspPblm bip = new BisInspPblm();
- bip.setBelongAdCode(CODE_35);// 福建省份编码
- List<BisInspPblm> list = gwPblmShrService.getSomeBisInspPblmDataByCondition(bip);
- if(null==list || list.size()==0){// 查询结果为空,直接返回
- return;
- }
- logger.info("-----执行督察共享问题定时任务-----开始-----");
- GwPblmShr gwPblmShr = null;
- BisInspPblmPlist bisInspPblmPlist = null;
- for(int i=0;i<list.size();i++){
- bip = list.get(i);
- // 1.同步到---共享整改问题表(GW_PBLM_SHR)
- gwPblmShr = new GwPblmShr();
- gwPblmShr.setId(bip.getPblmId());// 问题ID
- gwPblmShr.setCode(bip.getDamRegCode());// 对象代码(水库大坝注册号)
- gwPblmShr.setName(bip.getObjName());// 对象名称
- // 对象所属行政区代码
- if(StringUtils.isNotBlank(bip.getObjAdCode())){
- gwPblmShr.setAdCode(bip.getObjAdCode());
- } else {
- if(StringUtils.isNotBlank(bip.getObjCode())){
- gwPblmShr.setAdCode(bip.getObjCode().substring(0,6)+"000000");
- } else {
- gwPblmShr.setAdCode(CODE_35);
- }
- }
- gwPblmShr.setPblmNameBz(bip.getPblmNameBz());// 问题类别
- gwPblmShr.setCheckPointBz(bip.getCheckPointBz());// 检查项目
- gwPblmShr.setPblmDescBz(bip.getPblmDescBz());// 问题描述
- gwPblmShr.setInspPblmDesc(bip.getInspPblmDesc());// 详细描述
- gwPblmShr.setNote(bip.getNote());// 备注
- gwPblmShr.setPblmTm(bip.getCollTime());// 发现时间
- gwPblmShr.setIntm(new Date());// 插入时间
- gwPblmShrService.insertGwPblmShr(gwPblmShr);
- // 2.同步问题附件 GW_PBLM_SHR_FILE
- List<GwComFile> listFiles = gwComFileDao.findFileByBiz(bip.getPblmId());
- for(int index=0;index<listFiles.size();index++){
- GwPblmShrFile file = new GwPblmShrFile();
- file.setId(UuidUtil.uuid());// ID
- file.setPblmId(listFiles.get(index).getBizId());// 问题ID
- file.setFileExt(listFiles.get(index).getFileExt());// 后缀名
- file.setFileSize(listFiles.get(index).getFileSize());// 大小
- file.setFilePath(listFiles.get(index).getFilePath());// 路径(全路径)
- file.setFileName(listFiles.get(index).getFileName());// 名称
- file.setCreateDate(listFiles.get(index).getCreateDate());// 插入时间
- gwPblmShrService.insertGwPblmShrFile(file);
- }
- // 3.同步到---整改台账表(BIS_INSP_PBLM_PLIST)
- bisInspPblmPlist = new BisInspPblmPlist();
- bisInspPblmPlist.setPblmId(bip.getPblmId());// 问题ID
- bisInspPblmPlist.setId(UuidUtil.uuid());// ID
- bisInspPblmPlist.setDutyName(bip.getInspPblmOrgName());// 责任处室
- // 问题归类
- if("1".equals(bip.getObjType())){
- bisInspPblmPlist.setPblmClassify("小型水库");
- } else if("80".equals(bip.getObjType())){
- bisInspPblmPlist.setPblmClassify("中型水库检查");
- }
- bisInspPblmPlist.setPblmNo(bip.getInspPblmCode());// 问题编号
- bisInspPblmPlist.setObjType(bip.getObjType());// 督查类型
- bisInspPblmPlist.setPblmNameBz(bip.getPblmNameBz());// 问题类别
- bisInspPblmPlist.setCheckPointBz(bip.getCheckPointBz());// 问题标准检查项
- bisInspPblmPlist.setPblmDescBz(bip.getPblmDescBz());// 问题标准描述
- bisInspPblmPlist.setInspPblmCate(bip.getInspPblmCate());// 问题严重程度
- bisInspPblmPlist.setInspPblmDesc(bip.getInspPblmDesc());// 督查问题描述
- bisInspPblmPlist.setObjName(bip.getObjName());// 问题来源对象名称
- bisInspPblmPlist.setObjCode(bip.getObjCode());// 问题对象代码
- // 问题对象所属行政区代码
- if(StringUtils.isNotBlank(bip.getObjAdCode())){
- bisInspPblmPlist.setObjAdCode(bip.getObjAdCode());
- } else {
- if(StringUtils.isNotBlank(bip.getObjCode())){
- bisInspPblmPlist.setObjAdCode(bip.getObjCode().substring(0,6)+"000000");
- } else {
- bisInspPblmPlist.setObjAdCode(CODE_35);
- }
- }
- bisInspPblmPlist.setPblmAdName("福建省");// 问题对象所属行政区名称
- bisInspPblmPlist.setPblmTm(bip.getCollTime());// 问题上报时间
- bisInspPblmPlist.setIsRect("0");// 是否反馈 0 否 1 是
- bisInspPblmPlist.setCrtState("0");// 问题整改状态 0 未整改 1 整改中 2整改完成 3 不具备整改条件
- bisInspPblmPlist.setCrtInfo(bip.getInspPblmName());// 问题整改信息说明
- bisInspPblmPlist.setCrtNote(bip.getNote());// 问题整改备注
- bisInspPblmPlist.setPblmState(bip.getPblmStat());// 问题状态
- bisInspPblmPlist.setPblmOut("0");// 是否销号
- bisInspPblmPlist.setSendOrgId(bip.getInspGroupId());// 发送单位ID
- bisInspPblmPlist.setRecvOrgName(bip.getInspPblmOrgName());// 接收单位名称
- bisInspPblmPlist.setPersId("系统定时");// 创建人
- bisInspPblmPlist.setPersName("系统定时");// 创建人姓名
- bisInspPblmPlist.setIntm(new Date());// 创建时间
- bisInspPblmPlist.setUptm(new Date());// 修改时间
- bisInspPblmPlist.setDataStat("0");// 数据状态(0:正常;9:删除)
- bisInspPblmPlist.setPblmReason(bip.getPblmDescBz());// 整改建议
- bisInspPblmPlist.setIsStart("1");// 是否启动整改(新增)0未启动 1 启动
- bisInspPblmPlist.setImpSource("系统定时");// 导入来源
- bisInspPblmPlist.setBelongOrgId(bip.getBelongOrgId());
- bisInspPblmPlist.setBelongAdCode(bip.getBelongAdCode());
- bisInspPblmPlistDao.insert(bisInspPblmPlist);
- // 4.每执行成功一条,修改问题表中数据:是否共享为:1 已共享
- gwPblmShrService.updateBisInspPblmById(bip.getPblmId());
- }
- logger.info("-----同步督察共享问题-----本次共同步"+list.size()+"条-----");
- logger.info("-----同步整改台账-----本次共同步"+list.size()+"条-----");
- logger.info("-----执行定时任务(督察共享问题,整改台账)-----结束-----");
- } catch (Exception e){
- // 手动回滚
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- logger.info("-----同步督察共享问题,整改台账异常-----");
- logger.info(e.getMessage());
- }
- }
- }
|