BudgetMeasureController.java 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588
  1. package cn.com.lzt.budget.measure.controller;
  2. import cn.com.lzt.budget.measure.entity.BudgetMeasureEntity;
  3. import cn.com.lzt.budget.measure.service.BudgetMeasureServiceI;
  4. import cn.com.lzt.budget.tempsheet.entity.BudgetTempSheetEntity;
  5. import org.apache.commons.lang.StringUtils;
  6. import org.apache.log4j.Logger;
  7. import org.hibernate.criterion.Disjunction;
  8. import org.hibernate.criterion.Restrictions;
  9. import org.jeecgframework.core.beanvalidator.BeanValidators;
  10. import org.jeecgframework.core.common.controller.BaseController;
  11. import org.jeecgframework.core.common.exception.BusinessException;
  12. import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
  13. import org.jeecgframework.core.common.model.json.AjaxJson;
  14. import org.jeecgframework.core.common.model.json.DataGrid;
  15. import org.jeecgframework.core.constant.Globals;
  16. import org.jeecgframework.core.util.*;
  17. import org.jeecgframework.poi.excel.ExcelImportUtil;
  18. import org.jeecgframework.poi.excel.entity.ExportParams;
  19. import org.jeecgframework.poi.excel.entity.ImportParams;
  20. import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants;
  21. import org.jeecgframework.tag.core.easyui.TagUtil;
  22. import org.jeecgframework.tag.vo.datatable.SortDirection;
  23. import org.jeecgframework.web.system.service.SystemService;
  24. import org.springframework.beans.factory.annotation.Autowired;
  25. import org.springframework.http.HttpHeaders;
  26. import org.springframework.http.HttpStatus;
  27. import org.springframework.http.MediaType;
  28. import org.springframework.http.ResponseEntity;
  29. import org.springframework.stereotype.Controller;
  30. import org.springframework.ui.ModelMap;
  31. import org.springframework.web.bind.annotation.*;
  32. import org.springframework.web.multipart.MultipartFile;
  33. import org.springframework.web.multipart.MultipartHttpServletRequest;
  34. import org.springframework.web.servlet.ModelAndView;
  35. import org.springframework.web.util.UriComponentsBuilder;
  36. import javax.servlet.http.HttpServletRequest;
  37. import javax.servlet.http.HttpServletResponse;
  38. import javax.validation.ConstraintViolation;
  39. import javax.validation.Validator;
  40. import java.io.IOException;
  41. import java.net.URI;
  42. import java.util.ArrayList;
  43. import java.util.List;
  44. import java.util.Map;
  45. import java.util.Set;
  46. /**
  47. * @Title: Controller
  48. * @Description: 预算指标
  49. * @author onlineGenerator
  50. * @date 2020-06-28 16:31:21
  51. * @version V1.0
  52. *
  53. */
  54. @Controller
  55. @RequestMapping("/budgetMeasureController")
  56. public class BudgetMeasureController extends BaseController {
  57. /**
  58. * Logger for this class
  59. */
  60. private static final Logger logger = Logger.getLogger(BudgetMeasureController.class);
  61. @Autowired
  62. private BudgetMeasureServiceI budgetMeasureService;
  63. @Autowired
  64. private SystemService systemService;
  65. @Autowired
  66. private Validator validator;
  67. /**
  68. * 预算指标列表 页面跳转
  69. *
  70. * @return
  71. */
  72. @RequestMapping(params = "list")
  73. public ModelAndView list(HttpServletRequest request) {
  74. return new ModelAndView("cn/com/lzt/budget/measure/budgetMeasureList");
  75. }
  76. /**
  77. * easyui AJAX请求数据
  78. *
  79. * @param request
  80. * @param response
  81. * @param dataGrid
  82. */
  83. @RequestMapping(params = "datagrid")
  84. public void datagrid(BudgetMeasureEntity budgetGoals, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  85. CriteriaQuery cq = new CriteriaQuery(BudgetMeasureEntity.class, dataGrid);
  86. if(StringUtil.isEmpty(budgetGoals.getId())){
  87. cq.isNull("parentId");
  88. }else{
  89. cq.eq("parentId", budgetGoals.getId());
  90. budgetGoals.setId(null);
  91. }
  92. //查询条件组装器
  93. org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, budgetGoals, request.getParameterMap());
  94. try{
  95. //自定义追加查询条件
  96. }catch (Exception e) {
  97. throw new BusinessException(e.getMessage());
  98. }
  99. cq.add();
  100. this.budgetMeasureService.getDataGridReturn(cq, false);
  101. TagUtil.treegrid(response, dataGrid);
  102. }
  103. /**
  104. * 删除预算指标
  105. *
  106. * @return
  107. */
  108. @RequestMapping(params = "doDel")
  109. @ResponseBody
  110. public AjaxJson doDel(BudgetMeasureEntity budgetMeasure, HttpServletRequest request) {
  111. String message = null;
  112. AjaxJson j = new AjaxJson();
  113. budgetMeasure = systemService.getEntity(BudgetMeasureEntity.class, budgetMeasure.getId());
  114. message = "预算指标删除成功";
  115. try{
  116. budgetMeasureService.delete(budgetMeasure);
  117. systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  118. }catch (IllegalStateException e){
  119. message =e.getMessage();
  120. }catch(Exception e){
  121. e.printStackTrace();
  122. message = "预算指标删除失败";
  123. throw new BusinessException(e.getMessage());
  124. }
  125. j.setMsg(message);
  126. return j;
  127. }
  128. /**
  129. * 批量删除预算指标
  130. *
  131. * @return
  132. */
  133. @RequestMapping(params = "doBatchDel")
  134. @ResponseBody
  135. public AjaxJson doBatchDel(String ids,HttpServletRequest request){
  136. String message = null;
  137. AjaxJson j = new AjaxJson();
  138. message = "预算指标删除成功";
  139. try{
  140. for(String id:ids.split(",")){
  141. BudgetMeasureEntity budgetGoals = systemService.getEntity(BudgetMeasureEntity.class,
  142. id
  143. );
  144. budgetMeasureService.delete(budgetGoals);
  145. systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  146. }
  147. }catch(Exception e){
  148. e.printStackTrace();
  149. message = "预算指标删除失败";
  150. throw new BusinessException(e.getMessage());
  151. }
  152. j.setMsg(message);
  153. return j;
  154. }
  155. /**
  156. * 添加预算指标
  157. *
  158. * @return
  159. */
  160. @RequestMapping(params = "doAdd")
  161. @ResponseBody
  162. public AjaxJson doAdd(BudgetMeasureEntity budgetGoals, HttpServletRequest request) {
  163. if(StringUtils.isNotBlank(budgetGoals.getId())){
  164. return doUpdate(budgetGoals,request);
  165. }
  166. String message = null;
  167. AjaxJson j = new AjaxJson();
  168. message = "预算指标添加成功";
  169. try{
  170. String parentId = budgetGoals.getParentId();
  171. if(StringUtil.isEmpty(parentId)){
  172. budgetGoals.setParentId(null);
  173. }
  174. budgetMeasureService.save(budgetGoals);
  175. systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
  176. }catch(Exception e){
  177. e.printStackTrace();
  178. message = "预算指标添加失败";
  179. throw new BusinessException(e.getMessage());
  180. }
  181. j.setMsg(message);
  182. return j;
  183. }
  184. /**
  185. * 更新预算指标
  186. *
  187. * @return
  188. */
  189. @RequestMapping(params = "doUpdate")
  190. @ResponseBody
  191. public AjaxJson doUpdate(BudgetMeasureEntity budgetGoals, HttpServletRequest request) {
  192. String message = null;
  193. AjaxJson j = new AjaxJson();
  194. message = "预算指标更新成功";
  195. BudgetMeasureEntity t = budgetMeasureService.get(BudgetMeasureEntity.class, budgetGoals.getId());
  196. try {
  197. MyBeanUtils.copyBeanNotNull2Bean(budgetGoals, t);
  198. if(StringUtil.isEmpty(t.getParentId())){
  199. t.setParentId(null);
  200. }
  201. if(budgetGoals.getThousandth()==null) t.setThousandth(0);
  202. budgetMeasureService.saveOrUpdate(t);
  203. systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
  204. } catch (Exception e) {
  205. e.printStackTrace();
  206. message = "预算指标更新失败";
  207. throw new BusinessException(e.getMessage());
  208. }
  209. j.setMsg(message);
  210. return j;
  211. }
  212. /**
  213. * 预算指标新增页面跳转
  214. *
  215. * @return
  216. */
  217. @RequestMapping(params = "goAdd")
  218. public ModelAndView goAdd(BudgetMeasureEntity budgetGoals, HttpServletRequest req) {
  219. return new ModelAndView("cn/com/lzt/budget/measure/budgetMeasure-add");
  220. }
  221. /**
  222. * 预算指标编辑页面跳转
  223. *
  224. * @return
  225. */
  226. @RequestMapping(params = "goUpdate")
  227. public ModelAndView goUpdate(BudgetMeasureEntity budgetGoals, HttpServletRequest req) {
  228. if (StringUtil.isNotEmpty(budgetGoals.getId())) {
  229. budgetGoals = budgetMeasureService.getEntity(BudgetMeasureEntity.class, budgetGoals.getId());
  230. req.setAttribute("entity", budgetGoals);
  231. }
  232. return new ModelAndView("cn/com/lzt/budget/measure/budgetMeasure-add");
  233. }
  234. /**
  235. * 导入功能跳转
  236. *
  237. * @return
  238. */
  239. @RequestMapping(params = "upload")
  240. public ModelAndView upload(HttpServletRequest req) {
  241. req.setAttribute("controller_name","budgetMeasureController");
  242. return new ModelAndView("common/upload/pub_excel_upload");
  243. }
  244. /**
  245. * 导出excel
  246. *
  247. * @param request
  248. * @param response
  249. */
  250. @RequestMapping(params = "exportXls")
  251. public String exportXls(BudgetMeasureEntity budgetGoals, HttpServletRequest request, HttpServletResponse response
  252. , DataGrid dataGrid, ModelMap modelMap) {
  253. CriteriaQuery cq = new CriteriaQuery(BudgetMeasureEntity.class, dataGrid);
  254. org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, budgetGoals, request.getParameterMap());
  255. List<BudgetMeasureEntity> budgetGoalss = this.budgetMeasureService.getListByCriteriaQuery(cq,false);
  256. modelMap.put(NormalExcelConstants.FILE_NAME,"预算指标");
  257. modelMap.put(NormalExcelConstants.CLASS,BudgetMeasureEntity.class);
  258. modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("预算指标列表", "导出人:"+ResourceUtil.getSessionUser().getRealName(),
  259. "导出信息"));
  260. modelMap.put(NormalExcelConstants.DATA_LIST,budgetGoalss);
  261. return NormalExcelConstants.JEECG_EXCEL_VIEW;
  262. }
  263. /**
  264. * 导出excel 使模板
  265. *
  266. * @param request
  267. * @param response
  268. */
  269. @RequestMapping(params = "exportXlsByT")
  270. public String exportXlsByT(BudgetMeasureEntity budgetGoals, HttpServletRequest request, HttpServletResponse response
  271. , DataGrid dataGrid, ModelMap modelMap) {
  272. modelMap.put(NormalExcelConstants.FILE_NAME,"预算指标");
  273. modelMap.put(NormalExcelConstants.CLASS,BudgetMeasureEntity.class);
  274. modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("预算指标列表", "导出人:"+ResourceUtil.getSessionUser().getRealName(),
  275. "导出信息"));
  276. modelMap.put(NormalExcelConstants.DATA_LIST,new ArrayList());
  277. return NormalExcelConstants.JEECG_EXCEL_VIEW;
  278. }
  279. @SuppressWarnings("unchecked")
  280. @RequestMapping(params = "importExcel", method = RequestMethod.POST)
  281. @ResponseBody
  282. public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) {
  283. AjaxJson j = new AjaxJson();
  284. MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
  285. Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
  286. for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
  287. MultipartFile file = entity.getValue();// 获取上传文件对象
  288. ImportParams params = new ImportParams();
  289. params.setTitleRows(2);
  290. params.setHeadRows(1);
  291. params.setNeedSave(true);
  292. try {
  293. List<BudgetMeasureEntity> listBudgetMeasureEntities = ExcelImportUtil.importExcel(file.getInputStream(),BudgetMeasureEntity.class,params);
  294. for (BudgetMeasureEntity budgetGoals : listBudgetMeasureEntities) {
  295. budgetMeasureService.save(budgetGoals);
  296. }
  297. j.setMsg("文件导入成功!");
  298. } catch (Exception e) {
  299. j.setMsg("文件导入失败!");
  300. logger.error(ExceptionUtil.getExceptionMessage(e));
  301. }finally{
  302. try {
  303. file.getInputStream().close();
  304. } catch (IOException e) {
  305. e.printStackTrace();
  306. }
  307. }
  308. }
  309. return j;
  310. }
  311. @RequestMapping(method = RequestMethod.GET)
  312. @ResponseBody
  313. public List<BudgetMeasureEntity> list() {
  314. List<BudgetMeasureEntity> listBudgetGoalss=budgetMeasureService.getList(BudgetMeasureEntity.class);
  315. return listBudgetGoalss;
  316. }
  317. @RequestMapping(value = "/{id}", method = RequestMethod.GET)
  318. @ResponseBody
  319. public ResponseEntity<?> get(@PathVariable("id") String id) {
  320. BudgetMeasureEntity task = budgetMeasureService.get(BudgetMeasureEntity.class, id);
  321. if (task == null) {
  322. return new ResponseEntity(HttpStatus.NOT_FOUND);
  323. }
  324. return new ResponseEntity(task, HttpStatus.OK);
  325. }
  326. @RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
  327. @ResponseBody
  328. public ResponseEntity<?> create(@RequestBody BudgetMeasureEntity budgetGoals, UriComponentsBuilder uriBuilder) {
  329. //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息.
  330. Set<ConstraintViolation<BudgetMeasureEntity>> failures = validator.validate(budgetGoals);
  331. if (!failures.isEmpty()) {
  332. return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
  333. }
  334. //保存
  335. try{
  336. budgetMeasureService.save(budgetGoals);
  337. } catch (Exception e) {
  338. e.printStackTrace();
  339. return new ResponseEntity(HttpStatus.NO_CONTENT);
  340. }
  341. //按照Restful风格约定,创建指向新任务的url, 也可以直接返回id或对象.
  342. String id = budgetGoals.getId();
  343. URI uri = uriBuilder.path("/rest/budgetMeasureController/" + id).build().toUri();
  344. HttpHeaders headers = new HttpHeaders();
  345. headers.setLocation(uri);
  346. return new ResponseEntity(headers, HttpStatus.CREATED);
  347. }
  348. @RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
  349. public ResponseEntity<?> update(@RequestBody BudgetMeasureEntity budgetGoals) {
  350. //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息.
  351. Set<ConstraintViolation<BudgetMeasureEntity>> failures = validator.validate(budgetGoals);
  352. if (!failures.isEmpty()) {
  353. return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
  354. }
  355. //保存
  356. try{
  357. budgetMeasureService.saveOrUpdate(budgetGoals);
  358. } catch (Exception e) {
  359. e.printStackTrace();
  360. return new ResponseEntity(HttpStatus.NO_CONTENT);
  361. }
  362. //按Restful约定,返回204状态码, 无内容. 也可以返回200状态码.
  363. return new ResponseEntity(HttpStatus.NO_CONTENT);
  364. }
  365. @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
  366. @ResponseStatus(HttpStatus.NO_CONTENT)
  367. public void delete(@PathVariable("id") String id) {
  368. budgetMeasureService.deleteEntityById(BudgetMeasureEntity.class, id);
  369. }
  370. @RequestMapping(params = "select")
  371. public ModelAndView select(HttpServletRequest request) {
  372. return new ModelAndView("cn/com/lzt/budget/measure/budgetMeasure-select");
  373. }
  374. /**
  375. * easyui AJAX请求数据
  376. *
  377. * @param request
  378. * @param response
  379. * @param dataGrid
  380. */
  381. @RequestMapping(params = "selectData")
  382. public void selectData(BudgetMeasureEntity budgetGoals, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  383. CriteriaQuery cq = new CriteriaQuery(BudgetMeasureEntity.class, dataGrid);
  384. if(StringUtil.isEmpty(budgetGoals.getId())){
  385. cq.isNull("parentId");
  386. }else{
  387. cq.eq("parentId", budgetGoals.getId());
  388. budgetGoals.setId(null);
  389. }
  390. //查询条件组装器
  391. org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, budgetGoals, request.getParameterMap());
  392. try{
  393. //自定义追加查询条件
  394. }catch (Exception e) {
  395. throw new BusinessException(e.getMessage());
  396. }
  397. cq.add();
  398. this.budgetMeasureService.getDataGridReturn(cq, false);
  399. TagUtil.treegrid(response, dataGrid);
  400. }
  401. @RequestMapping(params = "selectByTempSheet")
  402. public ModelAndView selectByTempSheet(HttpServletRequest request) {
  403. return new ModelAndView("cn/com/lzt/budget/measure/budgetMeasure-selectByTempSheet");
  404. }
  405. /**
  406. * easyui AJAX请求数据
  407. *
  408. * @param request
  409. * @param response
  410. * @param dataGrid
  411. */
  412. @RequestMapping(params = "selectByTempSheetDatagrid")
  413. public void selectByTempSheetDatagrid(BudgetMeasureEntity budgetMeasureEntity, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  414. CriteriaQuery cq = new CriteriaQuery(BudgetMeasureEntity.class, dataGrid);
  415. //查询条件组装器
  416. // org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, budgetMeasureEntity, request.getParameterMap());
  417. try{
  418. String type = request.getParameter("type");
  419. if(StringUtils.equals(type,"cost")){
  420. String costBreakdownId = request.getParameter("costBreakdownId");
  421. String sql = "select distinct measure_id from t_b_budget_cost_breakdown_measure " +
  422. " where cost_breakdown_id=? ";
  423. List<String> idList = systemService.findListbySql(sql, costBreakdownId);
  424. if (idList.isEmpty()) {
  425. cq.eq("id", "-1");
  426. } else {
  427. cq.in("id", idList.toArray());
  428. }
  429. }else {
  430. String tempSheetId = request.getParameter("tempSheetId");
  431. BudgetTempSheetEntity tempSheetEntity = systemService.getEntity(BudgetTempSheetEntity.class, tempSheetId);
  432. String sql = "select distinct measure_id from %s where tempsheet_id='%s'";
  433. sql = String.format(sql, tempSheetEntity.getTempsheetMeasureTable(), tempSheetId);
  434. List<String> idList = systemService.findListbySql(sql);
  435. if (idList.isEmpty()) {
  436. cq.eq("id", "-1");
  437. } else {
  438. cq.in("id", idList.toArray());
  439. }
  440. }
  441. }catch (Exception e) {
  442. throw new BusinessException(e.getMessage());
  443. }
  444. cq.add();
  445. this.systemService.getDataGridReturn(cq, false);
  446. List<BudgetMeasureEntity> list = dataGrid.getResults();
  447. for(BudgetMeasureEntity measureEntity:list){
  448. String parentId = measureEntity.getParentId();
  449. if(StringUtils.isNotBlank(parentId)){
  450. BudgetMeasureEntity parent= systemService.get(BudgetMeasureEntity.class,parentId);
  451. String showName = measureEntity.getName();
  452. if(parent!=null){
  453. showName=parent.getName()+"-"+showName;
  454. }
  455. measureEntity.setShowName(showName);
  456. }
  457. }
  458. TagUtil.treegrid(response, dataGrid);
  459. }
  460. @RequestMapping(params = "getCode")
  461. @ResponseBody
  462. public AjaxJson getCode( HttpServletRequest request) {
  463. AjaxJson j = new AjaxJson();
  464. String parentId = request.getParameter("parentId");
  465. String code = budgetMeasureService.getCode(parentId);
  466. j.setObj(code);
  467. return j;
  468. }
  469. @RequestMapping(params = "checkCode")
  470. @ResponseBody
  471. public AjaxJson checkCode( HttpServletRequest request) {
  472. String customCode = request.getParameter("customCode");
  473. String id = request.getParameter("id");
  474. if(id==null) id="";
  475. String sql = "select count(*) c from t_b_budget_measure where custom_code=? and id<>? ";
  476. Map<String,Object> map =systemService.findOneForJdbc(sql,customCode,id);
  477. AjaxJson j = new AjaxJson();
  478. Integer count = oConvertUtils.getInt(map.get("c"),0);
  479. if(count>0) {
  480. j.setSuccess(false);
  481. j.setMsg("编码已存在");
  482. }
  483. return j;
  484. }
  485. /**
  486. * 财务补录选择
  487. * @param request
  488. * @return
  489. */
  490. @RequestMapping(params = "select4financeWriteback")
  491. public ModelAndView select4financeWriteback(HttpServletRequest request) {
  492. return new ModelAndView("cn/com/lzt/budget/measure/budgetMeasure-select4financeWriteback");
  493. }
  494. /**
  495. * easyui AJAX请求数据
  496. *
  497. * @param request
  498. * @param response
  499. * @param dataGrid
  500. */
  501. @RequestMapping(params = "select4financeWritebackDatagrid")
  502. public void select4financeWritebackDatagrid(BudgetMeasureEntity budgetMeasureEntity, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  503. CriteriaQuery cq = new CriteriaQuery(BudgetMeasureEntity.class, dataGrid);
  504. //查询条件组装器
  505. if(StringUtils.isNotBlank(budgetMeasureEntity.getName())){
  506. cq.like("name","%"+budgetMeasureEntity.getName()+"%" );
  507. budgetMeasureEntity.setName(null);
  508. }
  509. org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, budgetMeasureEntity, request.getParameterMap());
  510. try{
  511. Disjunction dis = Restrictions.disjunction();
  512. dis.add(Restrictions.like("code", "A01A01___" ));
  513. dis.add(Restrictions.eq("code", "A01A01A05A01" ));
  514. dis.add(Restrictions.eq("code", "A01A01A05A02" ));
  515. dis.add(Restrictions.eq("code", "A01A01A05A03" ));
  516. dis.add(Restrictions.eq("code", "A01A02A01" ));
  517. dis.add(Restrictions.eq("code", "A01A02A02" ));
  518. dis.add(Restrictions.like("code", "A01A03___" ));
  519. dis.add(Restrictions.like("code", "A01A04___" ));
  520. dis.add(Restrictions.like("code", "A01A05_%" ));
  521. dis.add(Restrictions.like("code", "A01A06___" ));
  522. dis.add(Restrictions.eq("code", "A01A07" ));
  523. dis.add(Restrictions.like("code", "A01A08___" ));
  524. dis.add(Restrictions.like("code", "A01A09___" ));
  525. dis.add(Restrictions.like("code", "A01A10___" ));
  526. dis.add(Restrictions.like("code", "A01A11___" ));
  527. dis.add(Restrictions.like("code", "A01A13___" ));
  528. dis.add(Restrictions.like("code", "A01A14___" ));
  529. dis.add(Restrictions.eq("code", "A01A15" ));
  530. dis.add(Restrictions.like("code", "A01A16___" ));
  531. dis.add(Restrictions.eq("code", "A01A17" ));
  532. dis.add(Restrictions.like("code", "A01A18___" ));
  533. cq.add(dis);
  534. cq.notEq("code","A01A01A05" );
  535. //自定义追加查询条件
  536. }catch (Exception e) {
  537. throw new BusinessException(e.getMessage());
  538. }
  539. cq.add();
  540. this.budgetMeasureService.getDataGridReturn(cq, false);
  541. TagUtil.treegrid(response, dataGrid);
  542. }
  543. }