package com.liang.controller; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.liang.common.JsonTool; import com.liang.common.base.BaseController; import com.liang.common.base.BaseResult; import com.liang.common.utils.WordUtils; import com.liang.entity.*; import com.liang.service.*; //import com.liang.vo.service.*; import io.swagger.annotations.ApiOperation; import org.json.JSONException; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.*; /** * (StaBudgetapproval)表控制层 * * @author makejava * @since 2023-04-14 10:54:58 */ @Controller @RequestMapping("staBudgetapproval") public class StaBudgetapprovalController extends BaseController { /** * 服务对象 */ @Resource private StaBudgetapprovalService staBudgetapprovalService; @Resource private SysDictInfoService sysDictInfoService; @Resource private BaseProjecttypeService projecttypeService; @Resource private SysPostInfoService sysPostInfoService; @Resource private PrjApproverecordService prjApproverecordService; @Resource private PrjProjectService prjProjectService; @Resource private PrjAnnualbudgetService prjAnnualbudgetService; @Resource private PrjAnnualbudgetdetailService prjAnnualbudgetdetailService; @Resource private CyyService cyyService; @Resource private SysUserInfoService sysUserInfoService; /** * 分页查询 * * @param staBudgetapproval 筛选条件 * @param pageRequest 分页对象 * @return 查询结果 */ @GetMapping public ResponseEntity> queryByPage(StaBudgetapproval staBudgetapproval, PageRequest pageRequest) { return ResponseEntity.ok(this.staBudgetapprovalService.queryByPage(staBudgetapproval, pageRequest)); } /** * 通过主键查询单条数据 * * @param id 主键 * @return 单条数据 */ @GetMapping("{id}") public ResponseEntity queryById(@PathVariable("id") Integer id) { return ResponseEntity.ok(this.staBudgetapprovalService.queryById(id)); } /** * 删除数据 * * @param id 主键 * @return 删除是否成功 */ @DeleteMapping public ResponseEntity deleteById(Integer id) { return ResponseEntity.ok(this.staBudgetapprovalService.deleteById(id)); } /** * 列表初始化 * @param model * @return */ @ApiOperation(value = "页面初始化", notes = "页面初始化") @RequestMapping(value = "/init_apply", method = RequestMethod.GET) public String init_apply(Model model) { //审批状态 List> approveList = sysDictInfoService.queryByCode("approve_status"); model.addAttribute("approveList", approveList); //项目类型 List> xmlxList = projecttypeService.getXMLX(); model.addAttribute("xmlxList", xmlxList); //年份 List yearList = staBudgetapprovalService.getYearList(); model.addAttribute("yearList", yearList); //当前用户ID model.addAttribute("userId", getSysUserId()); return "stabudgetapproval/list_apply"; } /** * 费用申请列 * @return */ @ResponseBody @RequestMapping(value = "/list_apply", method = RequestMethod.POST) public BaseResult list_apply(@RequestParam("page") Integer pageNum, @RequestParam("limit") Integer pageSize, @RequestParam(required = false, defaultValue = "", value = "sqmc") String sqmc, @RequestParam(required = false, defaultValue = "", value = "fylb") String fylb, @RequestParam(required = false, defaultValue = "", value = "sqr") String sqr, @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh, @RequestParam(required = false, defaultValue = "", value = "spzt") String spzt, @RequestParam(required = false, defaultValue = "", value = "bh") String bh, @RequestParam(required = false, defaultValue = "", value = "xmlx") String xmlx, @RequestParam(required = false, defaultValue = "", value = "ssbmmc") String ssbmmc, @RequestParam(required = false, defaultValue = "", value = "dkyfzr") String dkyfzr, @RequestParam(required = false, defaultValue = "", value = "nf") String nf, @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName, @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder) { SysUserInfo userInfo = getSysUserInfo(); List postName = sysUserInfoService.getPostNameByUserId(userInfo.getUserId()); String post=""; if(postName.size()>0){ for (int i = 0; i < postName.size(); i++) { if("科研专责".equals(postName.get(i))){ post="过"; } } } PageHelper.startPage(pageNum, pageSize); Map paraMap = new HashMap<>(); paraMap.put("sortName", sortName); paraMap.put("sortOrder", sortOrder); paraMap.put("sqmc", sqmc); paraMap.put("sqr", sqr); paraMap.put("fylb", fylb); paraMap.put("erpbh", erpbh); paraMap.put("spzt", spzt); paraMap.put("bh", bh); paraMap.put("xmlx", xmlx); paraMap.put("ssbmmc", ssbmmc); paraMap.put("dkyfzr", dkyfzr); paraMap.put("nf", nf); if(!userInfo.getAccount().equals("admin")){ if(!"过".equals(post)){ paraMap.put("userId", userInfo.getUserId().toString()); } } List list = staBudgetapprovalService.getFysqList(paraMap); PageInfo pageinfo = new PageInfo<>(list); //取出查询结果 List rows = pageinfo.getList(); int total = (int) pageinfo.getTotal(); Map result = new HashMap<>(); result.put(RESULT_ROWS, rows); result.put(RESULT_TOTAL, total); return BaseResult.success(result); } /** * 新建数据 * * @return */ @RequestMapping(value = "/forApplyAdd", method = RequestMethod.GET) public String forApplyAdd(Model model) { SysUserInfo userInfo = getSysUserInfo(); model.addAttribute("userInfo", userInfo); return "annualbudget/add_apply"; } /** * 保存数据(费用申请) * * @return */ @ResponseBody @RequestMapping(value = "/doAddApply", method = RequestMethod.POST) public BaseResult doAddApply(StaBudgetapproval budgetapproval) { budgetapproval.setSqrxm(getSysUserInfo().getName()); budgetapproval.setSqr(getSysUserId()); int num = staBudgetapprovalService.insert(budgetapproval); if (num > 0) { return BaseResult.success("费用申请成功!", budgetapproval); } else { return BaseResult.failure("费用申请失败!"); } }/** * 保存数据(备用金) * * @return */ @ResponseBody @RequestMapping(value = "/doAddImprest", method = RequestMethod.POST) public BaseResult doAddImprest(StaBudgetapproval budgetapproval) { budgetapproval.setSqrxm(getSysUserInfo().getName()); budgetapproval.setSqr(getSysUserId()); int num = staBudgetapprovalService.insertImprest(budgetapproval); if (num > 0) { return BaseResult.success("备用金申请成功!", budgetapproval); } else { return BaseResult.failure("备用金申请失败!"); } } /** * 编辑数据(基本信息) * * @return */ @ResponseBody @RequestMapping(value = "/TJrevokeApprove", method = RequestMethod.POST) public BaseResult TJrevokeApprove(@RequestBody String data) { // PrjProject rws = JsonTool.parseObject(data, PrjProject.class); StaBudgetapproval fysq = JsonTool.parseObject(data, StaBudgetapproval.class); int num; int temp; num = staBudgetapprovalService.tjrevokeApprove(fysq); //修改审批列表里的状态为完成 temp = prjApproverecordService.updateRevokeRecord(fysq.getId()); //return BaseResult.success(num+"撤销成功!"); if (num > 0 && temp >0) { return BaseResult.success("撤销成功!"); } else { return BaseResult.failure("撤销失败!"); } } /** * 编辑数据(费用申请) * * @return */ @ResponseBody @RequestMapping(value = "/doUpdateApply", method = RequestMethod.POST) public BaseResult doUpdateApply(StaBudgetapproval budgetapproval) { int num = staBudgetapprovalService.update(budgetapproval); if (num > 0) { return BaseResult.success("费用申请更新成功!"); } else { return BaseResult.failure("费用申请更新失败!"); } } /** * 编辑数据(备用金申请) * * @return */ @ResponseBody @RequestMapping(value = "/doUpdateImprest", method = RequestMethod.POST) public BaseResult doUpdateImprest(StaBudgetapproval budgetapproval) { int num = staBudgetapprovalService.updateImprest(budgetapproval); if (num > 0) { return BaseResult.success("备用金申请更新成功!"); } else { return BaseResult.failure("备用金申请更新失败!"); } } @ResponseBody @RequestMapping(value = "/ImprestConnect", method = RequestMethod.POST) public BaseResult ImprestConnect(StaBudgetapproval budgetapproval) { int num = staBudgetapprovalService.ImprestConnect(budgetapproval); if (num > 0) { return BaseResult.success("备用金项目关联成功!"); } else { return BaseResult.failure("备用金项目关联失败!"); } } @ResponseBody @RequestMapping(value = "/DisConnect/{id}", method = RequestMethod.POST) public BaseResult DisConnect(@PathVariable Integer id) { StaBudgetapproval budgetapproval = new StaBudgetapproval(); budgetapproval.setId(id); int num = staBudgetapprovalService.ImprestConnect(budgetapproval); if (num > 0) { return BaseResult.success("备用金项目取消成功!"); } else { return BaseResult.failure("备用金项目取消失败!"); } } /** * 编辑数据 * @return */ @RequestMapping(value = "/forApplyUpdate/{id}", method = RequestMethod.GET) public String forApplyUpdate(Model model, @PathVariable Integer id) { StaBudgetapproval budgetapproval = staBudgetapprovalService.getFysqById(id); model.addAttribute("budgetapproval", budgetapproval); //费用信息 StaBudgetapproval xmFyInfo = staBudgetapprovalService.getXmFyInfo(budgetapproval.getNys()); if(xmFyInfo.getYsje() == null) xmFyInfo.setYsje(0.0); if(xmFyInfo.getSqje() == null) xmFyInfo.setSqje(0.0); if(xmFyInfo.getBzje() == null) xmFyInfo.setBzje(0.0); model.addAttribute("xmFyInfo", xmFyInfo); Map paraMap = new HashMap<>(); paraMap.put("nys1", budgetapproval.getNys().toString()); paraMap.put("fylb1", budgetapproval.getFylb().toString()); paraMap.put("nys", budgetapproval.getNys().toString()); paraMap.put("fylb", budgetapproval.getFylb().toString()); StaBudgetapproval kmFyInfo = staBudgetapprovalService.getKmFyInfo(paraMap); if(kmFyInfo.getYsje() == null) kmFyInfo.setYsje(0.0); if(kmFyInfo.getSqje() == null) kmFyInfo.setSqje(0.0); if(kmFyInfo.getBzje() == null) kmFyInfo.setBzje(0.0); model.addAttribute("kmFyInfo", kmFyInfo); return "stabudgetapproval/update_apply"; } /** * 浏览数据 * @return */ @RequestMapping(value = "/forApplyView/{id}", method = RequestMethod.GET) public String forApplyView(Model model, @PathVariable Integer id) { StaBudgetapproval budgetapproval = staBudgetapprovalService.getFysqById(id); model.addAttribute("budgetapproval", budgetapproval); //费用信息 if(budgetapproval.getSfbyj() == false){ StaBudgetapproval xmFyInfo = staBudgetapprovalService.getXmFyInfo(budgetapproval.getNys()); if(xmFyInfo.getYsje() == null) xmFyInfo.setYsje(0.0); if(xmFyInfo.getSqje() == null) xmFyInfo.setSqje(0.0); if(xmFyInfo.getBzje() == null) xmFyInfo.setBzje(0.0); model.addAttribute("xmFyInfo", xmFyInfo); Map paraMap = new HashMap<>(); paraMap.put("nys1", budgetapproval.getNys().toString()); paraMap.put("fylb1", budgetapproval.getFylb().toString()); paraMap.put("nys", budgetapproval.getNys().toString()); paraMap.put("fylb", budgetapproval.getFylb().toString()); StaBudgetapproval kmFyInfo = staBudgetapprovalService.getKmFyInfo(paraMap); if(kmFyInfo.getYsje() == null) kmFyInfo.setYsje(0.0); if(kmFyInfo.getSqje() == null) kmFyInfo.setSqje(0.0); if(kmFyInfo.getBzje() == null) kmFyInfo.setBzje(0.0); model.addAttribute("kmFyInfo", kmFyInfo); } if (budgetapproval.getSfbyj() == true) { return "stabudgetapproval/view_imprest"; }else{ return "stabudgetapproval/view_apply"; } } /** * 删除数据 * @param * @return */ @RequestMapping(value = "/deleteApply/{id}", method = RequestMethod.GET) @ResponseBody public BaseResult deleteApply(@PathVariable Integer id) { boolean flag = staBudgetapprovalService.deleteApplyById(id); if (flag) { return BaseResult.success("删除成功!"); } else { return BaseResult.failure("删除失败!"); } } /** * 批量删除 * @param data * @return */ @RequestMapping(value = "/batchDelete", method = RequestMethod.POST) @ResponseBody public BaseResult batchDelete(@RequestBody String data) { List prjList = JsonTool.parseArray(data, StaBudgetapproval.class); List idList = new ArrayList<>(); prjList.forEach(item -> { idList.add(item.getId()); }); int num = staBudgetapprovalService.batchDeleteApply(idList); if (num > 0) { return BaseResult.success("批量删除成功!"); } else { return BaseResult.failure("批量删除失败!"); } } /** * 项目经费管理板块下的备用金申请页面 * @param model * @return */ @RequestMapping(value = "/init_my", method = RequestMethod.GET) public String init_my(Model model){ //审批状态 List> approveList = sysDictInfoService.queryByCode("approve_status"); model.addAttribute("approveList", approveList); //年份 List yearList = staBudgetapprovalService.getYearList(); model.addAttribute("yearList", yearList); //当前用户ID model.addAttribute("userId", getSysUserId()); return "stabudgetapproval/list_imprest_my"; } /** * 列表初始化 * @param model * @return */ @ApiOperation(value = "页面初始化", notes = "页面初始化") @RequestMapping(value = "/init_imprest", method = RequestMethod.GET) public String init_imprest(Model model) { //审批状态 List> approveList = sysDictInfoService.queryByCode("approve_status"); model.addAttribute("approveList", approveList); //年份 List yearList = staBudgetapprovalService.getYearList(); model.addAttribute("yearList", yearList); //当前用户ID model.addAttribute("userId", getSysUserId()); return "stabudgetapproval/list_imprest"; } /** * 备用金申请 * @return */ @ResponseBody @RequestMapping(value = "/list_imprest", method = RequestMethod.POST) public BaseResult list_imprest(@RequestParam("page") Integer pageNum, @RequestParam("limit") Integer pageSize, @RequestParam(required = false, defaultValue = "", value = "spzt") String spzt, @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh, @RequestParam(required = false, defaultValue = "", value = "xmmc") String xmmc, @RequestParam(required = false, defaultValue = "", value = "bh") String bh, @RequestParam(required = false, defaultValue = "", value = "nf") String nf, @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName, @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder) { SysUserInfo userInfo = getSysUserInfo(); List postName = sysUserInfoService.getPostNameByUserId(userInfo.getUserId()); String post=""; if(postName.size()>0){ for (int i = 0; i < postName.size(); i++) { if("科研专责".equals(postName.get(i))){ post="过"; } } } PageHelper.startPage(pageNum, pageSize); Map paraMap = new HashMap<>(); paraMap.put("sortName", sortName); paraMap.put("sortOrder", sortOrder); paraMap.put("spzt", spzt); paraMap.put("erpbh", erpbh); paraMap.put("xmmc", xmmc); paraMap.put("bh", bh); paraMap.put("nf", nf); if(!userInfo.getAccount().equals("admin")){ if(!"过".equals(post)){ paraMap.put("userId", userInfo.getUserId().toString()); } } List list = staBudgetapprovalService.getByjsqList(paraMap); PageInfo pageinfo = new PageInfo<>(list); //取出查询结果 List rows = pageinfo.getList(); int total = (int) pageinfo.getTotal(); Map result = new HashMap<>(); result.put(RESULT_ROWS, rows); result.put(RESULT_TOTAL, total); return BaseResult.success(result); } /** * 备用金申请 * @return */ @ResponseBody @RequestMapping(value = "/list_imprest1", method = RequestMethod.POST) public BaseResult list_imprest1(@RequestParam("page") Integer pageNum, @RequestParam("limit") Integer pageSize, @RequestParam(required = false, defaultValue = "", value = "spzt") String spzt, @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh, @RequestParam(required = false, defaultValue = "", value = "sqmc") String sqmc, @RequestParam(required = false, defaultValue = "", value = "bh") String bh, @RequestParam(required = false, defaultValue = "", value = "nf") String nf, @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName, @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder) { SysUserInfo userInfo = getSysUserInfo(); PageHelper.startPage(pageNum, pageSize); Map paraMap = new HashMap<>(); paraMap.put("sortName", sortName); paraMap.put("sortOrder", sortOrder); paraMap.put("spzt", spzt); paraMap.put("erpbh", erpbh); paraMap.put("sqmc", sqmc); paraMap.put("bh", bh); paraMap.put("nf", nf); List list = staBudgetapprovalService.getByjsqList(paraMap); PageInfo pageinfo = new PageInfo<>(list); //取出查询结果 List rows = pageinfo.getList(); int total = (int) pageinfo.getTotal(); Map result = new HashMap<>(); result.put(RESULT_ROWS, rows); result.put(RESULT_TOTAL, total); return BaseResult.success(result); } /** * 新建数据 * * @return */ @RequestMapping(value = "/forImprestAdd", method = RequestMethod.GET) public String forImprestAdd(Model model) { SysUserInfo userInfo = getSysUserInfo(); model.addAttribute("userInfo", userInfo); return "stabudgetapproval/add_imprest"; } /** * 编辑数据 * @return */ @RequestMapping(value = "/forImprestUpdate/{id}", method = RequestMethod.GET) public String forImprestUpdate(Model model, @PathVariable Integer id) { StaBudgetapproval budgetapproval = staBudgetapprovalService.getFysqById(id); model.addAttribute("budgetapproval", budgetapproval); return "stabudgetapproval/update_imprest"; } /** * 浏览数据(备用金) * @return */ @RequestMapping(value = "/forImprestView/{id}", method = RequestMethod.GET) public String forImprestView(Model model, @PathVariable Integer id) { StaBudgetapproval budgetapproval = staBudgetapprovalService.getFysqById(id); model.addAttribute("budgetapproval", budgetapproval); return "stabudgetapproval/view_imprest"; } /** * 删除数据 * @param * @return */ @RequestMapping(value = "/deleteImprest/{id}", method = RequestMethod.GET) @ResponseBody public BaseResult deleteImprest(@PathVariable Integer id) { boolean flag = staBudgetapprovalService.deleteApplyById(id); if (flag) { return BaseResult.success("删除成功!"); } else { return BaseResult.failure("删除失败!"); } } /** * 列表初始化 * @param model * @return */ @ApiOperation(value = "页面初始化", notes = "页面初始化") @RequestMapping(value = "/init_reported", method = RequestMethod.GET) public String init_reported(Model model) { //审批状态 List> approveList = sysDictInfoService.queryByCode("approve_status"); model.addAttribute("approveList", approveList); //项目类型 List> xmlxList = projecttypeService.getXMLX(); model.addAttribute("xmlxList", xmlxList); //年份 List yearList = staBudgetapprovalService.getYearList(); model.addAttribute("yearList", yearList); return "stabudgetapproval/list_reported"; } /** * 已报账费用申请列表 * @return */ @ResponseBody @RequestMapping(value = "/list_reported", method = RequestMethod.POST) public BaseResult list_reported(@RequestParam("page") Integer pageNum, @RequestParam("limit") Integer pageSize, @RequestParam(required = false, defaultValue = "", value = "sqmc") String sqmc, @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh, @RequestParam(required = false, defaultValue = "", value = "bh") String bh, @RequestParam(required = false, defaultValue = "", value = "xmlx") String xmlx, @RequestParam(required = false, defaultValue = "", value = "ssbmmc") String ssbmmc, @RequestParam(required = false, defaultValue = "", value = "dkyfzr") String dkyfzr, @RequestParam(required = false, defaultValue = "", value = "nf") String nf, @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName, @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder) { SysUserInfo userInfo = getSysUserInfo(); List postName = sysUserInfoService.getPostNameByUserId(userInfo.getUserId()); String post=""; if(postName.size()>0){ for (int i = 0; i < postName.size(); i++) { if("科研专责".equals(postName.get(i))){ post="过"; } } } PageHelper.startPage(pageNum, pageSize); Map paraMap = new HashMap<>(); paraMap.put("sortName", sortName); paraMap.put("sortOrder", sortOrder); paraMap.put("sqmc", sqmc); paraMap.put("erpbh", erpbh); paraMap.put("bh", bh); paraMap.put("xmlx", xmlx); paraMap.put("dkyfzr", dkyfzr); paraMap.put("ssbmmc", ssbmmc); paraMap.put("nf", nf); if(!userInfo.getAccount().equals("admin")){ if(!"过".equals(post)){ paraMap.put("userId", userInfo.getUserId().toString()); } } List list = staBudgetapprovalService.getYbzFysqList(paraMap); PageInfo pageinfo = new PageInfo<>(list); //取出查询结果 List rows = pageinfo.getList(); int total = (int) pageinfo.getTotal(); Map result = new HashMap<>(); result.put(RESULT_ROWS, rows); result.put(RESULT_TOTAL, total); return BaseResult.success(result); } /** * 列表初始化 * @param model * @return */ @ApiOperation(value = "页面初始化", notes = "页面初始化") @RequestMapping(value = "/init_allapply", method = RequestMethod.GET) public String init_allapply(Model model) { //审批状态 List> approveList = sysDictInfoService.queryByCode("approve_status"); model.addAttribute("approveList", approveList); //项目类型 List> xmlxList = projecttypeService.getXMLX(); model.addAttribute("xmlxList", xmlxList); //年份 List yearList = staBudgetapprovalService.getYearList(); model.addAttribute("yearList", yearList); //当前用户ID model.addAttribute("userId", getSysUserId()); return "stafeemanage/list_allapply"; } /** * 全部费用申请(审批完成) * @return */ @ResponseBody @RequestMapping(value = "/list_allApply", method = RequestMethod.POST) public BaseResult list_allApply(@RequestParam("page") Integer pageNum, @RequestParam("limit") Integer pageSize, @RequestParam(required = false, defaultValue = "", value = "bh") String bh, @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh, @RequestParam(required = false, defaultValue = "", value = "xmlx") String xmlx, @RequestParam(required = false, defaultValue = "", value = "fylb") String fylb, @RequestParam(required = false, defaultValue = "", value = "sqr") String sqr, @RequestParam(required = false, defaultValue = "", value = "sfbyj") String sfbyj, @RequestParam(required = false, defaultValue = "", value = "xmmc") String xmmc, @RequestParam(required = false, defaultValue = "", value = "ssbmmc") String ssbmmc, @RequestParam(required = false, defaultValue = "", value = "nf") String nf, @RequestParam(required = false, defaultValue = "", value = "spzt") String spzt, @RequestParam(required = false, defaultValue = "", value = "sfbz") String sfbz, @RequestParam(required = false, defaultValue = "", value = "dkyfzr") String dkyfzr, @RequestParam(required = false, defaultValue = "", value = "sqsj1") String sqsj1, @RequestParam(required = false, defaultValue = "", value = "sqsj2") String sqsj2, @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName, @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder) { PageHelper.startPage(pageNum, pageSize); Map paraMap = new HashMap<>(); paraMap.put("sortName", sortName); paraMap.put("sortOrder", sortOrder); paraMap.put("bh", bh); paraMap.put("erpbh", erpbh); paraMap.put("xmlx", xmlx); paraMap.put("sfbyj", sfbyj); paraMap.put("xmmc", xmmc); paraMap.put("ssbmmc", ssbmmc); paraMap.put("nf", nf); paraMap.put("spzt", spzt); paraMap.put("sfbz", sfbz); paraMap.put("dkyfzr", dkyfzr); paraMap.put("sqsj1", sqsj1); paraMap.put("sqsj2", sqsj2); paraMap.put("fylb", fylb); paraMap.put("sqr", sqr); List list = staBudgetapprovalService.getAllApplyList(paraMap); PageInfo pageinfo = new PageInfo<>(list); //取出查询结果 List rows = pageinfo.getList(); int total = (int) pageinfo.getTotal(); Map result = new HashMap<>(); result.put(RESULT_ROWS, rows); result.put(RESULT_TOTAL, total); return BaseResult.success(result); } /** * 浏览数据 * @return */ @RequestMapping(value = "/forAllApplyView", method = RequestMethod.GET) public String forAllApplyView() { return "stafeemanage/view"; } /** * 列表初始化(审批中的费用申请) * @param model * @return */ @ApiOperation(value = "页面初始化", notes = "页面初始化") @RequestMapping(value = "/init_approving", method = RequestMethod.GET) public String init_approving(Model model) { //审批状态 List> approveList = sysDictInfoService.queryByCode("approve_status"); model.addAttribute("approveList", approveList); //项目类型 List> xmlxList = projecttypeService.getXMLX(); model.addAttribute("xmlxList", xmlxList); //年份 List yearList = staBudgetapprovalService.getYearList(); model.addAttribute("yearList", yearList); return "stafeemanage/list_approving"; } /** * 审批中的费用申请 * @return */ @ResponseBody @RequestMapping(value = "/list_approving", method = RequestMethod.POST) public BaseResult list_approving(@RequestParam("page") Integer pageNum, @RequestParam("limit") Integer pageSize, @RequestParam(required = false, defaultValue = "", value = "bh") String bh, @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh, @RequestParam(required = false, defaultValue = "", value = "xmlx") String xmlx, @RequestParam(required = false, defaultValue = "", value = "sfbyj") String sfbyj, @RequestParam(required = false, defaultValue = "", value = "xmmc") String xmmc, @RequestParam(required = false, defaultValue = "", value = "ssbmmc") String ssbmmc, @RequestParam(required = false, defaultValue = "", value = "nf") String nf, @RequestParam(required = false, defaultValue = "", value = "spzt") String spzt, @RequestParam(required = false, defaultValue = "", value = "dkyfzr") String dkyfzr, @RequestParam(required = false, defaultValue = "", value = "sqsj1") String sqsj1, @RequestParam(required = false, defaultValue = "", value = "sqsj2") String sqsj2, @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName, @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder) { PageHelper.startPage(pageNum, pageSize); Map paraMap = new HashMap<>(); paraMap.put("sortName", sortName); paraMap.put("sortOrder", sortOrder); paraMap.put("bh", bh); paraMap.put("erpbh", erpbh); paraMap.put("xmlx", xmlx); paraMap.put("sfbyj", sfbyj); paraMap.put("xmmc", xmmc); paraMap.put("ssbmmc", ssbmmc); paraMap.put("nf", nf); paraMap.put("spzt", spzt); paraMap.put("dkyfzr", dkyfzr); paraMap.put("sqsj1", sqsj1); paraMap.put("sqsj2", sqsj2); List list = staBudgetapprovalService.getApprovingList(paraMap); PageInfo pageinfo = new PageInfo<>(list); //取出查询结果 List rows = pageinfo.getList(); int total = (int) pageinfo.getTotal(); Map result = new HashMap<>(); result.put(RESULT_ROWS, rows); result.put(RESULT_TOTAL, total); return BaseResult.success(result); } /** * 新建数据(提交审批) * * @return */ @RequestMapping(value = "/forApproveAdd", method = RequestMethod.GET) public String forApproveAdd(Model model) { //部门主任岗位 Map paraMap = new HashMap<>(); //系统当前用户 SysUserInfo userInfo = getSysUserInfo(); if(userInfo != null && userInfo.getDeptId().equals("52")){ paraMap.put("postName", "副主任"); }else { paraMap.put("postName", "科研负责人"); } SysPostInfo postInfo = sysPostInfoService.getSysPostInfo(paraMap); if(postInfo == null) postInfo = new SysPostInfo(); model.addAttribute("postInfo", postInfo); model.addAttribute("userInfo", userInfo); return "stabudgetapproval/add_approve"; } /** * 新建数据(提交审批) * * @return */ @RequestMapping(value = "/forApproveAdd1", method = RequestMethod.GET) public String forApproveAdd1(Model model) { //部门主任岗位 //岗位 Map paraMap = new HashMap<>(); //系统当前用户 SysUserInfo userInfo = getSysUserInfo(); if(userInfo != null && userInfo.getDeptId().equals("52")){ paraMap.put("postName", "副主任"); }else { paraMap.put("postName", "科研负责人"); } SysPostInfo postInfo= sysPostInfoService.getSysPostInfo(paraMap); if(postInfo == null) postInfo = new SysPostInfo(); model.addAttribute("postInfo", postInfo); model.addAttribute("userInfo", userInfo); return "stabudgetapproval/add_approve1"; } /** * 更新审批状态 * * @return */ @ResponseBody @RequestMapping(value = "/updateSpzt", method = RequestMethod.POST) public BaseResult updateSpzt(@RequestBody String strData) { StaBudgetapproval fysq = JsonTool.parseObject(strData, StaBudgetapproval.class); if(fysq.getSpzt().equals("审批结束")) { DateFormat dateFormat = new SimpleDateFormat("yyyy"); PrjProject project = prjProjectService.queryById(fysq.getXmid()); if (project != null && project.getXmlxmc().indexOf("政府") > 0) { String partBh = "结转类(" + dateFormat.format(new Date()) + ")"; String bh = GetApproveRecordBH(partBh); fysq.setBh(bh); } else { if (fysq.getSqje() < 1000000) { String partBh = "科研类(" + dateFormat.format(new Date()) + ")"; String bh = GetApproveRecordBH(partBh); fysq.setBh(bh); } else { String partBh = "大额科研类(" + dateFormat.format(new Date()) + ")"; String bh = GetApproveRecordBH(partBh); fysq.setBh(bh); } } }else{ fysq.setBh(""); } int num = staBudgetapprovalService.updateSpzt(fysq); if (num > 0) { return BaseResult.success("保存成功!"); } else { return BaseResult.failure("保存失败!"); } } /** * 编辑数据(提交审批) * * @return */ @RequestMapping(value = "/forApproveUpdate/{xmid}/{sqje}", method = RequestMethod.GET) public String forApproveUpdate(Model model, @PathVariable Integer xmid, @PathVariable Double sqje, @RequestParam String spzt) { //系统当前用户 SysUserInfo userInfo = getSysUserInfo(); model.addAttribute("userInfo", userInfo); Map paraMap1 = new HashMap<>(); paraMap1.put("xmid", xmid.toString()); paraMap1.put("zt", spzt); paraMap1.put("wc", "0"); List approveList = prjApproverecordService.getApproveByXmId(paraMap1); if(approveList.size() == 1) { PrjApproverecord approveInfo = approveList.get(0); approveInfo.setSqje(sqje); model.addAttribute("approveInfo", approveInfo); } else { StaBudgetapproval approve = staBudgetapprovalService.queryById(xmid); PrjApproverecord approveInfo = new PrjApproverecord(); approveInfo.setXmid(xmid); approveInfo.setXm(approve.getSqmc()); approveInfo.setSqje(sqje); approveInfo.setZt("数据不匹配"); model.addAttribute("approveInfo", approveInfo); } // List cyyList =cyyService.queryByAccount(String.valueOf(userInfo.getUserId())); // model.addAttribute("cyyList", cyyList); if(spzt.equals("院长审批") || spzt.equals("主管院领导审批") && sqje < 1000000) { return "stabudgetapproval/finish_approve"; } else { //岗位 Map paraMap2 = new HashMap<>(); if(spzt.equals("部门主任审批")) paraMap2.put("postName", "科技项目管理专责"); else if(spzt.equals("科技项目管理专责审批")) paraMap2.put("postName", "科技部部门主任"); else if(spzt.equals("科技部部门主任审批")) paraMap2.put("postName", "主管院领导"); else if(spzt.equals("主管院领导审批")) paraMap2.put("postName", "院长"); else{ paraMap2.put("postName", "部门主任"); } // if (userInfo != null && userInfo.getDeptId().equals("52")) { // paraMap2.put("postName", "副主任"); // } else { // paraMap2.put("postName", "科研负责人"); // } SysPostInfo postInfo = sysPostInfoService.getSysPostInfo(paraMap2); if(postInfo == null) postInfo = new SysPostInfo(); model.addAttribute("postInfo", postInfo); if(spzt.contains("未提交")) return "stabudgetapproval/back_approve"; else return "stabudgetapproval/update_approve"; } } //初始化下拉 @RequestMapping(value = "/init_cyy/{userId}", method = RequestMethod.GET) @ResponseBody public List init_cyy(Model model,@PathVariable Integer userId) { List cyyList =cyyService.queryByAccount(String.valueOf(userId)); return cyyList; } /** * 编辑数据(提交审批) * * @return */ @RequestMapping(value = "/forApproveUpdate1/{xmid}/{sqje}", method = RequestMethod.GET) public String forApproveUpdate1(Model model, @PathVariable Integer xmid, @PathVariable Double sqje, @RequestParam String spzt) { //系统当前用户 SysUserInfo userInfo = getSysUserInfo(); model.addAttribute("userInfo", userInfo); Map paraMap1 = new HashMap<>(); paraMap1.put("xmid", xmid.toString()); paraMap1.put("zt", spzt); paraMap1.put("wc", "0"); List approveList = prjApproverecordService.getApproveByXmId(paraMap1); //改动 if(approveList.size() == 1) {为 if(approveList.size() < 1) { StaBudgetapproval approve = staBudgetapprovalService.queryById(xmid); PrjApproverecord approveInfo = new PrjApproverecord(); approveInfo.setXmid(xmid); approveInfo.setXm(approve.getSqmc()); approveInfo.setSqje(sqje); approveInfo.setZt("数据不匹配"); model.addAttribute("approveInfo", approveInfo); } else { PrjApproverecord approveInfo = approveList.get(approveList.size()-1); approveInfo.setSqje(sqje); model.addAttribute("approveInfo", approveInfo); } if(spzt.equals("院长审批") || spzt.equals("主管院领导审批") && sqje < 1000000) { return "stabudgetapproval/finish_approve1"; } else { //岗位 Map paraMap2 = new HashMap<>(); if(spzt.equals("未提交(返回)")){ if (userInfo != null && userInfo.getDeptId().equals("52")) { paraMap2.put("postName", "副主任"); } else { paraMap2.put("postName", "科研负责人"); } }else if(spzt.equals("部门主任审批")) paraMap2.put("postName", "科技项目管理专责"); else if(spzt.equals("科技项目管理专责审批")) paraMap2.put("postName", "科技部部门主任"); else if(spzt.equals("科技部部门主任审批")) paraMap2.put("postName", "主管院领导"); else if(spzt.equals("主管院领导审批")) paraMap2.put("postName", "院长"); else paraMap2.put("postName", "部门主任"); SysPostInfo postInfo = sysPostInfoService.getSysPostInfo(paraMap2); if(postInfo == null) postInfo = new SysPostInfo(); model.addAttribute("postInfo", postInfo); if(spzt.contains("未提交")) return "stabudgetapproval/back_approve1"; else return "stabudgetapproval/update_approve1"; } } /** * 审批列表 * @return */ @RequestMapping(value = "/forApproveList", method = RequestMethod.GET) public String forApproveList() { return "stabudgetapproval/list_approve"; } @RequestMapping(value = "/forApproveList1", method = RequestMethod.GET) public String forApproveList1() { return "stabudgetapproval/list_approve1"; } /** * 列表初始化 * @param model * @return */ @ApiOperation(value = "页面初始化", notes = "页面初始化") @RequestMapping(value = "/init_feemanage", method = RequestMethod.GET) public String init_feemanage(Model model) { //项目类型 List> xmlxList = projecttypeService.getXMLX(); model.addAttribute("xmlxList", xmlxList); //年份 List yearList = staBudgetapprovalService.getYearList(); model.addAttribute("yearList", yearList); return "stafeemanage/list_feemanage"; } @ResponseBody @RequestMapping(value = "/list_feemanage", method = RequestMethod.POST) public BaseResult list_feemanage(@RequestParam("page") Integer pageNum, @RequestParam("limit") Integer pageSize, @RequestParam(required = false, defaultValue = "", value = "xmmc") String xmmc, @RequestParam(required = false, defaultValue = "", value = "erpbh") String erpbh, @RequestParam(required = false, defaultValue = "", value = "xmlx") String xmlx, @RequestParam(required = false, defaultValue = "", value = "xmfzrxm") String xmfzrxm, @RequestParam(required = false, defaultValue = "", value = "ssbmmc") String ssbmmc, @RequestParam(required = false, defaultValue = "", value = "nf") String nf, @RequestParam(required = false, defaultValue = "", value = "sortName") String sortName, @RequestParam(required = false, defaultValue = "", value = "sortOrder") String sortOrder) { PageHelper.startPage(pageNum, pageSize); Map paraMap = new HashMap<>(); paraMap.put("sortName", sortName); paraMap.put("sortOrder", sortOrder); paraMap.put("xmmc", xmmc); paraMap.put("erpbh", erpbh); paraMap.put("xmlx", xmlx); paraMap.put("xmfzrxm", xmfzrxm); paraMap.put("ssbmmc", ssbmmc); paraMap.put("nf", nf); List list = prjProjectService.getFyglList(paraMap); PageInfo pageinfo = new PageInfo<>(list); //取出查询结果 List rows = pageinfo.getList(); int total = (int) pageinfo.getTotal(); Map result = new HashMap<>(); result.put(RESULT_ROWS, rows); result.put(RESULT_TOTAL, total); return BaseResult.success(result); } @RequestMapping(value = "/init_project/{nf}", method = RequestMethod.GET) public String init_project(Model model,@PathVariable String nf) { //项目类型 List> xmlxList = projecttypeService.getXMLX(); model.addAttribute("xmlxList", xmlxList); model.addAttribute("nf",nf); return "stabudgetapproval/list_project"; } /** * 批量作废 * @param data * @return */ @ResponseBody @RequestMapping(value = "/batchNullify", method = RequestMethod.POST) public BaseResult batchNullify(@RequestBody String data) { List prjList = JsonTool.parseArray(data, StaBudgetapproval.class); List idList = new ArrayList<>(); prjList.forEach(item -> { idList.add(item.getId()); }); int num = staBudgetapprovalService.batchNullify(idList); if (num > 0) { return BaseResult.success("作废成功!"); } else { return BaseResult.failure("作废失败!"); } } private String GetApproveRecordBH(String partBh){ String bh = ""; List bhList = staBudgetapprovalService.queryByBH(partBh); List bh_List=new ArrayList(); if(bhList != null && bhList.size() > 0){ for (int i = 0; i < bhList.size(); i++) { int _tmpBh = Integer.parseInt(bhList.get(i).getBh().substring(bhList.get(i).getBh().length()-4)); bh_List.add(_tmpBh); } if(bh_List.size()>0){ try { Integer max = Collections.max(bh_List); Integer idx = max + 1; bh = partBh + String.format("%04d", idx); } catch (Exception er){ bh = partBh+"1001"; } } else bh = partBh+"1001"; } else bh = partBh+"1001"; return bh; } /** * 获取年度费用申请预算列表 * @return */ @ResponseBody @RequestMapping(value = "/yslist/{nys}", method = RequestMethod.POST) public Object yslist(@PathVariable Integer nys) { List list = prjAnnualbudgetdetailService.getFysqBudgetList(nys); Map resultMap = new HashMap<>(); resultMap.put("code", 0); resultMap.put("msg", ""); resultMap.put("count", list.size()); resultMap.put("data", list); return resultMap; } /** * 项目备用金信息 * @return */ @ResponseBody @RequestMapping(value = "/getXmFyInfo/{rws}/{nf}", method = RequestMethod.POST) public StaBudgetapproval getXmFyInfo(@PathVariable Integer rws, @PathVariable Integer nf) { Map paraMap = new HashMap<>(); paraMap.put("rws", rws.toString()); paraMap.put("nf", nf.toString()); PrjAnnualbudget annualbudget = prjAnnualbudgetService.getAnnualBudget(paraMap); StaBudgetapproval xmFyInfo = staBudgetapprovalService.getByjInfo(annualbudget.getId()); if(xmFyInfo.getYsje() == null) xmFyInfo.setYsje(0.0); if(xmFyInfo.getSqje() == null) xmFyInfo.setSqje(0.0); if(xmFyInfo.getBzje() == null) xmFyInfo.setBzje(0.0); xmFyInfo.setNys(annualbudget.getId()); return xmFyInfo; } /** * 项目分项费用信息 * @return */ @ResponseBody @RequestMapping(value = "/getKmFyInfo/{nys}/{fylb}", method = RequestMethod.POST) public StaBudgetapproval getKmFyInfo(@PathVariable Integer nys, @PathVariable Integer fylb) { Map paraMap = new HashMap<>(); paraMap.put("fylb1", fylb.toString()); paraMap.put("nys1", nys.toString()); paraMap.put("fylb", fylb.toString()); paraMap.put("nys", nys.toString()); StaBudgetapproval kmFyInfo = staBudgetapprovalService.getKmFyInfo(paraMap); if(kmFyInfo == null) { kmFyInfo = new StaBudgetapproval(); kmFyInfo.setSqje(0.0); kmFyInfo.setBzje(0.0); } else { if(kmFyInfo.getSqje() == null) kmFyInfo.setSqje(0.0); if(kmFyInfo.getBzje() == null) kmFyInfo.setBzje(0.0); } return kmFyInfo; } @RequestMapping(value = "/forByjConnect/{id}", method = RequestMethod.GET) public String forByjConnect(Model model, @PathVariable Integer id) { StaBudgetapproval budgetapproval = staBudgetapprovalService.getFysqById(id); model.addAttribute("budgetapproval", budgetapproval); return "stabudgetapproval/connect_project"; } @ResponseBody @RequestMapping(value = "/doByjConnect", method = RequestMethod.POST) public BaseResult doByjConnect(@RequestBody String strData) { StaBudgetapproval fysq = JsonTool.parseObject(strData, StaBudgetapproval.class); if(fysq.getSpzt().equals("审批结束")) { DateFormat dateFormat = new SimpleDateFormat("yyyy"); PrjProject project = prjProjectService.queryById(fysq.getXmid()); if (project != null && project.getXmlxmc().indexOf("政府") > 0) { String partBh = "结转类(" + dateFormat.format(new Date()) + ")"; String bh = GetApproveRecordBH(partBh); fysq.setBh(bh); } else { if (fysq.getSqje() < 1000000) { String partBh = "科研类(" + dateFormat.format(new Date()) + ")"; String bh = GetApproveRecordBH(partBh); fysq.setBh(bh); } else { String partBh = "大额科研类(" + dateFormat.format(new Date()) + ")"; String bh = GetApproveRecordBH(partBh); fysq.setBh(bh); } } } else { fysq.setBh(""); } int num = staBudgetapprovalService.updateSpzt(fysq); if (num > 0) { return BaseResult.success("保存成功!"); } else { return BaseResult.failure("保存失败!"); } } /** * 获取年度费用申请预算列表 * @return */ @ResponseBody @RequestMapping(value = "/getSubNode/{nys}", method = RequestMethod.POST) public Object getSubNode(@PathVariable Integer nys) { List list = prjAnnualbudgetdetailService.getSubNode(nys); Map resultMap = new HashMap<>(); resultMap.put("code", 0); resultMap.put("msg", ""); resultMap.put("count", list.size()); resultMap.put("data", list); return resultMap; } /** * 未关联项目备用金列表 * @return */ @ResponseBody @PostMapping("/unassociated") public BaseResult unassociated(){ List list = staBudgetapprovalService.unassociated(); PageInfo pageinfo = new PageInfo<>(list); //取出查询结果 List rows = pageinfo.getList(); int total = (int) pageinfo.getTotal(); Map result = new HashMap<>(); result.put(RESULT_ROWS, rows); result.put(RESULT_TOTAL, total); return BaseResult.success(result); } }