| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- package cn.com.goldenwater.dcproj.service.impl.tac;
- import cn.com.goldenwater.core.service.AbstractCrudService;
- import cn.com.goldenwater.dcproj.dao.*;
- import cn.com.goldenwater.dcproj.model.*;
- import cn.com.goldenwater.dcproj.param.*;
- import cn.com.goldenwater.dcproj.service.*;
- import cn.com.goldenwater.dcproj.utils.BeanUtil;
- import cn.com.goldenwater.id.util.UuidUtil;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.util.Date;
- import java.util.List;
- /**
- * @author lune
- * @date 2020-5-28
- */
- @Service
- @Transactional
- public class DataMigrationServiceImpl extends AbstractCrudService<TacProvincePblmInfo, TacProvincePblmInfoParam> implements DataMigrationService {
- private Logger logger = LoggerFactory.getLogger(getClass());
- @Autowired
- private TacProvincePblmInfoDao tacProvincePblmInfoDao;
- @Autowired
- private TacPblmInfoDao tacPblmInfoDao;
- @Autowired
- private GwComFileDao gwComFileDao;
- @Autowired
- private OlBisInspOrgDao olBisInspOrgDao;
- @Autowired
- private TacProvincePlanTaskDao tacProvincePlanTaskDao;
- @Autowired
- private TacPawpRgstrDao tacPawpRgstrDao;
- @Autowired
- private TacPblmSubjectDao tacPblmSubjectDao;
- @Autowired
- private GwComFileService gwComFileService;
- @Autowired
- private TacObjSubjectService objSubjectService;
- @Autowired
- private TacPblmInfoService tacPblmInfoService;
- @Autowired
- private DataMigrationDao dataMigrationDao;
- @Autowired
- private TacProvincePlanProcessDao tacProvincePlanProcessDao;
- public DataMigrationServiceImpl(TacProvincePblmInfoDao tacProvincePblmInfoDao) {
- super(tacProvincePblmInfoDao);
- this.tacProvincePblmInfoDao = tacProvincePblmInfoDao;
- }
- @Override
- public boolean newplan1() {
- try{
- // 1、查询浙江省现有工程信息;
- List<TacPawpRgstr> pawpRgstr = dataMigrationDao.findPawpRgstr();
- // 2、获取新阶段的第一阶段;
- // 提交后问题录入初始阶段,初始为开始状态
- TacProvincePlanProcessParam tacProvincePlanProcessParam = new TacProvincePlanProcessParam();
- tacProvincePlanProcessParam.setOrgId("036");
- tacProvincePlanProcessParam.setPrvId("0");//上一步id为0表示当前为起始位置
- TacProvincePlanProcess tacProvincePlanProcess = tacProvincePlanProcessDao.getBy(tacProvincePlanProcessParam);
- // 机构定制阶段流程
- if (tacProvincePlanProcess == null) {
- logger.info("无新阶段");
- return false;
- }
- // 3、循环工程信息,
- for (TacPawpRgstr tacPawpRgstr : pawpRgstr) {
- //提交下一段阶段记录入库
- OlBisInspOrg olBisInspOrg = olBisInspOrgDao.get(tacProvincePlanProcess.getOrgId());
- String taskId = getProcessTaskId(tacPawpRgstr.getId(), tacPawpRgstr.getPersId(), olBisInspOrg.getOrgNm(), tacProvincePlanProcess, "1");
- // 查询旧阶段最后阶段的工程问题以及资源;
- List<GwComFile> comFileList = null;
- TacProvincePblmInfo tacProvincePblmInfo = null;
- TacPblmInfoParam tacPblmInfoParam = new TacPblmInfoParam();
- tacPblmInfoParam.setRgstrId(tacPawpRgstr.getId() + "_5");
- tacPblmInfoParam.setProvince("330000000000");
- List<TacPblmInfo> TacPblmInfoList = tacPblmInfoDao.findList(tacPblmInfoParam);
- //相关专业是第一次提交时返回稽察对象的新增的提交记录id
- // 5,根据问题数据以及问题佐证材料以及阶段id入库新阶段问题表数据;
- for (TacPblmInfo pblmInfo : TacPblmInfoList) {
- tacProvincePblmInfo = new TacProvincePblmInfo();
- BeanUtil.copyObject1(pblmInfo, tacProvincePblmInfo);
- tacProvincePblmInfo.setRgstrId(tacPawpRgstr.getId());//稽察工程登记表
- tacProvincePblmInfo.setTaskId(taskId);//问题所属阶段id
- String uuid = UuidUtil.uuid();
- tacProvincePblmInfo.setStepId(tacProvincePlanProcess.getNowId());//问题所属阶段为提交当前阶段
- tacProvincePblmInfo.setId(uuid);
- tacProvincePblmInfo.setUptm(new Date());
- tacProvincePblmInfo.setIntm(new Date());
- tacProvincePblmInfo.setState("0");//新增对应阶段问题状态为0
- tacProvincePblmInfo.setOldPblmId(pblmInfo.getId());//保存原问题id
- tacProvincePblmInfoDao.insert(tacProvincePblmInfo);
- //问题第一次提交时,稽察阶段问题对应多个单位主体性质入库
- //复制稽察问题相关责任主体列表
- TacPblmSubjectParam subjectParam = new TacPblmSubjectParam();
- subjectParam.setPblmId(pblmInfo.getId());
- List<TacPblmSubject> subjectList = tacPblmSubjectDao.findList(subjectParam);
- tacPblmInfoService.addPblmSubject(pblmInfo.getSubjectNames(), pblmInfo.getSubjectIds(), subjectList, tacProvincePblmInfo.getId());
- // tacPblmInfoService.addPblmSubject(pblmInfo.getSubjectNames(),pblmInfo.getSubjectIds(),pblmInfo.getPblmSubjectList(), tacProvincePblmInfo.getId());
- //至下一阶段的新增问题资源重新保存
- comFileList = gwComFileDao.findFileByBiz(pblmInfo.getId());
- if (comFileList != null && !comFileList.isEmpty()) {
- for (GwComFile gwComFile : comFileList) {
- gwComFile.setId(UuidUtil.uuid());
- gwComFile.setBizId(uuid);
- gwComFileDao.insert(gwComFile);
- }
- }
- comFileList = null;
- }
- TacPawpRgstr tacPawpRgstrnew=new TacPawpRgstr();
- tacPawpRgstrnew.setTaskId(taskId);//更新当前稽察对象当前阶段
- tacPawpRgstrnew.setId(tacPawpRgstr.getId());
- tacPawpRgstrDao.update(tacPawpRgstrnew);
- }
- return true;
- }catch (Exception e){
- e.printStackTrace();
- return false;
- }
- }
- @Override
- public boolean planProcess2(String nextId) {
- // 1、查询浙江省现有工程信息;
- List<TacPawpRgstr> pawpRgstr = dataMigrationDao.findPawpRgstr();
- // 2、获取新阶段的第一阶段;
- // 提交后问题录入新阶段
- TacProvincePlanProcessParam tacProvincePlanProcessParam = new TacProvincePlanProcessParam();
- tacProvincePlanProcessParam.setOrgId("036");
- tacProvincePlanProcessParam.setNowId(nextId);//上一步id为0表示当前为起始位置,下一步id为1时表示为开始位置
- TacProvincePlanProcess tacProvincePlanProcess = tacProvincePlanProcessDao.getBy(tacProvincePlanProcessParam);
- // 机构定制阶段流程
- if (tacProvincePlanProcess == null) {
- logger.info("无此阶段");
- return false;
- }
- // 3、循环工程信息,
- for (TacPawpRgstr tacPawpRgstr : pawpRgstr) {
- //查询下一阶段记录是否存在,若不存在则新增阶段记录,存在则不能重复提交到下一阶段
- TacProvincePlanTaskParam provincePlanTaskParam = new TacProvincePlanTaskParam();
- provincePlanTaskParam.setNowId(nextId);
- provincePlanTaskParam.setRgstrId(tacPawpRgstr.getId());
- provincePlanTaskParam.setOrgId("036");
- TacProvincePlanTask tacProvincePlanTask = tacProvincePlanTaskDao.getBy(provincePlanTaskParam);
- if (tacProvincePlanTask != null) {
- logger.info("当前阶段问题已经提交,请不要重复提交!!");
- return false;
- }
- //根据稽察对象的当前阶段记录,查询阶段记录表中该阶段记录。
- tacProvincePlanTask = tacProvincePlanTaskDao.get(tacPawpRgstr.getTaskId());
- if(!tacProvincePlanProcess.getPrvId().equals(tacProvincePlanTask.getNowId())){
- logger.info("当前阶段问题已经提交,请不要重复提交!!");
- return false;
- }
- OlBisInspOrg olBisInspOrg = olBisInspOrgDao.get(tacProvincePlanProcess.getOrgId());
- String taskId = getProcessTaskId(tacPawpRgstr.getId(), tacPawpRgstr.getPersId(), olBisInspOrg.getOrgNm(), tacProvincePlanProcess, "1");
- // 查询旧阶段最后阶段的工程问题以及资源;
- List<GwComFile> comFileList = null;
- TacProvincePblmInfo tacProvincePblmInfo = null;
- //查询当前阶段问题清单
- TacProvincePblmInfoParam tacPblmInfoParam = new TacProvincePblmInfoParam();
- tacPblmInfoParam.setRgstrId(tacPawpRgstr.getId());
- tacPblmInfoParam.setTaskId(tacPawpRgstr.getTaskId());//稽察对象对应的阶段记录taskId
- tacPblmInfoParam.setProvince(tacProvincePlanProcess.getAdCode());
- List<TacProvincePblmInfo> tacPblmInfoList = tacProvincePblmInfoDao.findList(tacPblmInfoParam);
- //相关专业是第一次提交时返回稽察对象的新增的提交记录id
- //5,根据问题数据以及问题佐证材料以及阶段id入库新阶段问题表数据;
- for (TacProvincePblmInfo pblmInfo : tacPblmInfoList) {
- //新增当前阶段记录下问题清单至提交的下一段阶段
- comFileList=gwComFileDao.findFileByBiz(pblmInfo.getId());
- //问题修改意见资源
- String uuid=UuidUtil.uuid();
- pblmInfo.setTaskId(taskId);
- pblmInfo.setIntm(new Date());
- pblmInfo.setStepId(tacProvincePlanProcess.getNowId());//记录问题对应提交的下一阶段id
- pblmInfo.setOldPblmId(pblmInfo.getId());//保存上一阶段的问题id
- pblmInfo.setUptm(new Date());
- pblmInfo.setId(uuid);
- pblmInfo.setState("0");//提交的阶段问题状态为0
- tacProvincePblmInfoDao.insert(pblmInfo);
- //阶段问题提交到下一个阶段时,稽察阶段问题对应多个单位主体性质入库
- //复制稽察问题相关责任主体列表
- TacPblmSubjectParam subjectParam = new TacPblmSubjectParam();
- subjectParam.setPblmId(pblmInfo.getId());
- List<TacPblmSubject> subjectList = tacPblmSubjectDao.findList(subjectParam);
- tacPblmInfoService.addPblmSubject(pblmInfo.getSubjectNames(),pblmInfo.getSubjectIds(),subjectList,pblmInfo.getId());
- // tacPblmInfoService.addPblmSubject(pblmInfo.getSubjectNames(),pblmInfo.getSubjectIds(),pblmInfo.getPblmSubjectList(),pblmInfo.getId());
- if(comFileList!=null &&!comFileList.isEmpty()){
- for(GwComFile gwComFile:comFileList){
- gwComFile.setId(UuidUtil.uuid());
- gwComFile.setBizId(pblmInfo.getId());
- gwComFileDao.insert(gwComFile);
- }
- }
- //问题修改理由取证资源传至下一阶段
- comFileList=null;
- }
- TacPawpRgstr tacPawpRgstrnew=new TacPawpRgstr();
- tacPawpRgstrnew.setTaskId(taskId);//更新当前稽察对象当前阶段
- tacPawpRgstrnew.setId(tacPawpRgstr.getId());
- tacPawpRgstrDao.update(tacPawpRgstrnew);
- }
- return true;
- }
- private String getProcessTaskId(String rgstrId, String persId, String orgName, TacProvincePlanProcess tacProvincePlanProcess, String state) {
- // 添加提交记录,记住提交记录的流程为哪个阶段
- TacProvincePlanTask tacProvincePlanTask = new TacProvincePlanTask();
- tacProvincePlanTask.setRgstrId(rgstrId);
- String taskId = UuidUtil.uuid();
- tacProvincePlanTask.setId(taskId);
- tacProvincePlanTask.setIntm(new Date());
- tacProvincePlanTask.setState(state);//问题第一次提交审核,根据专业提交问题至初始阶段,状态为1,驳回为0,提交为1
- tacProvincePlanTask.setPersId(persId);
- tacProvincePlanTask.setRgstrId(rgstrId);
- tacProvincePlanTask.setNowStep(tacProvincePlanProcess.getNowStep());
- tacProvincePlanTask.setNowId(tacProvincePlanProcess.getNowId());
- tacProvincePlanTask.setOrgId(tacProvincePlanProcess.getOrgId());
- tacProvincePlanTask.setOrgName(orgName);
- tacProvincePlanTask.setDataStat("1");//数据状态为1
- tacProvincePlanTaskDao.insert(tacProvincePlanTask);
- return taskId;
- }
- }
|