BudgetFinanceWriteBackController.java 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486
  1. package cn.com.lzt.budget.financewriteback.controller;
  2. import cn.com.lzt.budget.data.util.BudgetConstant;
  3. import cn.com.lzt.budget.entity.entity.BudgetEntity;
  4. import cn.com.lzt.budget.financewriteback.entity.BudgetFinanceWriteBackDetailEntity;
  5. import cn.com.lzt.budget.financewriteback.entity.BudgetFinanceWriteBackEntity;
  6. import cn.com.lzt.budget.financewriteback.page.BudgetFinanceWriteBackPage;
  7. import cn.com.lzt.budget.financewriteback.service.BudgetFinanceWriteBackServiceI;
  8. import cn.com.lzt.budget.writeback.service.BudgetWriteBackServiceI;
  9. import cn.com.lzt.common.service.TSysFileServiceI;
  10. import com.xcgl.utils.OrderNumTools;
  11. import org.apache.commons.lang3.StringUtils;
  12. import org.apache.log4j.Logger;
  13. import org.hibernate.criterion.Restrictions;
  14. import org.jeecgframework.core.beanvalidator.BeanValidators;
  15. import org.jeecgframework.core.common.controller.BaseController;
  16. import org.jeecgframework.core.common.exception.BusinessException;
  17. import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
  18. import org.jeecgframework.core.common.model.json.AjaxJson;
  19. import org.jeecgframework.core.common.model.json.DataGrid;
  20. import org.jeecgframework.core.constant.Globals;
  21. import org.jeecgframework.core.util.ExceptionUtil;
  22. import org.jeecgframework.core.util.MyBeanUtils;
  23. import org.jeecgframework.core.util.ResourceUtil;
  24. import org.jeecgframework.core.util.StringUtil;
  25. import org.jeecgframework.poi.excel.ExcelImportUtil;
  26. import org.jeecgframework.poi.excel.entity.ExportParams;
  27. import org.jeecgframework.poi.excel.entity.ImportParams;
  28. import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants;
  29. import org.jeecgframework.tag.core.easyui.TagUtil;
  30. import org.jeecgframework.web.system.pojo.base.TSUser;
  31. import org.jeecgframework.web.system.service.SystemService;
  32. import org.springframework.beans.factory.annotation.Autowired;
  33. import org.springframework.http.HttpHeaders;
  34. import org.springframework.http.HttpStatus;
  35. import org.springframework.http.MediaType;
  36. import org.springframework.http.ResponseEntity;
  37. import org.springframework.stereotype.Controller;
  38. import org.springframework.ui.ModelMap;
  39. import org.springframework.web.bind.annotation.*;
  40. import org.springframework.web.multipart.MultipartFile;
  41. import org.springframework.web.multipart.MultipartHttpServletRequest;
  42. import org.springframework.web.servlet.ModelAndView;
  43. import org.springframework.web.util.UriComponentsBuilder;
  44. import javax.servlet.http.HttpServletRequest;
  45. import javax.servlet.http.HttpServletResponse;
  46. import javax.validation.ConstraintViolation;
  47. import javax.validation.Validator;
  48. import java.io.IOException;
  49. import java.net.URI;
  50. import java.text.SimpleDateFormat;
  51. import java.util.ArrayList;
  52. import java.util.List;
  53. import java.util.Map;
  54. import java.util.Set;
  55. /**
  56. * @Title: Controller
  57. * @Description: 预算财务补录
  58. * @author onlineGenerator
  59. * @date 2021-01-20 08:49:56
  60. * @version V1.0
  61. *
  62. */
  63. @Controller
  64. @RequestMapping("/budgetFinanceWriteBackController")
  65. public class BudgetFinanceWriteBackController extends BaseController {
  66. /**
  67. * Logger for this class
  68. */
  69. private static final Logger logger = Logger.getLogger(BudgetFinanceWriteBackController.class);
  70. @Autowired
  71. private BudgetFinanceWriteBackServiceI budgetFinanceWriteBackService;
  72. @Autowired
  73. private SystemService systemService;
  74. @Autowired
  75. private Validator validator;
  76. @Autowired
  77. private BudgetWriteBackServiceI budgetWriteBackService;
  78. @Autowired
  79. private TSysFileServiceI tSysFileService;
  80. /**
  81. * 预算财务补录列表 页面跳转
  82. *
  83. * @return
  84. */
  85. @RequestMapping(params = "list")
  86. public ModelAndView list(HttpServletRequest request) {
  87. return new ModelAndView("cn/com/lzt/budget/financewriteback/budgetFinanceWriteBackList");
  88. }
  89. /**
  90. * easyui AJAX请求数据
  91. *
  92. * @param request
  93. * @param response
  94. * @param dataGrid
  95. */
  96. @RequestMapping(params = "datagrid")
  97. public void datagrid(BudgetFinanceWriteBackEntity budgetFinanceWriteBack, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  98. CriteriaQuery cq = new CriteriaQuery(BudgetFinanceWriteBackEntity.class, dataGrid);
  99. budgetFinanceWriteBack.setCreateDate(null);
  100. //查询条件组装器
  101. org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, budgetFinanceWriteBack, request.getParameterMap());
  102. try{
  103. TSUser user = ResourceUtil.getSessionUser();
  104. cq.add(Restrictions.eq("createBy",user.getUserName()));
  105. String createDate = request.getParameter("createDate");
  106. if(StringUtil.isNotEmpty(createDate)){
  107. cq.ge("createDate", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(createDate + " 00:00:00"));
  108. cq.le("createDate", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(createDate + " 23:59:59"));
  109. }
  110. //自定义追加查询条件
  111. }catch (Exception e) {
  112. throw new BusinessException(e.getMessage());
  113. }
  114. cq.add();
  115. this.budgetFinanceWriteBackService.getDataGridReturn(cq, true);
  116. TagUtil.datagrid(response, dataGrid);
  117. }
  118. /**
  119. * 删除预算财务补录
  120. *
  121. * @return
  122. */
  123. @RequestMapping(params = "doDel")
  124. @ResponseBody
  125. public AjaxJson doDel(BudgetFinanceWriteBackEntity budgetFinanceWriteBack, HttpServletRequest request) {
  126. AjaxJson j = new AjaxJson();
  127. budgetFinanceWriteBack = systemService.getEntity(BudgetFinanceWriteBackEntity.class, budgetFinanceWriteBack.getId());
  128. String message = "预算财务补录删除成功";
  129. try{
  130. budgetFinanceWriteBackService.delMain(budgetFinanceWriteBack);
  131. systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  132. }catch(Exception e){
  133. e.printStackTrace();
  134. message = "预算财务补录删除失败";
  135. throw new BusinessException(e.getMessage());
  136. }
  137. j.setMsg(message);
  138. return j;
  139. }
  140. /**
  141. * 批量删除预算财务补录
  142. *
  143. * @return
  144. */
  145. @RequestMapping(params = "doBatchDel")
  146. @ResponseBody
  147. public AjaxJson doBatchDel(String ids,HttpServletRequest request){
  148. AjaxJson j = new AjaxJson();
  149. String message = "预算财务补录删除成功";
  150. try{
  151. for(String id:ids.split(",")){
  152. BudgetFinanceWriteBackEntity budgetFinanceWriteBack = systemService.getEntity(BudgetFinanceWriteBackEntity.class,
  153. id
  154. );
  155. budgetFinanceWriteBackService.delMain(budgetFinanceWriteBack);
  156. systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  157. }
  158. }catch(Exception e){
  159. e.printStackTrace();
  160. message = "预算财务补录删除失败";
  161. throw new BusinessException(e.getMessage());
  162. }
  163. j.setMsg(message);
  164. return j;
  165. }
  166. /**
  167. * 添加预算财务补录
  168. *
  169. * @return
  170. */
  171. @RequestMapping(params = "doAdd")
  172. @ResponseBody
  173. public AjaxJson doAdd(BudgetFinanceWriteBackEntity budgetFinanceWriteBack, BudgetFinanceWriteBackPage budgetFinanceWriteBackPage, HttpServletRequest request) {
  174. if(StringUtils.isNotBlank(budgetFinanceWriteBack.getId())){
  175. return doUpdate(budgetFinanceWriteBack,budgetFinanceWriteBackPage,request);
  176. }
  177. List<BudgetFinanceWriteBackDetailEntity> budgetFinanceWriteBackDetailList = budgetFinanceWriteBackPage.getBudgetFinanceWriteBackDetailList();
  178. AjaxJson j = new AjaxJson();
  179. String message = "添加成功";
  180. try{
  181. String code = OrderNumTools.generateNextBillCode(Globals.CODE_PREFIX_BUDGET_FINANCE_WRITEBACK,"t_b_budget_finance_write_back","code",4);
  182. budgetFinanceWriteBack.setCode(code);
  183. budgetFinanceWriteBack.setStatus(Integer.valueOf(Globals.NO));
  184. budgetFinanceWriteBackService.addMain(budgetFinanceWriteBack, budgetFinanceWriteBackDetailList);
  185. tSysFileService.updateBusiId(budgetFinanceWriteBack.getAttachment(), budgetFinanceWriteBack.getId());
  186. systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
  187. }catch(Exception e){
  188. e.printStackTrace();
  189. message = "预算财务补录添加失败";
  190. throw new BusinessException(e.getMessage());
  191. }
  192. j.setMsg(message);
  193. return j;
  194. }
  195. /**
  196. * 更新预算财务补录
  197. *
  198. * @return
  199. */
  200. @RequestMapping(params = "doUpdate")
  201. @ResponseBody
  202. public AjaxJson doUpdate(BudgetFinanceWriteBackEntity budgetFinanceWriteBack,BudgetFinanceWriteBackPage budgetFinanceWriteBackPage, HttpServletRequest request) {
  203. List<BudgetFinanceWriteBackDetailEntity> budgetFinanceWriteBackDetailList = budgetFinanceWriteBackPage.getBudgetFinanceWriteBackDetailList();
  204. AjaxJson j = new AjaxJson();
  205. String message = "更新成功";
  206. try{
  207. budgetFinanceWriteBackService.updateMain(budgetFinanceWriteBack, budgetFinanceWriteBackDetailList);
  208. systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
  209. }catch(Exception e){
  210. e.printStackTrace();
  211. message = "更新预算财务补录失败";
  212. throw new BusinessException(e.getMessage());
  213. }
  214. j.setMsg(message);
  215. return j;
  216. }
  217. /**
  218. * 预算财务补录新增页面跳转
  219. *
  220. * @return
  221. */
  222. @RequestMapping(params = "goAdd")
  223. public ModelAndView goAdd(BudgetFinanceWriteBackEntity budgetFinanceWriteBack, HttpServletRequest req) {
  224. if (StringUtil.isNotEmpty(budgetFinanceWriteBack.getId())) {
  225. budgetFinanceWriteBack = budgetFinanceWriteBackService.getEntity(BudgetFinanceWriteBackEntity.class, budgetFinanceWriteBack.getId());
  226. req.setAttribute("entity", budgetFinanceWriteBack);
  227. }
  228. return new ModelAndView("cn/com/lzt/budget/financewriteback/budgetFinanceWriteBack-add");
  229. }
  230. /**
  231. * 预算财务补录编辑页面跳转
  232. *
  233. * @return
  234. */
  235. @RequestMapping(params = "goUpdate")
  236. public ModelAndView goUpdate(BudgetFinanceWriteBackEntity budgetFinanceWriteBack, HttpServletRequest req) {
  237. if (StringUtil.isNotEmpty(budgetFinanceWriteBack.getId())) {
  238. budgetFinanceWriteBack = budgetFinanceWriteBackService.getEntity(BudgetFinanceWriteBackEntity.class, budgetFinanceWriteBack.getId());
  239. req.setAttribute("entity", budgetFinanceWriteBack);
  240. }
  241. return new ModelAndView("cn/com/lzt/budget/financewriteback/budgetFinanceWriteBack-add");
  242. }
  243. /**
  244. * 加载明细列表[财务回写详情]
  245. *
  246. * @return
  247. */
  248. @RequestMapping(params = "budgetFinanceWriteBackDetailList")
  249. public ModelAndView budgetFinanceWriteBackDetailList(BudgetFinanceWriteBackEntity budgetFinanceWriteBack, HttpServletRequest req) {
  250. //===================================================================================
  251. //获取参数
  252. Object id0 = budgetFinanceWriteBack.getId();
  253. //===================================================================================
  254. //查询-财务回写详情
  255. String hql0 = "from BudgetFinanceWriteBackDetailEntity where 1 = 1 AND fK_ID =? ";
  256. try{
  257. List<BudgetFinanceWriteBackDetailEntity> budgetFinanceWriteBackDetailEntityList = systemService.findHql(hql0,id0);
  258. req.setAttribute("budgetFinanceWriteBackDetailList", budgetFinanceWriteBackDetailEntityList);
  259. }catch(Exception e){
  260. logger.info(e.getMessage());
  261. }
  262. return new ModelAndView("cn/com/lzt/budget/financewriteback/budgetFinanceWriteBackDetailList");
  263. }
  264. /**
  265. * 导出excel
  266. *
  267. * @param request
  268. * @param response
  269. */
  270. @RequestMapping(params = "exportXls")
  271. public String exportXls(BudgetFinanceWriteBackEntity budgetFinanceWriteBack,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid,ModelMap map) {
  272. CriteriaQuery cq = new CriteriaQuery(BudgetFinanceWriteBackEntity.class, dataGrid);
  273. //查询条件组装器
  274. org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, budgetFinanceWriteBack);
  275. try{
  276. //自定义追加查询条件
  277. }catch (Exception e) {
  278. throw new BusinessException(e.getMessage());
  279. }
  280. cq.add();
  281. List<BudgetFinanceWriteBackEntity> list=this.budgetFinanceWriteBackService.getListByCriteriaQuery(cq, false);
  282. List<BudgetFinanceWriteBackPage> pageList=new ArrayList<BudgetFinanceWriteBackPage>();
  283. if(list!=null&&list.size()>0){
  284. for(BudgetFinanceWriteBackEntity entity:list){
  285. try{
  286. BudgetFinanceWriteBackPage page=new BudgetFinanceWriteBackPage();
  287. MyBeanUtils.copyBeanNotNull2Bean(entity,page);
  288. Object id0 = entity.getId();
  289. String hql0 = "from BudgetFinanceWriteBackDetailEntity where 1 = 1 AND fK_ID =? ";
  290. List<BudgetFinanceWriteBackDetailEntity> budgetFinanceWriteBackDetailEntityList = systemService.findHql(hql0,id0);
  291. page.setBudgetFinanceWriteBackDetailList(budgetFinanceWriteBackDetailEntityList);
  292. pageList.add(page);
  293. }catch(Exception e){
  294. logger.info(e.getMessage());
  295. }
  296. }
  297. }
  298. map.put(NormalExcelConstants.FILE_NAME,"预算财务补录");
  299. map.put(NormalExcelConstants.CLASS,BudgetFinanceWriteBackPage.class);
  300. map.put(NormalExcelConstants.PARAMS,new ExportParams("预算财务补录列表", "导出人:Jeecg",
  301. "导出信息"));
  302. map.put(NormalExcelConstants.DATA_LIST,pageList);
  303. return NormalExcelConstants.JEECG_EXCEL_VIEW;
  304. }
  305. /**
  306. * 通过excel导入数据
  307. * @param request
  308. * @param
  309. * @return
  310. */
  311. @RequestMapping(params = "importExcel", method = RequestMethod.POST)
  312. @ResponseBody
  313. public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) {
  314. AjaxJson j = new AjaxJson();
  315. MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
  316. Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
  317. for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
  318. MultipartFile file = entity.getValue();// 获取上传文件对象
  319. ImportParams params = new ImportParams();
  320. params.setTitleRows(2);
  321. params.setHeadRows(2);
  322. params.setNeedSave(true);
  323. try {
  324. List<BudgetFinanceWriteBackPage> list = ExcelImportUtil.importExcel(file.getInputStream(), BudgetFinanceWriteBackPage.class, params);
  325. BudgetFinanceWriteBackEntity entity1=null;
  326. for (BudgetFinanceWriteBackPage page : list) {
  327. entity1=new BudgetFinanceWriteBackEntity();
  328. MyBeanUtils.copyBeanNotNull2Bean(page,entity1);
  329. budgetFinanceWriteBackService.addMain(entity1, page.getBudgetFinanceWriteBackDetailList());
  330. }
  331. j.setMsg("文件导入成功!");
  332. } catch (Exception e) {
  333. j.setMsg("文件导入失败!");
  334. logger.error(ExceptionUtil.getExceptionMessage(e));
  335. }finally{
  336. try {
  337. file.getInputStream().close();
  338. } catch (IOException e) {
  339. e.printStackTrace();
  340. }
  341. }
  342. }
  343. return j;
  344. }
  345. /**
  346. * 导出excel 使模板
  347. */
  348. @RequestMapping(params = "exportXlsByT")
  349. public String exportXlsByT(ModelMap map) {
  350. map.put(NormalExcelConstants.FILE_NAME,"预算财务补录");
  351. map.put(NormalExcelConstants.CLASS,BudgetFinanceWriteBackPage.class);
  352. map.put(NormalExcelConstants.PARAMS,new ExportParams("预算财务补录列表", "导出人:"+ ResourceUtil.getSessionUser().getRealName(),
  353. "导出信息"));
  354. map.put(NormalExcelConstants.DATA_LIST,new ArrayList());
  355. return NormalExcelConstants.JEECG_EXCEL_VIEW;
  356. }
  357. /**
  358. * 导入功能跳转
  359. *
  360. * @return
  361. */
  362. @RequestMapping(params = "upload")
  363. public ModelAndView upload(HttpServletRequest req) {
  364. req.setAttribute("controller_name", "budgetFinanceWriteBackController");
  365. return new ModelAndView("common/upload/pub_excel_upload");
  366. }
  367. @RequestMapping(method = RequestMethod.GET)
  368. @ResponseBody
  369. public List<BudgetFinanceWriteBackEntity> list() {
  370. List<BudgetFinanceWriteBackEntity> listBudgetFinanceWriteBacks=budgetFinanceWriteBackService.getList(BudgetFinanceWriteBackEntity.class);
  371. return listBudgetFinanceWriteBacks;
  372. }
  373. @RequestMapping(value = "/{id}", method = RequestMethod.GET)
  374. @ResponseBody
  375. public ResponseEntity<?> get(@PathVariable("id") String id) {
  376. BudgetFinanceWriteBackEntity task = budgetFinanceWriteBackService.get(BudgetFinanceWriteBackEntity.class, id);
  377. if (task == null) {
  378. return new ResponseEntity(HttpStatus.NOT_FOUND);
  379. }
  380. return new ResponseEntity(task, HttpStatus.OK);
  381. }
  382. @RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
  383. @ResponseBody
  384. public ResponseEntity<?> create(@RequestBody BudgetFinanceWriteBackPage budgetFinanceWriteBackPage, UriComponentsBuilder uriBuilder) {
  385. //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息.
  386. Set<ConstraintViolation<BudgetFinanceWriteBackPage>> failures = validator.validate(budgetFinanceWriteBackPage);
  387. if (!failures.isEmpty()) {
  388. return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
  389. }
  390. //保存
  391. List<BudgetFinanceWriteBackDetailEntity> budgetFinanceWriteBackDetailList = budgetFinanceWriteBackPage.getBudgetFinanceWriteBackDetailList();
  392. BudgetFinanceWriteBackEntity budgetFinanceWriteBack = new BudgetFinanceWriteBackEntity();
  393. try{
  394. MyBeanUtils.copyBeanNotNull2Bean(budgetFinanceWriteBack,budgetFinanceWriteBackPage);
  395. }catch(Exception e){
  396. logger.info(e.getMessage());
  397. }
  398. budgetFinanceWriteBackService.addMain(budgetFinanceWriteBack, budgetFinanceWriteBackDetailList);
  399. //按照Restful风格约定,创建指向新任务的url, 也可以直接返回id或对象.
  400. String id = budgetFinanceWriteBackPage.getId();
  401. URI uri = uriBuilder.path("/rest/budgetFinanceWriteBackController/" + id).build().toUri();
  402. HttpHeaders headers = new HttpHeaders();
  403. headers.setLocation(uri);
  404. return new ResponseEntity(headers, HttpStatus.CREATED);
  405. }
  406. @RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
  407. public ResponseEntity<?> update(@RequestBody BudgetFinanceWriteBackPage budgetFinanceWriteBackPage) {
  408. //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息.
  409. Set<ConstraintViolation<BudgetFinanceWriteBackPage>> failures = validator.validate(budgetFinanceWriteBackPage);
  410. if (!failures.isEmpty()) {
  411. return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
  412. }
  413. //保存
  414. List<BudgetFinanceWriteBackDetailEntity> budgetFinanceWriteBackDetailList = budgetFinanceWriteBackPage.getBudgetFinanceWriteBackDetailList();
  415. BudgetFinanceWriteBackEntity budgetFinanceWriteBack = new BudgetFinanceWriteBackEntity();
  416. try{
  417. MyBeanUtils.copyBeanNotNull2Bean(budgetFinanceWriteBack,budgetFinanceWriteBackPage);
  418. }catch(Exception e){
  419. logger.info(e.getMessage());
  420. }
  421. budgetFinanceWriteBackService.updateMain(budgetFinanceWriteBack, budgetFinanceWriteBackDetailList);
  422. //按Restful约定,返回204状态码, 无内容. 也可以返回200状态码.
  423. return new ResponseEntity(HttpStatus.NO_CONTENT);
  424. }
  425. @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
  426. @ResponseStatus(HttpStatus.NO_CONTENT)
  427. public void delete(@PathVariable("id") String id) {
  428. BudgetFinanceWriteBackEntity budgetFinanceWriteBack = budgetFinanceWriteBackService.get(BudgetFinanceWriteBackEntity.class, id);
  429. budgetFinanceWriteBackService.delMain(budgetFinanceWriteBack);
  430. }
  431. @RequestMapping(params = "effect")
  432. @ResponseBody
  433. public synchronized AjaxJson effect(BudgetFinanceWriteBackEntity budgetFinanceWriteBack,HttpServletRequest request) {
  434. AjaxJson j = new AjaxJson();
  435. String message = "操作成功";
  436. String id = budgetFinanceWriteBack.getId();
  437. budgetFinanceWriteBack = systemService.get(BudgetFinanceWriteBackEntity.class, id);
  438. if(budgetFinanceWriteBack.getStatus()== Integer.parseInt(Globals.NO)){
  439. List<BudgetFinanceWriteBackDetailEntity> list = systemService.findHql("from BudgetFinanceWriteBackDetailEntity where fkId=? ",id);
  440. for(BudgetFinanceWriteBackDetailEntity detailEntity:list){
  441. String budgetEntityId = detailEntity.getEntityId();
  442. BudgetEntity budgetEntity = systemService.getEntity(BudgetEntity.class, budgetEntityId);
  443. String departId = budgetEntity.getDepartId();
  444. budgetWriteBackService.writeBack(BudgetConstant.BusType.finance_writeback, "财务补录", departId, detailEntity.getMeasureId()
  445. ,null , detailEntity.getMoney(), budgetFinanceWriteBack.getBudgetMonth(),"t_b_budget_finance_write_back" ,id);
  446. }
  447. budgetFinanceWriteBack.setStatus(Integer.parseInt(Globals.YES));
  448. systemService.updateEntitie(budgetFinanceWriteBack);
  449. }
  450. j.setMsg(message);
  451. return j;
  452. }
  453. }