PrjApproverecordController.java 53 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210
  1. package com.liang.controller;
  2. import cn.hutool.core.date.DatePattern;
  3. import cn.hutool.core.date.DateTime;
  4. import cn.hutool.core.date.DateUtil;
  5. import com.github.pagehelper.PageHelper;
  6. import com.github.pagehelper.PageInfo;
  7. import com.liang.common.base.BaseController;
  8. import com.liang.common.base.BaseResult;
  9. import com.liang.common.enums.PostInfoEnum;
  10. import com.liang.entity.*;
  11. import com.liang.service.*;
  12. import io.swagger.annotations.ApiOperation;
  13. import org.springframework.data.domain.Page;
  14. import org.springframework.data.domain.PageRequest;
  15. import org.springframework.format.annotation.DateTimeFormat;
  16. import org.springframework.http.ResponseEntity;
  17. import org.springframework.stereotype.Controller;
  18. import org.springframework.transaction.annotation.Transactional;
  19. import org.springframework.ui.Model;
  20. import org.springframework.web.bind.annotation.*;
  21. import javax.annotation.Resource;
  22. import java.text.DateFormat;
  23. import java.text.SimpleDateFormat;
  24. import java.time.LocalDateTime;
  25. import java.time.ZoneId;
  26. import java.time.ZonedDateTime;
  27. import java.time.format.DateTimeFormatter;
  28. import java.util.*;
  29. /**
  30. * 科技项目审批(PrjApproverecord)表控制层
  31. *
  32. * @author makejava
  33. * @since 2023-05-03 13:23:09
  34. */
  35. @Controller
  36. @RequestMapping("prjApproverecord")
  37. public class PrjApproverecordController extends BaseController {
  38. /**
  39. * 服务对象
  40. */
  41. @Resource
  42. private PrjApproverecordService prjApproverecordService;
  43. @Resource
  44. private SysDictInfoService sysDictInfoService;
  45. @Resource
  46. private StaBudgetapprovalService staBudgetapprovalService;
  47. @Resource
  48. private SysUserPostService sysUserPostService;
  49. @Resource
  50. private SysDeptInfoService sysDeptInfoService;
  51. /**
  52. * 分页查询
  53. *
  54. * @param prjApproverecord 筛选条件
  55. * @param pageRequest 分页对象
  56. * @return 查询结果
  57. */
  58. @GetMapping
  59. public ResponseEntity<Page<PrjApproverecord>> queryByPage(PrjApproverecord prjApproverecord, PageRequest pageRequest) {
  60. return ResponseEntity.ok(this.prjApproverecordService.queryByPage(prjApproverecord, pageRequest));
  61. }
  62. /**
  63. * 通过主键查询单条数据
  64. *
  65. * @param id 主键
  66. * @return 单条数据
  67. */
  68. @GetMapping("{id}")
  69. public ResponseEntity<PrjApproverecord> queryById(@PathVariable("id") Integer id) {
  70. return ResponseEntity.ok(this.prjApproverecordService.queryById(id));
  71. }
  72. /**
  73. * 删除数据
  74. *
  75. * @param id 主键
  76. * @return 删除是否成功
  77. */
  78. @DeleteMapping
  79. public ResponseEntity<Boolean> deleteById(Integer id) {
  80. return ResponseEntity.ok(this.prjApproverecordService.deleteById(id));
  81. }
  82. @ApiOperation(value = "页面初始化", notes = "页面初始化")
  83. @RequestMapping(value = "/init", method = RequestMethod.GET)
  84. public String init(Model model) {
  85. //状态
  86. List<Map<String, String>> approveList = sysDictInfoService.queryByCode("kybg_status");
  87. approveList.addAll(sysDictInfoService.queryByCode("approve_status"));
  88. model.addAttribute("approveList", approveList);
  89. return "prjapproverecord/list";
  90. }
  91. @ApiOperation(value = "页面初始化", notes = "页面初始化")
  92. @RequestMapping(value = "/inits", method = RequestMethod.GET)
  93. public String inits(Model model) {
  94. /* //状态
  95. List<Map<String, String>> approveList = sysDictInfoService.queryByCode("kybg_status");
  96. approveList.addAll(sysDictInfoService.queryByCode("approve_status"));
  97. model.addAttribute("approveList", approveList);*/
  98. return "prjproject/expect";
  99. }
  100. /**
  101. * 付款申请
  102. */
  103. @Resource
  104. private StaPayapprovalService staPayapprovalService;
  105. /**
  106. * 报账
  107. */
  108. @Resource
  109. private StaReimbursementService staReimbursementService;
  110. /**
  111. * 费用申请
  112. */
  113. @Resource
  114. private SysUserInfoService sysUserInfoService;
  115. /**
  116. * 任务书
  117. */
  118. @Resource
  119. private PrjProjectService prjProjectService;
  120. @Resource
  121. private PrjAnnualbudgetService prjAnnualbudgetService;
  122. @ResponseBody
  123. @RequestMapping(value = "/list", method = RequestMethod.POST)
  124. public BaseResult list(@RequestParam("page") Integer pageNum,
  125. @RequestParam("limit") Integer pageSize,
  126. @RequestParam(required = false, defaultValue = "", value = "xm") String xm,
  127. @RequestParam(required = false, defaultValue = "", value = "spzt") String zt,
  128. @RequestParam(required = false, defaultValue = "", value = "wc") String wc,
  129. @RequestParam(required = false, defaultValue = "", value = "tablename") String tablename,
  130. @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName,
  131. @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder) {
  132. List<PrjApproverecord> prjApproverecords = new ArrayList<>();
  133. Map<String, String> paraMap = new HashMap<>();
  134. paraMap.put("sortName", sortName);
  135. paraMap.put("sortOrder", sortOrder);
  136. paraMap.put("xm", xm);
  137. paraMap.put("zt", zt);
  138. paraMap.put("wc", wc);
  139. paraMap.put("tablename", tablename);
  140. SysUserInfo userInfo = getSysUserInfo();
  141. if (!userInfo.getAccount().equals("admin")) {
  142. paraMap.put("userId", userInfo.getUserId().toString());
  143. }
  144. paraMap.put("id",userInfo.getUserId().toString());
  145. // 获取当前人员岗位名称
  146. List<SysUserInfo> accounts = sysUserInfoService.getSysUserInfoList(paraMap);
  147. // 去重
  148. if (accounts.size()==0){
  149. return BaseResult.success(prjApproverecords);
  150. }
  151. // 创建 SimpleDateFormat,定义输出格式
  152. SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  153. Map<String, Object> maps = new HashMap<>();
  154. for (int i = 0 ;i<accounts.size();i++) {
  155. if (accounts.get(i).getUserPostName() == null){
  156. continue;
  157. }
  158. maps.put("spzt", accounts.get(i).getUserPostName() + "审批");
  159. if (accounts.get(i).getUserPostName().equals("部门主任")){
  160. maps.put("ssbmmc",getSysUserInfo().getDeptName());
  161. maps.put("ssbm",getSysUserInfo().getDeptName());
  162. }
  163. /*
  164. maps.put("xmmc");
  165. maps.put()*/
  166. // 获取费用申请界面全部审批数据
  167. List<StaBudgetapproval> fysq = staBudgetapprovalService.getAllApplyList(maps);
  168. if (fysq.size() > 0) {
  169. for (int j = 0; j < fysq.size(); j++) {
  170. // 将 Date 转换为 String
  171. String formattedDate = formatter.format(fysq.get(j).getSqsj());
  172. PrjApproverecord prjApproverecord = new PrjApproverecord();
  173. prjApproverecord.setXmlxmc("费用申请");
  174. prjApproverecord.setXm(fysq.get(j).getXmmc());
  175. prjApproverecord.setErpbh(fysq.get(j).getErpbh());
  176. prjApproverecord.setTjrxm(fysq.get(j).getSqrxm());
  177. prjApproverecord.setTjsj(formattedDate);
  178. prjApproverecord.setSpzt(fysq.get(j).getSpzt());
  179. prjApproverecord.setTablename("sta_BudgetApproval");
  180. prjApproverecord.setXmid(fysq.get(j).getId());
  181. prjApproverecord.setSqje(fysq.get(j).getSqje());
  182. // 存入费用申请至list集合
  183. prjApproverecords.add(prjApproverecord);
  184. }
  185. }
  186. //获取报账列表全部审批数据
  187. List<StaReimbursement> bz = staReimbursementService.getReimburseList(maps);
  188. if (bz.size() > 0) {
  189. for (int k = 0; k < bz.size(); k++) {
  190. String formattedDate = formatter.format(bz.get(k).getCjsj());
  191. PrjApproverecord prjApproverecord = new PrjApproverecord();
  192. prjApproverecord.setXmlxmc("报账");
  193. prjApproverecord.setXm(bz.get(k).getXmmc());
  194. prjApproverecord.setErpbh(bz.get(k).getErpbh());
  195. prjApproverecord.setTjrxm(bz.get(k).getBzrxm());
  196. prjApproverecord.setTjsj(formattedDate);
  197. prjApproverecord.setSpzt(bz.get(k).getSpzt());
  198. prjApproverecord.setTablename("sta_Reimbursement");
  199. prjApproverecord.setXmid(bz.get(k).getId());
  200. prjApproverecord.setBzje(bz.get(k).getBzje());
  201. // 存入 报账数据至 list 集合
  202. prjApproverecords.add(prjApproverecord);
  203. }
  204. }
  205. if (accounts.get(i).getUserPostName().equals("科技项目管理专责1") ||
  206. accounts.get(i).getUserPostName().equals("科技项目管理专责2") ||
  207. accounts.get(i).getUserPostName().equals("科技部部门主任")){
  208. // 获取付款申请界面全部审批数据
  209. List<StaPayapproval> fk = staPayapprovalService.getFksqList(maps);
  210. if (fk.size() > 0) {
  211. for (int l = 0; l < fk.size(); l++) {
  212. String formattedDate = formatter.format(fk.get(l).getCjsj());
  213. PrjApproverecord prjApproverecord = new PrjApproverecord();
  214. prjApproverecord.setXmlxmc("付款申请");
  215. prjApproverecord.setXm(fk.get(l).getXmmc());
  216. prjApproverecord.setErpbh(fk.get(l).getErpbh());
  217. prjApproverecord.setTjrxm(fk.get(l).getCjrxm());
  218. prjApproverecord.setTjsj(formattedDate);
  219. prjApproverecord.setSpzt(fk.get(l).getSpzt());
  220. prjApproverecord.setTablename("sta_PayApproval");
  221. prjApproverecord.setXmid(fk.get(l).getId());
  222. prjApproverecord.setHtje(fk.get(l).getHtje());
  223. // 存入 付款数据至 list 集合
  224. prjApproverecords.add(prjApproverecord);
  225. }
  226. }
  227. }
  228. if (accounts.get(i).getUserPostName().equals("科研计划专责 ")){
  229. // 获取任务数据界面全部审批数据
  230. List<PrjProject> rws = prjProjectService.getProjectList(maps);
  231. if (rws.size() > 0) {
  232. for (int m = 0; m < rws.size(); m++) {
  233. String formattedDate = formatter.format(rws.get(m).getCjrq());
  234. PrjApproverecord prjApproverecord = new PrjApproverecord();
  235. prjApproverecord.setXmlxmc("任务书");
  236. prjApproverecord.setXm(rws.get(m).getZwmc());
  237. prjApproverecord.setErpbh(rws.get(m).getErpbh());
  238. prjApproverecord.setTjrxm(rws.get(m).getCjrxm());
  239. prjApproverecord.setTjsj(formattedDate);
  240. prjApproverecord.setSpzt(rws.get(m).getSpzt());
  241. prjApproverecord.setTablename("prj_Project");
  242. prjApproverecord.setXmid(rws.get(m).getId());
  243. if (rws.get(m).getYsje()!=null){
  244. prjApproverecord.setRysje(rws.get(m).getYsje().doubleValue());
  245. }
  246. // 存入 付款数据至 list 集合
  247. prjApproverecords.add(prjApproverecord);
  248. }
  249. }
  250. }
  251. if (accounts.get(i).getUserPostName().equals("科技项目管理专责")){
  252. // 获取年度预算界面审批数据
  253. List<PrjAnnualbudget> ndys = prjAnnualbudgetService.getNdysList(maps);
  254. if (ndys.size() > 0) {
  255. for (int n = 0; n < ndys.size(); n++) {
  256. String formattedDate = ndys.get(n).getSqsj();
  257. PrjApproverecord prjApproverecord = new PrjApproverecord();
  258. prjApproverecord.setXmlxmc("年度预算");
  259. prjApproverecord.setXm(ndys.get(n).getXmmc());
  260. prjApproverecord.setErpbh(ndys.get(n).getErpbh());
  261. prjApproverecord.setTjrxm(ndys.get(n).getSqrxm());
  262. prjApproverecord.setTjsj(formattedDate);
  263. prjApproverecord.setSpzt(ndys.get(n).getSpzt());
  264. prjApproverecord.setTablename("prj_AnnualBudget");
  265. prjApproverecord.setXmid(ndys.get(n).getId());
  266. // 存入 付款数据至 list 集合
  267. prjApproverecords.add(prjApproverecord);
  268. }
  269. }
  270. }
  271. }
  272. // 获取年度预算修改申请审批数据
  273. List<PrjApproverecord> prjAnnualBudgetRecordList= prjApproverecordService.getPrjAnnualBudgetRecordList(getUserId().toString());
  274. if(prjAnnualBudgetRecordList.size()>0){
  275. for (int j = 0; j < prjAnnualBudgetRecordList.size(); j++) {
  276. prjApproverecords.add(prjAnnualBudgetRecordList.get(j));
  277. }
  278. }
  279. // 获取任务书预算修改申请审批数据
  280. List<PrjApproverecord> prjProjectRecordRecordList= prjApproverecordService.getPrjProjectRecordRecordList(getUserId().toString());
  281. if(prjProjectRecordRecordList.size()>0){
  282. for (int k = 0; k < prjProjectRecordRecordList.size(); k++) {
  283. prjApproverecords.add(prjProjectRecordRecordList.get(k));
  284. }
  285. }
  286. // 合同模块待审批数据
  287. List<PrjApproverecord> prjContractRecordList= prjApproverecordService.getprjContractRecordList(getUserId().toString());
  288. if(prjContractRecordList.size()>0){
  289. for (int k = 0; k < prjContractRecordList.size(); k++) {
  290. prjApproverecords.add(prjContractRecordList.get(k));
  291. }
  292. }
  293. // 计算总记录数
  294. int total = prjApproverecords.size();
  295. // 计算起始索引和结束索引
  296. int fromIndex = (pageNum - 1) * pageSize;
  297. int toIndex = Math.min(fromIndex + pageSize, total);
  298. // 确保起始索引不超过列表大小
  299. if (fromIndex >= total || fromIndex < 0) {
  300. fromIndex = total; // 返回空的结果
  301. }
  302. // 获取当前页的数据
  303. List<PrjApproverecord> rows = prjApproverecords.subList(fromIndex, toIndex);
  304. // 构建返回结果
  305. Map<String, Object> result = new HashMap<>();
  306. result.put(RESULT_ROWS, rows);
  307. result.put(RESULT_TOTAL, total);
  308. return BaseResult.success(result);
  309. }
  310. /**
  311. * 年度预算修改申请列表
  312. * */
  313. @ResponseBody
  314. @RequestMapping(value = "/xgsqList", method = RequestMethod.POST)
  315. public BaseResult xgsqList(@RequestParam("page") Integer pageNum,
  316. @RequestParam("limit") Integer pageSize
  317. ) {
  318. PageHelper.startPage(pageNum, pageSize);
  319. Map<String, String> paraMap = new HashMap<>();
  320. SysUserInfo userInfo = getSysUserInfo();
  321. if (!userInfo.getAccount().equals("admin")) {
  322. paraMap.put("userId", userInfo.getUserId().toString());
  323. }
  324. paraMap.put("tablename","prj_AnnualBudgetRecord");
  325. // 获取待审批的年度预算修改申请
  326. List<PrjApproverecord> xglist = prjApproverecordService.getApproveList(paraMap);
  327. for (int i = 0; i < xglist.size(); i++) {
  328. xglist.get(i).setSpzt(xglist.get(i).getZt());
  329. }
  330. PageInfo<PrjApproverecord> pageinfo = new PageInfo<>(xglist);
  331. //取出查询结果
  332. List<PrjApproverecord> rows = pageinfo.getList();
  333. int total = (int) pageinfo.getTotal();
  334. Map<String, Object> result = new HashMap<>();
  335. result.put(RESULT_ROWS, rows);
  336. result.put(RESULT_TOTAL, total);
  337. return BaseResult.success(result);
  338. }
  339. /**
  340. * 合同修改申请列表
  341. * */
  342. @ResponseBody
  343. @RequestMapping(value = "/htxgsqList", method = RequestMethod.POST)
  344. public BaseResult htxgsqList(@RequestParam("page") Integer pageNum,
  345. @RequestParam("limit") Integer pageSize
  346. ) {
  347. PageHelper.startPage(pageNum, pageSize);
  348. Map<String, String> paraMap = new HashMap<>();
  349. SysUserInfo userInfo = getSysUserInfo();
  350. if (!userInfo.getAccount().equals("admin")) {
  351. paraMap.put("userId", userInfo.getUserId().toString());
  352. }
  353. paraMap.put("tablename","prj_Contract");
  354. // 获取待审批的修改申请
  355. List<PrjApproverecord> xglist = prjApproverecordService.getApproveList(paraMap);
  356. for (int i = 0; i < xglist.size(); i++) {
  357. xglist.get(i).setSpzt(xglist.get(i).getZt());
  358. }
  359. PageInfo<PrjApproverecord> pageinfo = new PageInfo<>(xglist);
  360. //取出查询结果
  361. List<PrjApproverecord> rows = pageinfo.getList();
  362. int total = (int) pageinfo.getTotal();
  363. Map<String, Object> result = new HashMap<>();
  364. result.put(RESULT_ROWS, rows);
  365. result.put(RESULT_TOTAL, total);
  366. return BaseResult.success(result);
  367. }
  368. /**
  369. * 任务书修改申请列表
  370. * */
  371. @ResponseBody
  372. @RequestMapping(value = "/rwsxgsqList", method = RequestMethod.POST)
  373. public BaseResult rwsxgsqList(@RequestParam("page") Integer pageNum,
  374. @RequestParam("limit") Integer pageSize
  375. ) {
  376. PageHelper.startPage(pageNum, pageSize);
  377. Map<String, String> paraMap = new HashMap<>();
  378. SysUserInfo userInfo = getSysUserInfo();
  379. if (!userInfo.getAccount().equals("admin")) {
  380. paraMap.put("userId", userInfo.getUserId().toString());
  381. }
  382. paraMap.put("tablename","prj_ProjectRecord");
  383. // 获取待审批的修改申请
  384. List<PrjApproverecord> xglist = prjApproverecordService.getApproveList(paraMap);
  385. for (int i = 0; i < xglist.size(); i++) {
  386. xglist.get(i).setSpzt(xglist.get(i).getZt());
  387. }
  388. PageInfo<PrjApproverecord> pageinfo = new PageInfo<>(xglist);
  389. //取出查询结果
  390. List<PrjApproverecord> rows = pageinfo.getList();
  391. int total = (int) pageinfo.getTotal();
  392. Map<String, Object> result = new HashMap<>();
  393. result.put(RESULT_ROWS, rows);
  394. result.put(RESULT_TOTAL, total);
  395. return BaseResult.success(result);
  396. }
  397. /**
  398. * 保存数据(提交审批:可研报告,任务书,年度预算,报账)
  399. *
  400. * @return
  401. */
  402. @ResponseBody
  403. @RequestMapping(value = "/doAddApprove", method = RequestMethod.POST)
  404. public BaseResult doAddApprove(PrjApproverecord approverecord) {
  405. List<PrjApproverecord> recordList = new ArrayList<>();
  406. PrjApproverecord record1 = new PrjApproverecord();
  407. record1.setXm(approverecord.getXm());
  408. record1.setXmid(approverecord.getXmid());
  409. record1.setZt(approverecord.getZt());
  410. record1.setTablename(approverecord.getTablename());
  411. record1.setSpcz(approverecord.getSpcz());
  412. record1.setTjr(approverecord.getTjr());
  413. record1.setTjsj(approverecord.getTjsj());
  414. record1.setShr(record1.getTjr());
  415. record1.setShsj(record1.getTjsj());
  416. record1.setSfsjsh(true);//是否需要上级审核
  417. record1.setSjshr(approverecord.getSjshr());
  418. record1.setSjshgw(approverecord.getSjshgw());//上级审核岗位
  419. record1.setSffh(false);//是否返回
  420. record1.setYcshr(false);//隐藏审核人
  421. record1.setWc(true);//完成
  422. recordList.add(record1);
  423. PrjApproverecord record2 = new PrjApproverecord();
  424. record2.setXm(approverecord.getXm());
  425. record2.setXmid(approverecord.getXmid());
  426. record2.setTablename(approverecord.getTablename());
  427. record2.setTjr(approverecord.getTjr());
  428. record2.setTjsj(approverecord.getTjsj());
  429. if ("sta_FeasibilityReport".equals(approverecord.getTablename()) || "prj_Project".equals(approverecord.getTablename())) {
  430. record2.setZt(PostInfoEnum.KYJHZZ.postName() + "审批");//状态
  431. } else {
  432. record2.setZt(PostInfoEnum.KJXMGLZZ.postName() + "审批");//状态
  433. }
  434. record2.setWc(false);//完成
  435. record2.setShr(approverecord.getSjshr());//审核人
  436. record2.setShgw(approverecord.getSjshgw());//审核岗位
  437. recordList.add(record2);
  438. int num = prjApproverecordService.insertBatch(recordList);
  439. if (num > 0) {
  440. return BaseResult.success("保存成功!", approverecord);
  441. } else {
  442. return BaseResult.failure("保存失败!");
  443. }
  444. }
  445. /**
  446. * 保存年度预算修改申请
  447. * */
  448. @ResponseBody
  449. @RequestMapping(value = "/doUpdatApprove", method = RequestMethod.POST)
  450. public BaseResult doUpdatApprove(PrjApproverecord approverecord) {
  451. // 获取审批列表信息
  452. SysUserInfo sysUserInfo = getSysUserInfo();
  453. List<PrjApproverecord> recordList = new ArrayList<>();//提交人
  454. // 获取当前时间
  455. LocalDateTime currentTime = LocalDateTime.now();
  456. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");//提交时间
  457. //获取部门主任审批默认审核人
  458. Map<String, String> paraMap2 = new HashMap<>();//提交人
  459. paraMap2.put("deptName",sysUserInfo.getDeptName());
  460. if (sysUserInfo != null && sysUserInfo.getDeptId().equals("52")) {
  461. paraMap2.put("postName", "科技部部门主任");
  462. paraMap2.put("postId","16");
  463. } else {
  464. paraMap2.put("postName", "科研负责人");
  465. paraMap2.put("postId","28");
  466. }
  467. if(paraMap2.get("postId")=="28"){
  468. String deptName=sysDeptInfoService.getUserDept(sysUserInfo.getUserId());
  469. if(deptName.contains("电源")){
  470. deptName = "电源技术中心化学与环保技术室";
  471. }
  472. paraMap2.put("deptName",deptName);
  473. }
  474. List<SysUserPost> userPostList = sysUserPostService.getPostUserList(paraMap2);
  475. Integer shr = userPostList.get(0).getUserId();
  476. PrjApproverecord record1 = new PrjApproverecord();
  477. record1.setXm(approverecord.getXm());
  478. record1.setXmid(approverecord.getXmid());
  479. if (approverecord.getTablename() != null || "prj_Contract".equals(approverecord.getTablename())) {
  480. record1.setTablename(approverecord.getTablename());
  481. record1.setSpcz(approverecord.getSpcz());
  482. record1.setZt(approverecord.getSpzt());
  483. }else {
  484. record1.setTablename("prj_AnnualBudgetRecord");
  485. record1.setSpcz("预算申请修改");
  486. record1.setZt(approverecord.getZt());
  487. }
  488. record1.setTjr(sysUserInfo.getUserId());
  489. record1.setTjsj(currentTime.format(formatter));
  490. record1.setShr(record1.getTjr());
  491. record1.setShsj(record1.getTjsj());
  492. record1.setSfsjsh(true);//是否需要上级审核
  493. record1.setSjshr(shr);
  494. record1.setSjshgw(28);//上级审核岗位
  495. record1.setSffh(false);//是否返回
  496. record1.setYcshr(false);//隐藏审核人
  497. record1.setWc(true);//完成
  498. recordList.add(record1);
  499. PrjApproverecord record2 = new PrjApproverecord();
  500. record2.setXm(approverecord.getXm());
  501. record2.setXmid(approverecord.getXmid());
  502. record2.setTablename(record1.getTablename());
  503. record2.setTjr(sysUserInfo.getUserId());
  504. record2.setTjsj(currentTime.format(formatter));
  505. record2.setZt(PostInfoEnum.BMZR.postName() + "审批");//状态
  506. record2.setWc(false);//完成
  507. record2.setShr(shr);//审核人
  508. record2.setShgw(28);//审核岗位
  509. recordList.add(record2);
  510. int num = prjApproverecordService.insertBatch(recordList);
  511. if (num > 0) {
  512. return BaseResult.success("保存成功!", approverecord);
  513. } else {
  514. return BaseResult.failure("保存失败!");
  515. }
  516. }
  517. /**
  518. * 保存任务书修改申请
  519. * */
  520. @ResponseBody
  521. @RequestMapping(value = "/doUpdatPrjProject", method = RequestMethod.POST)
  522. public BaseResult doUpdatPrjProject(PrjApproverecord approverecord) {
  523. // 获取审批列表信息
  524. SysUserInfo sysUserInfo = getSysUserInfo();
  525. List<PrjApproverecord> recordList = new ArrayList<>();//提交人
  526. LocalDateTime currentTime = LocalDateTime.now();
  527. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");//提交时间
  528. Map<String, String> paraMap2 = new HashMap<>();
  529. paraMap2.put("postName", "科研计划专责");
  530. paraMap2.put("postId","19");
  531. List<SysUserPost> userPostList = sysUserPostService.getPostUserList(paraMap2);
  532. Integer shr = userPostList.get(0).getUserId();
  533. PrjApproverecord record1 = new PrjApproverecord();
  534. record1.setXm(approverecord.getXm());
  535. record1.setXmid(approverecord.getXmid());
  536. record1.setZt(approverecord.getZt());
  537. record1.setTablename("prj_ProjectRecord");
  538. record1.setSpcz("预算申请修改");
  539. record1.setTjr(sysUserInfo.getUserId());
  540. record1.setTjsj(currentTime.format(formatter));
  541. record1.setShr(record1.getTjr());
  542. record1.setShsj(record1.getTjsj());
  543. record1.setSfsjsh(true);//是否需要上级审核
  544. record1.setSjshr(shr);
  545. record1.setSjshgw(19);//上级审核岗位
  546. record1.setSffh(false);//是否返回
  547. record1.setYcshr(false);//隐藏审核人
  548. record1.setWc(true);//完成
  549. recordList.add(record1);
  550. PrjApproverecord record2 = new PrjApproverecord();
  551. record2.setXm(approverecord.getXm());
  552. record2.setXmid(approverecord.getXmid());
  553. record2.setTablename("prj_ProjectRecord");
  554. record2.setTjr(sysUserInfo.getUserId());
  555. record2.setTjsj(currentTime.format(formatter));
  556. record2.setZt(PostInfoEnum.KYJHZZ.postName() + "审批");//状态
  557. record2.setWc(false);//完成
  558. record2.setShr(shr);//审核人
  559. record2.setShgw(19);//审核岗位
  560. recordList.add(record2);
  561. int num = prjApproverecordService.insertBatch(recordList);
  562. if (num > 0) {
  563. return BaseResult.success("保存成功!", approverecord);
  564. } else {
  565. return BaseResult.failure("保存失败!");
  566. }
  567. }
  568. /**
  569. * 保存数据(提交审批:费用申请)
  570. *
  571. * @return
  572. */
  573. @ResponseBody
  574. @RequestMapping(value = "/doAddApproveFysq", method = RequestMethod.POST)
  575. public BaseResult doAddApproveFysq(PrjApproverecord approverecord) {
  576. List<PrjApproverecord> recordList = new ArrayList<>();
  577. PrjApproverecord record1 = new PrjApproverecord();
  578. record1.setXm(approverecord.getXm());
  579. record1.setXmid(approverecord.getXmid());
  580. record1.setZt(approverecord.getZt());
  581. record1.setTablename(approverecord.getTablename());
  582. record1.setSpcz(approverecord.getSpcz());
  583. record1.setTjr(approverecord.getTjr());
  584. record1.setTjsj(approverecord.getTjsj());
  585. record1.setShr(record1.getTjr());
  586. record1.setShsj(record1.getTjsj());
  587. record1.setSfsjsh(true);//是否需要上级审核
  588. record1.setSjshr(approverecord.getSjshr());
  589. record1.setSjshgw(approverecord.getSjshgw());//上级审核岗位
  590. record1.setSffh(false);//是否返回
  591. record1.setYcshr(false);//隐藏审核人
  592. record1.setWc(true);//完成
  593. recordList.add(record1);
  594. PrjApproverecord record2 = new PrjApproverecord();
  595. record2.setXm(approverecord.getXm());
  596. record2.setXmid(approverecord.getXmid());
  597. record2.setTablename(approverecord.getTablename());
  598. record2.setTjr(approverecord.getTjr());
  599. record2.setTjsj(approverecord.getTjsj());
  600. record2.setZt(PostInfoEnum.BMZR.postName() + "审批");//状态
  601. record2.setWc(false);//完成
  602. record2.setShr(approverecord.getSjshr());//审核人
  603. record2.setShgw(approverecord.getSjshgw());//审核岗位
  604. recordList.add(record2);
  605. int num = prjApproverecordService.insertBatch(recordList);
  606. if (num > 0) {
  607. return BaseResult.success("保存成功!", approverecord);
  608. } else {
  609. return BaseResult.failure("保存失败!");
  610. }
  611. }
  612. /**
  613. * 保存数据(提交审批:付款申请)
  614. *
  615. * @return
  616. */
  617. @ResponseBody
  618. @RequestMapping(value = "/doAddApproveFksq", method = RequestMethod.POST)
  619. public BaseResult doAddApproveFksq(PrjApproverecord approverecord) {
  620. List<PrjApproverecord> recordList = new ArrayList<>();
  621. PrjApproverecord record1 = new PrjApproverecord();
  622. record1.setXm(approverecord.getXm());
  623. record1.setXmid(approverecord.getXmid());
  624. record1.setZt(approverecord.getZt());
  625. record1.setTablename(approverecord.getTablename());
  626. record1.setSpcz(approverecord.getSpcz());
  627. record1.setTjr(approverecord.getTjr());
  628. record1.setTjsj(approverecord.getTjsj());
  629. record1.setShr(record1.getTjr());
  630. record1.setShsj(record1.getTjsj());
  631. record1.setSfsjsh(true);//是否需要上级审核
  632. record1.setSjshr(approverecord.getSjshr());
  633. record1.setSjshgw(approverecord.getSjshgw());//上级审核岗位
  634. record1.setSffh(false);//是否返回
  635. record1.setYcshr(false);//隐藏审核人
  636. record1.setWc(true);//完成
  637. recordList.add(record1);
  638. PrjApproverecord record2 = new PrjApproverecord();
  639. record2.setXm(approverecord.getXm());
  640. record2.setXmid(approverecord.getXmid());
  641. record2.setTablename(approverecord.getTablename());
  642. record2.setTjr(approverecord.getTjr());
  643. record2.setTjsj(approverecord.getTjsj());
  644. record2.setZt(PostInfoEnum.KJXMGLZZ1.postName() + "审批");//状态
  645. record2.setWc(false);//完成
  646. record2.setShr(approverecord.getSjshr());//审核人
  647. record2.setShgw(approverecord.getSjshgw());//审核岗位
  648. recordList.add(record2);
  649. int num = prjApproverecordService.insertBatch(recordList);
  650. if (num > 0) {
  651. return BaseResult.success("保存成功!", approverecord);
  652. } else {
  653. return BaseResult.failure("保存失败!");
  654. }
  655. }
  656. /**
  657. * 保存合同修改申请
  658. * */
  659. @ResponseBody
  660. @RequestMapping(value = "/doUpdatPrjContract", method = RequestMethod.POST)
  661. public BaseResult doUpdatPrjContract(PrjApproverecord approverecord) {
  662. // 获取审批列表信息
  663. SysUserInfo sysUserInfo = getSysUserInfo();
  664. List<PrjApproverecord> recordList = new ArrayList<>();//提交人
  665. LocalDateTime currentTime = LocalDateTime.now();
  666. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");//提交时间
  667. Map<String, String> paraMap2 = new HashMap<>();
  668. paraMap2.put("postName", "科技项目管理专责1");
  669. paraMap2.put("postId","34");
  670. List<SysUserPost> userPostList = sysUserPostService.getPostUserList(paraMap2);
  671. Integer shr = userPostList.get(0).getUserId();
  672. PrjApproverecord record1 = new PrjApproverecord();
  673. record1.setXm(approverecord.getXm());
  674. record1.setXmid(approverecord.getId());
  675. record1.setZt("未提交");
  676. record1.setTablename("prj_Contract");
  677. record1.setSpcz("合同修改申请");
  678. record1.setTjr(sysUserInfo.getUserId());
  679. record1.setTjsj(currentTime.format(formatter));
  680. record1.setShr(record1.getTjr());
  681. record1.setShsj(record1.getTjsj());
  682. record1.setSfsjsh(true);//是否需要上级审核
  683. record1.setSjshr(shr);
  684. record1.setSjshgw(34);//上级审核岗位
  685. record1.setSffh(false);//是否返回
  686. record1.setYcshr(false);//隐藏审核人
  687. record1.setWc(true);//完成
  688. recordList.add(record1);
  689. PrjApproverecord record2 = new PrjApproverecord();
  690. record2.setXm(approverecord.getXm());
  691. record2.setXmid(approverecord.getId());
  692. record2.setTablename("prj_Contract");
  693. record2.setTjr(sysUserInfo.getUserId());
  694. record2.setTjsj(currentTime.format(formatter));
  695. record2.setZt(PostInfoEnum.KJXMGLZZ1.postName() + "审批");//状态
  696. record2.setWc(false);//完成
  697. record2.setShr(shr);//审核人
  698. record2.setShgw(34);//审核岗位
  699. recordList.add(record2);
  700. int num = prjApproverecordService.insertBatch(recordList);
  701. if (num > 0) {
  702. return BaseResult.success("保存成功!", approverecord);
  703. } else {
  704. return BaseResult.failure("保存失败!");
  705. }
  706. }
  707. /**
  708. * 编辑数据(提交审批:可研报告,任务书,年度预算,报账)
  709. *
  710. * @return
  711. */
  712. @ResponseBody
  713. @RequestMapping(value = "/doUpdateApprove", method = RequestMethod.POST)
  714. public BaseResult doUpdateApprove(PrjApproverecord approverecord) {
  715. List<PrjApproverecord> recordList = new ArrayList<>();
  716. PrjApproverecord record1 = new PrjApproverecord();
  717. record1.setId(approverecord.getId());
  718. record1.setSpcz(approverecord.getSpcz());
  719. record1.setShr(approverecord.getShr());
  720. record1.setShsj(approverecord.getShsj());
  721. if (approverecord.getSpcz().equals("返回修改")) {
  722. record1.setSffh(true);//是否返回
  723. record1.setYj(approverecord.getYj2());
  724. } else {
  725. record1.setSffh(false);//是否返回
  726. if (!approverecord.getSpcz().equals("提交审批"))
  727. record1.setYj(approverecord.getYj());
  728. //是否需要上级审核
  729. if (approverecord.getZt().equals(PostInfoEnum.KJXMGLZZ.postName() + "审批")) {
  730. record1.setSfsjsh(false);
  731. } else {
  732. record1.setSfsjsh(true);
  733. record1.setSjshr(approverecord.getSjshr());
  734. record1.setSjshgw(approverecord.getSjshgw());
  735. }
  736. }
  737. record1.setYcshr(false);//隐藏审核人
  738. record1.setWc(true);//完成
  739. recordList.add(record1);
  740. if (approverecord.getZt().equals("未提交(返回)") || approverecord.getSpcz().equals("返回修改")) {
  741. PrjApproverecord record2 = new PrjApproverecord();
  742. record2.setXm(approverecord.getXm());
  743. record2.setXmid(approverecord.getXmid());
  744. record2.setTablename(approverecord.getTablename());
  745. record2.setTjr(approverecord.getTjr());
  746. record2.setTjsj(approverecord.getTjsj());
  747. if (approverecord.getSpcz().equals("返回修改")) {
  748. record2.setZt("未提交(返回)");
  749. record2.setShr(approverecord.getTjr());//审核人
  750. } else {
  751. record2.setZt(PostInfoEnum.KJXMGLZZ.postName() + "审批");
  752. record2.setShr(approverecord.getSjshr());//审核人
  753. record2.setShgw(approverecord.getSjshgw());//审核岗位
  754. }
  755. record2.setWc(false);
  756. recordList.add(record2);
  757. }
  758. int num = prjApproverecordService.insertApprove(recordList);
  759. if (num > 0) {
  760. return BaseResult.success("保存成功!");
  761. } else {
  762. return BaseResult.failure("保存失败!");
  763. }
  764. }
  765. /**
  766. * 编辑数据(提交审批:费用申请)
  767. *
  768. * @return
  769. */
  770. @ResponseBody
  771. @RequestMapping(value = "/doUpdateApproveFysq", method = RequestMethod.POST)
  772. public BaseResult doUpdateApproveFysq(PrjApproverecord approverecord) {
  773. LocalDateTime currentTime = LocalDateTime.now();
  774. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");//提交时间
  775. List<PrjApproverecord> recordList = new ArrayList<>();
  776. PrjApproverecord record1 = new PrjApproverecord();
  777. record1.setId(approverecord.getId());
  778. record1.setSpcz(approverecord.getSpcz());
  779. record1.setShr(approverecord.getShr());
  780. record1.setShsj(currentTime.format(formatter));
  781. double dmoney = approverecord.getSqje();
  782. if (approverecord.getSpcz().equals("返回修改")) {
  783. record1.setSffh(true);//是否返回
  784. record1.setYj(approverecord.getYj());
  785. } else {
  786. record1.setSffh(false);//是否返回
  787. if (!approverecord.getSpcz().equals("提交审批")) {
  788. record1.setYj(approverecord.getYj());
  789. }
  790. //是否需要上级审核
  791. if (approverecord.getZt().equals(PostInfoEnum.YZ.postName() + "审批") || approverecord.getZt().equals(PostInfoEnum.ZGYLD.postName() + "审批") && dmoney < 1000000) {
  792. record1.setSfsjsh(false);
  793. } else {
  794. record1.setSfsjsh(true);
  795. record1.setSjshr(approverecord.getSjshr());
  796. record1.setSjshgw(approverecord.getSjshgw());
  797. }
  798. }
  799. record1.setYcshr(false);//隐藏审核人
  800. record1.setWc(true);//完成
  801. recordList.add(record1);
  802. if (!(approverecord.getZt().equals(PostInfoEnum.YZ.postName() + "审批") || approverecord.getZt().equals(PostInfoEnum.ZGYLD.postName() + "审批") && dmoney < 1000000)
  803. || approverecord.getSpcz().equals("返回修改")) {
  804. PrjApproverecord record2 = new PrjApproverecord();
  805. record2.setXm(approverecord.getXm());
  806. record2.setXmid(approverecord.getXmid());
  807. record2.setTablename(approverecord.getTablename());
  808. record2.setTjr(approverecord.getTjr());
  809. record2.setTjsj(approverecord.getTjsj());
  810. if (approverecord.getSpcz().equals("返回修改")) {
  811. record2.setZt("未提交(返回)");
  812. record2.setShr(approverecord.getTjr());//审核人
  813. } else {
  814. if (approverecord.getZt().equals(PostInfoEnum.BMZR.postName() + "审批"))
  815. record2.setZt(PostInfoEnum.KJXMGLZZ.postName() + "审批");
  816. else if (approverecord.getZt().equals(PostInfoEnum.KJXMGLZZ.postName() + "审批"))
  817. record2.setZt(PostInfoEnum.KJBBMZR.postName() + "审批");
  818. else if (approverecord.getZt().equals(PostInfoEnum.KJBBMZR.postName() + "审批"))
  819. record2.setZt(PostInfoEnum.ZGYLD.postName() + "审批");
  820. else if (approverecord.getZt().equals(PostInfoEnum.ZGYLD.postName() + "审批"))
  821. record2.setZt(PostInfoEnum.YZ.postName() + "审批");
  822. else
  823. record2.setZt(PostInfoEnum.BMZR.postName() + "审批");
  824. record2.setShr(approverecord.getSjshr());//审核人
  825. record2.setShgw(approverecord.getSjshgw());//审核岗位
  826. }
  827. record2.setWc(false);
  828. recordList.add(record2);
  829. }
  830. int num = prjApproverecordService.insertApprove(recordList);
  831. if (num > 0) {
  832. return BaseResult.success("保存成功!");
  833. } else {
  834. return BaseResult.failure("保存失败!");
  835. }
  836. }
  837. /**
  838. * 编辑数据(提交审批:付款申请)
  839. *
  840. * @return
  841. */
  842. @ResponseBody
  843. @RequestMapping(value = "/doUpdateApproveFksq", method = RequestMethod.POST)
  844. @Transactional
  845. public BaseResult doUpdateApproveFksq(PrjApproverecord approverecord) {
  846. LocalDateTime currentTime = LocalDateTime.now();
  847. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");//提交时间
  848. List<PrjApproverecord> recordList = new ArrayList<>();
  849. PrjApproverecord record1 = new PrjApproverecord();
  850. record1.setId(approverecord.getId());
  851. record1.setSpcz(approverecord.getSpcz());
  852. record1.setShr(approverecord.getShr());
  853. record1.setShsj(currentTime.format(formatter));
  854. if (approverecord.getSpcz().equals("返回修改")) {
  855. record1.setSffh(true);//是否返回
  856. record1.setYj(approverecord.getYj());
  857. } else {
  858. record1.setSffh(false);//是否返回
  859. if (!approverecord.getSpcz().equals("提交审批"))
  860. if (approverecord.getYj()==null){
  861. record1.setYj("同意。");
  862. }else {
  863. record1.setYj(approverecord.getYj());
  864. }
  865. //是否需要上级审核
  866. if (approverecord.getZt().equals(PostInfoEnum.KJBBMZR.postName() + "审批")) {
  867. record1.setSfsjsh(false);
  868. } else {
  869. record1.setSfsjsh(true);
  870. record1.setSjshr(approverecord.getSjshr());
  871. record1.setSjshgw(approverecord.getSjshgw());
  872. }
  873. }
  874. record1.setYcshr(false);//隐藏审核人
  875. record1.setWc(true);//完成
  876. recordList.add(record1);
  877. if (!(approverecord.getZt().equals(PostInfoEnum.KJBBMZR.postName() + "审批")) || approverecord.getSpcz().equals("返回修改")) {
  878. PrjApproverecord record2 = new PrjApproverecord();
  879. record2.setXm(approverecord.getXm());
  880. record2.setXmid(approverecord.getXmid());
  881. record2.setTablename(approverecord.getTablename());
  882. record2.setTjr(approverecord.getTjr());
  883. record2.setTjsj(approverecord.getTjsj());
  884. if (approverecord.getSpcz().equals("返回修改")) {
  885. record2.setZt("未提交(返回)");
  886. record2.setShr(approverecord.getTjr());//审核人
  887. } else {
  888. if (approverecord.getZt().equals(PostInfoEnum.KJXMGLZZ1.postName() + "审批")) {
  889. record2.setZt(PostInfoEnum.KJXMGLZZ2.postName() + "审批");
  890. } else if (approverecord.getZt().equals(PostInfoEnum.KJXMGLZZ2.postName() + "审批")) {
  891. record2.setZt(PostInfoEnum.KJBBMZR.postName() + "审批");
  892. } else {
  893. record2.setZt(PostInfoEnum.KJXMGLZZ1.postName() + "审批");
  894. }
  895. record2.setShr(approverecord.getSjshr());//审核人
  896. record2.setShgw(approverecord.getSjshgw());//审核岗位
  897. }
  898. record2.setWc(false);
  899. recordList.add(record2);
  900. }
  901. int num = prjApproverecordService.insertApprove(recordList);
  902. if (num > 0) {
  903. return BaseResult.success("保存成功!");
  904. } else {
  905. return BaseResult.failure("保存失败!");
  906. }
  907. }
  908. /**
  909. * 编辑数据(年度预算修改申请)
  910. * @param approverecord
  911. * @return
  912. */
  913. @ResponseBody
  914. @RequestMapping(value = "/doUpdateApproveRecord", method = RequestMethod.POST)
  915. @Transactional
  916. public BaseResult doUpdateApproveRecord(PrjApproverecord approverecord) {
  917. LocalDateTime currentTime = LocalDateTime.now();
  918. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");//提交时间
  919. List<PrjApproverecord> recordList = new ArrayList<>();
  920. Map<String, String> paraMap = new HashMap<>();
  921. paraMap.put("postName", "科技项目管理专责");
  922. paraMap.put("postId","39");
  923. List<SysUserPost> userPostLists = sysUserPostService.getPostUserList(paraMap);
  924. Integer shr2 = userPostLists.get(0).getUserId();
  925. PrjApproverecord record1 = new PrjApproverecord();
  926. record1.setId(approverecord.getId());
  927. record1.setSpcz(approverecord.getSpcz());
  928. record1.setShr(approverecord.getShr());
  929. record1.setShsj(currentTime.format(formatter));
  930. if (approverecord.getSpcz().equals("返回修改")) {
  931. record1.setSffh(true);//是否返回
  932. record1.setYj(approverecord.getYj());
  933. } else {
  934. record1.setSffh(false);//是否返回
  935. if (!approverecord.getSpcz().equals("提交审批"))
  936. if (approverecord.getYj()==null){
  937. record1.setYj("同意。");
  938. }else {
  939. record1.setYj(approverecord.getYj());
  940. }
  941. //是否需要上级审核
  942. if (approverecord.getZt().equals(PostInfoEnum.KJXMGLZZ.postName() + "审批")) {
  943. record1.setSfsjsh(false);
  944. } else {
  945. record1.setSfsjsh(true);
  946. record1.setSjshr(approverecord.getSjshr());
  947. record1.setSjshgw(approverecord.getSjshgw());
  948. }
  949. }
  950. record1.setYcshr(false);//隐藏审核人
  951. record1.setWc(true);//完成
  952. recordList.add(record1);
  953. if (!(approverecord.getZt().equals(PostInfoEnum.KJXMGLZZ.postName() + "审批")) || approverecord.getSpcz().equals("返回修改")) {
  954. PrjApproverecord record2 = new PrjApproverecord();
  955. record2.setXm(approverecord.getXm());
  956. record2.setXmid(approverecord.getXmid());
  957. record2.setTablename(approverecord.getTablename());
  958. record2.setTjr(approverecord.getTjr());
  959. record2.setTjsj(approverecord.getTjsj());
  960. if (approverecord.getSpcz().equals("返回修改")) {
  961. record2.setZt("未提交(返回)");
  962. record2.setShr(approverecord.getTjr());
  963. } else {
  964. if (approverecord.getZt().equals(PostInfoEnum.BMZR.postName() + "审批")) {
  965. record2.setZt(PostInfoEnum.KJXMGLZZ.postName() + "审批");
  966. } else {
  967. record2.setZt(PostInfoEnum.BMZR.postName() + "审批");
  968. }
  969. record2.setShr(shr2);//审核人
  970. record2.setShgw(39);//审核岗位
  971. }
  972. record2.setWc(false);
  973. recordList.add(record2);
  974. }
  975. int num = prjApproverecordService.insertApprove(recordList);
  976. if (num > 0) {
  977. return BaseResult.success("保存成功!");
  978. } else {
  979. return BaseResult.failure("保存失败!");
  980. }
  981. }
  982. /**
  983. * 编辑数据(合同修改申请)
  984. * @param approverecord
  985. * @return
  986. */
  987. @ResponseBody
  988. @RequestMapping(value = "/doUpdateApprovePrjContract", method = RequestMethod.POST)
  989. @Transactional
  990. public BaseResult doUpdateApprovePrjContract(PrjApproverecord approverecord) {
  991. LocalDateTime currentTime = LocalDateTime.now();
  992. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");//提交时间
  993. List<PrjApproverecord> recordList = new ArrayList<>();
  994. PrjApproverecord record1 = new PrjApproverecord();
  995. record1.setId(approverecord.getId());
  996. record1.setSpcz(approverecord.getSpcz());
  997. record1.setShr(approverecord.getShr());
  998. record1.setShsj(currentTime.format(formatter));
  999. if (approverecord.getSpcz().equals("返回修改")) {
  1000. record1.setSffh(true);//是否返回
  1001. record1.setYj(approverecord.getYj());
  1002. } else {
  1003. record1.setSffh(false);//是否返回
  1004. if (!approverecord.getSpcz().equals("提交审批"))
  1005. if (approverecord.getYj()==null){
  1006. record1.setYj("同意。");
  1007. }else {
  1008. record1.setYj(approverecord.getYj());
  1009. }
  1010. //是否需要上级审核
  1011. if (approverecord.getZt().equals(PostInfoEnum.KJXMGLZZ1.postName() + "审批")) {
  1012. record1.setSfsjsh(false);
  1013. } else {
  1014. record1.setSfsjsh(true);
  1015. record1.setSjshr(approverecord.getSjshr());
  1016. record1.setSjshgw(approverecord.getSjshgw());
  1017. }
  1018. }
  1019. record1.setYcshr(false);//隐藏审核人
  1020. record1.setWc(true);//完成
  1021. recordList.add(record1);
  1022. int num = prjApproverecordService.insertApprove(recordList);
  1023. if (num > 0) {
  1024. return BaseResult.success("保存成功!");
  1025. } else {
  1026. return BaseResult.failure("保存失败!");
  1027. }
  1028. }
  1029. @ResponseBody
  1030. @RequestMapping(value = "/spList/{xmid}/{tableName}", method = RequestMethod.POST)
  1031. public BaseResult spList(@PathVariable("xmid") String xmid,
  1032. @PathVariable("tableName") String tableName,
  1033. @RequestParam("page") Integer pageNum,
  1034. @RequestParam("limit") Integer pageSize,
  1035. @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName,
  1036. @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder) {
  1037. PageHelper.startPage(pageNum, pageSize);
  1038. Map<String, String> paraMap = new HashMap<>();
  1039. paraMap.put("sortName", sortName);
  1040. paraMap.put("sortOrder", sortOrder);
  1041. paraMap.put("xmid", xmid.toString());
  1042. paraMap.put("tableName", tableName.toString());
  1043. List<PrjApproverecord> list = prjApproverecordService.getApproveByXmId2(paraMap);
  1044. if (list.isEmpty()){
  1045. Map<String, Object> result = new HashMap<>();
  1046. return BaseResult.success(result);
  1047. }else {
  1048. //判断备用金是否关联项目
  1049. if (list.get(0).getTablename().equals("sta_BudgetApproval")) {
  1050. PrjApproverecord prjApproverecord = new PrjApproverecord();
  1051. StaBudgetapproval staBudgetapproval = staBudgetapprovalService.queryById(list.get(0).getXmid());
  1052. System.out.println(staBudgetapproval.toString());
  1053. if (staBudgetapproval.getSfbyj() == true && staBudgetapproval.getXmmc() != null) {
  1054. prjApproverecord.setWc(true);
  1055. prjApproverecord.setZt("该备用金已关联项目");
  1056. list.add(prjApproverecord);
  1057. } else if (staBudgetapproval.getSfbyj() == true && staBudgetapproval.getXmmc() == null && "审批结束".equals(staBudgetapproval.getSpzt()) || "".equals(staBudgetapproval.getXmmc())) {
  1058. prjApproverecord.setWc(false);
  1059. prjApproverecord.setZt("该备用金暂未关联项目");
  1060. prjApproverecord.setShrxm(PostInfoEnum.KJXMGLZZ.postName());
  1061. list.add(prjApproverecord);
  1062. }
  1063. }
  1064. PageInfo<PrjApproverecord> pageinfo = new PageInfo<>(list);
  1065. //取出查询结果
  1066. List<PrjApproverecord> rows = pageinfo.getList();
  1067. int total = (int) pageinfo.getTotal();
  1068. Map<String, Object> result = new HashMap<>();
  1069. result.put(RESULT_ROWS, rows);
  1070. result.put(RESULT_TOTAL, total);
  1071. return BaseResult.success(result);
  1072. }
  1073. }
  1074. @ResponseBody
  1075. @RequestMapping(value = "/spLists/{xmid}/{tableName}", method = RequestMethod.GET)
  1076. public List spList(@PathVariable("xmid") String xmid,
  1077. @PathVariable("tableName") String tableName) {
  1078. Map<String, String> paraMap = new HashMap<>();
  1079. paraMap.put("xmid", xmid.toString());
  1080. paraMap.put("tableName", tableName.toString());
  1081. List<PrjApproverecord> list = prjApproverecordService.getApproveByXmId2(paraMap);
  1082. if (list.isEmpty()){
  1083. return new ArrayList<>();
  1084. }else {
  1085. //判断备用金是否关联项目
  1086. if (list.get(0).getTablename().equals("sta_BudgetApproval")) {
  1087. PrjApproverecord prjApproverecord = new PrjApproverecord();
  1088. StaBudgetapproval staBudgetapproval = staBudgetapprovalService.queryById(list.get(0).getXmid());
  1089. System.out.println(staBudgetapproval.toString());
  1090. if (staBudgetapproval.getSfbyj() == true && staBudgetapproval.getXmmc() != null) {
  1091. prjApproverecord.setWc(true);
  1092. prjApproverecord.setZt("该备用金已关联项目");
  1093. list.add(prjApproverecord);
  1094. } else if (staBudgetapproval.getSfbyj() == true && staBudgetapproval.getXmmc() == null && "审批结束".equals(staBudgetapproval.getSpzt()) || "".equals(staBudgetapproval.getXmmc())) {
  1095. prjApproverecord.setWc(false);
  1096. prjApproverecord.setZt("该备用金暂未关联项目");
  1097. prjApproverecord.setShrxm(PostInfoEnum.KJXMGLZZ.postName());
  1098. list.add(prjApproverecord);
  1099. }
  1100. }
  1101. return list;
  1102. }
  1103. }
  1104. //修改审批列表wc状态
  1105. @ResponseBody
  1106. @RequestMapping(value = "/updatSpList/{id}", method = RequestMethod.GET)
  1107. public BaseResult updatSpList(@PathVariable("id") String id){
  1108. Integer userId = getSysUserInfo().getUserId();
  1109. prjApproverecordService.updatSpList(id,userId);
  1110. return BaseResult.success("修改成功!");
  1111. }
  1112. }