7c810ac27b0809df577409cfac453ae05ef5a628.svn-base 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. package cn.com.goldenwater.dcproj.controller.tacplan;
  2. import cn.com.goldenwater.dcproj.dao.OlBisInspOrgDao;
  3. import cn.com.goldenwater.dcproj.dto.TacProvincePlanDictDto;
  4. import cn.com.goldenwater.dcproj.model.OlBisInspOrg;
  5. import cn.com.goldenwater.dcproj.model.TacProvincePlanDict;
  6. import cn.com.goldenwater.dcproj.model.TacProvincePlanProcess;
  7. import cn.com.goldenwater.dcproj.param.TacProvincePlanDictParam;
  8. import cn.com.goldenwater.dcproj.param.TacProvincePlanProcessParam;
  9. import cn.com.goldenwater.dcproj.service.TacProvincePlanDictService;
  10. import cn.com.goldenwater.core.web.BaseController;
  11. import cn.com.goldenwater.core.web.BaseResponse;
  12. import cn.com.goldenwater.dcproj.service.TacProvincePlanProcessService;
  13. import cn.com.goldenwater.target.CheckException;
  14. import cn.com.goldenwater.id.util.UuidUtil;
  15. import io.swagger.annotations.Api;
  16. import io.swagger.annotations.ApiOperation;
  17. import io.swagger.annotations.ApiParam;
  18. import org.apache.commons.lang3.StringUtils;
  19. import com.github.pagehelper.PageInfo;
  20. import org.slf4j.Logger;
  21. import org.slf4j.LoggerFactory;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.web.bind.annotation.PathVariable;
  24. import org.springframework.web.bind.annotation.RequestBody;
  25. import org.springframework.web.bind.annotation.RequestMapping;
  26. import org.springframework.web.bind.annotation.RequestMethod;
  27. import org.springframework.web.bind.annotation.RestController;
  28. import java.util.ArrayList;
  29. import java.util.Date;
  30. import java.util.List;
  31. /**
  32. * @author lune
  33. * @date 2020-5-28
  34. */
  35. @Api(value = "TAC 省级稽察流程字典管理",tags="TAC 省级稽察流程字典管理")
  36. @RestController
  37. @RequestMapping("/tac/province/plan/dict")
  38. public class TacProvincePlanDictController extends BaseController {
  39. private Logger logger = LoggerFactory.getLogger(getClass());
  40. @Autowired
  41. private TacProvincePlanDictService tacProvincePlanDictService;
  42. @Autowired
  43. private OlBisInspOrgDao olBisInspOrgDao;
  44. @Autowired
  45. private TacProvincePlanProcessService tacProvincePlanProcessService;
  46. @ApiOperation(value = "添加/修改省级稽察流程字典")
  47. @RequestMapping(value = "", method = RequestMethod.POST)
  48. public BaseResponse<TacProvincePlanDict> insert(@ApiParam(name = "tacProvincePlanDict", value = "TacProvincePlanDict", required = true) @RequestBody TacProvincePlanDict tacProvincePlanDict) {
  49. OlBisInspOrg olBisInspOrg=olBisInspOrgDao.get(getCurrentOrgId());
  50. tacProvincePlanDict.setOrgId(getCurrentOrgId());
  51. tacProvincePlanDict.setPersId(getCurrentPersId());
  52. tacProvincePlanDict.setUptm(new Date());
  53. tacProvincePlanDict.setAdCode(olBisInspOrg.getRlcode());
  54. tacProvincePlanDict.setOrgName(olBisInspOrg.getOrgNm());
  55. TacProvincePlanDictParam planDictParam=new TacProvincePlanDictParam();
  56. planDictParam.setOrgId(getCurrentOrgId());
  57. planDictParam.setAdCode(olBisInspOrg.getRlcode());
  58. if(StringUtils.isBlank(tacProvincePlanDict.getId())) {
  59. int nextNo=tacProvincePlanDictService.getMaxNextNo(planDictParam)+1;
  60. String uuid = UuidUtil.uuid(); // 生成uuid
  61. tacProvincePlanDict.setId(uuid);
  62. tacProvincePlanDict.setUptm(new Date());
  63. tacProvincePlanDict.setSortNo(nextNo);
  64. tacProvincePlanDict.setDataStat("0");
  65. tacProvincePlanDict.setState("0");
  66. tacProvincePlanDictService.insert(tacProvincePlanDict);
  67. }else{
  68. TacProvincePlanDict provincePlanDict=tacProvincePlanDictService.get(tacProvincePlanDict.getId());
  69. //前端传入当前阶段排序值与数据库中当前阶段排序值对比,若一致,则无需查重,若不一致,则查询是否重复
  70. if(tacProvincePlanDict.getSortNo()!=provincePlanDict.getSortNo()){
  71. planDictParam.setSortNo(tacProvincePlanDict.getSortNo());
  72. provincePlanDict=tacProvincePlanDictService.getBy(planDictParam);
  73. if(provincePlanDict!=null){
  74. return buildFailResponse("序号不能重复!!");
  75. }
  76. }
  77. tacProvincePlanDictService.update(tacProvincePlanDict);
  78. }
  79. return buildSuccessResponse(tacProvincePlanDict);
  80. }
  81. @ApiOperation(value = "根据ID删除省级稽察流程字典")
  82. @RequestMapping(value = "/del/{id}", method = RequestMethod.GET)
  83. public BaseResponse delete(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
  84. int ret = tacProvincePlanDictService.delete(id);
  85. return buildSuccessResponse();
  86. }
  87. @ApiOperation(value = "根据ID获取省级稽察流程字典(单表)")
  88. @RequestMapping(value = "/{id}", method = RequestMethod.GET)
  89. public BaseResponse<TacProvincePlanDict> get(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
  90. TacProvincePlanDict tacProvincePlanDict = tacProvincePlanDictService.get(id);
  91. return buildSuccessResponse(tacProvincePlanDict);
  92. }
  93. @ApiOperation(value = "根据ID获取省级稽察流程字典(单表,包含下一步列表)")
  94. @RequestMapping(value = "/edit", method = RequestMethod.GET)
  95. public BaseResponse<TacProvincePlanDictDto> edit() {
  96. OlBisInspOrg olBisInspOrg=olBisInspOrgDao.get(getCurrentOrgId());
  97. TacProvincePlanDictDto tacProvincePlanDictDto = new TacProvincePlanDictDto();
  98. TacProvincePlanDictParam tacProvincePlanDictParam=new TacProvincePlanDictParam();
  99. tacProvincePlanDictParam.setOrgId(getCurrentOrgId());
  100. int sortNo=tacProvincePlanProcessService.getMaxSortNo(getCurrentOrgId(),olBisInspOrg.getRlcode());
  101. if(sortNo==0){//初始数据
  102. TacProvincePlanDict tacProvincePlanDict=new TacProvincePlanDict();
  103. tacProvincePlanDict.setId("0");
  104. tacProvincePlanDict.setProcessName("开始");
  105. List<TacProvincePlanDict> tacProvincePlanDictList=new ArrayList<>();
  106. tacProvincePlanDictList.add(tacProvincePlanDict);
  107. tacProvincePlanDictDto.setPrvTacProvincePlanDictList(tacProvincePlanDictList);
  108. tacProvincePlanDictDto.setNowTacProvincePlanDictList(tacProvincePlanDictService.findList(tacProvincePlanDictParam));
  109. tacProvincePlanDictDto.setNextAddList(notAddList(tacProvincePlanDictParam));
  110. return buildSuccessResponse(tacProvincePlanDictDto);
  111. }else {//存在节点
  112. TacProvincePlanProcessParam tacProvincePlanProcessParam = new TacProvincePlanProcessParam();
  113. tacProvincePlanProcessParam.setSortNo(sortNo);
  114. tacProvincePlanProcessParam.setOrgId(getCurrentOrgId());
  115. tacProvincePlanProcessParam.setAdCode(olBisInspOrg.getRlcode());
  116. TacProvincePlanProcess tacProvincePlanProcess = tacProvincePlanProcessService.getBy(tacProvincePlanProcessParam);
  117. if("1".equals(tacProvincePlanProcess.getNextId())){//机构流程已经添加完成
  118. throw new CheckException("机构流程已经添加完成!!如需更改请前往审核流程编辑末端节点!!");
  119. }
  120. if (tacProvincePlanProcess != null) {//添加上级节点
  121. TacProvincePlanDict tacProvincePlanDict=new TacProvincePlanDict();
  122. tacProvincePlanDict.setId(tacProvincePlanProcess.getNowId());
  123. tacProvincePlanDict.setProcessName(tacProvincePlanProcess.getNowStep());
  124. List<TacProvincePlanDict> tacProvincePlanDictList=new ArrayList<>();
  125. tacProvincePlanDictList.add(tacProvincePlanDict);
  126. tacProvincePlanDictDto.setPrvTacProvincePlanDictList(tacProvincePlanDictList);
  127. tacProvincePlanDictParam.setId(tacProvincePlanProcess.getNextId());
  128. tacProvincePlanDictDto.setNowTacProvincePlanDictList(tacProvincePlanDictService.findList(tacProvincePlanDictParam));
  129. tacProvincePlanDictDto.setNextAddList(notAddList(tacProvincePlanDictParam));
  130. return buildSuccessResponse(tacProvincePlanDictDto);
  131. }
  132. }
  133. return buildFailResponse("数据查询存在问题,请联系管理员!!");
  134. }
  135. @ApiOperation(value = "获取省级稽察流程字典(列表所有)")
  136. @RequestMapping(value = "/list", method = RequestMethod.POST)
  137. public BaseResponse<List<TacProvincePlanDict>> list(@ApiParam(name = "tacProvincePlanDictParam", value = "tacProvincePlanDictParam", required = true) @RequestBody TacProvincePlanDictParam tacProvincePlanDictParam) {
  138. if(StringUtils.isBlank(tacProvincePlanDictParam.getOrgId())){
  139. tacProvincePlanDictParam.setOrgId(getCurrentOrgId());
  140. }
  141. List<TacProvincePlanDict> tacProvincePlanDictList = tacProvincePlanDictService.findList(tacProvincePlanDictParam);
  142. return buildSuccessResponse(tacProvincePlanDictList);
  143. }
  144. @ApiOperation(value = "获取省级稽察流程字典(列表所有)")
  145. @RequestMapping(value = "/noAddlist", method = RequestMethod.POST)
  146. public BaseResponse<List<TacProvincePlanDict>> noAddlist(@ApiParam(name = "tacProvincePlanDictParam", value = "tacProvincePlanDictParam", required = true) @RequestBody TacProvincePlanDictParam tacProvincePlanDictParam) {
  147. return buildSuccessResponse(notAddList(tacProvincePlanDictParam));
  148. }
  149. private List<TacProvincePlanDict> notAddList(TacProvincePlanDictParam tacProvincePlanDictParam ){
  150. tacProvincePlanDictParam.setOrgId(getCurrentOrgId());
  151. TacProvincePlanProcessParam planProcessParam=new TacProvincePlanProcessParam();
  152. planProcessParam.setOrgId(getCurrentOrgId());
  153. planProcessParam.setNextId("1");//是否已经结束
  154. List<TacProvincePlanProcess> planProcesses=tacProvincePlanProcessService.findList(planProcessParam);
  155. if(planProcesses==null || planProcesses.size()==0){
  156. List<TacProvincePlanDict> notAddList=tacProvincePlanDictService.findNotAddList(tacProvincePlanDictParam);
  157. TacProvincePlanDict tacProvincePlanDict=new TacProvincePlanDict();
  158. tacProvincePlanDict.setId("1");
  159. tacProvincePlanDict.setProcessName("结束");
  160. notAddList.add(tacProvincePlanDict);
  161. return notAddList;
  162. }
  163. return null;
  164. }
  165. @ApiOperation(value = "获取省级稽察流程字典(列表--分页)")
  166. @RequestMapping(value = "/page", method = RequestMethod.POST)
  167. public BaseResponse<PageInfo<TacProvincePlanDict>> page(@ApiParam(name = "tacProvincePlanDictParam", value = "tacProvincePlanDictParam", required = true) @RequestBody TacProvincePlanDictParam tacProvincePlanDictParam) {
  168. PageInfo<TacProvincePlanDict> tacProvincePlanDictList = tacProvincePlanDictService.findPageInfo(tacProvincePlanDictParam);
  169. return buildSuccessResponse(tacProvincePlanDictList);
  170. }
  171. }