package cn.com.goldenwater.dcproj.controller.tacplan; import cn.com.goldenwater.dcproj.constvalue.TacPlanStep; import cn.com.goldenwater.dcproj.dao.OlBisInspOrgDao; import cn.com.goldenwater.dcproj.model.OlBisInspOrg; import cn.com.goldenwater.dcproj.model.TacProvincePlanDict; import cn.com.goldenwater.dcproj.model.TacProvincePlanProcess; import cn.com.goldenwater.dcproj.param.TacProvincePlanDictParam; import cn.com.goldenwater.dcproj.param.TacProvincePlanProcessParam; import cn.com.goldenwater.dcproj.service.TacProvincePlanDictService; import cn.com.goldenwater.dcproj.service.TacProvincePlanProcessService; import cn.com.goldenwater.core.web.BaseController; import cn.com.goldenwater.core.web.BaseResponse; import cn.com.goldenwater.id.util.UuidUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.apache.commons.lang3.StringUtils; import com.github.pagehelper.PageInfo; 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.RestController; import java.util.Date; import java.util.List; import java.util.Map; /** * @author lune * @date 2020-5-28 */ @Api(value = "TAC 省级稽察流程管理管理",tags="TAC 省级稽察流程管理管理") @RestController @RequestMapping("/tac/province/plan/process") public class TacProvincePlanProcessController extends BaseController { private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private TacProvincePlanProcessService tacProvincePlanProcessService; @Autowired private OlBisInspOrgDao olBisInspOrgDao; @Autowired private TacProvincePlanDictService tacProvincePlanDictService; @ApiOperation(value = "添加/修改省级稽察流程管理") @RequestMapping(value = "", method = RequestMethod.POST) public BaseResponse insert(@ApiParam(name = "tacProvincePlanProcess", value = "TacProvincePlanProcess", required = true) @RequestBody TacProvincePlanProcess tacProvincePlanProcess) { OlBisInspOrg olBisInspOrg=olBisInspOrgDao.get(getCurrentOrgId()); tacProvincePlanProcess.setAdCode(olBisInspOrg.getAdCode()); tacProvincePlanProcess.setOrgName(olBisInspOrg.getOrgNm()); tacProvincePlanProcess.setOrgId(getCurrentOrgId()); tacProvincePlanProcess.setPersId(getCurrentPersId()); tacProvincePlanProcess.setUptm(new Date()); if(tacProvincePlanProcess.getNowId().equals(tacProvincePlanProcess.getNextId()) || tacProvincePlanProcess.getNowId().equals(tacProvincePlanProcess.getPrvId()) ||tacProvincePlanProcess.getPrvId().equals(tacProvincePlanProcess.getNextId())){ return buildFailResponse("步骤节点不能重复选择!!"); } if(StringUtils.isBlank(tacProvincePlanProcess.getPrvId())){ tacProvincePlanProcess.setPrvId("0"); } if(StringUtils.isBlank(tacProvincePlanProcess.getNextId())){ tacProvincePlanProcess.setNextId("1"); } if(StringUtils.isBlank(tacProvincePlanProcess.getIsRevision())){ tacProvincePlanProcess.setIsRevision("0"); } if(StringUtils.isBlank(tacProvincePlanProcess.getIsExamine())){ tacProvincePlanProcess.setIsExamine("0"); } if(StringUtils.isBlank(tacProvincePlanProcess.getId())) { TacProvincePlanProcessParam planProcessParam=new TacProvincePlanProcessParam(); planProcessParam.setOrgId(getCurrentOrgId()); planProcessParam.setNextId("1");//查看是否流程已经结束 List processServiceList=tacProvincePlanProcessService.findList(planProcessParam); if(processServiceList!=null && processServiceList.size() !=0){ return buildFailResponse("当前流程已经结束,请不要再添加"); } planProcessParam.setNowId(tacProvincePlanProcess.getNowId()); TacProvincePlanProcess planProcess=tacProvincePlanProcessService.getBy(planProcessParam); if(planProcess!=null){ return buildFailResponse("当前步骤已经存在,请不要重复添加!!"); } String uuid = UuidUtil.uuid(); // 生成uuid tacProvincePlanProcess.setId(uuid); int sortNo=tacProvincePlanProcessService.getMaxSortNo(getCurrentOrgId(),olBisInspOrg.getRlcode())+1; tacProvincePlanProcess.setSortNo(sortNo); tacProvincePlanProcessService.insert(tacProvincePlanProcess); }else{ TacProvincePlanProcess planProcess=tacProvincePlanProcessService.get(tacProvincePlanProcess.getId()); if(!planProcess.getNowId().equals(tacProvincePlanProcess.getNowId())) { TacProvincePlanDict tacProvincePlanDict=new TacProvincePlanDict(); tacProvincePlanDict.setDataStat("0"); tacProvincePlanDict.setId(planProcess.getNowId()); tacProvincePlanDictService.update(tacProvincePlanDict); } tacProvincePlanProcess.setUptm(new Date()); tacProvincePlanProcessService.update(tacProvincePlanProcess); } return buildSuccessResponse(tacProvincePlanProcess); } @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 = tacProvincePlanProcessService.delete(id); return buildSuccessResponse(); } @ApiOperation(value = "获取计划步骤字典,为上一步或者下一步时需要选择上一步和下一步的节点") @RequestMapping(value = "/plan", method = RequestMethod.GET) public BaseResponse plan() { Map stepmap=TacPlanStep.getPlanStep(); return buildSuccessResponse(stepmap); } @ApiOperation(value = "根据ID获取省级稽察流程管理(单表)") @RequestMapping(value = "/{id}", method = RequestMethod.GET) public BaseResponse get(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) { TacProvincePlanProcess tacProvincePlanProcess = tacProvincePlanProcessService.get(id); TacProvincePlanDictParam tacProvincePlanDictParam=new TacProvincePlanDictParam(); tacProvincePlanDictParam.setOrgId(getCurrentOrgId()); List notAddList=tacProvincePlanDictService.findNotAddList(tacProvincePlanDictParam); tacProvincePlanProcess.setNextAddList(notAddList); return buildSuccessResponse(tacProvincePlanProcess); } @ApiOperation(value = "获取省级稽察流程管理(列表所有)") @RequestMapping(value = "/list", method = RequestMethod.POST) public BaseResponse> list(@ApiParam(name = "tacProvincePlanProcessParam", value = "tacProvincePlanProcessParam", required = true) @RequestBody TacProvincePlanProcessParam tacProvincePlanProcessParam) { tacProvincePlanProcessParam.setOrgId(getCurrentOrgId()); List tacProvincePlanProcessList = tacProvincePlanProcessService.findList(tacProvincePlanProcessParam); for(TacProvincePlanProcess planProcess:tacProvincePlanProcessList){ if("1".equals(planProcess.getNextId())){ planProcess.setCanDel("1"); planProcess.setCanEdit("1"); }else{ boolean hasNext=true; for(TacProvincePlanProcess planProcess2:tacProvincePlanProcessList){ if(planProcess.getNextId().equals(planProcess2.getNowId())){ planProcess.setCanDel("0"); planProcess.setCanEdit("0"); hasNext=false; } } if(hasNext){ planProcess.setCanDel("1"); planProcess.setCanEdit("1"); } } } return buildSuccessResponse(tacProvincePlanProcessList); } @ApiOperation(value = "获取省级稽察流程管理(列表--分页)") @RequestMapping(value = "/page", method = RequestMethod.POST) public BaseResponse> page(@ApiParam(name = "tacProvincePlanProcessParam", value = "tacProvincePlanProcessParam", required = true) @RequestBody TacProvincePlanProcessParam tacProvincePlanProcessParam) { tacProvincePlanProcessParam.setOrgId(getCurrentOrgId()); PageInfo tacProvincePlanProcessList = tacProvincePlanProcessService.findPageInfo(tacProvincePlanProcessParam); return buildSuccessResponse(tacProvincePlanProcessList); } }