| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613 |
- package cn.com.goldenwater.dcproj.controller.tacplan;
- import cn.com.goldenwater.core.web.BaseController;
- import cn.com.goldenwater.core.web.BaseResponse;
- import cn.com.goldenwater.dcproj.constValue.StateEnum;
- import cn.com.goldenwater.dcproj.dto.TacProvincePblmInfoDto;
- import cn.com.goldenwater.dcproj.model.GwComFile;
- import cn.com.goldenwater.dcproj.model.TacObjPblmstb;
- import cn.com.goldenwater.dcproj.model.TacPawpRgstr;
- import cn.com.goldenwater.dcproj.model.TacPblmInfo;
- import cn.com.goldenwater.dcproj.model.TacPblmSubject;
- import cn.com.goldenwater.dcproj.model.TacProvincePblmInfo;
- import cn.com.goldenwater.dcproj.model.TacProvincePblmInfoReDto;
- import cn.com.goldenwater.dcproj.model.TacProvincePlanExamine;
- import cn.com.goldenwater.dcproj.model.TacProvincePlanProcess;
- import cn.com.goldenwater.dcproj.model.TacProvincePlanTask;
- import cn.com.goldenwater.dcproj.param.GwComFileParam;
- import cn.com.goldenwater.dcproj.param.TacPblmInfoParam;
- import cn.com.goldenwater.dcproj.param.TacPblmSubjectParam;
- import cn.com.goldenwater.dcproj.param.TacProvincePblmInfoParam;
- import cn.com.goldenwater.dcproj.param.TacProvincePlanExamineParam;
- import cn.com.goldenwater.dcproj.param.TacProvincePlanProcessParam;
- import cn.com.goldenwater.dcproj.param.TacProvincePlanTaskParam;
- import cn.com.goldenwater.dcproj.service.GwComFileService;
- import cn.com.goldenwater.dcproj.service.OlBisInspOrgService;
- import cn.com.goldenwater.dcproj.service.TacActiveLogService;
- import cn.com.goldenwater.dcproj.service.TacObjPblmstbService;
- import cn.com.goldenwater.dcproj.service.TacPawpRgstrService;
- import cn.com.goldenwater.dcproj.service.TacPblmInfoService;
- import cn.com.goldenwater.dcproj.service.TacPblmSubjectService;
- import cn.com.goldenwater.dcproj.service.TacProvincePblmInfoService;
- import cn.com.goldenwater.dcproj.service.TacProvincePlanExamineService;
- import cn.com.goldenwater.dcproj.service.TacProvincePlanProcessService;
- import cn.com.goldenwater.dcproj.service.TacProvincePlanTaskService;
- import cn.com.goldenwater.dcproj.utils.BeanUtil;
- import cn.com.goldenwater.dcproj.utils.InspUtils;
- import cn.com.goldenwater.id.util.UuidUtil;
- import com.github.pagehelper.PageInfo;
- import com.workflow.common.util.convert.ConvertBeanUtils;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import io.swagger.annotations.ApiParam;
- import org.apache.commons.lang3.StringUtils;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.RestController;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * @author lune
- * @date 2020-5-28
- */
- @Api(value = "TAC 稽察问题审核信息表管理", tags = "TAC 稽察问题审核信息表管理")
- @RestController
- @RequestMapping("/tac/province/pblm/info")
- public class TacProvincePblmInfoController extends BaseController {
- private Logger logger = LoggerFactory.getLogger(getClass());
- @Autowired
- private TacProvincePblmInfoService tacProvincePblmInfoService;
- @Autowired
- private TacPawpRgstrService tacPawpRgstrService;
- @Autowired
- private TacProvincePlanTaskService tacProvincePlanTaskService;
- @Autowired
- private TacProvincePlanProcessService tacProvincePlanProcessService;
- @Autowired
- private TacPblmInfoService tacPblmInfoService;
- @Autowired
- private TacPblmSubjectService tacPblmSubjectService;
- @Autowired
- private OlBisInspOrgService olBisInspOrgService;
- @Autowired
- private TacActiveLogService activeLogService;
- @Autowired
- private TacProvincePlanExamineService tacProvincePlanExamineService;
- @Autowired
- private TacObjPblmstbService tacObjPblmstbService;
- @Autowired
- private GwComFileService gwComFileService;
- @ApiOperation(value = "添加/修改稽察问题审核信息表,审核阶段")
- @RequestMapping(value = "", method = RequestMethod.POST)
- public BaseResponse insert(@ApiParam(name = "tacProvincePblmInfo", value = "TacProvincePblmInfo", required = true) @RequestBody TacProvincePblmInfo tacProvincePblmInfo) {
- tacProvincePblmInfo.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
- tacProvincePblmInfo.setPersId(getCurrentPersId());
- tacProvincePblmInfo.setPblmMendPersId(getCurrentPersId());
- TacProvincePlanTaskParam tacProvincePlanTaskParam = new TacProvincePlanTaskParam();
- tacProvincePlanTaskParam.setRgstrId(tacProvincePblmInfo.getRgstrId());
- tacProvincePlanTaskParam.setNowId(tacProvincePblmInfo.getStepId());
- TacProvincePlanTask tacProvincePlanTask = tacProvincePlanTaskService.getBy(tacProvincePlanTaskParam);
- // TacPawpRgstr tacPawpRgstr = tacPawpRgstrService.get(tacProvincePblmInfo.getRgstrId());
- if (tacProvincePlanTask != null) {
- tacProvincePblmInfo.setTaskId(tacProvincePlanTask.getId());
- }
- if (StringUtils.isNotBlank(tacProvincePblmInfo.getId())) {
- tacProvincePblmInfo.setUptm(new Date());
- tacProvincePblmInfo.setState("1");
- tacProvincePblmInfoService.updatePblm(tacProvincePblmInfo);
- } else {
- String key = getCurrentPersId() + "_pblm_info_province";
- synchronized (this) {
- if (!tacPawpRgstrService.suoding(key)) {
- return buildFailResponse("操作太频繁,请等会儿再操作");
- }
- }
- if (StringUtils.isBlank(tacProvincePblmInfo.getIfCasePblm())) {
- tacProvincePblmInfo.setIfCasePblm("0");
- }
- String uuid = UuidUtil.uuid();
- tacProvincePblmInfo.setId(uuid);
- tacProvincePblmInfo.setIntm(new Date());
- tacProvincePblmInfoService.insertPblm(tacProvincePblmInfo);
- }
- return buildSuccessResponse(tacProvincePblmInfo);
- }
- @ApiOperation(value = "根据ID删除稽察问题审核信息表")
- @RequestMapping(value = "/del/{id}", method = RequestMethod.GET)
- public BaseResponse delete(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
- int ret = tacProvincePblmInfoService.delete(id);
- return buildSuccessResponse();
- }
- @ApiOperation(value = "问题第一次提交审核,根据专业提交问题至初始阶段")
- @RequestMapping(value = "/plan/{rgstrId}/{type}", method = RequestMethod.GET)
- public BaseResponse plan(@ApiParam(name = "rgstrId", value = "rgstrId", required = true) @PathVariable String rgstrId,
- @ApiParam(name = "type", value = "type", required = false) @PathVariable String type) {
- TacPawpRgstr tacPawpRgstr = tacPawpRgstrService.get(rgstrId);
- if (tacPawpRgstr != null) {
- String state = InspUtils.getTypeState(type, tacPawpRgstr);
- if (StateEnum.SUBMIT_ZHULI.getKey().equals(state)) {
- return buildFailResponse("当前专业问题已经提交完成!!不可以重复提交!");
- }
- //提交后问题录入初始阶段,初始为开始状态
- TacProvincePlanProcessParam tacProvincePlanProcessParam = new TacProvincePlanProcessParam();
- tacProvincePlanProcessParam.setOrgId(getCurrentOrgId());
- tacProvincePlanProcessParam.setPrvId("0");//上一步id为0表示当前为起始位置
- TacProvincePlanProcess tacProvincePlanProcess = tacProvincePlanProcessService.getBy(tacProvincePlanProcessParam);
- // 机构定制阶段流程
- if (tacProvincePlanProcess == null) {
- return buildFailResponse("当前机构还没有定义相关的审核流程,请先定义审核流程再提交!!");
- }
- //查询稽察对象的专业所属问题
- TacPblmInfoParam tacPblmInfoParam = new TacPblmInfoParam();
- tacPblmInfoParam.setRgstrId(rgstrId);
- tacPblmInfoParam.setListType(type);
- tacPblmInfoParam.setProvince(tacPawpRgstr.getProvince());
- List<TacPblmInfo> tacPblmInfoList = tacPblmInfoService.findList(tacPblmInfoParam);
- // if (tacPblmInfoList != null && !tacPblmInfoList.isEmpty()) {有问题能提交,没有问题不能提交
- //问题不为空,则提交问题至初始阶段
- String content = InspUtils.getSpfsnlType(type);//专业内容
- //记录提交阶段
- String taskId = tacProvincePblmInfoService.addPlan(tacPblmInfoList, tacProvincePlanProcess, rgstrId, getCurrentPersId());
- //添加记录至日志中
- activeLogService.addTacLog(tacPawpRgstr.getName(), StateEnum.SUBMIT_ZHULI.getDesc(), tacPawpRgstr.getId(), type, StateEnum.SUBMIT_ZHULI.getKey(), tacProvincePlanProcess.getNowId(),
- content + "提交给助理【" + tacProvincePlanProcess.getNowStep() + "】", getCurrentPersId());
- //稽察对象修改提交专业状态为4(专家提交到助理)
- tacPawpRgstrService.updateSubmit(tacPawpRgstr, type, StateEnum.SUBMIT_ZHULI.getKey());
- //稽察对象加入对应的阶段值
- tacPawpRgstr.setTaskId(taskId);
- tacPawpRgstr.setUptm(new Date());
- tacPawpRgstrService.update(tacPawpRgstr);
- return buildSuccessResponse("提交审核成功");
- // }
- }
- return buildFailResponse("请确认提交参数是否正确!!");
- }
- @ApiOperation(value = "单个问题提交问题审核流程")
- @RequestMapping(value = "/planPblm/{pblmId}/{nextId}", method = RequestMethod.GET)
- public BaseResponse planPblm(@ApiParam(name = "pblmId", value = "pblmId", required = true) @PathVariable String pblmId,
- @ApiParam(name = "nextId", value = "nextId", required = true) @PathVariable String nextId) {
- if ("1".equals(nextId)) {
- return buildSuccessResponse("已经完成整合流程审核,无更多审核阶段!!");
- }
- TacProvincePblmInfo tacProvincePblmInfo = tacProvincePblmInfoService.get(pblmId);
- if (tacProvincePblmInfo != null && "1".equals(tacProvincePblmInfo.getState())) {
- TacProvincePlanTaskParam tacProvincePlanTaskParam = new TacProvincePlanTaskParam();
- tacProvincePlanTaskParam.setRgstrId(tacProvincePblmInfo.getRgstrId());
- tacProvincePlanTaskParam.setNowId(nextId);
- TacProvincePlanTask tacProvincePlanTask = tacProvincePlanTaskService.getBy(tacProvincePlanTaskParam);
- if (tacProvincePlanTask != null) {
- TacProvincePblmInfo provincePblmInfo = new TacProvincePblmInfo();
- BeanUtil.copyObject1(tacProvincePblmInfo, provincePblmInfo);
- provincePblmInfo.setState("0");
- provincePblmInfo.setOldPblmId(tacProvincePblmInfo.getId());
- String uuid = UuidUtil.uuid();
- provincePblmInfo.setId(uuid);
- provincePblmInfo.setStepId(nextId);
- provincePblmInfo.setTaskId(tacProvincePlanTask.getId());
- tacProvincePblmInfoService.insert(provincePblmInfo);
- List<GwComFile> gwComFiles = gwComFileService.findFileByBiz(tacProvincePblmInfo.getId());
- tacProvincePblmInfoService.addComFiles(gwComFiles, uuid);
- tacProvincePblmInfo.setState("0");
- tacProvincePblmInfoService.update(tacProvincePblmInfo);
- TacPawpRgstr tacPawpRgstr = tacPawpRgstrService.get(tacProvincePblmInfo.getRgstrId());
- activeLogService.addTacLog(tacPawpRgstr.getName(), StateEnum.SUBMIT_ZHULI.getDesc(), tacProvincePblmInfo.getRgstrId(), tacProvincePblmInfo.getListType()
- , StateEnum.SUBMIT_ZHULI.getKey(), nextId,
- "提交给单个问题【" + tacProvincePlanTask.getNowStep() + "】", getCurrentPersId());
- return buildSuccessResponse("单个问题提交成功!");
- }
- }
- return buildFailResponse("提交单个问题审核失败!!");
- }
- @ApiOperation(value = "所有问题提交问题审核流程")
- @RequestMapping(value = "/planProcess/{rgstrId}/{nextId}", method = RequestMethod.GET)
- public BaseResponse planProcess(@ApiParam(name = "rgstrId", value = "rgstrId", required = true) @PathVariable String rgstrId,
- @ApiParam(name = "nextId", value = "nextId", required = true) @PathVariable String nextId,
- @RequestParam(name = "pblmChType", value = "pblmChType", required = true) String pblmChType) {
- TacPawpRgstr tacPawpRgstr = tacPawpRgstrService.get(rgstrId);
- // "1", "前期与设计专业", "2", "建设管理专业","4", "资金使用与管理专业"
- // "5", "工程质量专业","6", "工程安全专业","3", "计划下达与执行专业"
- // 状态都为4(专家提交到助理)时,则更改稽察对象状态为4,则可提交到初始阶段的下一阶段中
- if (tacPawpRgstr != null && "4".equals(tacPawpRgstr.getState())) {
- //下一阶段为结束阶段时,则停止阶段提交
- if ("1".equals(nextId)) {
- return buildSuccessResponse("已经完成整合流程审核,无更多审核阶段!!");
- }
- //查询下一阶段记录是否存在,若不存在则新增阶段记录,存在则不能重复提交到下一阶段
- TacProvincePlanTaskParam provincePlanTaskParam = new TacProvincePlanTaskParam();
- provincePlanTaskParam.setNowId(nextId);
- provincePlanTaskParam.setRgstrId(rgstrId);
- provincePlanTaskParam.setOrgId(getCurrentOrgId());
- TacProvincePlanTask tacProvincePlanTask = tacProvincePlanTaskService.getBy(provincePlanTaskParam);
- if (tacProvincePlanTask != null) {
- return buildFailResponse("当前阶段问题已经提交,请不要重复提交!!");
- }
- //根据稽察对象的当前阶段记录,查询阶段记录表中该阶段记录。
- tacProvincePlanTask = tacProvincePlanTaskService.get(tacPawpRgstr.getTaskId());
- //查询机构所属阶段,查询提交的下一阶段,
- TacProvincePlanProcessParam tacProvincePlanProcessParam = new TacProvincePlanProcessParam();
- tacProvincePlanProcessParam.setOrgId(getCurrentOrgId());
- tacProvincePlanProcessParam.setNowId(nextId);//上一步id为0表示当前为起始位置,下一步id为1时表示为结束位置
- TacProvincePlanProcess tacProvincePlanProcess = tacProvincePlanProcessService.getBy(tacProvincePlanProcessParam);
- if (tacProvincePlanProcess == null) {
- return buildFailResponse("当前机构还没有定义相关的审核流程,请先定义审核流程再提交!!");
- }
- //机构所属阶段中提交的下一阶段与稽察对象的当前阶段是否一致,若不一致则有问题,一致则没有问题。判断稽察对象的当前阶段,是否与机构阶段中的当前阶段一致
- if (!tacProvincePlanProcess.getPrvId().equals(tacProvincePlanTask.getNowId())) {
- return buildFailResponse("审核阶段提交存在问题,请检查当前提交参数是否正常!!");
- }
- //阶段提交至下一阶段
- // state为1时,为提交问题至下一阶段,state为0时,为驳回为题至上一阶段
- if (addProcessPlan(rgstrId, tacPawpRgstr.getTaskId(), tacProvincePlanProcess, "1")) {
- activeLogService.addTacLog(tacPawpRgstr.getName(), tacProvincePlanProcess.getNextStep(), tacPawpRgstr.getId(),
- pblmChType, "", nextId, tacProvincePlanProcess.getNowStep() + "提交到" + tacProvincePlanProcess.getNextStep(),
- getCurrentPersId());
- return buildSuccessResponse("提交审核成功!!");
- }
- }
- // 判断 哪个阶段 的问题没有提交到 交换意见阶段
- String errorMsg = getErrorMsg(tacPawpRgstr);
- return buildFailResponse("请确认" + errorMsg + "!!");
- }
- private String getErrorMsg(TacPawpRgstr tacPawpRgstr) {
- if (null == tacPawpRgstr) {
- return "提交参数登记表标识是否正确";
- }
- String msg = "";
- if (!StateEnum.SUBMIT_ZHULI.getKey().equals(tacPawpRgstr.getPdbstStat())) {
- msg += "前期与设计";
- }
- if (!StateEnum.SUBMIT_ZHULI.getKey().equals(tacPawpRgstr.getBstocmTsopbfpStat())) {
- msg += "、建设管理";
- }
- if (!StateEnum.SUBMIT_ZHULI.getKey().equals(tacPawpRgstr.getRaiobisStat())) {
- msg += "、计划下达与执行";
- }
- if (!StateEnum.SUBMIT_ZHULI.getKey().equals(tacPawpRgstr.getBstocmCmsStat())) {
- msg += "、资金使用与管理";
- }
- if (!StateEnum.SUBMIT_ZHULI.getKey().equals(tacPawpRgstr.getBitopqPeqaaStat())) {
- msg += "、工程质量";
- }
- if (!StateEnum.SUBMIT_ZHULI.getKey().equals(tacPawpRgstr.getBioesRwunitStat())) {
- msg += "、工程安全";
- }
- msg += " 专业是否提交";
- if (msg.startsWith("、")) {
- msg = msg.substring(1, msg.length() - 1);
- }
- return msg;
- }
- private boolean addProcessPlan(String rgstrId, String taskId, TacProvincePlanProcess tacProvincePlanProcess, String state) {
- //查询当前阶段问题清单
- TacProvincePblmInfoParam tacPblmInfoParam = new TacProvincePblmInfoParam();
- tacPblmInfoParam.setRgstrId(rgstrId);
- tacPblmInfoParam.setTaskId(taskId);//稽察对象对应的阶段记录taskId
- tacPblmInfoParam.setProvince(tacProvincePlanProcess.getAdCode());
- List<TacProvincePblmInfo> tacPblmInfoList = tacProvincePblmInfoService.findList(tacPblmInfoParam);
- if (tacPblmInfoList != null && !tacPblmInfoList.isEmpty()) {
- //提交至下一阶段
- tacProvincePblmInfoService.addProcessPlan(tacPblmInfoList, tacProvincePlanProcess, rgstrId, getCurrentPersId(), state);
- return true;
- }
- return false;
- }
- private boolean rollbackProcessPlan(String rgstrId, String taskId, TacProvincePlanProcess tacProvincePlanProcess, String state, String note) {
- // 查询上一个阶段记录
- TacProvincePlanTaskParam tacProvincePlanTaskParam = new TacProvincePlanTaskParam();
- tacProvincePlanTaskParam.setOrgId(tacProvincePlanProcess.getOrgId());
- tacProvincePlanTaskParam.setNowId(tacProvincePlanProcess.getNowId());
- tacProvincePlanTaskParam.setRgstrId(rgstrId);
- TacProvincePlanTask tacProvincePlanTask = tacProvincePlanTaskService.getBy(tacProvincePlanTaskParam);
- //查询当前阶段问题清单
- TacProvincePblmInfoParam tacPblmInfoParam = new TacProvincePblmInfoParam();
- tacPblmInfoParam.setRgstrId(rgstrId);
- tacPblmInfoParam.setTaskId(taskId);//驳回,上一阶段问题数据删除,当前阶段问题回退到上一个阶段
- tacPblmInfoParam.setProvince(tacProvincePlanProcess.getAdCode());
- List<TacProvincePblmInfo> tacPblmInfoList = tacProvincePblmInfoService.findList(tacPblmInfoParam);
- if (tacPblmInfoList != null && !tacPblmInfoList.isEmpty()) {
- //驳回至上一阶段
- tacProvincePlanTaskService.delete(taskId);
- //查询上一阶段问题清单删除
- TacProvincePblmInfoParam tacPblmInfoParamdel = new TacProvincePblmInfoParam();
- tacPblmInfoParamdel.setRgstrId(rgstrId);
- tacPblmInfoParamdel.setTaskId(tacProvincePlanTask.getId());//驳回,上一阶段问题数据删除,当前阶段问题回退到上一个阶段
- tacPblmInfoParamdel.setProvince(tacProvincePlanProcess.getAdCode());
- //阶段问题驳回到稽察填报时,稽察阶段多个问题对应多个单位主体性质删除
- List<TacProvincePblmInfo> ProvincePblmInfolists = tacProvincePblmInfoService.findList(tacPblmInfoParamdel);
- for (TacProvincePblmInfo tacProvincePblmInfodel : ProvincePblmInfolists) {
- TacPblmSubjectParam tacPblmSubjectParam = new TacPblmSubjectParam();
- tacPblmSubjectParam.setPblmId(tacProvincePblmInfodel.getId());
- tacPblmSubjectService.deleteBy(tacPblmSubjectParam);
- }
- tacProvincePblmInfoService.deleteBy(tacPblmInfoParamdel);
- tacProvincePblmInfoService.rollbackProcess(tacPblmInfoList, tacProvincePlanProcess, tacProvincePlanTask, getCurrentPersId(), rgstrId);
- return true;
- }
- return false;
- }
- @ApiOperation(value = "所有工程,驳回问题到提交流程")
- @RequestMapping(value = "/rollback/{rgstrId}/{prvId}/{type}", method = RequestMethod.GET)
- public BaseResponse rollback(@ApiParam(name = "rgstrId", value = "rgstrId", required = true) @PathVariable String rgstrId,
- @ApiParam(name = "prvId", value = "prvId", required = true) @PathVariable String prvId,
- @ApiParam(name = "type", value = "type", required = false) @PathVariable String type,
- @RequestParam(name = "note", value = "note", required = false, defaultValue = "") String note,
- @RequestParam(name = "pblmChType", value = "pblmChType", required = true) String pblmChType) {
- TacPawpRgstr tacPawpRgstr = tacPawpRgstrService.get(rgstrId);
- if (tacPawpRgstr != null) {
- //初始为开始状态
- if ("0".equals(prvId) && StringUtils.isNotBlank(type)) {
- TacProvincePblmInfoParam tacPblmInfoParam = new TacProvincePblmInfoParam();
- tacPblmInfoParam.setRgstrId(rgstrId);
- tacPblmInfoParam.setListType(type);
- tacPblmInfoParam.setTaskId(tacPawpRgstr.getTaskId());
- //阶段问题驳回到稽察填报时,稽察阶段多个问题对应多个单位主体性质删除
- List<TacProvincePblmInfo> lists = tacProvincePblmInfoService.findList(tacPblmInfoParam);
- for (TacProvincePblmInfo tacProvincePblmInfodel : lists) {
- TacPblmSubjectParam tacPblmSubjectParam = new TacPblmSubjectParam();
- tacPblmSubjectParam.setPblmId(tacProvincePblmInfodel.getId());
- tacPblmSubjectService.deleteBy(tacPblmSubjectParam);
- }
- tacProvincePblmInfoService.deleteBy(tacPblmInfoParam);
- tacPawpRgstrService.updateSubmit(tacPawpRgstr, type, StateEnum.COMASTSTATE.getKey());
- //全专业问题驳回到专家填报阶段后,删除记录表,改变工程登记表taskId
- if (StateEnum.COMASTSTATE.getKey().equals(tacPawpRgstr.getPdbstStat())
- && StateEnum.COMASTSTATE.getKey().equals(tacPawpRgstr.getBstocmTsopbfpStat())
- && StateEnum.COMASTSTATE.getKey().equals(tacPawpRgstr.getRaiobisStat()) &&
- StateEnum.COMASTSTATE.getKey().equals(tacPawpRgstr.getBstocmCmsStat()) &&
- StateEnum.COMASTSTATE.getKey().equals(tacPawpRgstr.getBitopqPeqaaStat()) &&
- StateEnum.COMASTSTATE.getKey().equals(tacPawpRgstr.getBioesRwunitStat())) {
- //所有专业所属问题回退后清除阶段记录表
- tacProvincePlanTaskService.delete(tacPawpRgstr.getTaskId());
- tacPawpRgstr.setTaskId("0");//专业问题全都已经驳回
- }
- tacPawpRgstr.setState(StateEnum.COMASTSTATE.getKey());
- tacPawpRgstr.setUptm(new Date());
- tacPawpRgstrService.update(tacPawpRgstr);
- return buildSuccessResponse("已退回到问题最初状态!!");
- }
- TacProvincePlanTask tacProvincePlanTask = tacProvincePlanTaskService.get(tacPawpRgstr.getTaskId());
- if (tacProvincePlanTask == null) {
- return buildFailResponse("当前阶段问题已经退回!!");
- }
- TacProvincePlanProcessParam tacProvincePlanProcessParam = new TacProvincePlanProcessParam();
- tacProvincePlanProcessParam.setOrgId(getCurrentOrgId());
- tacProvincePlanProcessParam.setNowId(prvId);//上一步id为0表示当前为起始位置
- TacProvincePlanProcess tacProvincePlanProcess = tacProvincePlanProcessService.getBy(tacProvincePlanProcessParam);
- if (tacProvincePlanProcess == null) {
- return buildFailResponse("当前机构还没有定义相关的审核流程,请先定义审核流程再提交!!");
- }
- if (!tacProvincePlanTask.getNowId().equals(tacProvincePlanProcess.getNextId())) {
- return buildFailResponse("驳回流程存在问题,请检查上一步是否正确!!");
- }
- if (StringUtils.isNotBlank(note)) {
- note = "-[驳回说明:" + note + "]";
- }
- //数据全部驳回
- //state为1时,为提交问题至下一阶段,state为0时,为驳回为题至上一阶段
- if (rollbackProcessPlan(rgstrId, tacPawpRgstr.getTaskId(), tacProvincePlanProcess, "0", note)) {
- activeLogService.addTacLog(tacPawpRgstr.getName(), tacProvincePlanProcess.getNextStep(), tacPawpRgstr.getId(),
- pblmChType, "", prvId, tacProvincePlanProcess.getNextStep() + "驳回到" + tacProvincePlanProcess.getNowStep() + note, getCurrentPersId());
- return buildSuccessResponse("驳回数据成功!!");
- }
- }
- return buildFailResponse("请确认提交参数是否正确!!");
- }
- @ApiOperation(value = "所有工程,非第一个阶段成果驳回问题到提交流程")
- @RequestMapping(value = "/rollback/allType/{rgstrId}/{prvId}", method = RequestMethod.GET)
- public BaseResponse rollbackNoFirstAllType(@ApiParam(name = "rgstrId", value = "rgstrId", required = true) @PathVariable String rgstrId,
- @ApiParam(name = "prvId", value = "prvId", required = true) @PathVariable String prvId,
- @RequestParam(name = "note", value = "note", required = false, defaultValue = "") String note,
- @RequestParam(name = "pblmChType", value = "pblmChType", required = false) String pblmChType) {
- TacPawpRgstr tacPawpRgstr = tacPawpRgstrService.get(rgstrId);
- if (tacPawpRgstr != null) {
- //初始为开始状态
- if ("0".equals(prvId)) {
- return buildFailResponse("请确认提交参数-阶段标识-是否正确!!");
- }
- TacProvincePlanTask tacProvincePlanTask = tacProvincePlanTaskService.get(tacPawpRgstr.getTaskId());
- if (tacProvincePlanTask == null) {
- return buildFailResponse("当前阶段问题已经退回!!");
- }
- TacProvincePlanProcessParam tacProvincePlanProcessParam = new TacProvincePlanProcessParam();
- tacProvincePlanProcessParam.setOrgId(getCurrentOrgId());
- tacProvincePlanProcessParam.setNowId(prvId);//上一步id为0表示当前为起始位置
- TacProvincePlanProcess tacProvincePlanProcess = tacProvincePlanProcessService.getBy(tacProvincePlanProcessParam);
- if (tacProvincePlanProcess == null) {
- return buildFailResponse("当前机构还没有定义相关的审核流程,请先定义审核流程再提交!!");
- }
- if (!tacProvincePlanTask.getNowId().equals(tacProvincePlanProcess.getNextId())) {
- return buildFailResponse("驳回流程存在问题,请检查上一步是否正确!!");
- }
- if (StringUtils.isNotBlank(note)) {
- note = "-[驳回说明:" + note + "]";
- }
- //数据全部驳回
- //state为1时,为提交问题至下一阶段,state为0时,为驳回为题至上一阶段
- if (rollbackProcessPlan(rgstrId, tacPawpRgstr.getTaskId(), tacProvincePlanProcess, "0", note)) {
- activeLogService.addTacLog(tacPawpRgstr.getName(), tacProvincePlanProcess.getNextStep(), tacPawpRgstr.getId(),
- pblmChType, "", prvId, tacProvincePlanProcess.getNextStep() + "驳回到" + tacProvincePlanProcess.getNowStep() + note, getCurrentPersId());
- return buildSuccessResponse("驳回数据成功!!");
- }
- }
- return buildFailResponse("请确认提交参数是否正确!!");
- }
- @ApiOperation(value = "所有工程,驳回单个问题审核流程")
- @RequestMapping(value = "/rollback/{pblmId}/{prvId}", method = RequestMethod.GET)
- public BaseResponse rollbackPblm(@ApiParam(name = "pblmId", value = "pblmId", required = true) @PathVariable String pblmId,
- @ApiParam(name = "prvId", value = "prvId", required = true) @PathVariable String prvId) {
- TacProvincePblmInfo tacProvincePblmInfo = tacProvincePblmInfoService.get(pblmId);
- if (tacProvincePblmInfo != null) {
- if ("0".equals(prvId)) {
- return buildFailResponse("已经退回到初始节点!!");
- }
- TacProvincePlanProcessParam tacProvincePlanProcessParam = new TacProvincePlanProcessParam();
- tacProvincePlanProcessParam.setOrgId(getCurrentOrgId());
- tacProvincePlanProcessParam.setNowId(prvId);//上一步id为0表示当前为起始位置
- TacProvincePlanProcess tacProvincePlanProcess = tacProvincePlanProcessService.getBy(tacProvincePlanProcessParam);
- if (tacProvincePlanProcess == null) {
- return buildFailResponse("当前机构还没有定义相关的审核流程,请先定义审核流程再提交!!");
- }
- TacProvincePlanTaskParam provincePlanTaskParam = new TacProvincePlanTaskParam();
- provincePlanTaskParam.setRgstrId(tacProvincePblmInfo.getRgstrId());
- provincePlanTaskParam.setNowId(prvId);
- TacProvincePlanTask tacProvincePlanTask = tacProvincePlanTaskService.getBy(provincePlanTaskParam);
- if (tacProvincePlanTask == null) {
- return buildFailResponse("上一步无法进行回退,请仔细核查数据!!");
- }
- TacProvincePblmInfo tacProvincePblmInfoBak = new TacProvincePblmInfo();
- BeanUtil.copyObject1(tacProvincePblmInfo, tacProvincePblmInfoBak);
- tacProvincePblmInfoBak.setState("1");
- tacProvincePblmInfoBak.setStepId(prvId);
- tacProvincePblmInfoBak.setTaskId(tacProvincePlanTask.getId());
- tacProvincePblmInfoBak.setId(tacProvincePblmInfo.getOldPblmId());
- GwComFileParam gwComFileParam = new GwComFileParam();
- tacProvincePblmInfoService.update(tacProvincePblmInfoBak);
- gwComFileParam.setBizId(tacProvincePblmInfo.getOldPblmId());
- gwComFileService.deleteBy(gwComFileParam);//删除历史附件
- List<GwComFile> gwComFiles = gwComFileService.findFileByBiz(pblmId);
- tacProvincePblmInfoService.addComFiles(gwComFiles, tacProvincePblmInfo.getOldPblmId());//将当前附件添加到驳回问题信息中
- tacProvincePblmInfoService.delete(pblmId);//删除当前阶段的问题
- gwComFileParam.setBizId(pblmId);
- gwComFileService.deleteBy(gwComFileParam);//删除当前附件
- TacPawpRgstr tacPawpRgstr = tacPawpRgstrService.get(tacProvincePblmInfo.getRgstrId());
- activeLogService.addTacLog(tacPawpRgstr.getName(), StateEnum.SUBMIT_ZHULI.getDesc(), tacProvincePblmInfo.getRgstrId(),
- tacProvincePblmInfo.getListType(), StateEnum.SUBMIT_ZHULI.getKey(), tacProvincePlanProcess.getNowId(),
- "驳回单个问题到【" + tacProvincePlanTask.getNowStep() + "】", getCurrentPersId());
- return buildSuccessResponse("问题驳回完成!!");
- }
- return buildFailResponse("请确认提交参数是否正确!!");
- }
- @ApiOperation(value = "根据ID获取稽察问题审核信息表(单表)")
- @RequestMapping(value = "/{id}", method = RequestMethod.GET)
- public BaseResponse<TacProvincePblmInfo> get(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
- TacProvincePblmInfo tacProvincePblmInfo = tacProvincePblmInfoService.get(id);
- if (tacProvincePblmInfo == null) {
- TacPblmInfo tacPblmInfo = tacPblmInfoService.get(id);
- tacProvincePblmInfo = new TacProvincePblmInfo();
- ConvertBeanUtils.copyPropertiesBySource(tacPblmInfo, tacProvincePblmInfo);
- }
- if (tacProvincePblmInfo != null) {
- List<TacPblmSubject> pblmSubjectList = tacPblmInfoService.findSubjectList(id, tacProvincePblmInfo.getSubjectNames(), tacProvincePblmInfo.getSubjectIds());
- tacProvincePblmInfo.setPblmSubjectList(pblmSubjectList);
- if (StringUtils.isNotBlank(tacProvincePblmInfo.getPblmstdId())) {
- TacObjPblmstb objPblmstb = tacObjPblmstbService.getOne(tacProvincePblmInfo.getPblmstdId());
- if (null != objPblmstb) {
- // lxf 2023/01/28 回显 专家编辑之后的 法律条款 法规内容
- if (StringUtils.isNotBlank(tacProvincePblmInfo.getRelativeLaw())) {
- objPblmstb.setRelativeLaw(tacProvincePblmInfo.getRelativeLaw());
- }
- if (StringUtils.isNotBlank(tacProvincePblmInfo.getLawContent())) {
- objPblmstb.setLawContent(tacProvincePblmInfo.getLawContent());
- }
- }
- tacProvincePblmInfo.setTacObjPblmstb(objPblmstb);
- }
- if (StringUtils.isNotBlank(tacProvincePblmInfo.getPblmRevisionProof())) {
- tacProvincePblmInfo.setRevisionFileList(gwComFileService.findFileByBiz(tacProvincePblmInfo.getPblmRevisionProof()));
- }
- tacProvincePblmInfo.setGwComFileList(gwComFileService.findFileByBiz(id));
- }
- return buildSuccessResponse(tacProvincePblmInfo);
- }
- @ApiOperation(value = "分页查询稽察问题清单-成果")
- @RequestMapping(value = "/pagecg", method = RequestMethod.POST)
- public BaseResponse<PageInfo<TacProvincePblmInfo>> pageCg(@RequestBody TacProvincePblmInfoParam tacProvincePblmInfoParam) {
- tacProvincePblmInfoParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
- return buildSuccessResponse(tacProvincePblmInfoService.findPageJieduanInfo(tacProvincePblmInfoParam));
- }
- @ApiOperation(value = "分页查询稽察问题清单-最终成果")
- @RequestMapping(value = "/finalResults", method = RequestMethod.POST)
- public BaseResponse<PageInfo<TacProvincePblmInfoReDto>> finalResults(@RequestBody TacProvincePblmInfoParam tacProvincePblmInfoParam) {
- tacProvincePblmInfoParam.setOrgId(getCurrentOrgId());
- tacProvincePblmInfoParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
- return buildSuccessResponse(tacProvincePblmInfoService.finalResults(tacProvincePblmInfoParam));
- }
- @ApiOperation(value = "批量修改问题")
- @RequestMapping(value = "/updatePblmInfoList", method = RequestMethod.POST)
- public BaseResponse updatePblmInfoList(@RequestBody TacProvincePblmInfoDto dto) {
- int a = tacProvincePblmInfoService.updatePblmInfoList(dto);
- return buildSuccessResponse();
- }
- @ApiOperation(value = "查询项目处于阶段")
- @RequestMapping(value = "/taskProcess/{rgstrId}/{planProcessId}", method = RequestMethod.GET)
- public BaseResponse taskProcess(@ApiParam(name = "rgstrId", value = "rgstrId", required = true) @PathVariable String rgstrId, @ApiParam(name = "planProcessId", value = "planProcessId", required = true) @PathVariable String planProcessId) {
- Map<String, String> response = new HashMap<>();
- TacPawpRgstr tacPawpRgstr = tacPawpRgstrService.get(rgstrId);
- if (StringUtils.isNotBlank(tacPawpRgstr.getTaskId())) {
- TacProvincePlanTask tacProvincePlanTask = tacProvincePlanTaskService.get(tacPawpRgstr.getTaskId());
- if (tacProvincePlanTask != null) {
- //当前工程所在阶段
- response.put("nowId", tacProvincePlanTask.getNowId());
- TacProvincePlanProcessParam tacProvincePlanProcessParam = new TacProvincePlanProcessParam();
- tacProvincePlanProcessParam.setNowId(planProcessId);
- TacProvincePlanProcess tacProvincePlanProcess = tacProvincePlanProcessService.getBy(tacProvincePlanProcessParam);
- if (tacProvincePlanProcess != null) {
- //工程所在阶段是否需要审定
- response.put("isExamine", tacProvincePlanProcess.getIsExamine());
- TacProvincePlanExamineParam tacProvincePlanExamineParam = new TacProvincePlanExamineParam();
- tacProvincePlanExamineParam.setRgstrId(rgstrId);
- tacProvincePlanExamineParam.setPlanProcessId(planProcessId);
- TacProvincePlanExamine tacProvincePlanExamine = tacProvincePlanExamineService.getBy(tacProvincePlanExamineParam);
- if (tacProvincePlanExamine != null) {
- String stageStatus = tacProvincePlanExamine.getStageStatus();
- //工程所在阶段审定结果
- response.put("stageStatus", stageStatus);
- }
- }
- return buildSuccessResponse(response);
- } else {
- return buildFailResponse("阶段记录数据为空");
- }
- }
- return buildFailResponse("阶段记录数据为空");
- }
- }
|