StaBudgetapprovalController.java 54 KB

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