| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338 |
- 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.dto.TacProvincePblmInfoDto;
- import cn.com.goldenwater.dcproj.model.*;
- import cn.com.goldenwater.dcproj.param.TacPblmSubjectParam;
- import cn.com.goldenwater.dcproj.param.TacProvincePblmInfoParam;
- import cn.com.goldenwater.dcproj.param.TacProvincePlanTaskParam;
- import cn.com.goldenwater.dcproj.service.*;
- import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
- import cn.com.goldenwater.dcproj.utils.BeanUtil;
- import cn.com.goldenwater.id.util.UuidUtil;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import org.apache.commons.lang3.StringUtils;
- 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 TacProvincePblmInfoServiceImpl extends AbstractCrudService<TacProvincePblmInfo, TacProvincePblmInfoParam> implements TacProvincePblmInfoService {
- @Autowired
- private TacProvincePblmInfoDao tacProvincePblmInfoDao;
- @Autowired
- private GwComFileDao gwComFileDao;
- @Autowired
- private OlBisInspOrgDao olBisInspOrgDao;
- @Autowired
- private TacProvincePlanTaskDao tacProvincePlanTaskDao;
- @Autowired
- private TacPawpRgstrDao tacPawpRgstrDao;
- @Autowired
- private TacPblmSubjectDao tacPblmSubjectDao;
- @Autowired
- private TacProvincePlanDictService tacProvincePlanDictService;
- @Autowired
- private GwComFileService gwComFileService;
- @Autowired
- private TacObjSubjectService objSubjectService;
- @Autowired
- private TacPblmInfoService tacPblmInfoService;
- @Autowired
- private BisInspAllRlationPersService bisInspAllRlationPersService;
- public TacProvincePblmInfoServiceImpl(TacProvincePblmInfoDao tacProvincePblmInfoDao) {
- super(tacProvincePblmInfoDao);
- this.tacProvincePblmInfoDao = tacProvincePblmInfoDao;
- }
- @Override
- public String addPlan(List<TacPblmInfo> tacPblmInfoList, TacProvincePlanProcess tacProvincePlanProcess, String rgstrId, String persId) {
- OlBisInspOrg olBisInspOrg = olBisInspOrgDao.get(tacProvincePlanProcess.getOrgId());
- //保存提交记录
- String taskId = addTask(rgstrId, persId, olBisInspOrg.getOrgNm(), tacProvincePlanProcess, "1");
- TacProvincePblmInfo tacProvincePblmInfo = null;
- Date date = new Date();
- List<GwComFile> comFileList = null;
- for (TacPblmInfo pblmInfo : tacPblmInfoList) {//新增问题列表保存至下一阶段
- tacProvincePblmInfo = new TacProvincePblmInfo();
- BeanUtil.copyObject1(pblmInfo, tacProvincePblmInfo);//复制对象
- tacProvincePblmInfo.setTaskId(taskId);//问题所属阶段id
- String uuid = UuidUtil.uuid();
- tacProvincePblmInfo.setStepId(tacProvincePlanProcess.getNowId());//问题所属阶段为提交当前阶段
- tacProvincePblmInfo.setId(uuid);
- tacProvincePblmInfo.setUptm(date);
- // tacProvincePblmInfo.setIntm(date);
- tacProvincePblmInfo.setState("0");//新增对应阶段问题状态为0
- tacProvincePblmInfo.setOldPblmId(pblmInfo.getId());//保存原问题id
- //问题修改理由对应资源
- String pblmRevisionProofUuid = UuidUtil.uuid();
- tacProvincePblmInfo.setPblmRevisionProof(pblmRevisionProofUuid);
- tacProvincePblmInfoDao.insert(tacProvincePblmInfo);
- //问题第一次提交时,稽察阶段问题对应多个单位主体性质入库
- //复制稽察问题相关责任主体列表
- TacPblmSubjectParam subjectParam = new TacPblmSubjectParam();
- subjectParam.setPblmId(pblmInfo.getId());
- List<TacPblmSubject> subjectList = tacPblmSubjectDao.findList(subjectParam);
- tacPblmInfoService.addPblmSubject(tacProvincePblmInfo.getSubjectNames(), tacProvincePblmInfo.getSubjectIds(), subjectList, tacProvincePblmInfo.getId());
- //至下一阶段的新增问题资源重新保存
- comFileList = gwComFileDao.findFileByBiz(pblmInfo.getId());
- addComFiles(comFileList, uuid);
- comFileList = null;
- }
- return taskId;
- }
- @Override
- public void addTaskLabel(String taskId, String rgstrId, String state) {
- TacPawpRgstr tacPawpRgstr = new TacPawpRgstr();
- tacPawpRgstr.setState(state);//state为null,则保留稽察对象保留状态为4(专家提交到助理)
- tacPawpRgstr.setTaskId(taskId);//更新当前稽察对象当前阶段
- tacPawpRgstr.setId(rgstrId);
- tacPawpRgstr.setUptm(new Date());
- tacPawpRgstrDao.update(tacPawpRgstr);
- }
- private String addTask(String rgstrId, String persId, String orgName, TacProvincePlanProcess tacProvincePlanProcess, String state) {
- TacPawpRgstr tacPawpRgstr = tacPawpRgstrDao.get(rgstrId);
- if (StringUtils.isNotBlank(tacPawpRgstr.getTaskId())) {
- //相关专业不是第一次提交时返回稽察对象的提交记录
- TacProvincePlanTask tacProvincePlanTask = tacProvincePlanTaskDao.get(tacPawpRgstr.getTaskId());
- if (tacProvincePlanTask != null) {
- return tacPawpRgstr.getTaskId();
- }
- }
- //相关专业是第一次提交时返回稽察对象的新增的提交记录id
- return getProcessTaskId(rgstrId, persId, orgName, tacProvincePlanProcess, state);
- }
- 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;
- }
- @Override
- public void addComFiles(List<GwComFile> comFileList, String pblmId) {
- if (comFileList != null && !comFileList.isEmpty()) {
- for (GwComFile gwComFile : comFileList) {
- gwComFile.setId(UuidUtil.uuid());
- gwComFile.setBizId(pblmId);
- gwComFileDao.insert(gwComFile);
- }
- }
- }
- @Override
- public int updatePblmInfoList(TacProvincePblmInfoDto dto) {
- if (dto == null) {
- return 0;
- }
- if (dto.getList() != null) {
- dto.getList().forEach(tacPblmInfo -> {
- tacPblmInfo.setIfCasePblm(dto.getIfCasePblm());
- tacProvincePblmInfoDao.update(tacPblmInfo);
- });
- }
- return 1;
- }
- @Override
- public void addProcessPlan(List<TacProvincePblmInfo> tacPblmInfoList, TacProvincePlanProcess tacProvincePlanProcess, String rgstrId, String currentPersId, String state) {
- // 阶段之间提交
- OlBisInspOrg olBisInspOrg = olBisInspOrgDao.get(tacProvincePlanProcess.getOrgId());
- String taskId = getProcessTaskId(rgstrId, currentPersId, olBisInspOrg.getOrgNm(), tacProvincePlanProcess, state);
- Date date = new Date();
- List<GwComFile> comFileList = null;
- List<GwComFile> RevisionProofFileList = null;
- for (TacProvincePblmInfo pblmInfo : tacPblmInfoList) {
- //新增当前阶段记录下问题清单至提交的下一段阶段
- comFileList = gwComFileDao.findFileByBiz(pblmInfo.getId());
- //问题修改意见资源
- RevisionProofFileList = gwComFileDao.findFileByBiz(pblmInfo.getPblmRevisionProof());
- String uuid = UuidUtil.uuid();
- pblmInfo.setTaskId(taskId);
- pblmInfo.setIntm(date);
- pblmInfo.setStepId(tacProvincePlanProcess.getNowId());//记录问题对应提交的下一阶段id
- pblmInfo.setOldPblmId(pblmInfo.getId());//保存上一阶段的问题id
- pblmInfo.setUptm(date);
- pblmInfo.setId(uuid);
- pblmInfo.setState("0");//提交的阶段问题状态为0
- //问题修改理由取证资源id
- String pblmRevisionProofUuid = UuidUtil.uuid();
- pblmInfo.setPblmRevisionProof(pblmRevisionProofUuid);
- tacProvincePblmInfoDao.insert(pblmInfo);
- //阶段问题提交到下一个阶段时,稽察阶段问题对应多个单位主体性质入库
- TacPblmSubjectParam subjectParam = new TacPblmSubjectParam();
- subjectParam.setPblmId(pblmInfo.getOldPblmId());
- List<TacPblmSubject> subjectList = tacPblmSubjectDao.findList(subjectParam);
- tacPblmInfoService.addPblmSubject(pblmInfo.getSubjectNames(), pblmInfo.getSubjectIds(), subjectList, pblmInfo.getId());
- addComFiles(comFileList, uuid);
- //问题修改理由取证资源传至下一阶段
- addComFiles(RevisionProofFileList, pblmRevisionProofUuid);
- comFileList = null;
- RevisionProofFileList = null;
- }
- //修改稽察对象所阶段信息。
- addTaskLabel(taskId, rgstrId, "");
- }
- @Override
- public void updatePblm(TacProvincePblmInfo tacProvincePblmInfo) {
- TacPblmSubjectParam subjectParam = new TacPblmSubjectParam();
- subjectParam.setPblmId(tacProvincePblmInfo.getId());
- tacPblmSubjectDao.deleteBy(subjectParam);
- if (tacProvincePblmInfo.getGwComFileList() != null && tacProvincePblmInfo.getGwComFileList().size() > 0) {
- tacProvincePblmInfo.setHasVedio("1");
- } else {
- tacProvincePblmInfo.setHasVedio("0");
- }
- //如果 复核状态不为空记录人员ID和姓名
- if (StringUtils.isNotBlank(tacProvincePblmInfo.getPblmMendState())) {
- BisInspAllRlationPers bisInspAllRlationPers = bisInspAllRlationPersService.get(tacProvincePblmInfo.getPblmMendPersId());
- //tacProvincePblmInfo.setPblmMendTm(new Date());
- tacProvincePblmInfo.setPblmMendPersNm(bisInspAllRlationPers.getPersName());
- }
- tacProvincePblmInfoDao.update(tacProvincePblmInfo);
- tacPblmInfoService.addPblmSubject(tacProvincePblmInfo.getSubjectNames(), tacProvincePblmInfo.getSubjectIds(), tacProvincePblmInfo.getPblmSubjectList(), tacProvincePblmInfo.getId());
- gwComFileService.updateBiz(tacProvincePblmInfo.getGwComFileList(), tacProvincePblmInfo.getId());
- }
- @Override
- public void insertPblm(TacProvincePblmInfo tacProvincePblmInfo) {
- if (tacProvincePblmInfo.getGwComFileList() != null && tacProvincePblmInfo.getGwComFileList().size() > 0) {
- tacProvincePblmInfo.setHasVedio("1");
- } else {
- tacProvincePblmInfo.setHasVedio("0");
- }
- tacProvincePblmInfo.setState("0");
- tacProvincePblmInfo.setObjType("8");
- tacProvincePblmInfoDao.insert(tacProvincePblmInfo);
- tacPblmInfoService.addPblmSubject(tacProvincePblmInfo.getSubjectNames(), tacProvincePblmInfo.getSubjectIds(), tacProvincePblmInfo.getPblmSubjectList(), tacProvincePblmInfo.getId());
- gwComFileService.updateBiz(tacProvincePblmInfo.getGwComFileList(), tacProvincePblmInfo.getId());
- }
- @Override
- public void updateProcess(List<TacProvincePblmInfo> tacPblmInfoList, TacProvincePlanProcess tacProvincePlanProcess, String currentPersId, String rgstrId) {
- TacProvincePblmInfo tacProvincePblmInfoOld = null;
- TacProvincePlanTaskParam tacProvincePlanTaskParam = new TacProvincePlanTaskParam();
- tacProvincePlanTaskParam.setOrgId(tacProvincePlanProcess.getOrgId());
- tacProvincePlanTaskParam.setNowId(tacProvincePlanProcess.getNowId());
- tacProvincePlanTaskParam.setRgstrId(rgstrId);
- TacProvincePlanTask tacProvincePlanTask = tacProvincePlanTaskDao.getBy(tacProvincePlanTaskParam);
- for (TacProvincePblmInfo tacProvincePblmInfo : tacPblmInfoList) {
- tacProvincePblmInfoOld = new TacProvincePblmInfo();
- BeanUtil.copyObject1(tacProvincePblmInfo, tacProvincePblmInfoOld);
- //旧版id就是上一层级的问题id
- if (StringUtils.isBlank(tacProvincePblmInfo.getOldPblmId())) {
- continue;
- }
- tacProvincePblmInfoOld.setId(tacProvincePblmInfo.getOldPblmId());
- tacProvincePblmInfoOld.setState("1");
- tacProvincePblmInfoOld.setStepId(tacProvincePlanProcess.getNowId());
- tacProvincePblmInfoOld.setTaskId(tacProvincePlanTask.getId());
- tacProvincePblmInfoDao.update(tacProvincePblmInfoOld);
- }
- TacPawpRgstr tacPawpRgstr = new TacPawpRgstr();
- tacPawpRgstr.setId(rgstrId);
- tacPawpRgstr.setTaskId(tacProvincePlanTask.getId());//上一步的任务
- tacPawpRgstrDao.update(tacPawpRgstr);
- tacProvincePlanTask.setState("1");
- tacProvincePlanTaskDao.update(tacProvincePlanTask);
- }
- @Override
- public void rollbackProcess(List<TacProvincePblmInfo> tacPblmInfoList, TacProvincePlanProcess tacProvincePlanProcess, TacProvincePlanTask tacProvincePlanTask, String currentPersId, String rgstrId) {
- TacProvincePblmInfo tacProvincePblmInfoOld = null;
- for (TacProvincePblmInfo tacProvincePblmInfo : tacPblmInfoList) {
- tacProvincePblmInfoOld = new TacProvincePblmInfo();
- BeanUtil.copyObject1(tacProvincePblmInfo, tacProvincePblmInfoOld);
- //当前问题上一阶段问题id(当前阶段添加问题需要驳回到上一阶段),之前版本程序无上一阶段问题id则丢弃)
- // if(StringUtils.isBlank(tacProvincePblmInfo.getOldPblmId())){
- // continue;
- // }
- // 当前阶段问题驳回,须将当前阶段所有问题都驳回。
- // tacProvincePblmInfoOld.setId(UuidUtil.uuid());
- tacProvincePblmInfoOld.setState("1");
- tacProvincePblmInfoOld.setStepId(tacProvincePlanProcess.getNowId());
- tacProvincePblmInfoOld.setTaskId(tacProvincePlanTask.getId());
- tacProvincePblmInfoDao.update(tacProvincePblmInfoOld);
- }
- TacPawpRgstr tacPawpRgstr = new TacPawpRgstr();
- tacPawpRgstr.setId(rgstrId);
- tacPawpRgstr.setTaskId(tacProvincePlanTask.getId());//上一步的任务
- tacPawpRgstrDao.update(tacPawpRgstr);
- tacProvincePlanTask.setState("1");
- tacProvincePlanTaskDao.update(tacProvincePlanTask);
- }
- @Override
- public PageInfo<TacProvincePblmInfo> findPageJieduanInfo(TacProvincePblmInfoParam tacProvincePblmInfoParam) {
- PageHelper.startPage(tacProvincePblmInfoParam.getPageNum(), tacProvincePblmInfoParam.getPageSize());
- List<TacProvincePblmInfo> list = tacProvincePblmInfoDao.findPageJieduanInfo(tacProvincePblmInfoParam);
- for (TacProvincePblmInfo tacProvincePblmInfo : list
- ) {
- TacPblmSubjectParam subjectParam = new TacPblmSubjectParam();
- subjectParam.setPblmId(tacProvincePblmInfo.getId());
- List<TacPblmSubject> subjectList = tacPblmSubjectDao.findList(subjectParam);
- String unitNms = "";
- for (TacPblmSubject t : subjectList
- ) {
- unitNms += t.getUnitNm() + ",";
- }
- if (unitNms.length() > 0) {
- unitNms = unitNms.substring(0, unitNms.length() - 1);
- }
- tacProvincePblmInfo.setSubjectNames(unitNms);
- }
- return new PageInfo<TacProvincePblmInfo>(list);
- }
- @Override
- public PageInfo<TacProvincePblmInfoReDto> finalResults(TacProvincePblmInfoParam tacProvincePblmInfoParam) {
- //得到当前省份最终阶段
- String nowId = tacProvincePlanDictService.getJcStepId(tacProvincePblmInfoParam.getOrgId());
- if (StringUtils.isBlank(nowId)) {
- return new PageInfo<>(null);
- }
- if (StringUtils.isNotBlank(tacProvincePblmInfoParam.getProvince())) {
- tacProvincePblmInfoParam.setAdCode(AdLevelUtil.getAddvcd(tacProvincePblmInfoParam.getProvince()));
- }
- tacProvincePblmInfoParam.setStepId(nowId);
- PageHelper.startPage(tacProvincePblmInfoParam.getPageNum(), tacProvincePblmInfoParam.getPageSize());
- List<TacProvincePblmInfoReDto> list = tacProvincePblmInfoDao.finalResults(tacProvincePblmInfoParam);
- return new PageInfo<>(list);
- }
- }
|