StaBudgetapprovalController.java 55 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406
  1. package com.liang.controller;
  2. import com.github.pagehelper.PageHelper;
  3. import com.github.pagehelper.PageInfo;
  4. import com.liang.common.JsonTool;
  5. import com.liang.common.base.BaseController;
  6. import com.liang.common.base.BaseResult;
  7. import com.liang.common.utils.WordUtils;
  8. import com.liang.entity.*;
  9. import com.liang.service.*;
  10. //import com.liang.vo.service.*;
  11. import io.swagger.annotations.ApiOperation;
  12. import org.json.JSONException;
  13. import org.springframework.data.domain.Page;
  14. import org.springframework.data.domain.PageRequest;
  15. import org.springframework.http.ResponseEntity;
  16. import org.springframework.stereotype.Controller;
  17. import org.springframework.ui.Model;
  18. import org.springframework.web.bind.annotation.*;
  19. import javax.annotation.Resource;
  20. import javax.servlet.http.HttpServletRequest;
  21. import javax.servlet.http.HttpServletResponse;
  22. import java.io.*;
  23. import java.text.DateFormat;
  24. import java.text.SimpleDateFormat;
  25. import java.util.*;
  26. /**
  27. * (StaBudgetapproval)表控制层
  28. *
  29. * @author makejava
  30. * @since 2023-04-14 10:54:58
  31. */
  32. @Controller
  33. @RequestMapping("staBudgetapproval")
  34. public class StaBudgetapprovalController extends BaseController {
  35. /**
  36. * 服务对象
  37. */
  38. @Resource
  39. private StaBudgetapprovalService staBudgetapprovalService;
  40. @Resource
  41. private SysDictInfoService sysDictInfoService;
  42. @Resource
  43. private BaseProjecttypeService projecttypeService;
  44. @Resource
  45. private SysPostInfoService sysPostInfoService;
  46. @Resource
  47. private PrjApproverecordService prjApproverecordService;
  48. @Resource
  49. private PrjProjectService prjProjectService;
  50. @Resource
  51. private PrjAnnualbudgetService prjAnnualbudgetService;
  52. @Resource
  53. private PrjAnnualbudgetdetailService prjAnnualbudgetdetailService;
  54. @Resource
  55. private CyyService cyyService;
  56. @Resource
  57. private SysUserInfoService sysUserInfoService;
  58. @Resource
  59. private PrjFylbService prjFylbService;
  60. /**
  61. * 分页查询
  62. *
  63. * @param staBudgetapproval 筛选条件
  64. * @param pageRequest 分页对象
  65. * @return 查询结果
  66. */
  67. @GetMapping
  68. public ResponseEntity<Page<StaBudgetapproval>> queryByPage(StaBudgetapproval staBudgetapproval, PageRequest pageRequest) {
  69. return ResponseEntity.ok(this.staBudgetapprovalService.queryByPage(staBudgetapproval, pageRequest));
  70. }
  71. /**
  72. * 通过主键查询单条数据
  73. *
  74. * @param id 主键
  75. * @return 单条数据
  76. */
  77. @GetMapping("{id}")
  78. public ResponseEntity<StaBudgetapproval> queryById(@PathVariable("id") Integer id) {
  79. return ResponseEntity.ok(this.staBudgetapprovalService.queryById(id));
  80. }
  81. /**
  82. * 删除数据
  83. *
  84. * @param id 主键
  85. * @return 删除是否成功
  86. */
  87. @DeleteMapping
  88. public ResponseEntity<Boolean> deleteById(Integer id) {
  89. return ResponseEntity.ok(this.staBudgetapprovalService.deleteById(id));
  90. }
  91. /**
  92. * 列表初始化
  93. * @param model
  94. * @return
  95. */
  96. @ApiOperation(value = "页面初始化", notes = "页面初始化")
  97. @RequestMapping(value = "/init_apply", method = RequestMethod.GET)
  98. public String init_apply(Model model) {
  99. //审批状态
  100. List<Map<String, String>> approveList = sysDictInfoService.queryByCode("approve_status");
  101. model.addAttribute("approveList", approveList);
  102. //项目类型
  103. List<Map<String, String>> xmlxList = projecttypeService.getXMLX();
  104. model.addAttribute("xmlxList", xmlxList);
  105. //年份
  106. List<String> yearList = staBudgetapprovalService.getYearList();
  107. model.addAttribute("yearList", yearList);
  108. //当前用户ID
  109. model.addAttribute("userId", getSysUserId());
  110. return "stabudgetapproval/list_apply";
  111. }
  112. /**
  113. * 费用申请列
  114. * @return
  115. */
  116. @ResponseBody
  117. @RequestMapping(value = "/list_apply", method = RequestMethod.POST)
  118. public BaseResult list_apply(@RequestParam("page") Integer pageNum,
  119. @RequestParam("limit") Integer pageSize,
  120. @RequestParam(required = false, defaultValue = "", value = "sqmc") String sqmc,
  121. @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh,
  122. @RequestParam(required = false, defaultValue = "", value = "spzt") String spzt,
  123. @RequestParam(required = false, defaultValue = "", value = "bh") String bh,
  124. @RequestParam(required = false, defaultValue = "", value = "xmlx") String xmlx,
  125. @RequestParam(required = false, defaultValue = "", value = "ssbmmc") String ssbmmc,
  126. @RequestParam(required = false, defaultValue = "", value = "dkyfzr") String dkyfzr,
  127. @RequestParam(required = false, defaultValue = "", value = "nf") String nf,
  128. @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName,
  129. @RequestParam(required = false, defaultValue = "", value = "fylb") String fylb,
  130. @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder) {
  131. SysUserInfo userInfo = getSysUserInfo();
  132. List<String> postName = sysUserInfoService.getPostNameByUserId(userInfo.getUserId());
  133. String post="";
  134. if(postName.size()>0){
  135. for (int i = 0; i < postName.size(); i++) {
  136. if("科研专责".equals(postName.get(i))){
  137. post="过";
  138. }
  139. }
  140. }
  141. PageHelper.startPage(pageNum, pageSize);
  142. Map<String, String> paraMap = new HashMap<>();
  143. paraMap.put("sortName", sortName);
  144. paraMap.put("sortOrder", sortOrder);
  145. paraMap.put("sqmc", sqmc);
  146. paraMap.put("erpbh", erpbh);
  147. paraMap.put("spzt", spzt);
  148. paraMap.put("bh", bh);
  149. paraMap.put("xmlx", xmlx);
  150. paraMap.put("ssbmmc", ssbmmc);
  151. paraMap.put("dkyfzr", dkyfzr);
  152. paraMap.put("nf", nf);
  153. paraMap.put("fylb", fylb);
  154. if(!userInfo.getAccount().equals("admin")){
  155. if(!"过".equals(post)){
  156. paraMap.put("userId", userInfo.getUserId().toString());
  157. }
  158. }
  159. List<StaBudgetapproval> list = staBudgetapprovalService.getFysqList(paraMap);
  160. PageInfo<StaBudgetapproval> pageinfo = new PageInfo<>(list);
  161. //取出查询结果
  162. List<StaBudgetapproval> rows = pageinfo.getList();
  163. int total = (int) pageinfo.getTotal();
  164. Map<String, Object> result = new HashMap<>();
  165. result.put(RESULT_ROWS, rows);
  166. result.put(RESULT_TOTAL, total);
  167. return BaseResult.success(result);
  168. }
  169. /**
  170. * 新建数据
  171. *
  172. * @return
  173. */
  174. @RequestMapping(value = "/forApplyAdd", method = RequestMethod.GET)
  175. public String forApplyAdd(Model model)
  176. {
  177. SysUserInfo userInfo = getSysUserInfo();
  178. model.addAttribute("userInfo", userInfo);
  179. return "annualbudget/add_apply";
  180. }
  181. /**
  182. * 保存数据(费用申请)
  183. *
  184. * @return
  185. */
  186. @ResponseBody
  187. @RequestMapping(value = "/doAddApply", method = RequestMethod.POST)
  188. public BaseResult doAddApply(StaBudgetapproval budgetapproval)
  189. {
  190. budgetapproval.setSqrxm(getSysUserInfo().getName());
  191. budgetapproval.setSqr(getSysUserId());
  192. int num = staBudgetapprovalService.insert(budgetapproval);
  193. if (num > 0) {
  194. return BaseResult.success("费用申请成功!", budgetapproval);
  195. } else {
  196. return BaseResult.failure("费用申请失败!");
  197. }
  198. }/**
  199. * 保存数据(备用金)
  200. *
  201. * @return
  202. */
  203. @ResponseBody
  204. @RequestMapping(value = "/doAddImprest", method = RequestMethod.POST)
  205. public BaseResult doAddImprest(StaBudgetapproval budgetapproval)
  206. {
  207. budgetapproval.setSqrxm(getSysUserInfo().getName());
  208. budgetapproval.setSqr(getSysUserId());
  209. int num = staBudgetapprovalService.insertImprest(budgetapproval);
  210. if (num > 0) {
  211. return BaseResult.success("备用金申请成功!", budgetapproval);
  212. } else {
  213. return BaseResult.failure("备用金申请失败!");
  214. }
  215. }
  216. /**
  217. * 编辑数据(基本信息)
  218. *
  219. * @return
  220. */
  221. @ResponseBody
  222. @RequestMapping(value = "/TJrevokeApprove", method = RequestMethod.POST)
  223. public BaseResult TJrevokeApprove(@RequestBody String data) {
  224. // PrjProject rws = JsonTool.parseObject(data, PrjProject.class);
  225. StaBudgetapproval fysq = JsonTool.parseObject(data, StaBudgetapproval.class);
  226. int num;
  227. int temp;
  228. num = staBudgetapprovalService.tjrevokeApprove(fysq);
  229. //修改审批列表里的状态为完成
  230. temp = prjApproverecordService.updateRevokeRecord(fysq.getId());
  231. //return BaseResult.success(num+"撤销成功!");
  232. if (num > 0 && temp >0) {
  233. return BaseResult.success("撤销成功!");
  234. } else {
  235. return BaseResult.failure("撤销失败!");
  236. }
  237. }
  238. /**
  239. * 编辑数据(费用申请)
  240. *
  241. * @return
  242. */
  243. @ResponseBody
  244. @RequestMapping(value = "/doUpdateApply", method = RequestMethod.POST)
  245. public BaseResult doUpdateApply(StaBudgetapproval budgetapproval)
  246. {
  247. int num = staBudgetapprovalService.update(budgetapproval);
  248. if (num > 0) {
  249. return BaseResult.success("费用申请更新成功!");
  250. }
  251. else {
  252. return BaseResult.failure("费用申请更新失败!");
  253. }
  254. }
  255. /**
  256. * 编辑数据(备用金申请)
  257. *
  258. * @return
  259. */
  260. @ResponseBody
  261. @RequestMapping(value = "/doUpdateImprest", method = RequestMethod.POST)
  262. public BaseResult doUpdateImprest(StaBudgetapproval budgetapproval)
  263. {
  264. int num = staBudgetapprovalService.updateImprest(budgetapproval);
  265. if (num > 0) {
  266. return BaseResult.success("备用金申请更新成功!");
  267. }
  268. else {
  269. return BaseResult.failure("备用金申请更新失败!");
  270. }
  271. }
  272. @ResponseBody
  273. @RequestMapping(value = "/ImprestConnect", method = RequestMethod.POST)
  274. public BaseResult ImprestConnect(StaBudgetapproval budgetapproval)
  275. {
  276. // 拿取项目名称和年份筛选 年度预算明细
  277. PrjAnnualbudgetdetail prjAnnualbudgetdetail = new PrjAnnualbudgetdetail();
  278. prjAnnualbudgetdetail.setNf(budgetapproval.getNf());
  279. prjAnnualbudgetdetail.setXmmc(budgetapproval.getXmmc());
  280. // 年预算为负值,则就无法检索,采用 年份和 项目名称的方式进行 项目类被
  281. List<PrjAnnualbudgetdetail> list = prjAnnualbudgetdetailService.getfylbID(prjAnnualbudgetdetail);
  282. if (list.size()>0){
  283. for (int i=0;i<list.size();i++){
  284. if(list.get(i).getFymc().equals(budgetapproval.getFylbmc())) {
  285. budgetapproval.setFylb(list.get(i).getId());
  286. break;
  287. }
  288. }
  289. }
  290. if(budgetapproval.getFylb() != null){
  291. int num = staBudgetapprovalService.ImprestConnect(budgetapproval);
  292. return BaseResult.success("备用金项目关联成功!");
  293. }
  294. return BaseResult.failure("备用金关联失败,费用类型有误,请重新选择!");
  295. }
  296. @ResponseBody
  297. @RequestMapping(value = "/DisConnect/{id}", method = RequestMethod.POST)
  298. public BaseResult DisConnect(@PathVariable Integer id)
  299. {
  300. StaBudgetapproval budgetapproval = new StaBudgetapproval();
  301. budgetapproval.setId(id);
  302. int num = staBudgetapprovalService.ImprestConnect(budgetapproval);
  303. if (num > 0) {
  304. return BaseResult.success("备用金项目取消成功!");
  305. }
  306. else {
  307. return BaseResult.failure("备用金项目取消失败!");
  308. }
  309. }
  310. /**
  311. * 编辑数据
  312. * @return
  313. */
  314. @RequestMapping(value = "/forApplyUpdate/{id}", method = RequestMethod.GET)
  315. public String forApplyUpdate(Model model, @PathVariable Integer id)
  316. {
  317. StaBudgetapproval budgetapproval = staBudgetapprovalService.getFysqById(id);
  318. model.addAttribute("budgetapproval", budgetapproval);
  319. //费用信息
  320. StaBudgetapproval xmFyInfo = staBudgetapprovalService.getXmFyInfo(budgetapproval.getNys());
  321. if(xmFyInfo.getYsje() == null)
  322. xmFyInfo.setYsje(0.0);
  323. if(xmFyInfo.getSqje() == null)
  324. xmFyInfo.setSqje(0.0);
  325. if(xmFyInfo.getBzje() == null)
  326. xmFyInfo.setBzje(0.0);
  327. model.addAttribute("xmFyInfo", xmFyInfo);
  328. Map<String, String> paraMap = new HashMap<>();
  329. paraMap.put("nys1", budgetapproval.getNys().toString());
  330. paraMap.put("fylb1", budgetapproval.getFylb().toString());
  331. paraMap.put("nys", budgetapproval.getNys().toString());
  332. paraMap.put("fylb", budgetapproval.getFylb().toString());
  333. StaBudgetapproval kmFyInfo = staBudgetapprovalService.getKmFyInfo(paraMap);
  334. if(kmFyInfo.getYsje() == null)
  335. kmFyInfo.setYsje(0.0);
  336. if(kmFyInfo.getSqje() == null)
  337. kmFyInfo.setSqje(0.0);
  338. if(kmFyInfo.getBzje() == null)
  339. kmFyInfo.setBzje(0.0);
  340. model.addAttribute("kmFyInfo", kmFyInfo);
  341. return "stabudgetapproval/update_apply";
  342. }
  343. /**
  344. * 浏览数据
  345. * @return
  346. */
  347. @RequestMapping(value = "/forApplyView/{id}", method = RequestMethod.GET)
  348. public String forApplyView(Model model, @PathVariable Integer id)
  349. {
  350. StaBudgetapproval budgetapproval = staBudgetapprovalService.getFysqById(id);
  351. model.addAttribute("budgetapproval", budgetapproval);
  352. //费用信息
  353. if(budgetapproval.getSfbyj() == false){
  354. StaBudgetapproval xmFyInfo = staBudgetapprovalService.getXmFyInfo(budgetapproval.getNys());
  355. if(xmFyInfo.getYsje() == null)
  356. xmFyInfo.setYsje(0.0);
  357. if(xmFyInfo.getSqje() == null)
  358. xmFyInfo.setSqje(0.0);
  359. if(xmFyInfo.getBzje() == null)
  360. xmFyInfo.setBzje(0.0);
  361. model.addAttribute("xmFyInfo", xmFyInfo);
  362. Map<String, String> paraMap = new HashMap<>();
  363. paraMap.put("nys1", budgetapproval.getNys().toString());
  364. paraMap.put("fylb1", budgetapproval.getFylb().toString());
  365. paraMap.put("nys", budgetapproval.getNys().toString());
  366. paraMap.put("fylb", budgetapproval.getFylb().toString());
  367. StaBudgetapproval kmFyInfo = staBudgetapprovalService.getKmFyInfo(paraMap);
  368. if(kmFyInfo.getYsje() == null)
  369. kmFyInfo.setYsje(0.0);
  370. if(kmFyInfo.getSqje() == null)
  371. kmFyInfo.setSqje(0.0);
  372. if(kmFyInfo.getBzje() == null)
  373. kmFyInfo.setBzje(0.0);
  374. model.addAttribute("kmFyInfo", kmFyInfo);
  375. }
  376. if (budgetapproval.getSfbyj() == true) {
  377. return "stabudgetapproval/view_imprest";
  378. }else{
  379. return "stabudgetapproval/view_apply";
  380. }
  381. }
  382. /**
  383. * 删除数据
  384. * @param
  385. * @return
  386. */
  387. @RequestMapping(value = "/deleteApply/{id}", method = RequestMethod.GET)
  388. @ResponseBody
  389. public BaseResult deleteApply(@PathVariable Integer id)
  390. {
  391. boolean flag = staBudgetapprovalService.deleteApplyById(id);
  392. if (flag) {
  393. return BaseResult.success("删除成功!");
  394. } else {
  395. return BaseResult.failure("删除失败!");
  396. }
  397. }
  398. /**
  399. * 批量删除
  400. * @param data
  401. * @return
  402. */
  403. @RequestMapping(value = "/batchDelete", method = RequestMethod.POST)
  404. @ResponseBody
  405. public BaseResult batchDelete(@RequestBody String data)
  406. {
  407. List<StaBudgetapproval> prjList = JsonTool.parseArray(data, StaBudgetapproval.class);
  408. List<Integer> idList = new ArrayList<>();
  409. prjList.forEach(item -> {
  410. idList.add(item.getId());
  411. });
  412. int num = staBudgetapprovalService.batchDeleteApply(idList);
  413. if (num > 0) {
  414. return BaseResult.success("批量删除成功!");
  415. } else {
  416. return BaseResult.failure("批量删除失败!");
  417. }
  418. }
  419. /**
  420. * 项目经费管理板块下的备用金申请页面
  421. * @param model
  422. * @return
  423. */
  424. @RequestMapping(value = "/init_my", method = RequestMethod.GET)
  425. public String init_my(Model model){
  426. //审批状态
  427. List<Map<String, String>> approveList = sysDictInfoService.queryByCode("approve_status");
  428. model.addAttribute("approveList", approveList);
  429. //年份
  430. List<String> yearList = staBudgetapprovalService.getYearList();
  431. model.addAttribute("yearList", yearList);
  432. //当前用户ID
  433. model.addAttribute("userId", getSysUserId());
  434. return "stabudgetapproval/list_imprest_my";
  435. }
  436. /**
  437. * 列表初始化
  438. * @param model
  439. * @return
  440. */
  441. @ApiOperation(value = "页面初始化", notes = "页面初始化")
  442. @RequestMapping(value = "/init_imprest", method = RequestMethod.GET)
  443. public String init_imprest(Model model) {
  444. //审批状态
  445. List<Map<String, String>> approveList = sysDictInfoService.queryByCode("approve_status");
  446. model.addAttribute("approveList", approveList);
  447. //年份
  448. List<String> yearList = staBudgetapprovalService.getYearList();
  449. model.addAttribute("yearList", yearList);
  450. //当前用户ID
  451. model.addAttribute("userId", getSysUserId());
  452. return "stabudgetapproval/list_imprest";
  453. }
  454. /**
  455. * 备用金申请
  456. * @return
  457. */
  458. @ResponseBody
  459. @RequestMapping(value = "/list_imprest", method = RequestMethod.POST)
  460. public BaseResult list_imprest(@RequestParam("page") Integer pageNum,
  461. @RequestParam("limit") Integer pageSize,
  462. @RequestParam(required = false, defaultValue = "", value = "spzt") String spzt,
  463. @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh,
  464. @RequestParam(required = false, defaultValue = "", value = "xmmc") String xmmc,
  465. @RequestParam(required = false, defaultValue = "", value = "bh") String bh,
  466. @RequestParam(required = false, defaultValue = "", value = "nf") String nf,
  467. @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName,
  468. @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder) {
  469. SysUserInfo userInfo = getSysUserInfo();
  470. List<String> postName = sysUserInfoService.getPostNameByUserId(userInfo.getUserId());
  471. String post="";
  472. if(postName.size()>0){
  473. for (int i = 0; i < postName.size(); i++) {
  474. if("科研专责".equals(postName.get(i))){
  475. post="过";
  476. }
  477. }
  478. }
  479. PageHelper.startPage(pageNum, pageSize);
  480. Map<String, String> paraMap = new HashMap<>();
  481. paraMap.put("sortName", sortName);
  482. paraMap.put("sortOrder", sortOrder);
  483. paraMap.put("spzt", spzt);
  484. paraMap.put("erpbh", erpbh);
  485. paraMap.put("xmmc", xmmc);
  486. paraMap.put("bh", bh);
  487. paraMap.put("nf", nf);
  488. if(!userInfo.getAccount().equals("admin")){
  489. if(!"过".equals(post)){
  490. paraMap.put("userId", userInfo.getUserId().toString());
  491. }
  492. }
  493. List<StaBudgetapproval> list = staBudgetapprovalService.getByjsqList(paraMap);
  494. PageInfo<StaBudgetapproval> pageinfo = new PageInfo<>(list);
  495. //取出查询结果
  496. List<StaBudgetapproval> rows = pageinfo.getList();
  497. int total = (int) pageinfo.getTotal();
  498. Map<String, Object> result = new HashMap<>();
  499. result.put(RESULT_ROWS, rows);
  500. result.put(RESULT_TOTAL, total);
  501. return BaseResult.success(result);
  502. }
  503. /**
  504. * 备用金申请
  505. * @return
  506. */
  507. @ResponseBody
  508. @RequestMapping(value = "/list_imprest1", method = RequestMethod.POST)
  509. public BaseResult list_imprest1(@RequestParam("page") Integer pageNum,
  510. @RequestParam("limit") Integer pageSize,
  511. @RequestParam(required = false, defaultValue = "", value = "spzt") String spzt,
  512. @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh,
  513. @RequestParam(required = false, defaultValue = "", value = "sqmc") String sqmc,
  514. @RequestParam(required = false, defaultValue = "", value = "bh") String bh,
  515. @RequestParam(required = false, defaultValue = "", value = "nf") String nf,
  516. @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName,
  517. @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder,
  518. @RequestParam(required = false,defaultValue = "", value = "xmmc")String xmmc){
  519. SysUserInfo userInfo = getSysUserInfo();
  520. PageHelper.startPage(pageNum, pageSize);
  521. Map<String, String> paraMap = new HashMap<>();
  522. paraMap.put("sortName", sortName);
  523. paraMap.put("sortOrder", sortOrder);
  524. paraMap.put("spzt", spzt);
  525. paraMap.put("erpbh", erpbh);
  526. paraMap.put("sqmc", sqmc);
  527. paraMap.put("bh", bh);
  528. paraMap.put("nf", nf);
  529. paraMap.put("xmmc",xmmc);
  530. List<StaBudgetapproval> list = staBudgetapprovalService.getByjsqList(paraMap);
  531. PageInfo<StaBudgetapproval> pageinfo = new PageInfo<>(list);
  532. //取出查询结果
  533. List<StaBudgetapproval> rows = pageinfo.getList();
  534. int total = (int) pageinfo.getTotal();
  535. Map<String, Object> result = new HashMap<>();
  536. result.put(RESULT_ROWS, rows);
  537. result.put(RESULT_TOTAL, total);
  538. return BaseResult.success(result);
  539. }
  540. /**
  541. * 新建数据
  542. *
  543. * @return
  544. */
  545. @RequestMapping(value = "/forImprestAdd", method = RequestMethod.GET)
  546. public String forImprestAdd(Model model)
  547. {
  548. SysUserInfo userInfo = getSysUserInfo();
  549. model.addAttribute("userInfo", userInfo);
  550. return "stabudgetapproval/add_imprest";
  551. }
  552. /**
  553. * 编辑数据
  554. * @return
  555. */
  556. @RequestMapping(value = "/forImprestUpdate/{id}", method = RequestMethod.GET)
  557. public String forImprestUpdate(Model model, @PathVariable Integer id)
  558. {
  559. StaBudgetapproval budgetapproval = staBudgetapprovalService.getFysqById(id);
  560. model.addAttribute("budgetapproval", budgetapproval);
  561. return "stabudgetapproval/update_imprest";
  562. }
  563. /**
  564. * 浏览数据(备用金)
  565. * @return
  566. */
  567. @RequestMapping(value = "/forImprestView/{id}", method = RequestMethod.GET)
  568. public String forImprestView(Model model, @PathVariable Integer id)
  569. {
  570. StaBudgetapproval budgetapproval = staBudgetapprovalService.getFysqById(id);
  571. model.addAttribute("budgetapproval", budgetapproval);
  572. return "stabudgetapproval/view_imprest";
  573. }
  574. /**
  575. * 删除数据
  576. * @param
  577. * @return
  578. */
  579. @RequestMapping(value = "/deleteImprest/{id}", method = RequestMethod.GET)
  580. @ResponseBody
  581. public BaseResult deleteImprest(@PathVariable Integer id)
  582. {
  583. boolean flag = staBudgetapprovalService.deleteApplyById(id);
  584. if (flag) {
  585. return BaseResult.success("删除成功!");
  586. } else {
  587. return BaseResult.failure("删除失败!");
  588. }
  589. }
  590. /**
  591. * 列表初始化
  592. * @param model
  593. * @return
  594. */
  595. @ApiOperation(value = "页面初始化", notes = "页面初始化")
  596. @RequestMapping(value = "/init_reported", method = RequestMethod.GET)
  597. public String init_reported(Model model) {
  598. //审批状态
  599. List<Map<String, String>> approveList = sysDictInfoService.queryByCode("approve_status");
  600. model.addAttribute("approveList", approveList);
  601. //项目类型
  602. List<Map<String, String>> xmlxList = projecttypeService.getXMLX();
  603. model.addAttribute("xmlxList", xmlxList);
  604. //年份
  605. List<String> yearList = staBudgetapprovalService.getYearList();
  606. model.addAttribute("yearList", yearList);
  607. return "stabudgetapproval/list_reported";
  608. }
  609. /**
  610. * 已报账费用申请列表
  611. * @return
  612. */
  613. @ResponseBody
  614. @RequestMapping(value = "/list_reported", method = RequestMethod.POST)
  615. public BaseResult list_reported(@RequestParam("page") Integer pageNum,
  616. @RequestParam("limit") Integer pageSize,
  617. @RequestParam(required = false, defaultValue = "", value = "sqmc") String sqmc,
  618. @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh,
  619. @RequestParam(required = false, defaultValue = "", value = "bh") String bh,
  620. @RequestParam(required = false, defaultValue = "", value = "xmlx") String xmlx,
  621. @RequestParam(required = false, defaultValue = "", value = "ssbmmc") String ssbmmc,
  622. @RequestParam(required = false, defaultValue = "", value = "dkyfzr") String dkyfzr,
  623. @RequestParam(required = false, defaultValue = "", value = "nf") String nf,
  624. @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName,
  625. @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder) {
  626. SysUserInfo userInfo = getSysUserInfo();
  627. List<String> postName = sysUserInfoService.getPostNameByUserId(userInfo.getUserId());
  628. String post="";
  629. if(postName.size()>0){
  630. for (int i = 0; i < postName.size(); i++) {
  631. if("科研专责".equals(postName.get(i))){
  632. post="过";
  633. }
  634. }
  635. }
  636. PageHelper.startPage(pageNum, pageSize);
  637. Map<String, String> paraMap = new HashMap<>();
  638. paraMap.put("sortName", sortName);
  639. paraMap.put("sortOrder", sortOrder);
  640. paraMap.put("sqmc", sqmc);
  641. paraMap.put("erpbh", erpbh);
  642. paraMap.put("bh", bh);
  643. paraMap.put("xmlx", xmlx);
  644. paraMap.put("dkyfzr", dkyfzr);
  645. paraMap.put("ssbmmc", ssbmmc);
  646. paraMap.put("nf", nf);
  647. if(!userInfo.getAccount().equals("admin")){
  648. if(!"过".equals(post)){
  649. paraMap.put("userId", userInfo.getUserId().toString());
  650. }
  651. }
  652. List<StaBudgetapproval> list = staBudgetapprovalService.getYbzFysqList(paraMap);
  653. PageInfo<StaBudgetapproval> pageinfo = new PageInfo<>(list);
  654. //取出查询结果
  655. List<StaBudgetapproval> rows = pageinfo.getList();
  656. int total = (int) pageinfo.getTotal();
  657. Map<String, Object> result = new HashMap<>();
  658. result.put(RESULT_ROWS, rows);
  659. result.put(RESULT_TOTAL, total);
  660. return BaseResult.success(result);
  661. }
  662. /**
  663. * 列表初始化
  664. * @param model
  665. * @return
  666. */
  667. @ApiOperation(value = "页面初始化", notes = "页面初始化")
  668. @RequestMapping(value = "/init_allapply", method = RequestMethod.GET)
  669. public String init_allapply(Model model) {
  670. //审批状态
  671. List<Map<String, String>> approveList = sysDictInfoService.queryByCode("approve_status");
  672. model.addAttribute("approveList", approveList);
  673. //项目类型
  674. List<Map<String, String>> xmlxList = projecttypeService.getXMLX();
  675. model.addAttribute("xmlxList", xmlxList);
  676. //年份
  677. List<String> yearList = staBudgetapprovalService.getYearList();
  678. model.addAttribute("yearList", yearList);
  679. //当前用户ID
  680. model.addAttribute("userId", getSysUserId());
  681. return "stafeemanage/list_allapply";
  682. }
  683. /**
  684. * 全部费用申请(审批完成)
  685. * @return
  686. */
  687. @ResponseBody
  688. @RequestMapping(value = "/list_allApply", method = RequestMethod.POST)
  689. public BaseResult list_allApply(@RequestParam("page") Integer pageNum,
  690. @RequestParam("limit") Integer pageSize,
  691. @RequestParam(required = false, defaultValue = "", value = "bh") String bh,
  692. @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh,
  693. @RequestParam(required = false, defaultValue = "", value = "xmlx") String xmlx,
  694. @RequestParam(required = false, defaultValue = "", value = "sfbyj") String sfbyj,
  695. @RequestParam(required = false, defaultValue = "", value = "xmmc") String xmmc,
  696. @RequestParam(required = false, defaultValue = "", value = "fylb") String fylb,
  697. @RequestParam(required = false, defaultValue = "", value = "ssbmmc") String ssbmmc,
  698. @RequestParam(required = false, defaultValue = "", value = "nf") String nf,
  699. @RequestParam(required = false, defaultValue = "", value = "spzt") String spzt,
  700. @RequestParam(required = false, defaultValue = "", value = "sfbz") String sfbz,
  701. @RequestParam(required = false, defaultValue = "", value = "dkyfzr") String dkyfzr,
  702. @RequestParam(required = false, defaultValue = "", value = "sqsj1") String sqsj1,
  703. @RequestParam(required = false, defaultValue = "", value = "sqsj2") String sqsj2,
  704. @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName,
  705. @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder) {
  706. PageHelper.startPage(pageNum, pageSize);
  707. Map<String, String> paraMap = new HashMap<>();
  708. paraMap.put("sortName", sortName);
  709. paraMap.put("sortOrder", sortOrder);
  710. paraMap.put("bh", bh);
  711. paraMap.put("erpbh", erpbh);
  712. paraMap.put("xmlx", xmlx);
  713. paraMap.put("sfbyj", sfbyj);
  714. paraMap.put("xmmc", xmmc);
  715. paraMap.put("ssbmmc", ssbmmc);
  716. paraMap.put("nf", nf);
  717. paraMap.put("spzt", spzt);
  718. paraMap.put("sfbz", sfbz);
  719. paraMap.put("dkyfzr", dkyfzr);
  720. paraMap.put("sqsj1", sqsj1);
  721. paraMap.put("sqsj2", sqsj2);
  722. paraMap.put("fylb", fylb);
  723. List<StaBudgetapproval> list = staBudgetapprovalService.getAllApplyList(paraMap);
  724. PageInfo<StaBudgetapproval> pageinfo = new PageInfo<>(list);
  725. //取出查询结果
  726. List<StaBudgetapproval> rows = pageinfo.getList();
  727. int total = (int) pageinfo.getTotal();
  728. Map<String, Object> result = new HashMap<>();
  729. result.put(RESULT_ROWS, rows);
  730. result.put(RESULT_TOTAL, total);
  731. return BaseResult.success(result);
  732. }
  733. /**
  734. * 浏览数据
  735. * @return
  736. */
  737. @RequestMapping(value = "/forAllApplyView", method = RequestMethod.GET)
  738. public String forAllApplyView()
  739. {
  740. return "stafeemanage/view";
  741. }
  742. /**
  743. * 列表初始化(审批中的费用申请)
  744. * @param model
  745. * @return
  746. */
  747. @ApiOperation(value = "页面初始化", notes = "页面初始化")
  748. @RequestMapping(value = "/init_approving", method = RequestMethod.GET)
  749. public String init_approving(Model model) {
  750. //审批状态
  751. List<Map<String, String>> approveList = sysDictInfoService.queryByCode("approve_status");
  752. model.addAttribute("approveList", approveList);
  753. //项目类型
  754. List<Map<String, String>> xmlxList = projecttypeService.getXMLX();
  755. model.addAttribute("xmlxList", xmlxList);
  756. //年份
  757. List<String> yearList = staBudgetapprovalService.getYearList();
  758. model.addAttribute("yearList", yearList);
  759. return "stafeemanage/list_approving";
  760. }
  761. /**
  762. * 审批中的费用申请
  763. * @return
  764. */
  765. @ResponseBody
  766. @RequestMapping(value = "/list_approving", method = RequestMethod.POST)
  767. public BaseResult list_approving(@RequestParam("page") Integer pageNum,
  768. @RequestParam("limit") Integer pageSize,
  769. @RequestParam(required = false, defaultValue = "", value = "bh") String bh,
  770. @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh,
  771. @RequestParam(required = false, defaultValue = "", value = "xmlx") String xmlx,
  772. @RequestParam(required = false, defaultValue = "", value = "sfbyj") String sfbyj,
  773. @RequestParam(required = false, defaultValue = "", value = "xmmc") String xmmc,
  774. @RequestParam(required = false, defaultValue = "", value = "ssbmmc") String ssbmmc,
  775. @RequestParam(required = false, defaultValue = "", value = "nf") String nf,
  776. @RequestParam(required = false, defaultValue = "", value = "spzt") String spzt,
  777. @RequestParam(required = false, defaultValue = "", value = "dkyfzr") String dkyfzr,
  778. @RequestParam(required = false, defaultValue = "", value = "sqsj1") String sqsj1,
  779. @RequestParam(required = false, defaultValue = "", value = "sqsj2") String sqsj2,
  780. @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName,
  781. @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder) {
  782. PageHelper.startPage(pageNum, pageSize);
  783. Map<String, String> paraMap = new HashMap<>();
  784. paraMap.put("sortName", sortName);
  785. paraMap.put("sortOrder", sortOrder);
  786. paraMap.put("bh", bh);
  787. paraMap.put("erpbh", erpbh);
  788. paraMap.put("xmlx", xmlx);
  789. paraMap.put("sfbyj", sfbyj);
  790. paraMap.put("xmmc", xmmc);
  791. paraMap.put("ssbmmc", ssbmmc);
  792. paraMap.put("nf", nf);
  793. paraMap.put("spzt", spzt);
  794. paraMap.put("dkyfzr", dkyfzr);
  795. paraMap.put("sqsj1", sqsj1);
  796. paraMap.put("sqsj2", sqsj2);
  797. List<StaBudgetapproval> list = staBudgetapprovalService.getApprovingList(paraMap);
  798. PageInfo<StaBudgetapproval> pageinfo = new PageInfo<>(list);
  799. //取出查询结果
  800. List<StaBudgetapproval> rows = pageinfo.getList();
  801. int total = (int) pageinfo.getTotal();
  802. Map<String, Object> result = new HashMap<>();
  803. result.put(RESULT_ROWS, rows);
  804. result.put(RESULT_TOTAL, total);
  805. return BaseResult.success(result);
  806. }
  807. /**
  808. * 新建数据(提交审批)
  809. *
  810. * @return
  811. */
  812. @RequestMapping(value = "/forApproveAdd", method = RequestMethod.GET)
  813. public String forApproveAdd(Model model)
  814. {
  815. //部门主任岗位
  816. Map<String, String> paraMap = new HashMap<>();
  817. //系统当前用户
  818. SysUserInfo userInfo = getSysUserInfo();
  819. if(userInfo != null && userInfo.getDeptId().equals("52")){
  820. paraMap.put("postName", "副主任");
  821. }else {
  822. paraMap.put("postName", "科研负责人");
  823. }
  824. SysPostInfo postInfo = sysPostInfoService.getSysPostInfo(paraMap);
  825. if(postInfo == null)
  826. postInfo = new SysPostInfo();
  827. model.addAttribute("postInfo", postInfo);
  828. model.addAttribute("userInfo", userInfo);
  829. return "stabudgetapproval/add_approve";
  830. }
  831. /**
  832. * 新建数据(提交审批)
  833. *
  834. * @return
  835. */
  836. @RequestMapping(value = "/forApproveAdd1", method = RequestMethod.GET)
  837. public String forApproveAdd1(Model model)
  838. {
  839. //部门主任岗位
  840. //岗位
  841. Map<String, String> paraMap = new HashMap<>();
  842. //系统当前用户
  843. SysUserInfo userInfo = getSysUserInfo();
  844. if(userInfo != null && userInfo.getDeptId().equals("52")){
  845. paraMap.put("postName", "副主任");
  846. }else {
  847. paraMap.put("postName", "科研负责人");
  848. }
  849. SysPostInfo postInfo= sysPostInfoService.getSysPostInfo(paraMap);
  850. if(postInfo == null)
  851. postInfo = new SysPostInfo();
  852. model.addAttribute("postInfo", postInfo);
  853. model.addAttribute("userInfo", userInfo);
  854. return "stabudgetapproval/add_approve1";
  855. }
  856. /**
  857. * 更新审批状态
  858. *
  859. * @return
  860. */
  861. @ResponseBody
  862. @RequestMapping(value = "/updateSpzt", method = RequestMethod.POST)
  863. public BaseResult updateSpzt(@RequestBody String strData)
  864. {
  865. StaBudgetapproval fysq = JsonTool.parseObject(strData, StaBudgetapproval.class);
  866. if(fysq.getSpzt().equals("审批结束")) {
  867. DateFormat dateFormat = new SimpleDateFormat("yyyy");
  868. PrjProject project = prjProjectService.queryById(fysq.getXmid());
  869. if (project != null && project.getXmlxmc().indexOf("政府") > 0) {
  870. String partBh = "结转类(" + dateFormat.format(new Date()) + ")";
  871. String bh = GetApproveRecordBH(partBh);
  872. fysq.setBh(bh);
  873. } else {
  874. if (fysq.getSqje() < 1000000) {
  875. String partBh = "科研类(" + dateFormat.format(new Date()) + ")";
  876. String bh = GetApproveRecordBH(partBh);
  877. fysq.setBh(bh);
  878. } else {
  879. String partBh = "大额科研类(" + dateFormat.format(new Date()) + ")";
  880. String bh = GetApproveRecordBH(partBh);
  881. fysq.setBh(bh);
  882. }
  883. }
  884. }else{
  885. fysq.setBh("");
  886. }
  887. int num = staBudgetapprovalService.updateSpzt(fysq);
  888. if (num > 0) {
  889. return BaseResult.success("保存成功!");
  890. }
  891. else {
  892. return BaseResult.failure("保存失败!");
  893. }
  894. }
  895. /**
  896. * 编辑数据(提交审批)
  897. *
  898. * @return
  899. */
  900. @RequestMapping(value = "/forApproveUpdate/{xmid}/{sqje}", method = RequestMethod.GET)
  901. public String forApproveUpdate(Model model, @PathVariable Integer xmid, @PathVariable Double sqje, @RequestParam String spzt)
  902. {
  903. //系统当前用户
  904. SysUserInfo userInfo = getSysUserInfo();
  905. model.addAttribute("userInfo", userInfo);
  906. Map<String, String> paraMap1 = new HashMap<>();
  907. paraMap1.put("xmid", xmid.toString());
  908. paraMap1.put("zt", spzt);
  909. paraMap1.put("wc", "0");
  910. List<PrjApproverecord> approveList = prjApproverecordService.getApproveByXmId(paraMap1);
  911. if(approveList.size() == 1) {
  912. PrjApproverecord approveInfo = approveList.get(0);
  913. approveInfo.setSqje(sqje);
  914. model.addAttribute("approveInfo", approveInfo);
  915. } else {
  916. StaBudgetapproval approve = staBudgetapprovalService.queryById(xmid);
  917. PrjApproverecord approveInfo = new PrjApproverecord();
  918. approveInfo.setXmid(xmid);
  919. approveInfo.setXm(approve.getSqmc());
  920. approveInfo.setSqje(sqje);
  921. approveInfo.setZt("数据不匹配");
  922. model.addAttribute("approveInfo", approveInfo);
  923. }
  924. // List<CyyEntriy> cyyList =cyyService.queryByAccount(String.valueOf(userInfo.getUserId()));
  925. // model.addAttribute("cyyList", cyyList);
  926. if(spzt.equals("院长审批") || spzt.equals("主管院领导审批") && sqje < 1000000) {
  927. return "stabudgetapproval/finish_approve";
  928. } else {
  929. //岗位
  930. Map<String, String> paraMap2 = new HashMap<>();
  931. if(spzt.equals("部门主任审批"))
  932. paraMap2.put("postName", "科技项目管理专责");
  933. else if(spzt.equals("科技项目管理专责审批"))
  934. paraMap2.put("postName", "科技部部门主任");
  935. else if(spzt.equals("科技部部门主任审批"))
  936. paraMap2.put("postName", "主管院领导");
  937. else if(spzt.equals("主管院领导审批"))
  938. paraMap2.put("postName", "院长");
  939. else{
  940. paraMap2.put("postName", "部门主任");
  941. }
  942. // if (userInfo != null && userInfo.getDeptId().equals("52")) {
  943. // paraMap2.put("postName", "副主任");
  944. // } else {
  945. // paraMap2.put("postName", "科研负责人");
  946. // }
  947. SysPostInfo postInfo = sysPostInfoService.getSysPostInfo(paraMap2);
  948. if(postInfo == null)
  949. postInfo = new SysPostInfo();
  950. model.addAttribute("postInfo", postInfo);
  951. if(spzt.contains("未提交"))
  952. return "stabudgetapproval/back_approve";
  953. else
  954. return "stabudgetapproval/update_approve";
  955. }
  956. }
  957. //初始化下拉
  958. @RequestMapping(value = "/init_cyy/{userId}", method = RequestMethod.GET)
  959. @ResponseBody
  960. public List<CyyEntriy> init_cyy(Model model,@PathVariable Integer userId) {
  961. List<CyyEntriy> cyyList =cyyService.queryByAccount(String.valueOf(userId));
  962. return cyyList;
  963. }
  964. /**
  965. * 编辑数据(提交审批)
  966. *
  967. * @return
  968. */
  969. @RequestMapping(value = "/forApproveUpdate1/{xmid}/{sqje}", method = RequestMethod.GET)
  970. public String forApproveUpdate1(Model model, @PathVariable Integer xmid, @PathVariable Double sqje, @RequestParam String spzt)
  971. {
  972. //系统当前用户
  973. SysUserInfo userInfo = getSysUserInfo();
  974. model.addAttribute("userInfo", userInfo);
  975. Map<String, String> paraMap1 = new HashMap<>();
  976. paraMap1.put("xmid", xmid.toString());
  977. paraMap1.put("zt", spzt);
  978. paraMap1.put("wc", "0");
  979. List<PrjApproverecord> approveList = prjApproverecordService.getApproveByXmId(paraMap1);
  980. //改动 if(approveList.size() == 1) {为
  981. if(approveList.size() < 1) {
  982. StaBudgetapproval approve = staBudgetapprovalService.queryById(xmid);
  983. PrjApproverecord approveInfo = new PrjApproverecord();
  984. approveInfo.setXmid(xmid);
  985. approveInfo.setXm(approve.getSqmc());
  986. approveInfo.setSqje(sqje);
  987. approveInfo.setZt("数据不匹配");
  988. model.addAttribute("approveInfo", approveInfo);
  989. } else {
  990. PrjApproverecord approveInfo = approveList.get(approveList.size()-1);
  991. approveInfo.setSqje(sqje);
  992. model.addAttribute("approveInfo", approveInfo);
  993. }
  994. if(spzt.equals("院长审批") || spzt.equals("主管院领导审批") && sqje < 1000000) {
  995. return "stabudgetapproval/finish_approve1";
  996. } else {
  997. //岗位
  998. Map<String, String> paraMap2 = new HashMap<>();
  999. if(spzt.equals("未提交(返回)")){
  1000. if (userInfo != null && userInfo.getDeptId().equals("52")) {
  1001. paraMap2.put("postName", "副主任");
  1002. } else {
  1003. paraMap2.put("postName", "科研负责人");
  1004. }
  1005. }else if(spzt.equals("部门主任审批"))
  1006. paraMap2.put("postName", "科技项目管理专责");
  1007. else if(spzt.equals("科技项目管理专责审批"))
  1008. paraMap2.put("postName", "科技部部门主任");
  1009. else if(spzt.equals("科技部部门主任审批"))
  1010. paraMap2.put("postName", "主管院领导");
  1011. else if(spzt.equals("主管院领导审批"))
  1012. paraMap2.put("postName", "院长");
  1013. else
  1014. paraMap2.put("postName", "部门主任");
  1015. SysPostInfo postInfo = sysPostInfoService.getSysPostInfo(paraMap2);
  1016. if(postInfo == null)
  1017. postInfo = new SysPostInfo();
  1018. model.addAttribute("postInfo", postInfo);
  1019. if(spzt.contains("未提交"))
  1020. return "stabudgetapproval/back_approve1";
  1021. else
  1022. return "stabudgetapproval/update_approve1";
  1023. }
  1024. }
  1025. /**
  1026. * 审批列表
  1027. * @return
  1028. */
  1029. @RequestMapping(value = "/forApproveList", method = RequestMethod.GET)
  1030. public String forApproveList() {
  1031. return "stabudgetapproval/list_approve";
  1032. }
  1033. @RequestMapping(value = "/forApproveList1", method = RequestMethod.GET)
  1034. public String forApproveList1() {
  1035. return "stabudgetapproval/list_approve1";
  1036. }
  1037. /**
  1038. * 列表初始化
  1039. * @param model
  1040. * @return
  1041. */
  1042. @ApiOperation(value = "页面初始化", notes = "页面初始化")
  1043. @RequestMapping(value = "/init_feemanage", method = RequestMethod.GET)
  1044. public String init_feemanage(Model model) {
  1045. //项目类型
  1046. List<Map<String, String>> xmlxList = projecttypeService.getXMLX();
  1047. model.addAttribute("xmlxList", xmlxList);
  1048. //年份
  1049. List<String> yearList = staBudgetapprovalService.getYearList();
  1050. model.addAttribute("yearList", yearList);
  1051. return "stafeemanage/list_feemanage";
  1052. }
  1053. @ResponseBody
  1054. @RequestMapping(value = "/list_feemanage", method = RequestMethod.POST)
  1055. public BaseResult list_feemanage(@RequestParam("page") Integer pageNum,
  1056. @RequestParam("limit") Integer pageSize,
  1057. @RequestParam(required = false, defaultValue = "", value = "xmmc") String xmmc,
  1058. @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh,
  1059. @RequestParam(required = false, defaultValue = "", value = "xmlx") String xmlx,
  1060. @RequestParam(required = false, defaultValue = "", value = "xmfzrxm") String xmfzrxm,
  1061. @RequestParam(required = false, defaultValue = "", value = "ssbmmc") String ssbmmc,
  1062. @RequestParam(required = false, defaultValue = "", value = "nf") String nf,
  1063. @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName,
  1064. @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder) {
  1065. PageHelper.startPage(pageNum, pageSize);
  1066. Map<String, String> paraMap = new HashMap<>();
  1067. paraMap.put("sortName", sortName);
  1068. paraMap.put("sortOrder", sortOrder);
  1069. paraMap.put("xmmc", xmmc);
  1070. paraMap.put("erpbh", erpbh);
  1071. paraMap.put("xmlx", xmlx);
  1072. paraMap.put("xmfzrxm", xmfzrxm);
  1073. paraMap.put("ssbmmc", ssbmmc);
  1074. paraMap.put("nf", nf);
  1075. List<FeeManagemant> list = prjProjectService.getFyglList(paraMap);
  1076. PageInfo<FeeManagemant> pageinfo = new PageInfo<>(list);
  1077. //取出查询结果
  1078. List<FeeManagemant> rows = pageinfo.getList();
  1079. int total = (int) pageinfo.getTotal();
  1080. Map<String, Object> result = new HashMap<>();
  1081. result.put(RESULT_ROWS, rows);
  1082. result.put(RESULT_TOTAL, total);
  1083. return BaseResult.success(result);
  1084. }
  1085. @RequestMapping(value = "/init_project", method = RequestMethod.GET)
  1086. public String init_project(Model model) {
  1087. //项目类型
  1088. List<Map<String, String>> xmlxList = projecttypeService.getXMLX();
  1089. model.addAttribute("xmlxList", xmlxList);
  1090. return "stabudgetapproval/list_project";
  1091. }
  1092. /**
  1093. * 批量作废
  1094. * @param data
  1095. * @return
  1096. */
  1097. @ResponseBody
  1098. @RequestMapping(value = "/batchNullify", method = RequestMethod.POST)
  1099. public BaseResult batchNullify(@RequestBody String data)
  1100. {
  1101. List<StaBudgetapproval> prjList = JsonTool.parseArray(data, StaBudgetapproval.class);
  1102. List<Integer> idList = new ArrayList<>();
  1103. prjList.forEach(item -> {
  1104. idList.add(item.getId());
  1105. });
  1106. int num = staBudgetapprovalService.batchNullify(idList);
  1107. if (num > 0) {
  1108. return BaseResult.success("作废成功!");
  1109. } else {
  1110. return BaseResult.failure("作废失败!");
  1111. }
  1112. }
  1113. private String GetApproveRecordBH(String partBh){
  1114. String bh = "";
  1115. List<StaBudgetapproval> bhList = staBudgetapprovalService.queryByBH(partBh);
  1116. List<Integer> bh_List=new ArrayList();
  1117. if(bhList != null && bhList.size() > 0){
  1118. for (int i = 0; i < bhList.size(); i++) {
  1119. int _tmpBh = Integer.parseInt(bhList.get(i).getBh().substring(bhList.get(i).getBh().length()-4));
  1120. bh_List.add(_tmpBh);
  1121. }
  1122. if(bh_List.size()>0){
  1123. try {
  1124. Integer max = Collections.max(bh_List);
  1125. Integer idx = max + 1;
  1126. bh = partBh + String.format("%04d", idx);
  1127. }
  1128. catch (Exception er){
  1129. bh = partBh+"1001";
  1130. }
  1131. }
  1132. else
  1133. bh = partBh+"1001";
  1134. }
  1135. else
  1136. bh = partBh+"1001";
  1137. return bh;
  1138. }
  1139. /**
  1140. * 获取年度费用申请预算列表
  1141. * @return
  1142. */
  1143. @ResponseBody
  1144. @RequestMapping(value = "/yslist/{nys}", method = RequestMethod.POST)
  1145. public Object yslist(@PathVariable Integer nys)
  1146. {
  1147. List<PrjAnnualbudgetdetail> list = prjAnnualbudgetdetailService.getFysqBudgetList(nys);
  1148. Map<String, Object> resultMap = new HashMap<>();
  1149. resultMap.put("code", 0);
  1150. resultMap.put("msg", "");
  1151. resultMap.put("count", list.size());
  1152. resultMap.put("data", list);
  1153. return resultMap;
  1154. }
  1155. /**
  1156. * 项目备用金信息
  1157. * @return
  1158. */
  1159. @ResponseBody
  1160. @RequestMapping(value = "/getXmFyInfo/{rws}/{nf}", method = RequestMethod.POST)
  1161. public StaBudgetapproval getXmFyInfo(@PathVariable Integer rws, @PathVariable String nf)
  1162. {
  1163. Map<String, String> paraMap = new HashMap<>();
  1164. paraMap.put("rws", rws.toString());
  1165. paraMap.put("nf", nf);
  1166. PrjAnnualbudget annualbudget = prjAnnualbudgetService.getAnnualBudget(paraMap);
  1167. StaBudgetapproval xmFyInfo = staBudgetapprovalService.getByjInfo(annualbudget.getId());
  1168. if(xmFyInfo.getYsje() == null)
  1169. xmFyInfo.setYsje(0.0);
  1170. if(xmFyInfo.getSqje() == null)
  1171. xmFyInfo.setSqje(0.0);
  1172. if(xmFyInfo.getBzje() == null)
  1173. xmFyInfo.setBzje(0.0);
  1174. xmFyInfo.setNys(annualbudget.getId());
  1175. return xmFyInfo;
  1176. }
  1177. /**
  1178. * 项目分项费用信息
  1179. * @return
  1180. */
  1181. @ResponseBody
  1182. @RequestMapping(value = "/getKmFyInfo/{nys}/{fylb}", method = RequestMethod.POST)
  1183. public StaBudgetapproval getKmFyInfo(@PathVariable Integer nys, @PathVariable Integer fylb)
  1184. {
  1185. Map<String, String> paraMap = new HashMap<>();
  1186. paraMap.put("fylb1", fylb.toString());
  1187. paraMap.put("nys1", nys.toString());
  1188. paraMap.put("fylb", fylb.toString());
  1189. paraMap.put("nys", nys.toString());
  1190. StaBudgetapproval kmFyInfo = staBudgetapprovalService.getKmFyInfo(paraMap);
  1191. if(kmFyInfo == null) {
  1192. kmFyInfo = new StaBudgetapproval();
  1193. kmFyInfo.setSqje(0.0);
  1194. kmFyInfo.setBzje(0.0);
  1195. } else {
  1196. if(kmFyInfo.getSqje() == null)
  1197. kmFyInfo.setSqje(0.0);
  1198. if(kmFyInfo.getBzje() == null)
  1199. kmFyInfo.setBzje(0.0);
  1200. }
  1201. return kmFyInfo;
  1202. }
  1203. @RequestMapping(value = "/forByjConnect/{id}", method = RequestMethod.GET)
  1204. public String forByjConnect(Model model, @PathVariable Integer id) {
  1205. StaBudgetapproval budgetapproval = staBudgetapprovalService.getFysqById(id);
  1206. model.addAttribute("budgetapproval", budgetapproval);
  1207. return "stabudgetapproval/connect_project";
  1208. }
  1209. @ResponseBody
  1210. @RequestMapping(value = "/doByjConnect", method = RequestMethod.POST)
  1211. public BaseResult doByjConnect(@RequestBody String strData)
  1212. {
  1213. StaBudgetapproval fysq = JsonTool.parseObject(strData, StaBudgetapproval.class);
  1214. if(fysq.getSpzt().equals("审批结束")) {
  1215. DateFormat dateFormat = new SimpleDateFormat("yyyy");
  1216. PrjProject project = prjProjectService.queryById(fysq.getXmid());
  1217. if (project != null && project.getXmlxmc().indexOf("政府") > 0) {
  1218. String partBh = "结转类(" + dateFormat.format(new Date()) + ")";
  1219. String bh = GetApproveRecordBH(partBh);
  1220. fysq.setBh(bh);
  1221. } else {
  1222. if (fysq.getSqje() < 1000000) {
  1223. String partBh = "科研类(" + dateFormat.format(new Date()) + ")";
  1224. String bh = GetApproveRecordBH(partBh);
  1225. fysq.setBh(bh);
  1226. } else {
  1227. String partBh = "大额科研类(" + dateFormat.format(new Date()) + ")";
  1228. String bh = GetApproveRecordBH(partBh);
  1229. fysq.setBh(bh);
  1230. }
  1231. }
  1232. } else {
  1233. fysq.setBh("");
  1234. }
  1235. int num = staBudgetapprovalService.updateSpzt(fysq);
  1236. if (num > 0) {
  1237. return BaseResult.success("保存成功!");
  1238. }
  1239. else {
  1240. return BaseResult.failure("保存失败!");
  1241. }
  1242. }
  1243. /**
  1244. * 获取年度费用申请预算列表
  1245. * @return
  1246. */
  1247. @ResponseBody
  1248. @RequestMapping(value = "/getSubNode/{nys}", method = RequestMethod.POST)
  1249. public Object getSubNode(@PathVariable Integer nys)
  1250. {
  1251. List<PrjAnnualbudgetdetail> list = prjAnnualbudgetdetailService.getSubNode(nys);
  1252. Map<String, Object> resultMap = new HashMap<>();
  1253. resultMap.put("code", 0);
  1254. resultMap.put("msg", "");
  1255. resultMap.put("count", list.size());
  1256. resultMap.put("data", list);
  1257. return resultMap;
  1258. }
  1259. /**
  1260. * 未关联项目备用金列表
  1261. * @return
  1262. */
  1263. @ResponseBody
  1264. @PostMapping("/unassociated")
  1265. public BaseResult unassociated(){
  1266. List<StaBudgetapproval> list = staBudgetapprovalService.unassociated();
  1267. PageInfo<StaBudgetapproval> pageinfo = new PageInfo<>(list);
  1268. //取出查询结果
  1269. List<StaBudgetapproval> rows = pageinfo.getList();
  1270. int total = (int) pageinfo.getTotal();
  1271. Map<String, Object> result = new HashMap<>();
  1272. result.put(RESULT_ROWS, rows);
  1273. result.put(RESULT_TOTAL, total);
  1274. return BaseResult.success(result);
  1275. }
  1276. @RequestMapping(value = "/getxmmc/{xmmc}",method = RequestMethod.POST)
  1277. public String getXmmc(Model model,@PathVariable String xmmc){
  1278. List<StaBudgetapproval> list = staBudgetapprovalService.getFymc(xmmc);
  1279. model.addAttribute("list", list);
  1280. return "stabudgetapproval/connect_project";
  1281. }
  1282. }