StaBudgetapprovalController.java 85 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120
  1. package com.liang.controller;
  2. import com.fasterxml.jackson.databind.ObjectMapper;
  3. import com.github.pagehelper.PageHelper;
  4. import com.github.pagehelper.PageInfo;
  5. import com.liang.common.JsonTool;
  6. import com.liang.common.base.BaseController;
  7. import com.liang.common.base.BaseResult;
  8. import com.liang.common.enums.PostInfoEnum;
  9. import com.liang.common.exception.CustomException;
  10. import com.liang.common.utils.time;
  11. import com.liang.dao.PrjProjectDao;
  12. import com.liang.entity.*;
  13. import com.liang.service.*;
  14. import io.swagger.annotations.ApiOperation;
  15. import io.swagger.models.auth.In;
  16. import org.springframework.data.domain.Page;
  17. import org.springframework.data.domain.PageRequest;
  18. import org.springframework.http.ResponseEntity;
  19. import org.springframework.stereotype.Controller;
  20. import org.springframework.transaction.annotation.Transactional;
  21. import org.springframework.ui.Model;
  22. import org.springframework.web.bind.annotation.*;
  23. import springfox.documentation.spring.web.json.Json;
  24. import javax.annotation.Resource;
  25. import java.text.SimpleDateFormat;
  26. import java.time.Period;
  27. import java.util.*;
  28. /**
  29. * (StaBudgetapproval)表控制层
  30. *
  31. * @author makejava
  32. * @since 2023-04-14 10:54:58
  33. */
  34. @Controller
  35. @RequestMapping("staBudgetapproval")
  36. public class StaBudgetapprovalController extends BaseController {
  37. /**
  38. * 服务对象
  39. */
  40. @Resource
  41. private StaBudgetapprovalService staBudgetapprovalService;
  42. @Resource
  43. private SysDictInfoService sysDictInfoService;
  44. @Resource
  45. private BaseProjecttypeService projecttypeService;
  46. @Resource
  47. private SysPostInfoService sysPostInfoService;
  48. @Resource
  49. private PrjApproverecordService prjApproverecordService;
  50. @Resource
  51. private PrjProjectService prjProjectService;
  52. @Resource
  53. private PrjAnnualbudgetService prjAnnualbudgetService;
  54. @Resource
  55. private PrjAnnualbudgetdetailService prjAnnualbudgetdetailService;
  56. @Resource
  57. private CyyService cyyService;
  58. @Resource
  59. private SysUserInfoService sysUserInfoService;
  60. @Resource
  61. private SysUserPostService sysUserPostService;
  62. @Resource
  63. private SysDeptInfoService sysDeptInfoService;
  64. /**
  65. * 分页查询
  66. *
  67. * @param staBudgetapproval 筛选条件
  68. * @param pageRequest 分页对象
  69. * @return 查询结果
  70. */
  71. @GetMapping
  72. public ResponseEntity<Page<StaBudgetapproval>> queryByPage(StaBudgetapproval staBudgetapproval, PageRequest pageRequest) {
  73. return ResponseEntity.ok(this.staBudgetapprovalService.queryByPage(staBudgetapproval, pageRequest));
  74. }
  75. /**
  76. * 通过主键查询单条数据
  77. *
  78. * @param id 主键
  79. * @return 单条数据
  80. */
  81. @GetMapping("{id}")
  82. public ResponseEntity<StaBudgetapproval> queryById(@PathVariable("id") Integer id) {
  83. return ResponseEntity.ok(this.staBudgetapprovalService.queryById(id));
  84. }
  85. /**
  86. * 删除数据
  87. *
  88. * @param id 主键
  89. * @return 删除是否成功
  90. */
  91. @DeleteMapping
  92. public ResponseEntity<Boolean> deleteById(Integer id) {
  93. return ResponseEntity.ok(this.staBudgetapprovalService.deleteById(id));
  94. }
  95. /**
  96. * 列表初始化
  97. *
  98. * @param model
  99. * @return
  100. */
  101. @ApiOperation(value = "页面初始化", notes = "页面初始化")
  102. @RequestMapping(value = "/init_apply", method = RequestMethod.GET)
  103. public String init_apply(Model model) {
  104. //审批状态
  105. List<Map<String, String>> approveList = sysDictInfoService.queryByCode("approve_status");
  106. model.addAttribute("approveList", approveList);
  107. //项目类型
  108. List<Map<String, String>> xmlxList = projecttypeService.getXMLX();
  109. model.addAttribute("xmlxList", xmlxList);
  110. //年份
  111. List<String> yearList = staBudgetapprovalService.getYearList();
  112. model.addAttribute("yearList", yearList);
  113. //当前用户ID
  114. model.addAttribute("userId", getSysUserId());
  115. //费用类别
  116. List<String> xmlx = staBudgetapprovalService.getXmlx();
  117. model.addAttribute("fylb", xmlx);
  118. return "stabudgetapproval/list_apply";
  119. }
  120. @ResponseBody
  121. @RequestMapping(value = "/exportExcel/{fromdata}", method = RequestMethod.POST)
  122. public BaseResult exportExcel(@PathVariable(required = false) String fromdata)throws Exception{
  123. ObjectMapper objectMapper = new ObjectMapper();
  124. StaBudgetapprovals formData = objectMapper.readValue(fromdata, StaBudgetapprovals.class);
  125. Map<String, Object> paraMap = new HashMap<>();
  126. paraMap.put("xmmc",formData.getXmmc());
  127. paraMap.put("erpbh", formData.getErpbh());
  128. paraMap.put("bh", formData.getBh());
  129. if (formData.getNf().equals("0")){
  130. paraMap.put("nf","");
  131. }else {
  132. paraMap.put("nf",formData.getNf());
  133. }
  134. paraMap.put("spzt", formData.getSpzt());
  135. paraMap.put("ssbmmc",formData.getSsbmmc());
  136. paraMap.put("xmlx", formData.getXmlx());
  137. paraMap.put("sqmc", formData.getSqmc());
  138. paraMap.put("sqr", formData.getSqr());
  139. paraMap.put("fylb", formData.getFylb());
  140. paraMap.put("dkyfzr",formData.getDkyfzr());
  141. paraMap.put("bzid","0");
  142. List<StaBudgetapproval> list = staBudgetapprovalService.getFysqList(paraMap);
  143. return BaseResult.success("导出完成!",list);
  144. }
  145. /**
  146. * 费用申请列
  147. *
  148. * @return
  149. */
  150. @ResponseBody
  151. @RequestMapping(value = "/list_apply", method = RequestMethod.POST)
  152. public BaseResult list_apply(@RequestParam("page") Integer pageNum,
  153. @RequestParam("limit") Integer pageSize,
  154. @RequestParam(required = false, defaultValue = "", value = "sqmc") String sqmc,
  155. @RequestParam(required = false, defaultValue = "", value = "fylb") String fylb,
  156. @RequestParam(required = false, defaultValue = "", value = "sqr") String sqr,
  157. @RequestParam(required = false, defaultValue = "", value = "sfbyj") String sfbyj,
  158. @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh,
  159. @RequestParam(required = false, defaultValue = "", value = "spzt") String spzt,
  160. @RequestParam(required = false, defaultValue = "", value = "bh") String bh,
  161. @RequestParam(required = false, defaultValue = "", value = "xmlx") String xmlx,
  162. @RequestParam(required = false, defaultValue = "", value = "ssbmmc") String ssbmmc,
  163. @RequestParam(required = false, defaultValue = "", value = "dkyfzr") String dkyfzr,
  164. @RequestParam(required = false, defaultValue = "", value = "nf") String nf,
  165. @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName,
  166. @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder,
  167. @RequestParam(required = false, defaultValue = "", value = "xmmc")String xmmc,
  168. @RequestParam(required = false, defaultValue = "", value = "bzid")String bzid) {
  169. SysUserInfo userInfo = getSysUserInfo();
  170. List<String> postName = sysUserInfoService.getPostNameByUserId(userInfo.getUserId());
  171. String post = "";
  172. if (postName.size() > 0) {
  173. for (int i = 0; i < postName.size(); i++) {
  174. if (PostInfoEnum.KYZZ.postName().equals(postName.get(i))||PostInfoEnum.KYFZR.postName().equals(postName.get(i))) {
  175. post = "过";
  176. }
  177. }
  178. }
  179. PageHelper.startPage(pageNum, pageSize);
  180. Map<String, String> paraMap = new HashMap<>();
  181. if (nf != null && !nf.isEmpty()){
  182. String[] nfs = nf.split(",");
  183. if (nfs.length>1){
  184. if (nfs[1].equals("0")){
  185. paraMap.put("nf","");
  186. }else {
  187. paraMap.put("nf", nfs[1]);
  188. }
  189. }else {
  190. paraMap.put("nf",nf);
  191. }
  192. }
  193. paraMap.put("sortName", sortName);
  194. paraMap.put("sortOrder", sortOrder);
  195. paraMap.put("sqmc", sqmc);
  196. paraMap.put("sqr", sqr);
  197. paraMap.put("fylb", fylb);
  198. paraMap.put("erpbh", erpbh);
  199. paraMap.put("spzt", spzt);
  200. paraMap.put("bh", bh);
  201. paraMap.put("xmlx", xmlx);
  202. paraMap.put("ssbmmc", ssbmmc);
  203. paraMap.put("dkyfzr", dkyfzr);
  204. paraMap.put("xmmc",xmmc);
  205. paraMap.put("bzid",bzid);
  206. paraMap.put("sfbyj",sfbyj);
  207. if (!userInfo.getAccount().equals("admin")) {
  208. if (!"过".equals(post)) {
  209. paraMap.put("userId", userInfo.getUserId().toString());
  210. }else {
  211. if (userInfo.getDeptName().contains("电源")){
  212. paraMap.put("deptName","电源技术中心");
  213. }else {
  214. paraMap.put("deptName", userInfo.getDeptName());
  215. }
  216. }
  217. }
  218. List<StaBudgetapproval> list = staBudgetapprovalService.getFysqList(paraMap);
  219. PageInfo<StaBudgetapproval> pageinfo = new PageInfo<>(list);
  220. //取出查询结果
  221. List<StaBudgetapproval> rows = pageinfo.getList();
  222. int total = (int) pageinfo.getTotal();
  223. Map<String, Object> result = new HashMap<>();
  224. result.put(RESULT_ROWS, rows);
  225. result.put(RESULT_TOTAL, total);
  226. return BaseResult.success(result);
  227. }
  228. /**
  229. * 新建数据(年度预算页面)
  230. *
  231. * @return
  232. */
  233. @RequestMapping(value = "/forApplyAdd", method = RequestMethod.GET)
  234. public String forApplyAdd(Model model) {
  235. SysUserInfo userInfo = getSysUserInfo();
  236. model.addAttribute("userInfo", userInfo);
  237. return "annualbudget/add_apply";
  238. }
  239. /**
  240. * 新建数据(费用申请页面)
  241. *
  242. * @return
  243. */
  244. @RequestMapping(value = "/forAdd", method = RequestMethod.GET)
  245. public String forAdd(Model model) {
  246. SysUserInfo userInfo = getSysUserInfo();
  247. String fileUrl = "http://" + webfileip + ":" + webfileport + "/template/";
  248. model.addAttribute("ClfTemplate", fileUrl + "差旅费模版.xlsx");
  249. model.addAttribute("HyfTemplate", fileUrl + "会议费模版.xlsx");
  250. model.addAttribute("ZlfTemplate", fileUrl + "资料费模版.xlsx");
  251. model.addAttribute("ZscqfTemplate", fileUrl + "知识产权费模版.xlsx");
  252. model.addAttribute("YsfTemplate", fileUrl + "印刷费模版.xlsx");
  253. model.addAttribute("JjfTemplate", fileUrl + "间接费模版.xlsx");
  254. model.addAttribute("ZjfTemplate", fileUrl + "专家费模版.xlsx");
  255. model.addAttribute("LsryTemplate", fileUrl + "临时人员模版.xlsx");
  256. model.addAttribute("DevTemplate", fileUrl + "仪器设备使用费模版.xlsx");
  257. model.addAttribute("RjsyfTemplate", fileUrl + "软件使用费模版.xlsx");
  258. model.addAttribute("CLfTemplate", fileUrl + "材料费模版.xlsx");
  259. model.addAttribute("WwTemplate", fileUrl + "外委研究支出费模版.xlsx");
  260. model.addAttribute("WxTemplate", fileUrl + "外协测试试验与加工费模版.xlsx");
  261. model.addAttribute("userInfo", userInfo);
  262. return "stabudgetapproval/add";
  263. }
  264. @RequestMapping(value = "/init_prjAnnualbudget", method = RequestMethod.GET)
  265. public String init_prjAnnualbudget(Model model) {
  266. //项目类型
  267. List<Map<String, String>> xmlxList = projecttypeService.getXMLX();
  268. model.addAttribute("xmlxList", xmlxList);
  269. return "stabudgetapproval/list_annualbudget";
  270. }
  271. /**
  272. * 保存数据(费用申请)
  273. *
  274. * @return
  275. */
  276. @ResponseBody
  277. @RequestMapping(value = "/doAddApply", method = RequestMethod.POST)
  278. public BaseResult doAddApply(StaBudgetapproval budgetapproval) {
  279. Integer a = 0;
  280. Map<String, Integer> paraMap = new HashMap<>();
  281. // 获取当前操作人信息
  282. SysUserInfo user = getSysUserInfo();
  283. // 获取岗位信息
  284. paraMap.put("id",user.getUserId());
  285. // 获取备注信息
  286. String sys = sysUserInfoService.getBzs(1);
  287. List<SysUserInfo> accounts = sysUserInfoService.getSysUserInfoList(paraMap);
  288. if (accounts.size() >0){
  289. for (int i = 0;i<accounts.size();i++){
  290. if (accounts.get(i).getUserPostName().equals("科研专责")){
  291. PrjProject project = prjProjectDao.queryById(budgetapproval.getXmid());
  292. if(project != null){
  293. budgetapproval.setSqrxm(getSysUserInfo().getName());
  294. budgetapproval.setSqr(getSysUserId());
  295. budgetapproval.setSfth(0);
  296. budgetapproval.setSfbz(false);
  297. budgetapproval.setSsbm(project.getSsbm());
  298. budgetapproval.setSsbmmc(project.getSsbmmc());
  299. budgetapproval.setErpbh(project.getErpbh());
  300. budgetapproval.setXmlx(project.getXmlx());
  301. budgetapproval.setXmlxmc(project.getXmlxmc());
  302. budgetapproval.setDkyfzr(String.valueOf(project.getDkyfzr()));
  303. int num = staBudgetapprovalService.insert(budgetapproval);
  304. if (num > 0) {
  305. a = 0;
  306. break;
  307. }
  308. }else {
  309. return BaseResult.failure(-1,"项目数据为空,费用申请失败!");
  310. }
  311. }
  312. a++;
  313. }
  314. }
  315. // 返回为查询出数据
  316. if (a == accounts.size()){
  317. return BaseResult.failure(1,sys);
  318. }else {
  319. return BaseResult.success("费用申请成功!", budgetapproval);
  320. }
  321. }
  322. /**
  323. * 保存数据(备用金)
  324. *
  325. * @return
  326. */
  327. @ResponseBody
  328. @RequestMapping(value = "/doAddImprest", method = RequestMethod.POST)
  329. public BaseResult doAddImprest(StaBudgetapproval budgetapproval) {
  330. budgetapproval.setSqrxm(getSysUserInfo().getName());
  331. budgetapproval.setSqr(getSysUserId());
  332. int num = staBudgetapprovalService.insertImprest(budgetapproval);
  333. if (num > 0) {
  334. return BaseResult.success("备用金申请成功!", budgetapproval);
  335. } else {
  336. return BaseResult.failure("备用金申请失败!");
  337. }
  338. }
  339. /**
  340. * 编辑数据(基本信息)
  341. *
  342. * @return
  343. */
  344. @ResponseBody
  345. @RequestMapping(value = "/TJrevokeApprove", method = RequestMethod.POST)
  346. @Transactional
  347. public BaseResult TJrevokeApprove(@RequestBody String data) {
  348. StaBudgetapproval fysq = JsonTool.parseObject(data, StaBudgetapproval.class);
  349. SysUserInfo userInfo = getSysUserInfo();
  350. int num;
  351. int temp;
  352. String spzt = fysq.getSpzt();
  353. switch (spzt) {
  354. case "主管院领导审批":
  355. fysq.setSpzt("科技部部门主任审批");
  356. break;
  357. case "科技部部门主任审批":
  358. fysq.setSpzt("科技项目管理专责审批");
  359. break;
  360. case "科技项目管理专责审批":
  361. fysq.setSpzt("部门主任审批");
  362. break;
  363. case "部门主任审批":
  364. fysq.setSpzt("未提交");
  365. break;
  366. }
  367. // 修改为撤销后的审批状态
  368. num = staBudgetapprovalService.updateSpzt(fysq);
  369. Map<String, String> paraMap2 = new HashMap<>();
  370. paraMap2.put("deptName",userInfo.getDeptName());
  371. if (spzt.equals("科技项目管理专责审批")){
  372. if (userInfo != null && userInfo.getDeptId().equals("52")) {
  373. paraMap2.put("postName", "科技部部门主任");
  374. paraMap2.put("postId","16");
  375. } else {
  376. paraMap2.put("postName", "科研负责人");
  377. paraMap2.put("postId","28");
  378. }
  379. }else if (spzt.equals("科技部部门主任审批")){
  380. paraMap2.put("postName", "科技项目管理专责");
  381. paraMap2.put("postId","39");
  382. }else if (spzt.equals("主管院领导审批")) {
  383. paraMap2.put("postName", "科技部部门主任");
  384. paraMap2.put("postId","16");
  385. }else {
  386. paraMap2.put("postName",null);
  387. }
  388. // 获取当前费用申请申请人的所属部门名称
  389. if(paraMap2.get("postId")=="28"){
  390. Integer sqr = fysq.getSqr();
  391. String deptName=sysDeptInfoService.getUserDept(sqr);
  392. if(deptName.contains("电源")){
  393. deptName = null;
  394. }
  395. paraMap2.put("deptName",deptName);
  396. }
  397. //修改审批列表里的状态为完成
  398. temp = prjApproverecordService.updateRevokeRecord(fysq.getId());
  399. if (paraMap2.get("postName")!=null){
  400. // 获取默认审批人
  401. List<SysUserPost> userPostList = sysUserPostService.getPostUserList(paraMap2);
  402. Integer shr = userPostList.get(0).getUserId();
  403. PrjApproverecord record = prjApproverecordService.getOldApproveRecord(fysq.getId());
  404. List<PrjApproverecord> recordList= new ArrayList<>();
  405. // 审批列表中插入撤销后的审批流程
  406. PrjApproverecord record1 =new PrjApproverecord();
  407. record1.setTablename(record.getTablename());
  408. record1.setXm(record.getXm());
  409. record1.setXmid(record.getXmid());
  410. record1.setZt(fysq.getSpzt());
  411. record1.setTjr(record.getTjr());
  412. record1.setTjsj(record.getTjsj());
  413. record1.setShr(shr);
  414. record1.setSfsjsh(true);//是否需要上级审核
  415. record1.setSjshr(record.getShr());
  416. record1.setSjshgw(record.getShgw());//上级审核岗位
  417. record1.setSffh(false);//是否返回
  418. record1.setYcshr(false);//隐藏审核人
  419. record1.setWc(false);//完成
  420. recordList.add(record1);
  421. if (!fysq.getSpzt().equals("未提交")){
  422. prjApproverecordService.insertBatch(recordList);
  423. }
  424. if (num > 0 && temp > 0) {
  425. return BaseResult.success("撤销成功!");
  426. } else {
  427. return BaseResult.failure("撤销失败!");
  428. }
  429. }else {
  430. return BaseResult.success("撤销成功!");
  431. }
  432. }
  433. @ResponseBody
  434. @RequestMapping(value = "/ThApproval", method = RequestMethod.POST)
  435. public BaseResult ThApproval(@RequestBody String data) {
  436. StaBudgetapproval fysq = JsonTool.parseObject(data, StaBudgetapproval.class);
  437. int num;
  438. int temp;
  439. num = staBudgetapprovalService.tjrevokeApprove(fysq);
  440. //修改审批列表里的状态为完成
  441. temp = prjApproverecordService.updateRevokeRecord(fysq.getId());
  442. //return BaseResult.success(num+"撤销成功!");
  443. if (num > 0 && temp > 0) {
  444. return BaseResult.success("撤销成功!");
  445. } else {
  446. return BaseResult.failure("撤销失败!");
  447. }
  448. }
  449. @ResponseBody
  450. @RequestMapping(value = "/bathUpdate/{xmid}/{sqje}", method = RequestMethod.GET)
  451. public Map<Object, Object> bathUpdate(@PathVariable Integer xmid, @PathVariable Double sqje, @RequestParam String spzt) {
  452. Map<Object, Object> res = new HashMap<>();
  453. //系统当前用户
  454. SysUserInfo userInfo = getSysUserInfo();
  455. res.put("userInfo", userInfo);
  456. Map<String, String> paraMap1 = new HashMap<>();
  457. paraMap1.put("xmid", xmid.toString());
  458. paraMap1.put("zt", spzt);
  459. paraMap1.put("wc", "0");
  460. List<PrjApproverecord> approveList = prjApproverecordService.getApproveByXmId(paraMap1);
  461. if (approveList.size() == 1) {
  462. PrjApproverecord approveInfo = approveList.get(0);
  463. approveInfo.setSqje(sqje);
  464. if (spzt.equals(PostInfoEnum.YZ.postName() + "审批") || spzt.equals(PostInfoEnum.ZGYLD.postName() + "审批") && sqje < 1000000) {
  465. approveInfo.setSpcz("批量审批");
  466. approveInfo.setYj("通过");
  467. } else {
  468. //岗位
  469. Map<String, String> paraMap2 = new HashMap<>();
  470. if ((PostInfoEnum.BMZR.postName() + "审批").equals(spzt)) {
  471. paraMap2.put("postName", PostInfoEnum.KJXMGLZZ.postName());
  472. } else if ((PostInfoEnum.KJXMGLZZ.postName() + "审批").equals(spzt)) {
  473. paraMap2.put("postName", PostInfoEnum.KJBBMZR.postName());
  474. } else if ((PostInfoEnum.KJBBMZR.postName() + "审批").equals(spzt)) {
  475. paraMap2.put("postName", PostInfoEnum.ZGYLD.postName());
  476. } else if ((PostInfoEnum.ZGYLD.postName() + "审批").equals(spzt)) {
  477. paraMap2.put("postName", PostInfoEnum.YZ.postName());
  478. } else {
  479. paraMap2.put("postName", PostInfoEnum.BMZR.postName());
  480. }
  481. SysPostInfo postInfo = sysPostInfoService.getSysPostInfo(paraMap2);
  482. if (postInfo == null) {
  483. throw new CustomException("没有改岗位");
  484. }
  485. Map<String, String> paraMap = new HashMap<>();
  486. paraMap.put("postId", String.valueOf(postInfo.getPostId()));
  487. paraMap.put("deptName", String.valueOf(userInfo.getDeptName()));
  488. List<SysUserPost> list = sysUserPostService.getPostUserList(paraMap);
  489. approveInfo.setSpcz("批量审批");
  490. approveInfo.setSjshgw(postInfo.getPostId());
  491. approveInfo.setSjshgwmc(postInfo.getPostName());
  492. approveInfo.setSjshr(list.get(0).getUserId());
  493. approveInfo.setSjshrxm(list.get(0).getName());
  494. approveInfo.setYj("同意");
  495. }
  496. res.put("approveInfo", approveInfo);
  497. } else {
  498. throw new CustomException("费用申请批量审批ERROR:数据不匹配,xmid:", xmid);
  499. }
  500. return res;
  501. }
  502. /**
  503. * 编辑数据(费用申请)
  504. *
  505. * @return
  506. */
  507. @ResponseBody
  508. @RequestMapping(value = "/doUpdateApply", method = RequestMethod.POST)
  509. public BaseResult doUpdateApply(StaBudgetapproval budgetapproval) {
  510. int num = staBudgetapprovalService.update(budgetapproval);
  511. if (num > 0) {
  512. return BaseResult.success("费用申请更新成功!");
  513. } else {
  514. return BaseResult.failure("费用申请更新失败!");
  515. }
  516. }
  517. /**
  518. * 编辑数据(备用金申请)
  519. *
  520. * @return
  521. */
  522. @ResponseBody
  523. @RequestMapping(value = "/doUpdateImprest", method = RequestMethod.POST)
  524. public BaseResult doUpdateImprest(StaBudgetapproval budgetapproval) {
  525. int num = staBudgetapprovalService.updateImprest(budgetapproval);
  526. if (num > 0) {
  527. return BaseResult.success("备用金申请更新成功!");
  528. } else {
  529. return BaseResult.failure("备用金申请更新失败!");
  530. }
  531. }
  532. @ResponseBody
  533. @RequestMapping(value = "/ImprestConnect", method = RequestMethod.POST)
  534. public BaseResult ImprestConnect(StaBudgetapproval budgetapproval) {
  535. int num = staBudgetapprovalService.ImprestConnect(budgetapproval);
  536. if (num > 0) {
  537. return BaseResult.success("备用金项目关联成功!");
  538. } else {
  539. return BaseResult.failure("备用金项目关联失败!");
  540. }
  541. }
  542. @ResponseBody
  543. @RequestMapping(value = "/DisConnect/{id}", method = RequestMethod.POST)
  544. public BaseResult DisConnect(@PathVariable Integer id) {
  545. StaBudgetapproval budgetapproval = new StaBudgetapproval();
  546. budgetapproval.setId(id);
  547. int num = staBudgetapprovalService.ImprestConnect(budgetapproval);
  548. if (num > 0) {
  549. return BaseResult.success("备用金项目取消成功!");
  550. } else {
  551. return BaseResult.failure("备用金项目取消失败!");
  552. }
  553. }
  554. /**
  555. * 编辑数据
  556. *
  557. * @return
  558. */
  559. @RequestMapping(value = "/forApplyUpdate/{id}", method = RequestMethod.GET)
  560. public String forApplyUpdate(Model model, @PathVariable Integer id,
  561. @RequestParam(required = false ,defaultValue = "",value = "fylbmc")String fymc) {
  562. /**
  563. * 审核开始
  564. */
  565. StaBudgetapproval budgetapproval = staBudgetapprovalService.getFysqById(id);
  566. model.addAttribute("budgetapproval", budgetapproval);
  567. //费用信息
  568. StaBudgetapproval xmFyInfo = staBudgetapprovalService.getXmFyInfo(budgetapproval.getNys());
  569. // 获取科目费用小项xmzys
  570. Double kmXmzys=prjAnnualbudgetdetailService.getKmXmzys(budgetapproval.getNys(),fymc);
  571. if (xmFyInfo.getYsje() == null)
  572. xmFyInfo.setYsje(0.0);
  573. if (xmFyInfo.getSqje() == null)
  574. xmFyInfo.setSqje(0.0);
  575. if (xmFyInfo.getBzje() == null)
  576. xmFyInfo.setBzje(0.0);
  577. model.addAttribute("xmFyInfo", xmFyInfo);
  578. Map<String, String> paraMap = new HashMap<>();
  579. paraMap.put("nys1", budgetapproval.getNys().toString());
  580. paraMap.put("fylb1", budgetapproval.getFylb().toString());
  581. paraMap.put("nys", budgetapproval.getNys().toString());
  582. paraMap.put("fylb", budgetapproval.getFylb().toString());
  583. StaBudgetapproval kmFyInfo = staBudgetapprovalService.getKmFyInfo(paraMap);
  584. // 申请金额总额 开始
  585. Map<String, Object> maps = new HashMap<>();
  586. maps.put("nys",budgetapproval.getNys());
  587. maps.put("fymc",fymc);
  588. Double xxzje = staBudgetapprovalService.getSqfyze(maps).getSqje();
  589. Double byjzje = staBudgetapprovalService.getByjze(maps).getSqje();
  590. Double byjbzze = staBudgetapprovalService.getByjze(maps).getBzje();
  591. // 项目使用费用
  592. String xmndjfysq = staBudgetapprovalService.getFyzz(maps).getXmndjfysq();
  593. Double byjje = staBudgetapprovalService.getByjzje(maps).getByj();
  594. Double sqe = staBudgetapprovalService.getSqe(maps).getSqje();
  595. kmFyInfo.setXmndjfysq(xmndjfysq);
  596. // kmFyInfo.setSqje(xxzje);
  597. kmFyInfo.setByj(byjzje);
  598. kmFyInfo.setXmzys(kmXmzys);
  599. kmFyInfo.setByjbzze(byjbzze);
  600. kmFyInfo.setBzje2(byjje);
  601. kmFyInfo.setSqje(sqe);
  602. // 申请金额总额 结束
  603. if (kmFyInfo.getYsje() == null)
  604. kmFyInfo.setYsje(0.0);
  605. if (kmFyInfo.getSqje() == null)
  606. kmFyInfo.setSqje(0.0);
  607. if (kmFyInfo.getBzje() == null)
  608. kmFyInfo.setBzje(0.0);
  609. model.addAttribute("kmFyInfo", kmFyInfo);
  610. return "stabudgetapproval/update_apply";
  611. }
  612. /**
  613. * 浏览数据
  614. *
  615. * @return
  616. */
  617. @RequestMapping(value = "/forApplyView/{id}", method = RequestMethod.GET)
  618. public String forApplyView(Model model, @PathVariable Integer id,
  619. @RequestParam(required = false ,defaultValue = "",value = "fylbmc")String fymc) {
  620. StaBudgetapproval budgetapproval = staBudgetapprovalService.getFysqById(id);
  621. model.addAttribute("budgetapproval", budgetapproval);
  622. //费用信息
  623. if (budgetapproval.getSfbyj() == false) {
  624. StaBudgetapproval xmFyInfo = staBudgetapprovalService.getXmFyInfo(budgetapproval.getNys());
  625. if (xmFyInfo.getYsje() == null)
  626. xmFyInfo.setYsje(0.0);
  627. if (xmFyInfo.getSqje() == null)
  628. xmFyInfo.setSqje(0.0);
  629. if (xmFyInfo.getBzje() == null)
  630. xmFyInfo.setBzje(0.0);
  631. model.addAttribute("xmFyInfo", xmFyInfo);
  632. Map<String, String> paraMap = new HashMap<>();
  633. paraMap.put("nys1", budgetapproval.getNys().toString());
  634. paraMap.put("fylb1", budgetapproval.getFylb().toString());
  635. paraMap.put("nys", budgetapproval.getNys().toString());
  636. paraMap.put("fylb", budgetapproval.getFylb().toString());
  637. StaBudgetapproval kmFyInfo = staBudgetapprovalService.getKmFyInfo(paraMap);
  638. // 申请金额总额 开始
  639. Map<String, Object> maps = new HashMap<>();
  640. maps.put("nys",budgetapproval.getNys());
  641. if(fymc != null || fymc.isEmpty()){
  642. maps.put("fymc",fymc);
  643. }else {
  644. maps.put("fymc",budgetapproval.getFylbmc());
  645. }
  646. Double xxzje = staBudgetapprovalService.getSqfyze(maps).getSqje();
  647. Double byjzje = staBudgetapprovalService.getByjze(maps).getSqje();
  648. Double byjbzze = staBudgetapprovalService.getByjze(maps).getBzje();
  649. String xmndjfysq = staBudgetapprovalService.getFyzz(maps).getXmndjfysq();
  650. Double byjje = staBudgetapprovalService.getByjzje(maps).getByj();
  651. Double sqe = staBudgetapprovalService.getSqe(maps).getSqje();
  652. kmFyInfo.setSqje(sqe);
  653. kmFyInfo.setXmndjfysq(xmndjfysq);
  654. // kmFyInfo.setSqje(xxzje);
  655. kmFyInfo.setByj(byjzje);
  656. kmFyInfo.setByjbzze(byjbzze);
  657. kmFyInfo.setBzje2(byjje);
  658. if (budgetapproval.getXmid() != null){
  659. PrjProject project = prjProjectDao.queryById(budgetapproval.getXmid());
  660. int yearsDifference = time.calculateYearDifference(project.getQs(),project.getWc()); // 年
  661. long daysDifference = time.calculateDaysDifference(project.getQs(),project.getWc());// 天
  662. model.addAttribute("xmzq",project.getQs()+" -- "+project.getWc() +" -- "+yearsDifference+"年"+" -- "+daysDifference+"天" );
  663. }else {
  664. model.addAttribute("xmzq","");
  665. }
  666. // 项目周期获取
  667. // 申请金额总额 结束
  668. if (kmFyInfo.getYsje() == null)
  669. kmFyInfo.setYsje(0.0);
  670. if (kmFyInfo.getSqje() == null)
  671. kmFyInfo.setSqje(0.0);
  672. if (kmFyInfo.getBzje() == null)
  673. kmFyInfo.setBzje(0.0);
  674. model.addAttribute("kmFyInfo", kmFyInfo);
  675. }
  676. if (budgetapproval.getSfbyj() == true) {
  677. return "stabudgetapproval/view_imprest";
  678. } else {
  679. return "stabudgetapproval/view_apply";
  680. }
  681. }
  682. /**
  683. * 删除数据
  684. *
  685. * @param
  686. * @return
  687. */
  688. @RequestMapping(value = "/deleteApply/{id}", method = RequestMethod.GET)
  689. @ResponseBody
  690. public BaseResult deleteApply(@PathVariable Integer id) {
  691. boolean flag = staBudgetapprovalService.deleteApplyById(id);
  692. if (flag) {
  693. return BaseResult.success("删除成功!");
  694. } else {
  695. return BaseResult.failure("删除失败!");
  696. }
  697. }
  698. /**
  699. * 批量删除
  700. *
  701. * @param data
  702. * @return
  703. */
  704. @RequestMapping(value = "/batchDelete", method = RequestMethod.POST)
  705. @ResponseBody
  706. public BaseResult batchDelete(@RequestBody String data) {
  707. List<StaBudgetapproval> prjList = JsonTool.parseArray(data, StaBudgetapproval.class);
  708. List<Integer> idList = new ArrayList<>();
  709. prjList.forEach(item -> {
  710. idList.add(item.getId());
  711. });
  712. int num = staBudgetapprovalService.batchDeleteApply(idList);
  713. if (num > 0) {
  714. return BaseResult.success("批量删除成功!");
  715. } else {
  716. return BaseResult.failure("批量删除失败!");
  717. }
  718. }
  719. /**
  720. * 项目经费管理板块下的备用金申请页面
  721. *
  722. * @param model
  723. * @return
  724. */
  725. @RequestMapping(value = "/init_my", method = RequestMethod.GET)
  726. public String init_my(Model model) {
  727. //审批状态
  728. List<Map<String, String>> approveList = sysDictInfoService.queryByCode("approve_status");
  729. model.addAttribute("approveList", approveList);
  730. //年份
  731. List<String> yearList = staBudgetapprovalService.getYearList();
  732. model.addAttribute("yearList", yearList);
  733. //当前用户ID
  734. model.addAttribute("userId", getSysUserId());
  735. return "stabudgetapproval/list_imprest_my";
  736. }
  737. /**
  738. * 列表初始化
  739. *
  740. * @param model
  741. * @return
  742. */
  743. @ApiOperation(value = "页面初始化", notes = "页面初始化")
  744. @RequestMapping(value = "/init_imprest", method = RequestMethod.GET)
  745. public String init_imprest(Model model) {
  746. //审批状态
  747. List<Map<String, String>> approveList = sysDictInfoService.queryByCode("approve_status");
  748. model.addAttribute("approveList", approveList);
  749. //年份
  750. List<String> yearList = staBudgetapprovalService.getYearList();
  751. model.addAttribute("yearList", yearList);
  752. //当前用户ID
  753. model.addAttribute("userId", getSysUserId());
  754. return "stabudgetapproval/list_imprest";
  755. }
  756. /**
  757. * 备用金申请
  758. *
  759. * @return
  760. */
  761. @ResponseBody
  762. @RequestMapping(value = "/list_imprest", method = RequestMethod.POST)
  763. public BaseResult list_imprest(@RequestParam("page") Integer pageNum,
  764. @RequestParam("limit") Integer pageSize,
  765. @RequestParam(required = false, defaultValue = "", value = "spzt") String spzt,
  766. @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh,
  767. @RequestParam(required = false, defaultValue = "", value = "xmmc") String xmmc,
  768. @RequestParam(required = false, defaultValue = "", value = "bh") String bh,
  769. @RequestParam(required = false, defaultValue = "", value = "nf") String nf,
  770. @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName,
  771. @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder,
  772. @RequestParam(required = false, defaultValue = "", value = "sqmc") String sqmc) {
  773. SysUserInfo userInfo = getSysUserInfo();
  774. List<String> postName = sysUserInfoService.getPostNameByUserId(userInfo.getUserId());
  775. String post = "";
  776. if (postName.size() > 0) {
  777. for (int i = 0; i < postName.size(); i++) {
  778. if ("科研专责".equals(postName.get(i))) {
  779. post = "过";
  780. }
  781. }
  782. }
  783. PageHelper.startPage(pageNum, pageSize);
  784. Map<String, String> paraMap = new HashMap<>();
  785. paraMap.put("sortName", sortName);
  786. paraMap.put("sortOrder", sortOrder);
  787. paraMap.put("spzt", spzt);
  788. paraMap.put("erpbh", erpbh);
  789. paraMap.put("xmmc", xmmc);
  790. paraMap.put("bh", bh);
  791. paraMap.put("nf", nf);
  792. paraMap.put("sqmc",sqmc);
  793. if (!userInfo.getAccount().equals("admin")) {
  794. if (!"过".equals(post)) {
  795. paraMap.put("userId", userInfo.getUserId().toString());
  796. }
  797. }
  798. List<StaBudgetapproval> list = staBudgetapprovalService.getByjsqList(paraMap);
  799. PageInfo<StaBudgetapproval> pageinfo = new PageInfo<>(list);
  800. //取出查询结果
  801. List<StaBudgetapproval> rows = pageinfo.getList();
  802. int total = (int) pageinfo.getTotal();
  803. Map<String, Object> result = new HashMap<>();
  804. result.put(RESULT_ROWS, rows);
  805. result.put(RESULT_TOTAL, total);
  806. return BaseResult.success(result);
  807. }
  808. /**
  809. * 备用金申请
  810. *
  811. * @return
  812. */
  813. @ResponseBody
  814. @RequestMapping(value = "/list_imprest1", method = RequestMethod.POST)
  815. public BaseResult list_imprest1(@RequestParam("page") Integer pageNum,
  816. @RequestParam("limit") Integer pageSize,
  817. @RequestParam(required = false, defaultValue = "", value = "spzt") String spzt,
  818. @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh,
  819. @RequestParam(required = false, defaultValue = "", value = "sqmc") String sqmc,
  820. @RequestParam(required = false, defaultValue = "", value = "bh") String bh,
  821. @RequestParam(required = false, defaultValue = "", value = "nf") String nf,
  822. @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName,
  823. @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder,
  824. @RequestParam(required = false, defaultValue = "", value = "xmmc")String xmmc) {
  825. SysUserInfo userInfo = getSysUserInfo();
  826. PageHelper.startPage(pageNum, pageSize);
  827. Map<String, String> paraMap = new HashMap<>();
  828. if (nf != null && !nf.isEmpty()){
  829. String[] nfs = nf.split(",");
  830. if (nfs.length>1){
  831. if (nfs[1].equals("0")){
  832. paraMap.put("nf","");
  833. }else {
  834. paraMap.put("nf", nfs[1]);
  835. }
  836. }else {
  837. paraMap.put("nf",nf);
  838. }
  839. }
  840. paraMap.put("sortName", sortName);
  841. paraMap.put("sortOrder", sortOrder);
  842. paraMap.put("spzt", spzt);
  843. paraMap.put("erpbh", erpbh);
  844. paraMap.put("sqmc", sqmc);
  845. paraMap.put("bh", bh);
  846. paraMap.put("xmmc",xmmc);
  847. List<StaBudgetapproval> list = staBudgetapprovalService.getByjsqList(paraMap);
  848. PageInfo<StaBudgetapproval> pageinfo = new PageInfo<>(list);
  849. //取出查询结果
  850. List<StaBudgetapproval> rows = pageinfo.getList();
  851. int total = (int) pageinfo.getTotal();
  852. Map<String, Object> result = new HashMap<>();
  853. result.put(RESULT_ROWS, rows);
  854. result.put(RESULT_TOTAL, total);
  855. return BaseResult.success(result);
  856. }
  857. /**
  858. * 新建数据
  859. *
  860. * @return
  861. */
  862. @RequestMapping(value = "/forImprestAdd", method = RequestMethod.GET)
  863. public String forImprestAdd(Model model) {
  864. SysUserInfo userInfo = getSysUserInfo();
  865. model.addAttribute("userInfo", userInfo);
  866. return "stabudgetapproval/add_imprest";
  867. }
  868. /**
  869. * 编辑数据
  870. *
  871. * @return
  872. */
  873. @RequestMapping(value = "/forImprestUpdate/{id}", method = RequestMethod.GET)
  874. public String forImprestUpdate(Model model, @PathVariable Integer id) {
  875. StaBudgetapproval budgetapproval = staBudgetapprovalService.getFysqById(id);
  876. model.addAttribute("budgetapproval", budgetapproval);
  877. return "stabudgetapproval/update_imprest";
  878. }
  879. /**
  880. * 浏览数据(备用金)
  881. *
  882. * @return
  883. */
  884. @RequestMapping(value = "/forImprestView/{id}", method = RequestMethod.GET)
  885. public String forImprestView(Model model, @PathVariable Integer id) {
  886. StaBudgetapproval budgetapproval = staBudgetapprovalService.getFysqById(id);
  887. model.addAttribute("budgetapproval", budgetapproval);
  888. return "stabudgetapproval/view_imprest";
  889. }
  890. /**
  891. * 删除数据
  892. *
  893. * @param
  894. * @return
  895. */
  896. @RequestMapping(value = "/deleteImprest/{id}", method = RequestMethod.GET)
  897. @ResponseBody
  898. public BaseResult deleteImprest(@PathVariable Integer id) {
  899. boolean flag = staBudgetapprovalService.deleteApplyById(id);
  900. if (flag) {
  901. return BaseResult.success("删除成功!");
  902. } else {
  903. return BaseResult.failure("删除失败!");
  904. }
  905. }
  906. /**
  907. * 列表初始化
  908. *
  909. * @param model
  910. * @return
  911. */
  912. @ApiOperation(value = "页面初始化", notes = "页面初始化")
  913. @RequestMapping(value = "/init_reported", method = RequestMethod.GET)
  914. public String init_reported(Model model) {
  915. //审批状态
  916. List<Map<String, String>> approveList = sysDictInfoService.queryByCode("approve_status");
  917. model.addAttribute("approveList", approveList);
  918. //项目类型
  919. List<Map<String, String>> xmlxList = projecttypeService.getXMLX();
  920. model.addAttribute("xmlxList", xmlxList);
  921. //年份
  922. List<String> yearList = staBudgetapprovalService.getYearList();
  923. model.addAttribute("yearList", yearList);
  924. return "stabudgetapproval/list_reported";
  925. }
  926. /**
  927. * 已报账费用申请列表
  928. *
  929. * @return
  930. */
  931. @ResponseBody
  932. @RequestMapping(value = "/list_reported", method = RequestMethod.POST)
  933. public BaseResult list_reported(@RequestParam("page") Integer pageNum,
  934. @RequestParam("limit") Integer pageSize,
  935. @RequestParam(required = false, defaultValue = "", value = "sqmc") String sqmc,
  936. @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh,
  937. @RequestParam(required = false, defaultValue = "", value = "bh") String bh,
  938. @RequestParam(required = false, defaultValue = "", value = "xmlx") String xmlx,
  939. @RequestParam(required = false, defaultValue = "", value = "ssbmmc") String ssbmmc,
  940. @RequestParam(required = false, defaultValue = "", value = "dkyfzr") String dkyfzr,
  941. @RequestParam(required = false, defaultValue = "", value = "nf") String nf,
  942. @RequestParam(required = false, defaultValue = "", value = "sfbyj") String sfbyj,
  943. @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName,
  944. @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder,
  945. @RequestParam(required = false, defaultValue = "", value = "xmmc")String xmmc) {
  946. SysUserInfo userInfo = getSysUserInfo();
  947. List<String> postName = sysUserInfoService.getPostNameByUserId(userInfo.getUserId());
  948. String post = "";
  949. if (postName.size() > 0) {
  950. for (int i = 0; i < postName.size(); i++) {
  951. if (PostInfoEnum.KYZZ.postName().equals(postName.get(i))||PostInfoEnum.KYFZR.postName().equals(postName.get(i))) {
  952. post = "过";
  953. }
  954. }
  955. }
  956. PageHelper.startPage(pageNum, pageSize);
  957. Map<String, String> paraMap = new HashMap<>();
  958. paraMap.put("sortName", sortName);
  959. paraMap.put("sortOrder", sortOrder);
  960. paraMap.put("sqmc", sqmc);
  961. paraMap.put("erpbh", erpbh);
  962. paraMap.put("bh", bh);
  963. paraMap.put("xmlx", xmlx);
  964. paraMap.put("dkyfzr", dkyfzr);
  965. if (userInfo.getDeptName().contains("电源")){
  966. paraMap.put("ssbmmc","电源技术中心");
  967. }else {
  968. paraMap.put("ssbmmc", userInfo.getDeptName());
  969. }
  970. // paraMap.put("ssbmmc", getSysUserInfo().getDeptName());
  971. paraMap.put("nf", nf);
  972. paraMap.put("sfbyj", sfbyj);
  973. paraMap.put("xmmc",xmmc);
  974. if (!userInfo.getAccount().equals("admin")) {
  975. if (!"过".equals(post)) {
  976. paraMap.put("userId", userInfo.getUserId().toString());
  977. }
  978. }
  979. List<StaBudgetapproval> list = staBudgetapprovalService.getYbzFysqList(paraMap);
  980. PageInfo<StaBudgetapproval> pageinfo = new PageInfo<>(list);
  981. //取出查询结果
  982. List<StaBudgetapproval> rows = pageinfo.getList();
  983. int total = (int) pageinfo.getTotal();
  984. Map<String, Object> result = new HashMap<>();
  985. result.put(RESULT_ROWS, rows);
  986. result.put(RESULT_TOTAL, total);
  987. return BaseResult.success(result);
  988. }
  989. /**
  990. * 列表初始化
  991. *
  992. * @param model
  993. * @return
  994. */
  995. @ApiOperation(value = "页面初始化", notes = "页面初始化")
  996. @RequestMapping(value = "/init_allapply", method = RequestMethod.GET)
  997. public String init_allapply(Model model) {
  998. //审批状态
  999. List<Map<String, String>> approveList = sysDictInfoService.queryByCode("approve_status");
  1000. model.addAttribute("approveList", approveList);
  1001. //项目类型
  1002. List<Map<String, String>> xmlxList = projecttypeService.getXMLX();
  1003. model.addAttribute("xmlxList", xmlxList);
  1004. //年份
  1005. List<String> yearList = staBudgetapprovalService.getYearList();
  1006. model.addAttribute("yearList", yearList);
  1007. //费用类别
  1008. List<String> xmlx = staBudgetapprovalService.getXmlx();
  1009. model.addAttribute("fylb", xmlx);
  1010. //当前用户ID
  1011. model.addAttribute("userId", getSysUserId());
  1012. /*List<String> fylb =*/
  1013. return "stafeemanage/list_allapply";
  1014. }
  1015. /**
  1016. * 全部费用申请(审批完成)
  1017. *
  1018. * @return
  1019. */
  1020. @ResponseBody
  1021. @RequestMapping(value = "/list_allApply", method = RequestMethod.POST)
  1022. public BaseResult list_allApply(@RequestParam("page") Integer pageNum,
  1023. @RequestParam("limit") Integer pageSize,
  1024. @RequestParam(required = false, defaultValue = "", value = "xmmc") String xmmc,
  1025. @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh,
  1026. @RequestParam(required = false, defaultValue = "", value = "bh") String bh,
  1027. @RequestParam(required = false, defaultValue = "", value = "nf") String nf,
  1028. @RequestParam(required = false, defaultValue = "", value = "spzt") String spzt,
  1029. @RequestParam(required = false, defaultValue = "", value = "fylb") String fylb,
  1030. @RequestParam(required = false, defaultValue = "", value = "xmlx") String xmlx,
  1031. @RequestParam(required = false, defaultValue = "", value = "sqr") String sqr,
  1032. @RequestParam(required = false, defaultValue = "", value = "sfbyj") String sfbyj,
  1033. @RequestParam(required = false, defaultValue = "", value = "ssbmmc") String ssbmmc,
  1034. @RequestParam(required = false, defaultValue = "", value = "sfbz") String sfbz,
  1035. @RequestParam(required = false, defaultValue = "", value = "sfth") String sfth,
  1036. @RequestParam(required = false, defaultValue = "", value = "dkyfzr") String dkyfzr,
  1037. @RequestParam(required = false, defaultValue = "", value = "sqsj1") String sqsj1,
  1038. @RequestParam(required = false, defaultValue = "", value = "sqsj2") String sqsj2,
  1039. @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName,
  1040. @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder,
  1041. @RequestParam(required = false, defaultValue = "", value = "dlr")Integer dlrId) {
  1042. PageHelper.startPage(pageNum, pageSize);
  1043. Map<String, String> paraMap = new HashMap<>();
  1044. if (nf != null && !nf.isEmpty()){
  1045. String[] nfs = nf.split(",");
  1046. if (nfs.length>1){
  1047. if (nfs[1].equals("0")){
  1048. paraMap.put("nf","");
  1049. }else {
  1050. paraMap.put("nf", nfs[1]);
  1051. }
  1052. }else {
  1053. paraMap.put("nf",nf);
  1054. }
  1055. }
  1056. if (dlrId != null && dlrId.equals(0)){
  1057. String deptName = getSysUserInfo().getDeptName();
  1058. paraMap.put("ssbmmc", deptName);
  1059. }else {
  1060. paraMap.put("ssbmmc", ssbmmc);
  1061. }
  1062. paraMap.put("sortName", sortName);
  1063. paraMap.put("sortOrder", sortOrder);
  1064. paraMap.put("bh", bh);
  1065. paraMap.put("erpbh", erpbh);
  1066. paraMap.put("xmlx", xmlx);
  1067. paraMap.put("sfbyj", sfbyj);
  1068. paraMap.put("xmmc", xmmc);
  1069. paraMap.put("spzt", spzt);
  1070. paraMap.put("sfbz", sfbz);
  1071. paraMap.put("sfth", sfth);
  1072. paraMap.put("dkyfzr", dkyfzr);
  1073. paraMap.put("sqsj1", sqsj1);
  1074. paraMap.put("sqsj2", sqsj2);
  1075. paraMap.put("fylb", fylb);
  1076. paraMap.put("sqr", sqr);
  1077. List<StaBudgetapproval> list = staBudgetapprovalService.getAllApplyList(paraMap);
  1078. PageInfo<StaBudgetapproval> pageinfo = new PageInfo<>(list);
  1079. //取出查询结果
  1080. List<StaBudgetapproval> rows = pageinfo.getList();
  1081. int total = (int) pageinfo.getTotal();
  1082. Map<String, Object> result = new HashMap<>();
  1083. result.put(RESULT_ROWS, rows);
  1084. result.put(RESULT_TOTAL, total);
  1085. return BaseResult.success(result);
  1086. }
  1087. /* *//**
  1088. * 导出
  1089. *//*
  1090. @ResponseBody
  1091. @RequestMapping(value = "/getAll/{fromdata}",method = RequestMethod.POST)
  1092. public BaseResult getAll(@PathVariable(required = false) String fromdata) throws Exception{
  1093. Map<String, Object> map = new HashMap<>();
  1094. if (fromdata == null){
  1095. List<StaBudgetapproval> list = staBudgetapprovalService.getAllApplyList(map);
  1096. return BaseResult.success("导出成功",list);
  1097. }
  1098. ObjectMapper objectMapper = new ObjectMapper();
  1099. StaBudgetapproval formDatas = objectMapper.readValue(fromdata, StaBudgetapproval.class);
  1100. map.put("sortName",formDatas.getSortName());
  1101. map.put("sortOrder", formDatas.getSortOrder());
  1102. map.put("bh", formDatas.getBh());
  1103. map.put("erpbh", formDatas.getErpbh());
  1104. map.put("xmlx", formDatas.getXmlx());
  1105. map.put("sfbyj", formDatas.getSfbyj());
  1106. map.put("xmmc", formDatas.getXmmc());
  1107. map.put("ssbmmc", formDatas.getSsbmmc());
  1108. map.put("spzt", formDatas.getSpzt());
  1109. map.put("sfbz", formDatas.getSfbz());
  1110. map.put("dkyfzr", formDatas.getDkyfzr());
  1111. map.put("sqsj1", formDatas.getSqsj1());
  1112. map.put("sqsj2", formDatas.getSqsj2());
  1113. map.put("fylb", formDatas.getFylb());
  1114. map.put("sqr", formDatas.getSqr());
  1115. map.put("nf",formDatas.getNf());
  1116. List<StaBudgetapproval> list = staBudgetapprovalService.getAllApplyList(map);
  1117. return BaseResult.success("导出成功",list);
  1118. }*/
  1119. /**
  1120. * 浏览数据
  1121. *
  1122. * @return
  1123. */
  1124. @RequestMapping(value = "/forAllApplyView", method = RequestMethod.GET)
  1125. public String forAllApplyView() {
  1126. return "stafeemanage/view";
  1127. }
  1128. /**
  1129. * 列表初始化(审批中的费用申请)
  1130. *
  1131. * @param model
  1132. * @return
  1133. */
  1134. @ApiOperation(value = "页面初始化", notes = "页面初始化")
  1135. @RequestMapping(value = "/init_approving", method = RequestMethod.GET)
  1136. public String init_approving(Model model) {
  1137. //审批状态
  1138. List<Map<String, String>> approveList = sysDictInfoService.queryByCode("approve_status");
  1139. model.addAttribute("approveList", approveList);
  1140. //项目类型
  1141. List<Map<String, String>> xmlxList = projecttypeService.getXMLX();
  1142. model.addAttribute("xmlxList", xmlxList);
  1143. //年份
  1144. List<String> yearList = staBudgetapprovalService.getYearList();
  1145. model.addAttribute("yearList", yearList);
  1146. return "stafeemanage/list_approving";
  1147. }
  1148. @ResponseBody
  1149. @RequestMapping(value = "/getAll/{fromdata}",method = RequestMethod.POST)
  1150. public BaseResult getAll(@PathVariable(required = false) String fromdata) throws Exception{
  1151. Map<String, Object> paraMap = new HashMap<>();
  1152. ObjectMapper objectMapper = new ObjectMapper();
  1153. StaBudgetapproval formDatas = objectMapper.readValue(fromdata, StaBudgetapproval.class);
  1154. if (formDatas.getNf().equals("0")){
  1155. paraMap.put("nf","");
  1156. }else {
  1157. paraMap.put("nf",formDatas.getNf());
  1158. }
  1159. paraMap.put("bh", formDatas.getBh());
  1160. paraMap.put("erpbh", formDatas.getErpbh());
  1161. paraMap.put("xmlx", formDatas.getXmlx());
  1162. paraMap.put("xmmc", formDatas.getXmmc());
  1163. paraMap.put("ssbmmc", formDatas.getSsbmmc());
  1164. paraMap.put("spzt", formDatas.getSpzt());
  1165. paraMap.put("dkyfzr", formDatas.getDkyfzr());
  1166. paraMap.put("sqsj1", formDatas.getSqsj1());
  1167. paraMap.put("sqsj2", formDatas.getSqsj2());
  1168. paraMap.put("xmfzrxm",formDatas.getXmfzrxm());
  1169. List<StaBudgetapproval> list = staBudgetapprovalService.getAllApplyList(paraMap);
  1170. return BaseResult.success("导出成功",list);
  1171. }
  1172. @ResponseBody
  1173. @RequestMapping(value = "/getAllGL/{fromdata}",method = RequestMethod.POST)
  1174. public BaseResult getAllGL(@PathVariable(required = false) String fromdata) throws Exception{
  1175. Map<String, Object> paraMap = new HashMap<>();
  1176. ObjectMapper objectMapper = new ObjectMapper();
  1177. StaBudgetapproval formDatas = objectMapper.readValue(fromdata, StaBudgetapproval.class);
  1178. String nf = formDatas.getNf();
  1179. String xmmc = formDatas.getXmmc();
  1180. String erpbh = formDatas.getErpbh();
  1181. String xmlx = formDatas.getXmlx();
  1182. String xmfzrxm = formDatas.getXmfzrxm();
  1183. String ssbmmc = formDatas.getSsbmmc();
  1184. String spzt = formDatas.getSpzt();
  1185. String bh = formDatas.getBh();
  1186. if (formDatas.getNf().equals("0")){
  1187. paraMap.put("nf","");
  1188. }else {
  1189. paraMap.put("nf",formDatas.getNf());
  1190. }
  1191. paraMap.put("xmmc", xmmc);
  1192. paraMap.put("erpbh", erpbh);
  1193. paraMap.put("xmlx", xmlx);
  1194. paraMap.put("xmfzrxm", xmfzrxm);
  1195. paraMap.put("ssbmmc", ssbmmc);
  1196. paraMap.put("spzt",spzt);
  1197. paraMap.put("bh",bh);
  1198. List<FeeManagemant> list = prjProjectService.getFyglList(paraMap);
  1199. return BaseResult.success("导出成功",list);
  1200. }
  1201. /**
  1202. * 审批中的费用申请
  1203. *
  1204. * @return
  1205. */
  1206. @ResponseBody
  1207. @RequestMapping(value = "/list_approving", method = RequestMethod.POST)
  1208. public BaseResult list_approving(@RequestParam("page") Integer pageNum,
  1209. @RequestParam("limit") Integer pageSize,
  1210. @RequestParam(required = false, defaultValue = "", value = "bh") String bh,
  1211. @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh,
  1212. @RequestParam(required = false, defaultValue = "", value = "xmlx") String xmlx,
  1213. @RequestParam(required = false, defaultValue = "", value = "sfbyj") String sfbyj,
  1214. @RequestParam(required = false, defaultValue = "", value = "xmmc") String xmmc,
  1215. @RequestParam(required = false, defaultValue = "", value = "ssbmmc") String ssbmmc,
  1216. @RequestParam(required = false, defaultValue = "", value = "nf") String nf,
  1217. @RequestParam(required = false, defaultValue = "", value = "spzt") String spzt,
  1218. @RequestParam(required = false, defaultValue = "", value = "dkyfzr") String dkyfzr,
  1219. @RequestParam(required = false, defaultValue = "", value = "sqsj1") String sqsj1,
  1220. @RequestParam(required = false, defaultValue = "", value = "sqsj2") String sqsj2,
  1221. @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName,
  1222. @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder) {
  1223. Map<String, String> paraMap = new HashMap<>();
  1224. PageHelper.startPage(pageNum, pageSize);
  1225. if (nf != null && !nf.isEmpty()){
  1226. String[] nfs = nf.split(",");
  1227. if (nfs.length>1){
  1228. if (nfs[1].equals("0")){
  1229. paraMap.put("nf","");
  1230. }else {
  1231. paraMap.put("nf", nfs[1]);
  1232. }
  1233. }else {
  1234. paraMap.put("nf",nf);
  1235. }
  1236. }
  1237. paraMap.put("sortName", sortName);
  1238. paraMap.put("sortOrder", sortOrder);
  1239. paraMap.put("bh", bh);
  1240. paraMap.put("erpbh", erpbh);
  1241. paraMap.put("xmlx", xmlx);
  1242. paraMap.put("sfbyj", sfbyj);
  1243. paraMap.put("xmmc", xmmc);
  1244. paraMap.put("ssbmmc", ssbmmc);
  1245. paraMap.put("spzt", spzt);
  1246. paraMap.put("dkyfzr", dkyfzr);
  1247. paraMap.put("sqsj1", sqsj1);
  1248. paraMap.put("sqsj2", sqsj2);
  1249. List<StaBudgetapproval> list = staBudgetapprovalService.getApprovingList(paraMap);
  1250. PageInfo<StaBudgetapproval> pageinfo = new PageInfo<>(list);
  1251. //取出查询结果
  1252. List<StaBudgetapproval> rows = pageinfo.getList();
  1253. int total = (int) pageinfo.getTotal();
  1254. Map<String, Object> result = new HashMap<>();
  1255. result.put(RESULT_ROWS, rows);
  1256. result.put(RESULT_TOTAL, total);
  1257. return BaseResult.success(result);
  1258. }
  1259. @ResponseBody
  1260. @RequestMapping(value = "/getAlls/{fromdata}",method = RequestMethod.POST)
  1261. public BaseResult getAlls(@PathVariable(required = false) String fromdata) throws Exception{
  1262. Map<String, Object> paraMap = new HashMap<>();
  1263. ObjectMapper objectMapper = new ObjectMapper();
  1264. StaBudgetapproval formDatas = objectMapper.readValue(fromdata, StaBudgetapproval.class);
  1265. if (formDatas.getNf().equals("0")){
  1266. paraMap.put("nf","");
  1267. }else {
  1268. paraMap.put("nf",formDatas.getNf());
  1269. }
  1270. paraMap.put("bh", formDatas.getBh());
  1271. paraMap.put("erpbh", formDatas.getErpbh());
  1272. paraMap.put("xmlx", formDatas.getXmlx());
  1273. paraMap.put("xmmc", formDatas.getXmmc());
  1274. paraMap.put("ssbmmc", formDatas.getSsbmmc());
  1275. paraMap.put("spzt", formDatas.getSpzt());
  1276. paraMap.put("dkyfzr", formDatas.getDkyfzr());
  1277. paraMap.put("sqsj1", formDatas.getSqsj1());
  1278. paraMap.put("sqsj2", formDatas.getSqsj2());
  1279. paraMap.put("xmfzrxm",formDatas.getXmfzrxm());
  1280. paraMap.put("sfbyj", formDatas.getSfbyj());
  1281. paraMap.put("sqsj1", formDatas.getSqsj1());
  1282. paraMap.put("sqsj2", formDatas.getSqsj2());
  1283. List<StaBudgetapproval> list = staBudgetapprovalService.getApprovingList(paraMap);
  1284. return BaseResult.success("导出成功",list);
  1285. }
  1286. /**
  1287. * 新建数据(提交审批)
  1288. *
  1289. * @return
  1290. */
  1291. @RequestMapping(value = "/forApproveAdd", method = RequestMethod.GET)
  1292. public String forApproveAdd(Model model) {
  1293. //部门主任岗位
  1294. Map<String, String> paraMap = new HashMap<>();
  1295. //系统当前用户
  1296. SysUserInfo userInfo = getSysUserInfo();
  1297. if (userInfo != null && userInfo.getDeptId().equals("52")) {
  1298. paraMap.put("postName", "科技部部门主任");
  1299. } else {
  1300. paraMap.put("postName", "科研负责人");
  1301. }
  1302. SysPostInfo postInfo = sysPostInfoService.getSysPostInfo(paraMap);
  1303. if (postInfo == null)
  1304. postInfo = new SysPostInfo();
  1305. model.addAttribute("postInfo", postInfo);
  1306. model.addAttribute("userInfo", userInfo);
  1307. return "stabudgetapproval/add_approve";
  1308. }
  1309. /**
  1310. * 新建数据(提交审批)
  1311. *
  1312. * @return
  1313. */
  1314. @RequestMapping(value = "/forApproveAdd1", method = RequestMethod.GET)
  1315. public String forApproveAdd1(Model model) {
  1316. //部门主任岗位
  1317. //岗位
  1318. Map<String, String> paraMap = new HashMap<>();
  1319. //系统当前用户
  1320. SysUserInfo userInfo = getSysUserInfo();
  1321. if (userInfo != null && userInfo.getDeptId().equals("52")) {
  1322. paraMap.put("postName", "科技部部门主任");
  1323. } else {
  1324. paraMap.put("postName", "科研负责人");
  1325. }
  1326. SysPostInfo postInfo = sysPostInfoService.getSysPostInfo(paraMap);
  1327. if (postInfo == null)
  1328. postInfo = new SysPostInfo();
  1329. model.addAttribute("postInfo", postInfo);
  1330. model.addAttribute("userInfo", userInfo);
  1331. return "stabudgetapproval/add_approve1";
  1332. }
  1333. /**
  1334. * 更新审批状态
  1335. *
  1336. * @return
  1337. */
  1338. @ResponseBody
  1339. @RequestMapping(value = "/updateSpzt", method = RequestMethod.POST)
  1340. public BaseResult updateSpzt(@RequestBody String strData) {
  1341. StaBudgetapproval fysq = JsonTool.parseObject(strData, StaBudgetapproval.class);
  1342. if (fysq.getSpzt().equals("审批结束")) {
  1343. fysq.setBh("");
  1344. }
  1345. int num = staBudgetapprovalService.updateSpzt(fysq);
  1346. if (num > 0) {
  1347. return BaseResult.success("保存成功!");
  1348. } else {
  1349. return BaseResult.failure("保存失败!");
  1350. }
  1351. }
  1352. /**
  1353. * 编辑数据(提交审批)
  1354. *
  1355. * @return
  1356. */
  1357. @RequestMapping(value = "/forApproveUpdate/{xmid}/{sqje}", method = RequestMethod.GET)
  1358. public String forApproveUpdate(Model model, @PathVariable Integer xmid, @PathVariable Double sqje, @RequestParam String spzt) {
  1359. //系统当前用户
  1360. SysUserInfo userInfo = getSysUserInfo();
  1361. model.addAttribute("userInfo", userInfo);
  1362. Map<String, String> paraMap1 = new HashMap<>();
  1363. paraMap1.put("xmid", xmid.toString());
  1364. paraMap1.put("zt", spzt);
  1365. paraMap1.put("wc", "0");
  1366. List<PrjApproverecord> approveList = prjApproverecordService.getApproveByXmId(paraMap1);
  1367. if (approveList.size() == 1) {
  1368. PrjApproverecord approveInfo = approveList.get(0);
  1369. approveInfo.setSqje(sqje);
  1370. model.addAttribute("approveInfo", approveInfo);
  1371. } else {
  1372. StaBudgetapproval approve = staBudgetapprovalService.queryById(xmid);
  1373. PrjApproverecord approveInfo = new PrjApproverecord();
  1374. approveInfo.setXmid(xmid);
  1375. approveInfo.setXm(approve.getSqmc());
  1376. approveInfo.setSqje(sqje);
  1377. approveInfo.setZt("数据不匹配");
  1378. model.addAttribute("approveInfo", approveInfo);
  1379. }
  1380. // List<CyyEntriy> cyyList =cyyService.queryByAccount(String.valueOf(userInfo.getUserId()));
  1381. // model.addAttribute("cyyList", cyyList);
  1382. if (spzt.equals("院长审批") || spzt.equals("主管院领导审批") && sqje < 1000000) {
  1383. return "stabudgetapproval/finish_approve";
  1384. } else {
  1385. //岗位
  1386. Map<String, String> paraMap2 = new HashMap<>();
  1387. if (spzt.equals("部门主任审批"))
  1388. paraMap2.put("postName", "科技项目管理专责");
  1389. else if (spzt.equals("科技项目管理专责审批"))
  1390. paraMap2.put("postName", "科技部部门主任");
  1391. else if (spzt.equals("科技部部门主任审批"))
  1392. paraMap2.put("postName", "主管院领导");
  1393. else if (spzt.equals("主管院领导审批"))
  1394. paraMap2.put("postName", "院长");
  1395. else {
  1396. paraMap2.put("postName", "部门主任");
  1397. }
  1398. // if (userInfo != null && userInfo.getDeptId().equals("52")) {
  1399. // paraMap2.put("postName", "副主任");
  1400. // } else {
  1401. // paraMap2.put("postName", "科研负责人");
  1402. // }
  1403. SysPostInfo postInfo = sysPostInfoService.getSysPostInfo(paraMap2);
  1404. if (postInfo == null)
  1405. postInfo = new SysPostInfo();
  1406. model.addAttribute("postInfo", postInfo);
  1407. if (spzt.contains("未提交"))
  1408. return "stabudgetapproval/back_approve";
  1409. else
  1410. return "stabudgetapproval/update_approve";
  1411. }
  1412. }
  1413. //初始化下拉
  1414. @RequestMapping(value = "/init_cyy/{userId}", method = RequestMethod.GET)
  1415. @ResponseBody
  1416. public List<CyyEntriy> init_cyy(Model model, @PathVariable Integer userId) {
  1417. List<CyyEntriy> cyyList = cyyService.queryByAccount(String.valueOf(userId));
  1418. return cyyList;
  1419. }
  1420. /**
  1421. * 编辑数据(提交审批)
  1422. *
  1423. * @return
  1424. */
  1425. @RequestMapping(value = "/forApproveUpdate1/{xmid}/{sqje}", method = RequestMethod.GET)
  1426. public String forApproveUpdate1(Model model, @PathVariable Integer xmid, @PathVariable Double sqje, @RequestParam String spzt) {
  1427. //系统当前用户
  1428. SysUserInfo userInfo = getSysUserInfo();
  1429. model.addAttribute("userInfo", userInfo);
  1430. Map<String, String> paraMap1 = new HashMap<>();
  1431. paraMap1.put("xmid", xmid.toString());
  1432. paraMap1.put("zt", spzt);
  1433. paraMap1.put("wc", "0");
  1434. List<PrjApproverecord> approveList = prjApproverecordService.getApproveByXmId(paraMap1);
  1435. //改动 if(approveList.size() == 1) {为
  1436. if (approveList.size() < 1) {
  1437. StaBudgetapproval approve = staBudgetapprovalService.queryById(xmid);
  1438. PrjApproverecord approveInfo = new PrjApproverecord();
  1439. approveInfo.setXmid(xmid);
  1440. approveInfo.setXm(approve.getSqmc());
  1441. approveInfo.setSqje(sqje);
  1442. approveInfo.setZt("数据不匹配");
  1443. model.addAttribute("approveInfo", approveInfo);
  1444. } else {
  1445. PrjApproverecord approveInfo = approveList.get(approveList.size() - 1);
  1446. approveInfo.setSqje(sqje);
  1447. model.addAttribute("approveInfo", approveInfo);
  1448. }
  1449. if (spzt.equals("院长审批") || spzt.equals("主管院领导审批") && sqje < 1000000) {
  1450. return "stabudgetapproval/finish_approve1";
  1451. } else {
  1452. //岗位
  1453. Map<String, String> paraMap2 = new HashMap<>();
  1454. if (spzt.equals("未提交(返回)")) {
  1455. if (userInfo != null && userInfo.getDeptId().equals("52")) {
  1456. paraMap2.put("postName", "科技部部门主任");
  1457. } else {
  1458. paraMap2.put("postName", "科研负责人");
  1459. }
  1460. } else if (spzt.equals("部门主任审批"))
  1461. paraMap2.put("postName", "科技项目管理专责");
  1462. else if (spzt.equals("科技项目管理专责审批"))
  1463. paraMap2.put("postName", "科技部部门主任");
  1464. else if (spzt.equals("科技部部门主任审批"))
  1465. paraMap2.put("postName", "主管院领导");
  1466. else if (spzt.equals("主管院领导审批"))
  1467. paraMap2.put("postName", "院长");
  1468. else
  1469. paraMap2.put("postName", "部门主任");
  1470. SysPostInfo postInfo = sysPostInfoService.getSysPostInfo(paraMap2);
  1471. if (postInfo == null)
  1472. postInfo = new SysPostInfo();
  1473. model.addAttribute("postInfo", postInfo);
  1474. if (spzt.contains("未提交"))
  1475. return "stabudgetapproval/back_approve1";
  1476. else
  1477. return "stabudgetapproval/update_approve1";
  1478. }
  1479. }
  1480. /**
  1481. * 审批列表
  1482. *
  1483. * @return
  1484. */
  1485. @RequestMapping(value = "/forApproveList", method = RequestMethod.GET)
  1486. public String forApproveList() {
  1487. return "stabudgetapproval/list_approve";
  1488. }
  1489. @RequestMapping(value = "/forApproveList1", method = RequestMethod.GET)
  1490. public String forApproveList1() {
  1491. return "stabudgetapproval/list_approve1";
  1492. }
  1493. /**
  1494. * 列表初始化
  1495. *
  1496. * @param model
  1497. * @return
  1498. */
  1499. @ApiOperation(value = "页面初始化", notes = "页面初始化")
  1500. @RequestMapping(value = "/init_feemanage", method = RequestMethod.GET)
  1501. public String init_feemanage(Model model) {
  1502. //项目类型
  1503. List<Map<String, String>> xmlxList = projecttypeService.getXMLX();
  1504. model.addAttribute("xmlxList", xmlxList);
  1505. //年份
  1506. List<String> yearList = staBudgetapprovalService.getYearList();
  1507. model.addAttribute("yearList", yearList);
  1508. //审批状态
  1509. List<Map<String, String>> approveList = sysDictInfoService.queryByCode("pay_status");
  1510. model.addAttribute("approveList", approveList);
  1511. return "stafeemanage/list_feemanage";
  1512. }
  1513. @Resource
  1514. private PrjProjectDao prjProjectDao;
  1515. @ResponseBody
  1516. @RequestMapping(value = "/list_feemanage", method = RequestMethod.POST)
  1517. public BaseResult list_feemanage(@RequestParam("page") Integer pageNum,
  1518. @RequestParam("limit") Integer pageSize,
  1519. @RequestParam(required = false, defaultValue = "", value = "xmmc") String xmmc,
  1520. @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh,
  1521. @RequestParam(required = false, defaultValue = "", value = "xmlx") String xmlx,
  1522. @RequestParam(required = false, defaultValue = "", value = "xmfzrxm") String xmfzrxm,
  1523. @RequestParam(required = false, defaultValue = "", value = "ssbmmc") String ssbmmc,
  1524. @RequestParam(required = false, defaultValue = "", value = "nf") String nf,
  1525. @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName,
  1526. @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder,
  1527. @RequestParam(required = false, defaultValue = "", value = "spzt")String spzt,
  1528. @RequestParam(required = false, defaultValue = "", value = "bh")String bh
  1529. ) {
  1530. PageHelper.startPage(pageNum, pageSize);
  1531. Map<String, String> paraMap = new HashMap<>();
  1532. if (nf != null && !nf.isEmpty()){
  1533. String[] nfs = nf.split(",");
  1534. if (nfs.length>1){
  1535. if (nfs[1].equals("0")){
  1536. paraMap.put("nf","");
  1537. }else {
  1538. paraMap.put("nf", nfs[1]);
  1539. }
  1540. }else {
  1541. paraMap.put("nf",nf);
  1542. }
  1543. }
  1544. paraMap.put("sortName", sortName);
  1545. paraMap.put("sortOrder", sortOrder);
  1546. paraMap.put("xmmc", xmmc);
  1547. paraMap.put("erpbh", erpbh);
  1548. paraMap.put("xmlx", xmlx);
  1549. paraMap.put("xmfzrxm", xmfzrxm);
  1550. paraMap.put("ssbmmc", ssbmmc);
  1551. paraMap.put("spzt",spzt);
  1552. paraMap.put("bh",bh);
  1553. List<FeeManagemant> list = prjProjectService.getFyglList(paraMap);
  1554. // for (int i = 0;i<list.size();i++){
  1555. // // 万元 转换成元
  1556. // if (list.get(i).getSqje() != null){
  1557. // list.get(i).setSqje(list.get(i).getSqje() *10000);
  1558. // }else {
  1559. // list.get(i).setSqje(0.00);
  1560. // }
  1561. // if (list.get(i).getBzje() != null){
  1562. // list.get(i).setBzje(list.get(i).getBzje() *10000);
  1563. // }else {
  1564. // list.get(i).setBzje(0.00);
  1565. // }
  1566. // if(list.get(i).getYe() != null){
  1567. // list.get(i).setYe(list.get(i).getYe() *10000);
  1568. // }else {
  1569. // list.get(i).setYe(0.00);
  1570. // }
  1571. // if (list.get(i).getByj() != null){
  1572. // list.get(i).setByj(list.get(i).getByj() * 10000);
  1573. // }else {
  1574. // list.get(i).setByj(0.00);
  1575. // }
  1576. // if(list.get(i).getByjsqje() != null){
  1577. //
  1578. // list.get(i).setByjsqje(list.get(i).getByjsqje() *10000);
  1579. // }else {
  1580. // list.get(i).setByjsqje(0.00);
  1581. // }
  1582. // if (list.get(i).getByjbzje() != null){
  1583. // list.get(i).setByjbzje(list.get(i).getByjbzje() *10000);
  1584. // }else {
  1585. // list.get(i).setByjbzje(0.00);
  1586. // }
  1587. // if (list.get(i).getByjye() != null){
  1588. // list.get(i).setByjye(list.get(i).getByjye() *10000);
  1589. // }else {
  1590. // list.get(i).setByjye(0.00);
  1591. // }
  1592. //
  1593. //
  1594. // FeeManagemant sqje = prjProjectDao.getSqje(list.get(i).getErpbh());
  1595. // if (sqje.getSqje().equals(list.get(i).getSqje()) != true){
  1596. // list.get(i).setSqje(sqje.getSqje());
  1597. // }
  1598. //
  1599. //
  1600. // }
  1601. PageInfo<FeeManagemant> pageinfo = new PageInfo<>(list);
  1602. //取出查询结果
  1603. List<FeeManagemant> rows = pageinfo.getList();
  1604. int total = (int) pageinfo.getTotal();
  1605. Map<String, Object> result = new HashMap<>();
  1606. result.put(RESULT_ROWS, rows);
  1607. result.put(RESULT_TOTAL, total);
  1608. return BaseResult.success(result);
  1609. }
  1610. @RequestMapping(value = "/init_project/{nf}", method = RequestMethod.GET)
  1611. public String init_project(Model model, @PathVariable String nf) {
  1612. //项目类型
  1613. List<Map<String, String>> xmlxList = projecttypeService.getXMLX();
  1614. model.addAttribute("xmlxList", xmlxList);
  1615. model.addAttribute("nf", nf);
  1616. return "stabudgetapproval/list_project";
  1617. }
  1618. /**
  1619. * 批量作废
  1620. *
  1621. * @param data
  1622. * @return
  1623. */
  1624. @ResponseBody
  1625. @RequestMapping(value = "/batchNullify", method = RequestMethod.POST)
  1626. public BaseResult batchNullify(@RequestBody String data) {
  1627. List<StaBudgetapproval> prjList = JsonTool.parseArray(data, StaBudgetapproval.class);
  1628. List<Integer> idList = new ArrayList<>();
  1629. prjList.forEach(item -> {
  1630. idList.add(item.getId());
  1631. });
  1632. int num = staBudgetapprovalService.batchNullify(idList);
  1633. if (num > 0) {
  1634. return BaseResult.success("作废成功!");
  1635. } else {
  1636. return BaseResult.failure("作废失败!");
  1637. }
  1638. }
  1639. private String GetApproveRecordBH(String partBh) {
  1640. String bh = "";
  1641. List<StaBudgetapproval> bhList = staBudgetapprovalService.queryByBH(partBh);
  1642. List<Integer> bh_List = new ArrayList();
  1643. if (bhList != null && bhList.size() > 0) {
  1644. for (int i = 0; i < bhList.size(); i++) {
  1645. int _tmpBh = Integer.parseInt(bhList.get(i).getBh().substring(bhList.get(i).getBh().length() - 4));
  1646. bh_List.add(_tmpBh);
  1647. }
  1648. if (bh_List.size() > 0) {
  1649. try {
  1650. Integer max = Collections.max(bh_List);
  1651. Integer idx = max + 1;
  1652. bh = partBh + String.format("%04d", idx);
  1653. } catch (Exception er) {
  1654. bh = partBh + "1001";
  1655. }
  1656. } else
  1657. bh = partBh + "1001";
  1658. } else
  1659. bh = partBh + "1001";
  1660. return bh;
  1661. }
  1662. /**
  1663. * 获取年度费用申请预算列表
  1664. *
  1665. * @return
  1666. */
  1667. @ResponseBody
  1668. @RequestMapping(value = "/yslist/{nys}", method = RequestMethod.POST)
  1669. public Object yslist(@PathVariable Integer nys) {
  1670. List<PrjAnnualbudgetdetail> list = prjAnnualbudgetdetailService.getFysqBudgetList(nys);
  1671. Map<String, Object> resultMap = new HashMap<>();
  1672. resultMap.put("code", 0);
  1673. resultMap.put("msg", "");
  1674. resultMap.put("count", list.size());
  1675. resultMap.put("data", list);
  1676. return resultMap;
  1677. }
  1678. /**
  1679. * 项目备用金信息
  1680. *
  1681. * @return
  1682. */
  1683. @ResponseBody
  1684. @RequestMapping(value = "/getXmFyInfo/{rws}/{nf}", method = RequestMethod.POST)
  1685. public StaBudgetapproval getXmFyInfo(@PathVariable Integer rws, @PathVariable Integer nf) {
  1686. Map<String, String> paraMap = new HashMap<>();
  1687. paraMap.put("rws", rws.toString());
  1688. paraMap.put("nf", nf.toString());
  1689. PrjAnnualbudget annualbudget = prjAnnualbudgetService.getAnnualBudget(paraMap);
  1690. StaBudgetapproval xmFyInfo = staBudgetapprovalService.getByjInfo(annualbudget.getId());
  1691. if (xmFyInfo == null) {
  1692. StaBudgetapproval staBudgetapproval = new StaBudgetapproval();
  1693. staBudgetapproval.setYsje(0.0);
  1694. staBudgetapproval.setSqje(0.0);
  1695. staBudgetapproval.setBzje(0.0);
  1696. staBudgetapproval.setNys(annualbudget.getId());
  1697. return staBudgetapproval;
  1698. } else {
  1699. if (xmFyInfo.getYsje() == null) {
  1700. xmFyInfo.setYsje(0.0);
  1701. }
  1702. if (xmFyInfo.getSqje() == null) {
  1703. xmFyInfo.setSqje(0.0);
  1704. }
  1705. if (xmFyInfo.getBzje() == null) {
  1706. xmFyInfo.setBzje(0.0);
  1707. xmFyInfo.setNys(annualbudget.getId());
  1708. }
  1709. return xmFyInfo;
  1710. }
  1711. }
  1712. /**
  1713. * 项目分项费用信息
  1714. *
  1715. * @return
  1716. */
  1717. @ResponseBody
  1718. @RequestMapping(value = "/getKmFyInfo/{nys}/{fylb}", method = RequestMethod.POST)
  1719. public StaBudgetapproval getKmFyInfo(@PathVariable Integer nys, @PathVariable Integer fylb,
  1720. @RequestParam(required = false,defaultValue = "",value = "fylbmc")String fymc) {
  1721. Map<String, String> paraMap = new HashMap<>();
  1722. paraMap.put("fylb1", fylb.toString());
  1723. paraMap.put("nys1", nys.toString());
  1724. paraMap.put("fylb", fylb.toString());
  1725. paraMap.put("nys", nys.toString());
  1726. StaBudgetapproval kmFyInfo = staBudgetapprovalService.getKmFyInfo(paraMap);
  1727. // 申请金额总额 开始
  1728. if (kmFyInfo != null ){
  1729. Map<String, Object> maps = new HashMap<>();
  1730. maps.put("nys",nys);
  1731. maps.put("fymc",fymc);
  1732. Double xxzje = staBudgetapprovalService.getSqfyze(maps).getSqje();
  1733. Double byjzje = staBudgetapprovalService.getByjze(maps).getSqje();
  1734. Double byjbzze = staBudgetapprovalService.getByjze(maps).getBzje();
  1735. kmFyInfo.setSqje(xxzje);
  1736. kmFyInfo.setByj(byjzje);
  1737. kmFyInfo.setByjbzze(byjbzze);
  1738. Double sqe = staBudgetapprovalService.getSqe(maps).getSqje();
  1739. kmFyInfo.setSqje(sqe);
  1740. // 申请金额总额 结束
  1741. }
  1742. // 获取科目费用小项xmzys
  1743. Double kmXmzys=prjAnnualbudgetdetailService.getKmXmzys(nys,fymc);
  1744. Map<String, Object> maps = new HashMap<>();
  1745. maps.put("nys",nys);
  1746. maps.put("fymc",fymc);
  1747. if (kmFyInfo == null) {
  1748. kmFyInfo = new StaBudgetapproval();
  1749. kmFyInfo.setSqje(0.0);
  1750. kmFyInfo.setBzje(0.0);
  1751. } else {
  1752. if (kmFyInfo.getSqje() == null)
  1753. kmFyInfo.setSqje(0.0);
  1754. if (kmFyInfo.getBzje() == null)
  1755. kmFyInfo.setBzje(0.0);
  1756. kmFyInfo.setXmzys(kmXmzys);
  1757. }
  1758. return kmFyInfo;
  1759. }
  1760. @RequestMapping(value = "/forByjConnect/{id}", method = RequestMethod.GET)
  1761. public String forByjConnect(Model model, @PathVariable Integer id) {
  1762. StaBudgetapproval budgetapproval = staBudgetapprovalService.getFysqById(id);
  1763. model.addAttribute("budgetapproval", budgetapproval);
  1764. return "stabudgetapproval/connect_project";
  1765. }
  1766. @ResponseBody
  1767. @RequestMapping(value = "/doByjConnect", method = RequestMethod.POST)
  1768. public BaseResult doByjConnect(@RequestBody String strData) {
  1769. StaBudgetapproval fysq = JsonTool.parseObject(strData, StaBudgetapproval.class);
  1770. if (fysq.getSpzt().equals("审批结束")) {
  1771. fysq.setBh("");
  1772. }
  1773. int num = staBudgetapprovalService.updateSpzt(fysq);
  1774. if (num > 0) {
  1775. return BaseResult.success("保存成功!");
  1776. } else {
  1777. return BaseResult.failure("保存失败!");
  1778. }
  1779. }
  1780. /**
  1781. * 获取年度费用申请预算列表
  1782. *
  1783. * @return
  1784. */
  1785. @ResponseBody
  1786. @RequestMapping(value = "/getSubNode/{nys}", method = RequestMethod.GET)
  1787. public Object getSubNode(@PathVariable Integer nys,
  1788. @RequestParam Integer page,
  1789. @RequestParam Integer limit,
  1790. @RequestParam(required = false, value = "mc") String mc
  1791. ) {
  1792. Integer count = prjAnnualbudgetdetailService.getSubNodeCount(nys, page, limit);
  1793. List<PrjAnnualbudgetdetail> list = prjAnnualbudgetdetailService.getSubNode(nys, page, limit, mc);
  1794. Map<String, Object> resultMap = new HashMap<>();
  1795. resultMap.put("code", 0);
  1796. resultMap.put("msg", "");
  1797. resultMap.put("count", count);
  1798. resultMap.put("data", list);
  1799. return resultMap;
  1800. }
  1801. /**
  1802. * 未关联项目备用金列表
  1803. *
  1804. * @return
  1805. */
  1806. @ResponseBody
  1807. @PostMapping("/unassociated/{fromdata}")
  1808. public BaseResult unassociated(@PathVariable String fromdata,
  1809. @RequestParam("page") Integer pageNum,
  1810. @RequestParam("limit") Integer pageSize) {
  1811. try {
  1812. PageHelper.startPage(pageNum,pageSize);
  1813. Map<String, String> map = new HashMap<>();
  1814. ObjectMapper objectMapper = new ObjectMapper();
  1815. FormData formData = objectMapper.readValue(fromdata, FormData.class);
  1816. if (!formData.getNf().equals("0")){
  1817. String[] dk = formData.getNf().split(",");
  1818. if (dk.length>1){
  1819. map.put("nf",dk[1]);
  1820. }else {
  1821. map.put("nf", formData.getNf());
  1822. }
  1823. }else {
  1824. map.put("nf","");
  1825. }
  1826. map.put("bh", formData.getBh());
  1827. map.put("xmmc", formData.getXmmc());
  1828. List<StaBudgetapproval> list = staBudgetapprovalService.unassociated(map);
  1829. PageInfo<StaBudgetapproval> pageinfo = new PageInfo<>(list);
  1830. //取出查询结果
  1831. List<StaBudgetapproval> rows = pageinfo.getList();
  1832. int total = (int) pageinfo.getTotal();
  1833. Map<String, Object> result = new HashMap<>();
  1834. result.put(RESULT_ROWS, rows);
  1835. result.put(RESULT_TOTAL, total);
  1836. return BaseResult.success(result);
  1837. } catch (Exception e) {
  1838. e.printStackTrace();
  1839. return BaseResult.failure("处理转换异常");
  1840. }
  1841. }
  1842. /**
  1843. * 审批列表获取科研编号
  1844. *
  1845. * @return
  1846. */
  1847. @ResponseBody
  1848. @PostMapping("/getBhById/{id}")
  1849. public BaseResult getBhById(@PathVariable String id) {
  1850. String bh = staBudgetapprovalService.getBhById(id);
  1851. return BaseResult.success(bh);
  1852. }
  1853. /**
  1854. * 获取项目总预算
  1855. *
  1856. * @return
  1857. */
  1858. @ResponseBody
  1859. @PostMapping("/getXMZYS/{id}")
  1860. public BaseResult getXMZYS(@PathVariable String id) {
  1861. Double xmzys = prjAnnualbudgetdetailService.getXMZYS(id);
  1862. return BaseResult.success(xmzys);
  1863. }
  1864. @ApiOperation(value = "页面初始化", notes = "页面初始化")
  1865. @RequestMapping(value = "/updateSsbm", method = RequestMethod.GET)
  1866. public String updateSsbm(Model model ,@RequestParam Integer id){
  1867. model.addAttribute("dept",sysDeptInfoService.list());
  1868. if (id != null ){
  1869. StaBudgetapproval staBudgetapproval = staBudgetapprovalService.queryById(id);
  1870. model.addAttribute("sta",staBudgetapproval);
  1871. return "stabudgetapproval/bmbg";
  1872. }else {
  1873. return "数据异常,请联系管理员";
  1874. }
  1875. }
  1876. @ResponseBody
  1877. @RequestMapping(value = "bgbm",method = RequestMethod.POST)
  1878. public BaseResult bgbm(@RequestBody String formData){
  1879. // 解析JSON 为对象
  1880. StaBudgetapproval sta = JsonTool.parseObject(formData,StaBudgetapproval.class);
  1881. StaBudgetapproval staBudgetapproval = staBudgetapprovalService.queryById(sta.getId());
  1882. // 增加审批列表留痕选项
  1883. // 获取当前系统时间
  1884. // 转换时间格式
  1885. Date data = new Date();
  1886. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  1887. // 审批列表记录
  1888. if (staBudgetapproval != null){
  1889. staBudgetapproval.setSsbm(Integer.parseInt(sta.getSsbmmc()));
  1890. int num = staBudgetapprovalService.updatebmbg(staBudgetapproval);
  1891. if (num > 0){
  1892. PrjApproverecord prjApproverecord = new PrjApproverecord();
  1893. prjApproverecord.setTablename("sta_BudgetApproval");
  1894. prjApproverecord.setXmid(staBudgetapproval.getXmid());
  1895. prjApproverecord.setYj( "项目名称:"+staBudgetapproval.getXmmc()+",ERP编号:"+staBudgetapproval.getErpbh()+","+"'部门'从'"+
  1896. staBudgetapproval.getSsbmmc()+"'转移至'"+sta.getSsbmmc()+","+
  1897. ",操作员:"+
  1898. sysUserInfoService.queryById(getSysUserId()).getName());
  1899. prjApproverecord.setSfsjsh(true);
  1900. prjApproverecord.setSjshr(getSysUserId());
  1901. prjApproverecord.setShsj(format.format(data));
  1902. prjApproverecord.setTjsj(format.format(data));
  1903. prjApproverecord.setTjr(getSysUserId());
  1904. prjApproverecord.setShr(getSysUserId());
  1905. prjApproverecord.setSpcz("项目转移");
  1906. prjApproverecord.setXm(staBudgetapproval.getXmmc());
  1907. prjApproverecord.setZt("已完成");
  1908. prjApproverecord.setWc(true);
  1909. int muns = prjApproverecordService.insert(prjApproverecord);
  1910. if (muns > 0){
  1911. return BaseResult.success("'"+staBudgetapproval.getErpbh()+"'部门转移成功!");
  1912. }
  1913. }
  1914. }
  1915. return BaseResult.failure(-1, "数据转移失败!");
  1916. }
  1917. }