WagestrategyController.java 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032
  1. package cn.com.lzt.wagestrategy.controller;
  2. import cn.com.lzt.duties.entity.DutiesEntity;
  3. import cn.com.lzt.duties.service.DutiesServiceI;
  4. import cn.com.lzt.wagestrategy.dto.WagestrategyDto;
  5. import cn.com.lzt.wagestrategy.entity.WagestrategyEntity;
  6. import cn.com.lzt.wagestrategy.entity.ZTreeDutiesEntity;
  7. import cn.com.lzt.wagestrategy.service.WagestrategyServiceI;
  8. import org.apache.commons.lang.StringUtils;
  9. import org.apache.log4j.Logger;
  10. import org.jeecgframework.core.beanvalidator.BeanValidators;
  11. import org.jeecgframework.core.common.controller.BaseController;
  12. import org.jeecgframework.core.common.exception.BusinessException;
  13. import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
  14. import org.jeecgframework.core.common.model.json.AjaxJson;
  15. import org.jeecgframework.core.common.model.json.DataGrid;
  16. import org.jeecgframework.core.constant.Globals;
  17. import org.jeecgframework.core.util.*;
  18. import org.jeecgframework.minidao.pojo.MiniDaoPage;
  19. import org.jeecgframework.poi.excel.ExcelImportUtil;
  20. import org.jeecgframework.poi.excel.entity.ExportParams;
  21. import org.jeecgframework.poi.excel.entity.ImportParams;
  22. import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants;
  23. import org.jeecgframework.tag.core.easyui.TagUtil;
  24. import org.jeecgframework.web.system.pojo.base.DictEntity;
  25. import org.jeecgframework.web.system.pojo.base.TSDepart;
  26. import org.jeecgframework.web.system.service.SystemService;
  27. import org.springframework.beans.factory.annotation.Autowired;
  28. import org.springframework.http.HttpHeaders;
  29. import org.springframework.http.HttpStatus;
  30. import org.springframework.http.MediaType;
  31. import org.springframework.http.ResponseEntity;
  32. import org.springframework.stereotype.Controller;
  33. import org.springframework.ui.ModelMap;
  34. import org.springframework.web.bind.annotation.*;
  35. import org.springframework.web.multipart.MultipartFile;
  36. import org.springframework.web.multipart.MultipartHttpServletRequest;
  37. import org.springframework.web.servlet.ModelAndView;
  38. import org.springframework.web.util.UriComponentsBuilder;
  39. import javax.servlet.http.HttpServletRequest;
  40. import javax.servlet.http.HttpServletResponse;
  41. import javax.validation.ConstraintViolation;
  42. import javax.validation.Validator;
  43. import java.io.IOException;
  44. import java.math.BigDecimal;
  45. import java.net.URI;
  46. import java.util.*;
  47. import java.util.regex.Matcher;
  48. import java.util.regex.Pattern;
  49. /**
  50. * @Title: Controller
  51. * @Description: 工资策略表
  52. * @author onlineGenerator
  53. * @date 2017-10-11 12:58:25
  54. * @version V1.0
  55. *
  56. */
  57. @Controller
  58. @RequestMapping("/wagestrategyController")
  59. public class WagestrategyController extends BaseController {
  60. /**
  61. * Logger for this class
  62. */
  63. private static final Logger logger = Logger.getLogger(WagestrategyController.class);
  64. @Autowired
  65. private WagestrategyServiceI wagestrategyService;
  66. @Autowired
  67. private SystemService systemService;
  68. @Autowired
  69. private Validator validator;
  70. @Autowired
  71. private DutiesServiceI dutiesService;
  72. /**
  73. * 状态启用
  74. * @author zbw
  75. * 2017-10-12
  76. * @param id
  77. * @param request
  78. * @return
  79. */
  80. @RequestMapping(params = "enable")
  81. @ResponseBody
  82. public AjaxJson enable(String id, HttpServletRequest request) {
  83. /*AjaxJson j = new AjaxJson();
  84. String message = null;
  85. WagestrategyEntity wagestrategy = wagestrategyService.getEntity(WagestrategyEntity.class, id);
  86. try{
  87. wagestrategy.setStatus(Globals.Enabled_Status.toString());
  88. wagestrategyService.updateEntitie(wagestrategy);
  89. message = "工资策略:" + "" + "启用成功!";
  90. systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
  91. }catch(Exception e){
  92. message = "操作失败!";
  93. }
  94. j.setMsg(message);
  95. return j;*/
  96. String message = null;
  97. AjaxJson j = new AjaxJson();
  98. message = "工资策略启用成功";
  99. try{
  100. WagestrategyEntity wagestrategy = wagestrategyService.getEntity(WagestrategyEntity.class, id);
  101. wagestrategy.setStatus(Globals.Enabled_Status.toString());
  102. wagestrategyService.saveOrUpdate(wagestrategy);
  103. systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
  104. }catch(Exception e){
  105. e.printStackTrace();
  106. message = "工资策略启用失败";
  107. j.setSuccess(false);
  108. }
  109. j.setMsg(message);
  110. return j;
  111. }
  112. /**
  113. * 状态停用
  114. * @author zbw
  115. * 2017-10-12
  116. * @param id
  117. * @param request
  118. * @return
  119. */
  120. @RequestMapping(params = "disable")
  121. @ResponseBody
  122. public AjaxJson disable(String id, HttpServletRequest request) {
  123. /*AjaxJson j = new AjaxJson();
  124. String message = null;
  125. WagestrategyEntity wagestrategy = wagestrategyService.getEntity(WagestrategyEntity.class, id);
  126. try{
  127. wagestrategy.setStatus(Globals.Disabled_Status.toString());
  128. wagestrategyService.updateEntitie(wagestrategy);
  129. message = "工资策略:" + "" + "停用成功!";
  130. systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
  131. }catch(Exception e){
  132. message = "操作失败!";
  133. }
  134. j.setMsg(message);
  135. return j;*/
  136. String message = null;
  137. AjaxJson j = new AjaxJson();
  138. message = "工资策略停用成功";
  139. try{
  140. WagestrategyEntity wagestrategy = wagestrategyService.getEntity(WagestrategyEntity.class, id);
  141. wagestrategy.setStatus(Globals.Disabled_Status.toString());
  142. wagestrategyService.saveOrUpdate(wagestrategy);
  143. systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
  144. }catch(Exception e){
  145. e.printStackTrace();
  146. message = "工资策略停用失败";
  147. j.setSuccess(false);
  148. }
  149. j.setMsg(message);
  150. return j;
  151. }
  152. /**
  153. * 用户选择职务跳转页面dutiesService表格
  154. *
  155. * @return
  156. */
  157. @RequestMapping(params = "getDuties")
  158. public ModelAndView roles(HttpServletRequest request) {
  159. //--author:zhoujf-----start----date:20150531--------for: 编辑用户,选择角色,弹出的角色列表页面,默认没选中
  160. // ModelAndView mv = new ModelAndView("system/user/users");
  161. ModelAndView mv = new ModelAndView("cn/com/lzt/wagestrategy/dutiesTable");
  162. String ids = oConvertUtils.getString(request.getParameter("ids"));
  163. mv.addObject("ids", ids);
  164. return mv;
  165. //--author:zhoujf-----end------date:20150531--------for: 编辑用户,选择角色,弹出的角色列表页面,默认没选中
  166. }
  167. /**
  168. * 公司级职务津贴表列表 页面跳转
  169. *
  170. * @return
  171. */
  172. @RequestMapping(params = "list")
  173. public ModelAndView list(HttpServletRequest request) {
  174. return new ModelAndView("cn/com/lzt/wagestrategy/wagestrategyList");
  175. }
  176. /**
  177. * 公司级职务津贴表列表 页面跳转
  178. *
  179. * @return
  180. */
  181. @RequestMapping(params = "comList")
  182. public ModelAndView comList(HttpServletRequest request) {
  183. return new ModelAndView("cn/com/lzt/wagestrategy/wagestrategyComList");
  184. }
  185. /**
  186. * 区域级职务津贴表列表 页面跳转
  187. *
  188. * @return
  189. */
  190. @RequestMapping(params = "zoneList")
  191. public ModelAndView zoneList(HttpServletRequest request) {
  192. return new ModelAndView("cn/com/lzt/wagestrategy/wagestrategyZoneList");
  193. }
  194. /**
  195. * 区域级职务津贴表列表 页面跳转
  196. *
  197. * @return
  198. */
  199. @RequestMapping(params = "projectList")
  200. public ModelAndView projectList(HttpServletRequest request) {
  201. return new ModelAndView("cn/com/lzt/wagestrategy/wagestrategyProjectList");
  202. }
  203. /**
  204. * easyui AJAX请求数据
  205. *
  206. * @param request
  207. * @param response
  208. * @param dataGrid
  209. * @param user
  210. */
  211. @RequestMapping(params = "datagrid_project")
  212. public void datagrid_project(WagestrategyDto wagestrategyDto,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  213. String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
  214. String sortorder = "";
  215. String sort = dataGrid.getSort(); // 排序对象
  216. String order = dataGrid.getOrder(); // 排序方式
  217. if (StringUtil.isEmpty(sort)) {
  218. sortorder = " bw.create_date desc "; //默认userName,userId降序
  219. } else {
  220. sortorder = humpToLine(sort) + " " + order; // 处理下划线,拼接排序
  221. }
  222. MiniDaoPage<WagestrategyDto> wagestrategyDtoList = wagestrategyService.getProjectWagestrategyDtoPage(wagestrategyDto, dataGrid.getPage(), dataGrid.getRows(), authSql, sortorder);
  223. //获取班次名称
  224. List<DictEntity> dutiesList=systemService.queryDict("t_bus_duties", "id", "duties_name");
  225. Map<String, Object> dutiesMap=new HashMap<String, Object>();
  226. for (int i = 0; i < dutiesList.size(); i++) {
  227. dutiesMap.put(dutiesList.get(i).getTypecode(), dutiesList.get(i).getTypename());
  228. }
  229. for (int i = wagestrategyDtoList.getResults().size()-1; i > -1 ; i--) {
  230. wagestrategyDtoList.getResults().get(i).setDutiesName(dutiesMap.get(wagestrategyDtoList.getResults().get(i).getDutiesId()).toString());
  231. }
  232. StringBuffer hql = new StringBuffer(" from DutiesEntity t ");
  233. List<DutiesEntity> dutiesEntityList = wagestrategyService.findHql(hql.toString());
  234. for (int i = 0; i < wagestrategyDtoList.getResults().size(); i++) {
  235. for (int j = 0; j < dutiesEntityList.size(); j++) {
  236. if(wagestrategyDtoList.getResults().get(i).getDutiesId().equals(dutiesEntityList.get(j).getId())){
  237. if(dutiesMap.get(dutiesEntityList.get(j).getParentDutiesid())!=null){
  238. wagestrategyDtoList.getResults().get(i).setParentDutiesName(dutiesMap.get(dutiesEntityList.get(j).getParentDutiesid()).toString());
  239. }
  240. }
  241. }
  242. }
  243. dataGrid.setResults(wagestrategyDtoList.getResults());
  244. dataGrid.setTotal(wagestrategyDtoList.getTotal());
  245. TagUtil.datagrid(response, dataGrid);
  246. }
  247. /**
  248. * easyui AJAX请求数据
  249. *
  250. * @param request
  251. * @param response
  252. * @param dataGrid
  253. * @param user
  254. */
  255. @RequestMapping(params = "datagrid_com")
  256. public void datagrid_com(WagestrategyDto wagestrategyDto,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  257. String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
  258. String sortorder = "";
  259. String sort = dataGrid.getSort(); // 排序对象
  260. String order = dataGrid.getOrder(); // 排序方式
  261. if (StringUtil.isEmpty(sort)) {
  262. sortorder = " bw.create_date desc "; //默认userName,userId降序
  263. } else {
  264. sortorder = humpToLine(sort) + " " + order; // 处理下划线,拼接排序
  265. }
  266. MiniDaoPage<WagestrategyDto> wagestrategyDtoList = wagestrategyService.getWagestrategyDtoPage(wagestrategyDto, dataGrid.getPage(), dataGrid.getRows(), authSql, sortorder);
  267. //获取班次名称
  268. List<DictEntity> dutiesList=systemService.queryDict("t_bus_duties", "id", "duties_name");
  269. Map<String, Object> dutiesMap=new HashMap<String, Object>();
  270. for (int i = 0; i < dutiesList.size(); i++) {
  271. dutiesMap.put(dutiesList.get(i).getTypecode(), dutiesList.get(i).getTypename());
  272. }
  273. for (int i = wagestrategyDtoList.getResults().size()-1; i > -1 ; i--) {
  274. wagestrategyDtoList.getResults().get(i).setDutiesName(dutiesMap.get(wagestrategyDtoList.getResults().get(i).getDutiesId()).toString());
  275. }
  276. StringBuffer hql = new StringBuffer(" from DutiesEntity t ");
  277. List<DutiesEntity> dutiesEntityList = wagestrategyService.findHql(hql.toString());
  278. for (int i = 0; i < wagestrategyDtoList.getResults().size(); i++) {
  279. for (int j = 0; j < dutiesEntityList.size(); j++) {
  280. if(wagestrategyDtoList.getResults().get(i).getDutiesId().equals(dutiesEntityList.get(j).getId())){
  281. if(dutiesMap.get(dutiesEntityList.get(j).getParentDutiesid())!=null){
  282. wagestrategyDtoList.getResults().get(i).setParentDutiesName(dutiesMap.get(dutiesEntityList.get(j).getParentDutiesid()).toString());
  283. }
  284. }
  285. }
  286. }
  287. dataGrid.setResults(wagestrategyDtoList.getResults());
  288. dataGrid.setTotal(wagestrategyDtoList.getTotal());
  289. TagUtil.datagrid(response, dataGrid);
  290. }
  291. /**
  292. * easyui AJAX请求数据
  293. *
  294. * @param request
  295. * @param response
  296. * @param dataGrid
  297. * @param user
  298. */
  299. @RequestMapping(params = "datagrid_zone")
  300. public void datagrid_zone(WagestrategyDto wagestrategyDto,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  301. String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
  302. String sortorder = "";
  303. String sort = dataGrid.getSort(); // 排序对象
  304. String order = dataGrid.getOrder(); // 排序方式
  305. if (StringUtil.isEmpty(sort)) {
  306. sortorder = " bw.create_date desc "; //默认userName,userId降序
  307. } else {
  308. sortorder = humpToLine(sort) + " " + order; // 处理下划线,拼接排序
  309. }
  310. MiniDaoPage<WagestrategyDto> wagestrategyDtoList = wagestrategyService.getZoneWagestrategyDtoPage(wagestrategyDto, dataGrid.getPage(), dataGrid.getRows(), authSql, sortorder);
  311. //获取班次名称
  312. List<DictEntity> dutiesList=systemService.queryDict("t_bus_duties", "id", "duties_name");
  313. Map<String, Object> dutiesMap=new HashMap<String, Object>();
  314. for (int i = 0; i < dutiesList.size(); i++) {
  315. dutiesMap.put(dutiesList.get(i).getTypecode(), dutiesList.get(i).getTypename());
  316. }
  317. for (int i = wagestrategyDtoList.getResults().size()-1; i > -1 ; i--) {
  318. wagestrategyDtoList.getResults().get(i).setDutiesName(dutiesMap.get(wagestrategyDtoList.getResults().get(i).getDutiesId()).toString());
  319. }
  320. StringBuffer hql = new StringBuffer(" from DutiesEntity t ");
  321. List<DutiesEntity> dutiesEntityList = wagestrategyService.findHql(hql.toString());
  322. for (int i = 0; i < wagestrategyDtoList.getResults().size(); i++) {
  323. for (int j = 0; j < dutiesEntityList.size(); j++) {
  324. if(wagestrategyDtoList.getResults().get(i).getDutiesId().equals(dutiesEntityList.get(j).getId())){
  325. if(dutiesMap.get(dutiesEntityList.get(j).getParentDutiesid())!=null){
  326. wagestrategyDtoList.getResults().get(i).setParentDutiesName(dutiesMap.get(dutiesEntityList.get(j).getParentDutiesid()).toString());
  327. }
  328. }
  329. }
  330. }
  331. dataGrid.setResults(wagestrategyDtoList.getResults());
  332. dataGrid.setTotal(wagestrategyDtoList.getTotal());
  333. TagUtil.datagrid(response, dataGrid);
  334. }
  335. /**
  336. * easyui AJAX请求数据
  337. *
  338. * @param request
  339. * @param response
  340. * @param dataGrid
  341. * @param user
  342. */
  343. @RequestMapping(params = "datagrid")
  344. public void datagrid(WagestrategyDto wagestrategyDto,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  345. String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
  346. String sortorder = "";
  347. String sort = dataGrid.getSort(); // 排序对象
  348. String order = dataGrid.getOrder(); // 排序方式
  349. if (StringUtil.isEmpty(sort)) {
  350. sortorder = " bw.create_date desc "; //默认userName,userId降序
  351. } else {
  352. sortorder = humpToLine(sort) + " " + order; // 处理下划线,拼接排序
  353. }
  354. MiniDaoPage<WagestrategyDto> wagestrategyDtoList = wagestrategyService.getWagestrategyDtoPage(wagestrategyDto, dataGrid.getPage(), dataGrid.getRows(), authSql, sortorder);
  355. //获取班次名称
  356. List<DictEntity> dutiesList=systemService.queryDict("t_bus_duties", "id", "duties_name");
  357. Map<String, Object> dutiesMap=new HashMap<String, Object>();
  358. for (int i = 0; i < dutiesList.size(); i++) {
  359. dutiesMap.put(dutiesList.get(i).getTypecode(), dutiesList.get(i).getTypename());
  360. }
  361. for (int i = wagestrategyDtoList.getResults().size()-1; i > -1 ; i--) {
  362. wagestrategyDtoList.getResults().get(i).setDutiesName(dutiesMap.get(wagestrategyDtoList.getResults().get(i).getDutiesId()).toString());
  363. }
  364. StringBuffer hql = new StringBuffer(" from DutiesEntity t ");
  365. List<DutiesEntity> dutiesEntityList = wagestrategyService.findHql(hql.toString());
  366. for (int i = 0; i < wagestrategyDtoList.getResults().size(); i++) {
  367. for (int j = 0; j < dutiesEntityList.size(); j++) {
  368. if(wagestrategyDtoList.getResults().get(i).getDutiesId().equals(dutiesEntityList.get(j).getId())){
  369. if(dutiesMap.get(dutiesEntityList.get(j).getParentDutiesid())!=null){
  370. wagestrategyDtoList.getResults().get(i).setParentDutiesName(dutiesMap.get(dutiesEntityList.get(j).getParentDutiesid()).toString());
  371. }
  372. }
  373. }
  374. }
  375. dataGrid.setResults(wagestrategyDtoList.getResults());
  376. dataGrid.setTotal(wagestrategyDtoList.getTotal());
  377. TagUtil.datagrid(response, dataGrid);
  378. }
  379. /**
  380. * 逻辑删除工资策略表
  381. * @author zbw
  382. * 2017-10-12
  383. * @param wagestrategy
  384. * @param request
  385. * @return
  386. */
  387. @RequestMapping(params = "logicDel")
  388. @ResponseBody
  389. public AjaxJson logicDel(WagestrategyEntity wagestrategy, HttpServletRequest request) {
  390. String message = null;
  391. AjaxJson j = new AjaxJson();
  392. wagestrategy = systemService.getEntity(WagestrategyEntity.class, wagestrategy.getId());
  393. message = "工资策略删除成功";
  394. try{
  395. wagestrategy.setDeleteFlag(Globals.Delete_Forbidden.toString());
  396. wagestrategyService.logicDel(wagestrategy);
  397. systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  398. // wagestrategyService.delete(wagestrategy);
  399. // systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  400. }catch(Exception e){
  401. e.printStackTrace();
  402. message = "工资策略删除失败";
  403. j.setSuccess(false);
  404. }
  405. j.setMsg(message);
  406. return j;
  407. }
  408. /**
  409. * 删除工资策略表
  410. *
  411. * @return
  412. */
  413. @RequestMapping(params = "doDel")
  414. @ResponseBody
  415. public AjaxJson doDel(WagestrategyEntity wagestrategy, HttpServletRequest request) {
  416. String message = null;
  417. AjaxJson j = new AjaxJson();
  418. wagestrategy = systemService.getEntity(WagestrategyEntity.class, wagestrategy.getId());
  419. message = "工资策略删除成功";
  420. try{
  421. wagestrategyService.delete(wagestrategy);
  422. systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  423. }catch(Exception e){
  424. e.printStackTrace();
  425. message = "工资策略删除失败";
  426. throw new BusinessException(e.getMessage());
  427. }
  428. j.setMsg(message);
  429. return j;
  430. }
  431. /**
  432. * 批量删除工资策略表
  433. *
  434. * @return
  435. */
  436. @RequestMapping(params = "doBatchDel")
  437. @ResponseBody
  438. public AjaxJson doBatchDel(String ids,HttpServletRequest request){
  439. String message = null;
  440. AjaxJson j = new AjaxJson();
  441. message = "工资策略删除成功";
  442. try{
  443. for(String id:ids.split(",")){
  444. WagestrategyEntity wagestrategy = systemService.getEntity(WagestrategyEntity.class,
  445. id
  446. );
  447. wagestrategyService.delete(wagestrategy);
  448. systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  449. }
  450. }catch(Exception e){
  451. e.printStackTrace();
  452. message = "工资策略删除失败";
  453. throw new BusinessException(e.getMessage());
  454. }
  455. j.setMsg(message);
  456. return j;
  457. }
  458. /**
  459. * 添加工资策略表
  460. *
  461. * @param ids
  462. * @return
  463. */
  464. @RequestMapping(params = "doAdd")
  465. @ResponseBody
  466. public AjaxJson doAdd(WagestrategyEntity wagestrategy, HttpServletRequest request) {
  467. String message = null;
  468. AjaxJson j = new AjaxJson();
  469. message = "工资策略添加成功";
  470. try{
  471. String myDutiesId=wagestrategy.getDutiesId();
  472. String[] myDutiesIdList=myDutiesId.split(",");
  473. wagestrategy.setDutiesId(myDutiesIdList[0]);
  474. wagestrategy.setDeleteFlag(Globals.Delete_Normal.toString());
  475. wagestrategy.setStatus(Globals.Enabled_Status.toString());
  476. wagestrategyService.save(wagestrategy);
  477. systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
  478. }catch(Exception e){
  479. e.printStackTrace();
  480. message = "工资策略添加失败";
  481. throw new BusinessException(e.getMessage());
  482. }
  483. j.setMsg(message);
  484. return j;
  485. }
  486. /**
  487. * 更新工资策略表
  488. *
  489. * @param ids
  490. * @return
  491. */
  492. @RequestMapping(params = "doUpdate")
  493. @ResponseBody
  494. public AjaxJson doUpdate(WagestrategyEntity wagestrategy, HttpServletRequest request) {
  495. String message = null;
  496. AjaxJson j = new AjaxJson();
  497. message = "工资策略更新成功";
  498. WagestrategyEntity t = wagestrategyService.get(WagestrategyEntity.class, wagestrategy.getId());
  499. try {
  500. MyBeanUtils.copyBeanNotNull2Bean(wagestrategy, t);
  501. wagestrategyService.saveOrUpdate(t);
  502. systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
  503. } catch (Exception e) {
  504. e.printStackTrace();
  505. message = "工资策略更新失败";
  506. throw new BusinessException(e.getMessage());
  507. }
  508. j.setMsg(message);
  509. return j;
  510. }
  511. /**
  512. * 工资策略表新增页面跳转
  513. *
  514. * @return
  515. */
  516. @RequestMapping(params = "goAdd")
  517. public ModelAndView goAdd(WagestrategyEntity wagestrategy, HttpServletRequest req) {
  518. if (StringUtil.isNotEmpty(wagestrategy.getId())) {
  519. wagestrategy = wagestrategyService.getEntity(WagestrategyEntity.class, wagestrategy.getId());
  520. req.setAttribute("wagestrategyPage", wagestrategy);
  521. }
  522. return new ModelAndView("cn/com/lzt/wagestrategy/wagestrategy-add");
  523. }
  524. /**
  525. * 工资策略表编辑页面跳转
  526. *
  527. * @return
  528. */
  529. @RequestMapping(params = "goUpdate")
  530. public ModelAndView goUpdate(WagestrategyEntity wagestrategy, HttpServletRequest req) {
  531. if (StringUtil.isNotEmpty(wagestrategy.getId())) {
  532. wagestrategy = wagestrategyService.getEntity(WagestrategyEntity.class, wagestrategy.getId());
  533. req.setAttribute("wagestrategyPage", wagestrategy);
  534. }
  535. return new ModelAndView("cn/com/lzt/wagestrategy/wagestrategy-update");
  536. }
  537. /**
  538. * 导入功能跳转
  539. *
  540. * @return
  541. */
  542. @RequestMapping(params = "upload")
  543. public ModelAndView upload(HttpServletRequest req) {
  544. req.setAttribute("controller_name","wagestrategyController");
  545. return new ModelAndView("common/upload/pub_excel_upload");
  546. }
  547. /**
  548. * 导出excel
  549. *
  550. * @param request
  551. * @param response
  552. */
  553. @RequestMapping(params = "exportXls")
  554. public String exportXls(WagestrategyEntity wagestrategy,HttpServletRequest request,HttpServletResponse response
  555. , DataGrid dataGrid,ModelMap modelMap) {
  556. CriteriaQuery cq = new CriteriaQuery(WagestrategyEntity.class, dataGrid);
  557. org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, wagestrategy, request.getParameterMap());
  558. List<WagestrategyEntity> wagestrategys = this.wagestrategyService.getListByCriteriaQuery(cq,false);
  559. modelMap.put(NormalExcelConstants.FILE_NAME,"工资策略");
  560. modelMap.put(NormalExcelConstants.CLASS,WagestrategyEntity.class);
  561. modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("工资策略列", "导出人:"+ResourceUtil.getSessionUser().getRealName(),
  562. "导出信息"));
  563. modelMap.put(NormalExcelConstants.DATA_LIST,wagestrategys);
  564. return NormalExcelConstants.JEECG_EXCEL_VIEW;
  565. }
  566. /**
  567. * 导出excel 使模板
  568. *
  569. * @param request
  570. * @param response
  571. */
  572. @RequestMapping(params = "exportXlsByT")
  573. public String exportXlsByT(WagestrategyEntity wagestrategy,HttpServletRequest request,HttpServletResponse response
  574. , DataGrid dataGrid,ModelMap modelMap) {
  575. modelMap.put(NormalExcelConstants.FILE_NAME,"工资策略");
  576. modelMap.put(NormalExcelConstants.CLASS,WagestrategyEntity.class);
  577. modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("工资策略列表", "导出人:"+ResourceUtil.getSessionUser().getRealName(),
  578. "导出信息"));
  579. modelMap.put(NormalExcelConstants.DATA_LIST,new ArrayList());
  580. return NormalExcelConstants.JEECG_EXCEL_VIEW;
  581. }
  582. @SuppressWarnings("unchecked")
  583. @RequestMapping(params = "importExcel", method = RequestMethod.POST)
  584. @ResponseBody
  585. public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) {
  586. AjaxJson j = new AjaxJson();
  587. MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
  588. Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
  589. for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
  590. MultipartFile file = entity.getValue();// 获取上传文件对象
  591. ImportParams params = new ImportParams();
  592. params.setTitleRows(2);
  593. params.setHeadRows(1);
  594. params.setNeedSave(true);
  595. try {
  596. List<WagestrategyEntity> listWagestrategyEntitys = ExcelImportUtil.importExcel(file.getInputStream(),WagestrategyEntity.class,params);
  597. for (WagestrategyEntity wagestrategy : listWagestrategyEntitys) {
  598. wagestrategyService.save(wagestrategy);
  599. }
  600. j.setMsg("文件导入成功!");
  601. } catch (Exception e) {
  602. j.setMsg("文件导入失败!");
  603. logger.error(ExceptionUtil.getExceptionMessage(e));
  604. }finally{
  605. try {
  606. file.getInputStream().close();
  607. } catch (IOException e) {
  608. e.printStackTrace();
  609. }
  610. }
  611. }
  612. return j;
  613. }
  614. @RequestMapping(method = RequestMethod.GET)
  615. @ResponseBody
  616. public List<WagestrategyEntity> list() {
  617. List<WagestrategyEntity> listWagestrategys=wagestrategyService.getList(WagestrategyEntity.class);
  618. return listWagestrategys;
  619. }
  620. @RequestMapping(value = "/{id}", method = RequestMethod.GET)
  621. @ResponseBody
  622. public ResponseEntity<?> get(@PathVariable("id") String id) {
  623. WagestrategyEntity task = wagestrategyService.get(WagestrategyEntity.class, id);
  624. if (task == null) {
  625. return new ResponseEntity(HttpStatus.NOT_FOUND);
  626. }
  627. return new ResponseEntity(task, HttpStatus.OK);
  628. }
  629. @RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
  630. @ResponseBody
  631. public ResponseEntity<?> create(@RequestBody WagestrategyEntity wagestrategy, UriComponentsBuilder uriBuilder) {
  632. //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息.
  633. Set<ConstraintViolation<WagestrategyEntity>> failures = validator.validate(wagestrategy);
  634. if (!failures.isEmpty()) {
  635. return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
  636. }
  637. //保存
  638. try{
  639. wagestrategyService.save(wagestrategy);
  640. } catch (Exception e) {
  641. e.printStackTrace();
  642. return new ResponseEntity(HttpStatus.NO_CONTENT);
  643. }
  644. //按照Restful风格约定,创建指向新任务的url, 也可以直接返回id或对象.
  645. String id = wagestrategy.getId();
  646. URI uri = uriBuilder.path("/rest/wagestrategyController/" + id).build().toUri();
  647. HttpHeaders headers = new HttpHeaders();
  648. headers.setLocation(uri);
  649. return new ResponseEntity(headers, HttpStatus.CREATED);
  650. }
  651. @RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
  652. public ResponseEntity<?> update(@RequestBody WagestrategyEntity wagestrategy) {
  653. //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息.
  654. Set<ConstraintViolation<WagestrategyEntity>> failures = validator.validate(wagestrategy);
  655. if (!failures.isEmpty()) {
  656. return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
  657. }
  658. //保存
  659. try{
  660. wagestrategyService.saveOrUpdate(wagestrategy);
  661. } catch (Exception e) {
  662. e.printStackTrace();
  663. return new ResponseEntity(HttpStatus.NO_CONTENT);
  664. }
  665. //按Restful约定,返回204状态码, 无内容. 也可以返回200状态码.
  666. return new ResponseEntity(HttpStatus.NO_CONTENT);
  667. }
  668. @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
  669. @ResponseStatus(HttpStatus.NO_CONTENT)
  670. public void delete(@PathVariable("id") String id) {
  671. wagestrategyService.deleteEntityById(WagestrategyEntity.class, id);
  672. }
  673. /**
  674. * 用户选择职务tree跳转页面
  675. *
  676. * @return
  677. */
  678. @RequestMapping(params = "departSelect")
  679. public String departSelect(HttpServletRequest req) {
  680. req.setAttribute("orgIds", req.getParameter("orgIds"));
  681. return "cn/com/lzt/wagestrategy/dutiesZTree";
  682. }
  683. /**
  684. * 获取tree数据
  685. * @author zbw
  686. * 2017-10-12
  687. * @param request
  688. * @param response
  689. * @return
  690. */
  691. //update--start--by:jg_renjie--at:20160318 for:#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式
  692. //update-start--Author: os_renjie Date:20160529 for:TASK #1056 【bug】用户编辑,弹出组织机构,默认没选中
  693. @RequestMapping(params = "getDepartInfo")
  694. @ResponseBody
  695. public AjaxJson getDepartInfo(HttpServletRequest request, HttpServletResponse response){
  696. AjaxJson j = new AjaxJson();
  697. String orgIds = request.getParameter("orgIds");
  698. String[] ids = new String[]{};
  699. if(StringUtils.isNotBlank(orgIds)){
  700. orgIds = orgIds.substring(0, orgIds.length()-1);
  701. ids = orgIds.split("\\,");
  702. }
  703. String parentid = request.getParameter("parentid");
  704. List<ZTreeDutiesEntity> listDuties = new ArrayList<ZTreeDutiesEntity>();
  705. StringBuffer hql = new StringBuffer(" from ZTreeDutiesEntity t where t.status = 0 and t.deleteFlag = 0 ");
  706. if(StringUtils.isNotBlank(parentid)){
  707. ZTreeDutiesEntity dutiesEntity = dutiesService.get(ZTreeDutiesEntity.class, parentid);
  708. hql.append(" and parentDuties = ?");
  709. listDuties = this.dutiesService.findHql(hql.toString(), dutiesEntity);
  710. } else {
  711. hql.append(" and t.parentDutiesid IS NULL");
  712. listDuties = this.dutiesService.findHql(hql.toString());
  713. }
  714. List<Map<String,Object>> dateList = new ArrayList<Map<String,Object>>();
  715. if(listDuties.size()>0){
  716. Map<String,Object> map = null;
  717. String sql = null;
  718. Object[] params = null;
  719. for(ZTreeDutiesEntity dutiesEntity:listDuties){
  720. map = new HashMap<String,Object>();
  721. map.put("id", dutiesEntity.getId());
  722. map.put("name", dutiesEntity.getDutiesName());
  723. if(ids.length>0){
  724. for(String id:ids){
  725. if(id.equals(dutiesEntity.getId())){
  726. map.put("checked", true);
  727. }
  728. }
  729. }
  730. if(StringUtils.isNotBlank(parentid)){
  731. map.put("pId", parentid);
  732. } else{
  733. map.put("pId", "1");
  734. }
  735. //根据id判断是否有子节点
  736. sql = "select count(1) from t_bus_duties t where t.status='0' and t.delete_flag='0' and t.parent_dutiesid = ?";
  737. params = new Object[]{dutiesEntity.getId()};
  738. long count = this.dutiesService.getCountForJdbcParam(sql, params);
  739. if(count>0){
  740. map.put("isParent",true);
  741. }
  742. dateList.add(map);
  743. }
  744. }
  745. net.sf.json.JSONArray jsonArray = net.sf.json.JSONArray.fromObject(dateList);
  746. j.setMsg(jsonArray.toString());
  747. return j;
  748. }
  749. /**
  750. * 异步获取职务名称
  751. * @author zbw
  752. * 2017-10-13
  753. * @param request
  754. * @param response
  755. * @return
  756. */
  757. @RequestMapping(params = "getDName")
  758. @ResponseBody
  759. public AjaxJson getDName(HttpServletRequest request, HttpServletResponse response) {
  760. AjaxJson j = new AjaxJson();
  761. String id = request.getParameter("id");
  762. String message = null;
  763. ZTreeDutiesEntity dutiesEntity = systemService.getEntity(ZTreeDutiesEntity.class, id);
  764. try {
  765. j.setMsg(dutiesEntity.getDutiesName());
  766. //systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  767. } catch (Exception e) {
  768. e.printStackTrace();
  769. throw new BusinessException(e.getMessage());
  770. }
  771. return j;
  772. }
  773. /**
  774. * 异步获取项目名称
  775. * @author zbw
  776. * 2017-10-13
  777. * @param request
  778. * @param response
  779. * @return
  780. */
  781. @RequestMapping(params = "getPName")
  782. @ResponseBody
  783. public AjaxJson getPName(HttpServletRequest request, HttpServletResponse response) {
  784. AjaxJson j = new AjaxJson();
  785. String id = request.getParameter("id");
  786. String message = null;
  787. TSDepart projectentity = systemService.getEntity(TSDepart.class, id);
  788. try {
  789. j.setMsg(projectentity.getDepartname());
  790. //systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  791. } catch (Exception e) {
  792. e.printStackTrace();
  793. throw new BusinessException(e.getMessage());
  794. }
  795. return j;
  796. }
  797. /**
  798. * 保存新增/更新的行数据
  799. * @author zbw
  800. * 2017-10-13
  801. * @param wagestrategy
  802. * @param request
  803. * @return
  804. */
  805. @RequestMapping(params = "saveRows")
  806. @ResponseBody
  807. public AjaxJson saveRows(WagestrategyEntity wagestrategy, HttpServletRequest request){
  808. if(wagestrategy.getSubsidy()==null){
  809. wagestrategy.setSubsidy(BigDecimal.ZERO);
  810. }
  811. String myDutiesId=wagestrategy.getDutiesId();
  812. String[] myDutiesIdList=myDutiesId.split(",");
  813. wagestrategy.setDutiesId(myDutiesIdList[0]);
  814. String message = null;
  815. AjaxJson j = new AjaxJson();
  816. message = "";
  817. /** 如果该记录被删除,点击修改一条页面上的数据,改后的职务名恰好是该条被删除的名字,会出现想修改的数据的职务名没变,而被删除的这一天数据又出现了的情况。
  818. //查出员工人事信息表所有数据,获取主键id和员工id
  819. StringBuffer hql = new StringBuffer(" from WagestrategyEntity w where w.deleteFlag='1' and w.dutiesId=? ");
  820. List<WagestrategyEntity> wagestrategyEntityList = systemService.findHql(hql.toString(),wagestrategy.getDutiesId());
  821. if(wagestrategyEntityList.size()!=0){
  822. wagestrategy.setId(wagestrategyEntityList.get(0).getId());
  823. wagestrategy.setDeleteFlag(Globals.Delete_Normal.toString());
  824. wagestrategy.setStatus(Globals.Enabled_Status.toString());
  825. }
  826. */
  827. if (StringUtil.isNotEmpty(wagestrategy.getId())) {
  828. WagestrategyEntity t = wagestrategyService.get(WagestrategyEntity.class, wagestrategy.getId());
  829. try {
  830. MyBeanUtils.copyBeanNotNull2Bean(wagestrategy, t);
  831. wagestrategyService.saveOrUpdate(t);
  832. systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
  833. message = "工资策略更新成功";
  834. } catch (Exception e) {
  835. e.printStackTrace();
  836. message = "工资策略更新失败";
  837. j.setSuccess(false);
  838. }
  839. } else {
  840. try{
  841. wagestrategy.setDeleteFlag(Globals.Delete_Normal.toString());
  842. wagestrategy.setStatus(Globals.Enabled_Status.toString());
  843. wagestrategyService.save(wagestrategy);
  844. systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
  845. message = "工资策略添加成功";
  846. }catch(Exception e){
  847. e.printStackTrace();
  848. message = "工资策略添加失败";
  849. j.setSuccess(false);
  850. }
  851. }
  852. j.setMsg(message);
  853. return j;
  854. }
  855. /**
  856. * 异步验证职务名是否已存在
  857. * @author zbw
  858. * 2017-11-12
  859. * @param wagestrategy
  860. * @param request
  861. * @return
  862. */
  863. @RequestMapping(params = "ajaxCheckName")
  864. @ResponseBody
  865. public AjaxJson ajaxCheckName(WagestrategyEntity wagestrategy, HttpServletRequest request){
  866. String message = null;
  867. AjaxJson j = new AjaxJson();
  868. message = "";
  869. StringBuffer hql = new StringBuffer(
  870. " from WagestrategyEntity t where delete_flag = '0' and t.dutiesId=? and t.id not in ('"+wagestrategy.getId()+"')");
  871. List<WagestrategyEntity> arrangeDutyEntityList = wagestrategyService.findHql(hql.toString(), wagestrategy.getDutiesId().split(",")[0]);
  872. if(arrangeDutyEntityList.size()!=0){
  873. j.setSuccess(false);
  874. }
  875. message="职务名称已存在";
  876. j.setMsg(message);
  877. return j;
  878. }
  879. /**
  880. * 异步验证职务名和区域是否已存在
  881. * @author zbw
  882. * 2017-11-12
  883. * @param wagestrategy
  884. * @param request
  885. * @return
  886. */
  887. @RequestMapping(params = "ajaxCheckName_zone")
  888. @ResponseBody
  889. public AjaxJson ajaxCheckName_zone(WagestrategyEntity wagestrategy, HttpServletRequest request){
  890. String message = null;
  891. AjaxJson j = new AjaxJson();
  892. message = "";
  893. StringBuffer hql = new StringBuffer(" from WagestrategyEntity t where delete_flag = '0' and t.dutiesId=? and t.zone=? and t.id not in ('"+wagestrategy.getId()+"')");
  894. List<WagestrategyEntity> arrangeDutyEntityList = wagestrategyService.findHql(hql.toString(), wagestrategy.getDutiesId().split(",")[0], wagestrategy.getZone());
  895. if(arrangeDutyEntityList.size()!=0){
  896. j.setSuccess(false);
  897. }
  898. message="区域职务名称已存在,请点击修改";
  899. j.setMsg(message);
  900. return j;
  901. }
  902. /**
  903. * 异步验证职务名和项目是否已存在
  904. * @author zbw
  905. * 2017-11-12
  906. * @param wagestrategy
  907. * @param request
  908. * @return
  909. */
  910. @RequestMapping(params = "ajaxCheckName_project")
  911. @ResponseBody
  912. public AjaxJson ajaxCheckName_project(WagestrategyEntity wagestrategy, HttpServletRequest request){
  913. String message = null;
  914. AjaxJson j = new AjaxJson();
  915. message = "";
  916. StringBuffer hql = new StringBuffer(
  917. " from WagestrategyEntity t where delete_flag = '0' and t.dutiesId=? and t.project=? and t.id not in ('"+wagestrategy.getId()+"')");
  918. List<WagestrategyEntity> arrangeDutyEntityList = wagestrategyService.findHql(hql.toString(), wagestrategy.getDutiesId().split(",")[0], wagestrategy.getProject());
  919. if(arrangeDutyEntityList.size()!=0){
  920. j.setSuccess(false);
  921. }
  922. message="项目职务名称已存在,请点击修改";
  923. j.setMsg(message);
  924. return j;
  925. }
  926. /**
  927. * 驼峰转下划线
  928. *
  929. * @param str需要转换的字符串
  930. * @return
  931. */
  932. private String humpToLine(String str) {
  933. Pattern humpPattern = Pattern.compile("[A-Z]");
  934. Matcher matcher = humpPattern.matcher(str);
  935. StringBuffer sb = new StringBuffer();
  936. while (matcher.find()) {
  937. matcher.appendReplacement(sb, "_" + matcher.group(0).toLowerCase());
  938. }
  939. matcher.appendTail(sb);
  940. return sb.toString();
  941. }
  942. }