UserWagestrategyController.java 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005
  1. package cn.com.lzt.userwagestrategy.controller;
  2. import cn.com.lzt.certificatesubsidy.entity.CertificateSubsidyEntity;
  3. import cn.com.lzt.common.dto.VisibleUserDto;
  4. import cn.com.lzt.common.push.JPushProcessor;
  5. import cn.com.lzt.common.service.DataPermissionServiceI;
  6. import cn.com.lzt.dialogDeal.service.UserDepartOrgDealServiceI;
  7. import cn.com.lzt.usercertificate.entity.UserCertificateEntity;
  8. import cn.com.lzt.userwagestrategy.dao.UserwagestrategyMinidaoDao;
  9. import cn.com.lzt.userwagestrategy.dto.UserWagestrategyDto;
  10. import cn.com.lzt.userwagestrategy.entity.UserWagestrategyEntity;
  11. import cn.com.lzt.userwagestrategy.entity.UserwagestrategyPage;
  12. import cn.com.lzt.userwagestrategy.service.UserWagestrategyServiceI;
  13. import org.apache.commons.collections.CollectionUtils;
  14. import org.apache.commons.lang3.StringUtils;
  15. import org.apache.log4j.Logger;
  16. import org.jeecgframework.core.beanvalidator.BeanValidators;
  17. import org.jeecgframework.core.common.controller.BaseController;
  18. import org.jeecgframework.core.common.exception.BusinessException;
  19. import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
  20. import org.jeecgframework.core.common.model.json.AjaxJson;
  21. import org.jeecgframework.core.common.model.json.DataGrid;
  22. import org.jeecgframework.core.constant.Globals;
  23. import org.jeecgframework.core.util.*;
  24. import org.jeecgframework.minidao.pojo.MiniDaoPage;
  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.TSDepart;
  31. import org.jeecgframework.web.system.pojo.base.TSUser;
  32. import org.jeecgframework.web.system.pojo.base.TSUserOrg;
  33. import org.jeecgframework.web.system.service.SystemService;
  34. import org.jeecgframework.web.system.service.UserService;
  35. import org.springframework.beans.factory.annotation.Autowired;
  36. import org.springframework.http.HttpHeaders;
  37. import org.springframework.http.HttpStatus;
  38. import org.springframework.http.MediaType;
  39. import org.springframework.http.ResponseEntity;
  40. import org.springframework.stereotype.Controller;
  41. import org.springframework.ui.ModelMap;
  42. import org.springframework.web.bind.annotation.*;
  43. import org.springframework.web.multipart.MultipartFile;
  44. import org.springframework.web.multipart.MultipartHttpServletRequest;
  45. import org.springframework.web.servlet.ModelAndView;
  46. import org.springframework.web.util.UriComponentsBuilder;
  47. import javax.servlet.http.HttpServletRequest;
  48. import javax.servlet.http.HttpServletResponse;
  49. import javax.servlet.http.HttpSession;
  50. import javax.validation.ConstraintViolation;
  51. import javax.validation.Validator;
  52. import java.io.IOException;
  53. import java.net.URI;
  54. import java.util.*;
  55. /**
  56. * @Title: Controller
  57. * @Description: 员工工资策略
  58. * @author onlineGenerator
  59. * @date 2017-10-23 14:00:11
  60. * @version V1.0
  61. *
  62. */
  63. @Controller
  64. @RequestMapping("/userWagestrategyController")
  65. public class UserWagestrategyController extends BaseController {
  66. /**
  67. * Logger for this class
  68. */
  69. private static final Logger logger = Logger.getLogger(UserWagestrategyController.class);
  70. @Autowired
  71. private UserWagestrategyServiceI userWagestrategyService;
  72. @Autowired
  73. private SystemService systemService;
  74. @Autowired
  75. private Validator validator;
  76. @Autowired
  77. private DataPermissionServiceI dataPermissionService;
  78. @Autowired
  79. private JPushProcessor pushProcessor;
  80. @Autowired
  81. private UserwagestrategyMinidaoDao uwDao;
  82. @Autowired
  83. private UserDepartOrgDealServiceI userDepartOrgDealService;
  84. @Autowired
  85. private UserService userService;
  86. /**
  87. * 员工工资策略列表 页面跳转
  88. *
  89. * @return
  90. */
  91. @RequestMapping(params = "list")
  92. public ModelAndView list(HttpServletRequest request) {
  93. // 获取登录用户的组织编码
  94. String orgCode = "";
  95. TSUser tSUser=ResourceUtil.getSessionUser();
  96. String userOrgHql = "from TSUserOrg where tsUser.id=? and status = 0";
  97. List<TSUserOrg> userOrgList = systemService.findHql(userOrgHql, tSUser.getId());
  98. for(TSUserOrg userOrg : userOrgList) {
  99. TSDepart departInfo = systemService.getEntity(TSDepart.class, userOrg.getTsDepart().getId());
  100. if("A_HR".equals(departInfo.getDeptCode())) {
  101. orgCode = "A_HR";
  102. break;
  103. }
  104. if(!orgCode.equals("A_HR")){
  105. String roleName = userService.getUserRole(tSUser);
  106. if(roleName.contains("A_XXB")){
  107. orgCode = "A_HR";
  108. }
  109. }
  110. }
  111. request.setAttribute("orgCode", orgCode);
  112. String orgIds = request.getParameter("orgIds");
  113. request.setAttribute("orgIds", orgIds);
  114. String departname = request.getParameter("departname");
  115. request.setAttribute("departname", departname);
  116. String realname = request.getParameter("realname");
  117. request.setAttribute("realname", realname);
  118. return new ModelAndView("cn/com/lzt/userwagestrategy/userWagestrategyList");
  119. }
  120. /**
  121. * easyui AJAX请求数据
  122. *
  123. * @param request
  124. * @param response
  125. * @param dataGrid
  126. * @param user
  127. */
  128. /* @RequestMapping(params = "datagrid")
  129. public void datagrid(UserWagestrategyDto userWagestrategy,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  130. String orgIds = request.getParameter("orgIds");
  131. List<String> orgIdList = extractIdListByComma(orgIds);
  132. // 获取 当前组织机构的用户信息
  133. if (!CollectionUtils.isEmpty(orgIdList)) {
  134. userWagestrategy.setOrgIdList(orgIdList);
  135. }
  136. String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
  137. MiniDaoPage<UserWagestrategyDto> list = userWagestrategyService.getAllEntities(userWagestrategy, dataGrid.getPage(), dataGrid.getRows(),authSql);
  138. //update-begin--Author:zhangliang Date:20170706 for:TASK #1945 【demo错误】minidao例子,通过条件查询,后台报错
  139. List<UserWagestrategyDto> entityList = list.getResults();
  140. if(!entityList.isEmpty()){
  141. for (UserWagestrategyDto userWagestrategyDaoEntity : entityList) {
  142. StringBuffer str = new StringBuffer();
  143. StringBuffer str1 = new StringBuffer();
  144. //List<UserCertificateEntity> ucList = systemService.findListbySql("select * from t_bus_user_certificate where userid = '"+userWagestrategyDaoEntity.getUserid()+"' and delete_flag = '0'");
  145. List<UserCertificateEntity> ucList = systemService.findByProperty(UserCertificateEntity.class, "userid", userWagestrategyDaoEntity.getUserid());
  146. if(!ucList.isEmpty()){
  147. for (int i = 0; i < ucList.size(); i++) {
  148. UserCertificateEntity us = ucList.get(i);
  149. //List<CertificateSubsidyEntity> usList = systemService.findListbySql("select * from t_bus_certificate_subsidy where id = '"+us.getCertificateid()+"' and delete_flag = '0'");
  150. CertificateSubsidyEntity usList = systemService.get(CertificateSubsidyEntity.class, us.getCertificateid());
  151. if(usList != null){
  152. if(ucList.size() == i){
  153. str.append(usList.getCertificateName());
  154. str1.append(usList.getId());
  155. }else{
  156. str.append(usList.getCertificateName()+",");
  157. str1.append(usList.getId()+",");
  158. }
  159. }
  160. }
  161. userWagestrategyDaoEntity.setCertificateSubsidyid(str1.toString());
  162. userWagestrategyDaoEntity.setCertificateName(str.toString());
  163. }
  164. }
  165. }
  166. dataGrid.setTotal(list.getTotal());
  167. dataGrid.setResults(list.getResults());
  168. TagUtil.datagrid(response, dataGrid);
  169. }*/
  170. /* @RequestMapping(params = "datagrid")
  171. public void datagrid(UserWagestrategyDto userWagestrategy,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  172. String orgIds = request.getParameter("orgIds");
  173. List<String> orgIdList = extractIdListByComma(orgIds);
  174. // 获取 当前组织机构的用户信息
  175. if (!CollectionUtils.isEmpty(orgIdList)) {
  176. String orgId = orgIdList.get(0);
  177. List<String> ChildIdList = userDepartOrgDealService.getChildIdByProjectDepartId(orgId);
  178. userWagestrategy.setOrgIdList(ChildIdList);
  179. }
  180. String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
  181. MiniDaoPage<UserWagestrategyDto> list = userWagestrategyService.getAllEntities(userWagestrategy, dataGrid.getPage(), dataGrid.getRows(),authSql);
  182. List<UserWagestrategyDto> entityList = list.getResults();
  183. if(!entityList.isEmpty()){
  184. for (UserWagestrategyDto userWagestrategyDaoEntity : entityList) {
  185. StringBuffer str = new StringBuffer();
  186. StringBuffer str1 = new StringBuffer();
  187. List<UserCertificateEntity> ucList = systemService.findByProperty(UserCertificateEntity.class, "userid", userWagestrategyDaoEntity.getUserid());
  188. if(!ucList.isEmpty()){
  189. for (int i = 0; i < ucList.size(); i++) {
  190. UserCertificateEntity us = ucList.get(i);
  191. CertificateSubsidyEntity usList = systemService.get(CertificateSubsidyEntity.class, us.getCertificateid());
  192. if(usList != null){
  193. if(ucList.size() == i){
  194. str.append(usList.getCertificateName());
  195. str1.append(usList.getId());
  196. }else{
  197. str.append(usList.getCertificateName()+",<br/>");
  198. str1.append(usList.getId()+",");
  199. }
  200. }
  201. }
  202. userWagestrategyDaoEntity.setCertificateSubsidyid(str1.toString());
  203. userWagestrategyDaoEntity.setCertificateName(str.toString());
  204. }
  205. }
  206. }
  207. List<UserWagestrategyDto> allList = new ArrayList<UserWagestrategyDto>();
  208. List<UserWagestrategyDto> dtoList = dataPermissionService.dataFilter(list.getResults());//数据过滤
  209. allList.addAll(dtoList);
  210. if(allList!=null && allList.size()<10){
  211. MiniDaoPage<UserWagestrategyDto> pageList = userWagestrategyService.getAllEntities(userWagestrategy, dataGrid.getPage(), dataGrid.getRows(),authSql);
  212. }
  213. int num1 = list.getTotal()/10;//商
  214. int num2 = list.getTotal()%10;//余数
  215. int loopNum = num2!=0 ? num1+1 : num1;//循环次数
  216. for(int i=0; i<loopNum; i++){
  217. if(allList!=null && allList.size()<10){
  218. MiniDaoPage<UserWagestrategyDto> pageList = userWagestrategyService.getAllEntities(userWagestrategy, dataGrid.getPage(), dataGrid.getRows(),authSql);
  219. }
  220. }
  221. PushReq pushreq = new PushReq();
  222. Map<String,String> extrasParam = new HashMap<String, String>();
  223. extrasParam.put("sendReport", "sendReport");
  224. pushreq.setExtras(extrasParam);
  225. pushreq.setAlert(PushMsgContentProcess.PUSH_INSPECTION_ATTENDANCE_YW.value());
  226. ArrayList<String> ls = new ArrayList<String>();
  227. ls.add("4028e4a55fdd331a015fdd36ac9e0001");
  228. pushreq.setAudiences(ls);
  229. pushProcessor.pushMessage(pushreq);
  230. dataGrid.setTotal(list.getTotal());
  231. dataGrid.setResults(list.getResults());
  232. TagUtil.datagrid(response, dataGrid);
  233. }*/
  234. /**
  235. * easyui AJAX请求数据
  236. *
  237. * @param request
  238. * @param response
  239. * @param dataGrid
  240. */
  241. @RequestMapping(params = "datagrid")
  242. public void datagrid(UserWagestrategyDto userWagestrategy,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  243. String orgIds = request.getParameter("orgIds");
  244. String departname = request.getParameter("departname");
  245. String realname = request.getParameter("realname");
  246. userWagestrategy.setRealname(realname);
  247. List<String> orgIdList = extractIdListByComma(orgIds);
  248. request.setAttribute("orgIds", orgIds);
  249. request.setAttribute("departname", departname);
  250. request.setAttribute("realname", realname);
  251. MiniDaoPage<UserWagestrategyDto> list = new MiniDaoPage<UserWagestrategyDto>();
  252. // if(orgIds == null || orgIds.length() == 0) {
  253. // list.setResults(new ArrayList<UserWagestrategyDto>());
  254. // dataGrid.setResults(list.getResults());
  255. // TagUtil.datagrid(response, dataGrid);
  256. // return;
  257. // }
  258. // 获取 当前组织机构的用户信息
  259. if (!CollectionUtils.isEmpty(orgIdList)) {
  260. String orgId = orgIdList.get(0);
  261. List<String> childIdList = userDepartOrgDealService.getChildIdByProjectDepartId(orgId);
  262. userWagestrategy.setOrgIdList(childIdList);
  263. }else{
  264. // 查询当前部门先所有子孙节点,目前已经采用通用算法进行数据过滤,暂时不需要,已注释
  265. /*TSUser tSUser=ResourceUtil.getSessionUser();
  266. StringBuffer hql = new StringBuffer("from TSUserOrg where tsUser.id = :userid and status=0");
  267. List<TSUserOrg> tsList = systemService.getSession().createQuery(hql.toString()).setParameter("userid", tSUser.getId()).list();
  268. if(!tsList.isEmpty()){
  269. for (TSUserOrg tsUserOrg : tsList) {
  270. List<String> childIdList = userDepartOrgDealService.getChildIdByProjectDepartId(tsUserOrg.getTsDepart().getId());
  271. if(!childIdList.isEmpty()){
  272. List<String> ch = new ArrayList<String>();
  273. for (String str : childIdList) {
  274. if(!str.equals(tsUserOrg.getTsDepart().getId())){
  275. ch.add(str);
  276. }
  277. }
  278. childIdList = ch;
  279. }
  280. userWagestrategy.setOrgIdList(childIdList);
  281. }
  282. }*/
  283. }
  284. String orgCode = "";
  285. TSUser tSUser=ResourceUtil.getSessionUser();
  286. String userOrgHql = "from TSUserOrg where tsUser.id=? and status = 0";
  287. List<TSUserOrg> userOrgList = systemService.findHql(userOrgHql, tSUser.getId());
  288. for(TSUserOrg userOrg : userOrgList) {
  289. TSDepart departInfo = systemService.getEntity(TSDepart.class, userOrg.getTsDepart().getId());
  290. if("A_HR".equals(departInfo.getDeptCode())) {
  291. orgCode = "A_HR";
  292. break;
  293. }
  294. }
  295. if(!orgCode.equals("A_HR")){
  296. String roleName = userService.getUserRole(tSUser);
  297. if(roleName.contains("A_XXB")){
  298. orgCode = "A_HR";
  299. }
  300. }
  301. String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
  302. if("A_HR".equals(orgCode)) {
  303. list = userWagestrategyService.getAllEntities(userWagestrategy, null, dataGrid.getPage(), dataGrid.getRows(),authSql);
  304. }else {
  305. VisibleUserDto dto = dataPermissionService.getVisibleUserList();// 获取当前用户可见的userid列表
  306. if(dto != null){
  307. if(dto.getFlag().value().equalsIgnoreCase("ALL")){
  308. list = userWagestrategyService.getAllEntities(userWagestrategy, null, dataGrid.getPage(), dataGrid.getRows(),authSql);
  309. }else if(dto.getFlag().value().equalsIgnoreCase("NONE")){
  310. // 获取当前登录用户
  311. HttpSession session = ContextHolderUtils.getSession();
  312. TSUser user = (TSUser)session.getAttribute("LOCAL_CLINET_USER");
  313. List<String> uidList = new ArrayList<String>();
  314. uidList.add(user.getId());
  315. list = userWagestrategyService.getAllEntities(userWagestrategy, uidList, dataGrid.getPage(), dataGrid.getRows(),authSql);
  316. }else if(dto.getFlag().value().equalsIgnoreCase("PART")){
  317. List<String> useridList = dto.getUseridList();
  318. if(useridList != null && useridList.size() > 0){
  319. list = userWagestrategyService.getAllEntities(userWagestrategy, useridList, dataGrid.getPage(), dataGrid.getRows(),authSql);
  320. }
  321. }
  322. }
  323. }
  324. // MiniDaoPage<UserWagestrategyDto> list = userWagestrategyService.getAllEntities(userWagestrategy, useridList, dataGrid.getPage(), dataGrid.getRows(),authSql);
  325. List<UserWagestrategyDto> entityList = list.getResults();
  326. if(!entityList.isEmpty()){
  327. for (UserWagestrategyDto userWagestrategyDaoEntity : entityList) {
  328. if(userWagestrategyDaoEntity.getId() == null || userWagestrategyDaoEntity.getId().length()==0) {
  329. userWagestrategyDaoEntity.setIsset("未配置");
  330. }else {
  331. userWagestrategyDaoEntity.setIsset("是");
  332. }
  333. StringBuffer str = new StringBuffer();
  334. StringBuffer str1 = new StringBuffer();
  335. List<UserCertificateEntity> ucList = systemService.findByProperty(UserCertificateEntity.class, "userid", userWagestrategyDaoEntity.getUserid());
  336. if(!ucList.isEmpty()){
  337. for (int i = 0; i < ucList.size(); i++) {
  338. UserCertificateEntity us = ucList.get(i);
  339. if("1".equals(us.getDeleteFlag())) {
  340. continue;
  341. }
  342. CertificateSubsidyEntity usList = systemService.get(CertificateSubsidyEntity.class, us.getCertificateid());
  343. if(usList != null){
  344. if(ucList.size() == i){
  345. str.append(usList.getCertificateName());
  346. str1.append(usList.getId());
  347. }else{
  348. str.append(usList.getCertificateName()+",<br/>");
  349. str1.append(usList.getId()+",");
  350. }
  351. }
  352. }
  353. userWagestrategyDaoEntity.setCertificateSubsidyid(str1.toString());
  354. userWagestrategyDaoEntity.setCertificateName(str.toString());
  355. }
  356. if(StringUtils.isEmpty(userWagestrategyDaoEntity.getDepartname())){
  357. userWagestrategyDaoEntity.setDepartname(getBybelongId(userWagestrategyDaoEntity.getUserids()));
  358. }
  359. }
  360. }
  361. Collections.sort(entityList);
  362. dataGrid.setTotal(list.getTotal());
  363. dataGrid.setResults(list.getResults());
  364. TagUtil.datagrid(response, dataGrid);
  365. }
  366. /**
  367. * 通过人查询所属项目
  368. * @param userid
  369. * @return
  370. */
  371. private String getBybelongId(String userid){
  372. String temp = "";
  373. StringBuffer hql = new StringBuffer("from TSUserOrg where tsUser.id = :userid and ifpluralism = 0 and status=0");
  374. List<TSUserOrg> tsList = systemService.getSession().createQuery(hql.toString()).setParameter("userid", userid).list();
  375. if(!tsList.isEmpty()){
  376. TSUserOrg uo = tsList.get(0);
  377. TSDepart tsDepart = uo.getTsDepart();
  378. if("1".equals(tsDepart.getOrgType()) || "3".equals(tsDepart.getOrgType()) || "4".equals(tsDepart.getOrgType()) || "5".equals(tsDepart.getOrgType())){
  379. temp = tsDepart.getId();
  380. }else if("2".equals(tsDepart.getOrgType()) && "1".equals(tsDepart.getTSPDepart().getOrgType())){
  381. temp = tsDepart.getId();
  382. }else{
  383. temp = selectById(tsDepart.getId());
  384. }
  385. temp = systemService.get(TSDepart.class, temp).getDepartname();
  386. }
  387. return temp;
  388. }
  389. private String selectById(String id){
  390. String temp = "";
  391. TSDepart tsDepart =systemService.getEntity(TSDepart.class,id);
  392. if("3".equals(tsDepart.getOrgType()) || "5".equals(tsDepart.getOrgType())){
  393. temp = tsDepart.getId();
  394. }else{
  395. if(tsDepart.getTSPDepart() != null){
  396. selectById(tsDepart.getTSPDepart().getId());
  397. temp = tsDepart.getTSPDepart().getId();
  398. }
  399. }
  400. return temp;
  401. }
  402. /**
  403. * 删除员工工资策略
  404. *
  405. * @return
  406. */
  407. @RequestMapping(params = "doDel")
  408. @ResponseBody
  409. public AjaxJson doDel(UserWagestrategyEntity userWagestrategy, HttpServletRequest request) {
  410. String message = null;
  411. AjaxJson j = new AjaxJson();
  412. userWagestrategy = systemService.getEntity(UserWagestrategyEntity.class, userWagestrategy.getId());
  413. message = "员工工资策略删除成功";
  414. try{
  415. userWagestrategyService.delete(userWagestrategy);
  416. systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  417. }catch(Exception e){
  418. e.printStackTrace();
  419. message = "员工工资策略删除失败";
  420. throw new BusinessException(e.getMessage());
  421. }
  422. j.setMsg(message);
  423. return j;
  424. }
  425. /**
  426. * 批量删除员工工资策略
  427. *
  428. * @return
  429. */
  430. @RequestMapping(params = "doBatchDel")
  431. @ResponseBody
  432. public AjaxJson doBatchDel(String ids,HttpServletRequest request){
  433. String message = null;
  434. AjaxJson j = new AjaxJson();
  435. message = "员工工资策略删除成功";
  436. try{
  437. for(String id:ids.split(",")){
  438. UserWagestrategyEntity userWagestrategy = systemService.getEntity(UserWagestrategyEntity.class,
  439. id
  440. );
  441. userWagestrategyService.delete(userWagestrategy);
  442. systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
  443. }
  444. }catch(Exception e){
  445. e.printStackTrace();
  446. message = "员工工资策略删除失败";
  447. throw new BusinessException(e.getMessage());
  448. }
  449. j.setMsg(message);
  450. return j;
  451. }
  452. /**
  453. * 添加员工工资策略
  454. *
  455. * @return
  456. */
  457. @RequestMapping(params = "doAdd")
  458. @ResponseBody
  459. public AjaxJson doAdd(UserWagestrategyEntity userWagestrategy, HttpServletRequest request) {
  460. String message = null;
  461. AjaxJson j = new AjaxJson();
  462. message = "员工工资策略添加成功";
  463. try{
  464. userWagestrategyService.save(userWagestrategy);
  465. systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
  466. }catch(Exception e){
  467. e.printStackTrace();
  468. message = "员工工资策略添加失败";
  469. throw new BusinessException(e.getMessage());
  470. }
  471. j.setMsg(message);
  472. return j;
  473. }
  474. /**
  475. * 更新员工工资策略
  476. *
  477. * @return
  478. */
  479. @RequestMapping(params = "doUpdate")
  480. @ResponseBody
  481. public AjaxJson doUpdate(UserWagestrategyEntity userWagestrategy, HttpServletRequest request) {
  482. String message = null;
  483. AjaxJson j = new AjaxJson();
  484. message = "员工工资策略更新成功";
  485. UserWagestrategyEntity t = userWagestrategyService.get(UserWagestrategyEntity.class, userWagestrategy.getId());
  486. try {
  487. MyBeanUtils.copyBeanNotNull2Bean(userWagestrategy, t);
  488. userWagestrategyService.saveOrUpdate(t);
  489. systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
  490. } catch (Exception e) {
  491. e.printStackTrace();
  492. message = "员工工资策略更新失败";
  493. throw new BusinessException(e.getMessage());
  494. }
  495. j.setMsg(message);
  496. return j;
  497. }
  498. /**
  499. * 员工工资策略新增页面跳转
  500. *
  501. * @return
  502. */
  503. @RequestMapping(params = "goAdd")
  504. public ModelAndView goAdd(UserWagestrategyEntity userWagestrategy, HttpServletRequest req) {
  505. if (StringUtil.isNotEmpty(userWagestrategy.getId())) {
  506. userWagestrategy = userWagestrategyService.getEntity(UserWagestrategyEntity.class, userWagestrategy.getId());
  507. req.setAttribute("userWagestrategyPage", userWagestrategy);
  508. }
  509. return new ModelAndView("cn/com/lzt/userwagestrategy/userWagestrategy-add");
  510. }
  511. /**
  512. * 员工工资策略编辑页面跳转
  513. *
  514. * @return
  515. */
  516. @RequestMapping(params = "goUpdate")
  517. public ModelAndView goUpdate(UserWagestrategyEntity userWagestrategy, HttpServletRequest req) {
  518. if (StringUtil.isNotEmpty(userWagestrategy.getId())) {
  519. userWagestrategy = userWagestrategyService.getEntity(UserWagestrategyEntity.class, userWagestrategy.getId());
  520. req.setAttribute("userWagestrategyPage", userWagestrategy);
  521. }
  522. return new ModelAndView("cn/com/lzt/userwagestrategy/userWagestrategy-update");
  523. }
  524. /**
  525. * 导入功能跳转
  526. *
  527. * @return
  528. */
  529. @RequestMapping(params = "upload")
  530. public ModelAndView upload(HttpServletRequest req) {
  531. req.setAttribute("controller_name","userWagestrategyController");
  532. return new ModelAndView("common/upload/pub_excel_upload");
  533. }
  534. /**
  535. * 导出excel
  536. *
  537. * @param request
  538. * @param response
  539. */
  540. @RequestMapping(params = "exportXls")
  541. public String exportXls(UserWagestrategyDto userWagestrategy,HttpServletRequest request,HttpServletResponse response
  542. , DataGrid dataGrid,ModelMap modelMap) {
  543. CriteriaQuery cq = new CriteriaQuery(UserWagestrategyEntity.class, dataGrid);
  544. /*org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, userWagestrategy, request.getParameterMap());
  545. List<UserWagestrategyEntity> userWagestrategys = this.userWagestrategyService.getListByCriteriaQuery(cq,false);*/
  546. String orgIds = request.getParameter("orgIds");
  547. List<String> orgIdList = extractIdListByComma(orgIds);
  548. // 获取 当前组织机构的用户信息
  549. if (!CollectionUtils.isEmpty(orgIdList)) {
  550. String orgId = orgIdList.get(0);
  551. List<String> childIdList = userDepartOrgDealService.getChildIdByProjectDepartId(orgId);
  552. userWagestrategy.setOrgIdList(childIdList);
  553. }
  554. String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
  555. VisibleUserDto dto = dataPermissionService.getVisibleUserList();// 获取当前用户可见的userid列表
  556. if(dto != null){
  557. MiniDaoPage<UserWagestrategyDto> list = new MiniDaoPage<UserWagestrategyDto>();
  558. if(dto.getFlag().value().equalsIgnoreCase("ALL")){
  559. list = userWagestrategyService.getExcelPutOut(userWagestrategy, null, dataGrid.getPage(), dataGrid.getRows(),authSql);
  560. }else if(dto.getFlag().value().equalsIgnoreCase("NONE")){
  561. // 获取当前登录用户
  562. HttpSession session = ContextHolderUtils.getSession();
  563. TSUser user = (TSUser)session.getAttribute("LOCAL_CLINET_USER");
  564. List<String> uidList = new ArrayList<String>();
  565. uidList.add(user.getId());
  566. list = userWagestrategyService.getExcelPutOut(userWagestrategy, uidList, dataGrid.getPage(), dataGrid.getRows(),authSql);
  567. }else if(dto.getFlag().value().equalsIgnoreCase("PART")){
  568. List<String> useridList = dto.getUseridList();
  569. if(useridList != null && useridList.size() > 0){
  570. list = userWagestrategyService.getExcelPutOut(userWagestrategy, useridList, dataGrid.getPage(), dataGrid.getRows(),authSql);
  571. }
  572. }
  573. // MiniDaoPage<UserWagestrategyDto> list = userWagestrategyService.getAllEntities(userWagestrategy, useridList, dataGrid.getPage(), dataGrid.getRows(),authSql);
  574. List<UserWagestrategyDto> entityList = list.getResults();
  575. if(!entityList.isEmpty()){
  576. Collections.sort(entityList);
  577. for (UserWagestrategyDto userWagestrategyDaoEntity : entityList) {
  578. StringBuffer str = new StringBuffer();
  579. StringBuffer str1 = new StringBuffer();
  580. List<UserCertificateEntity> ucList = systemService.findByProperty(UserCertificateEntity.class, "userid", userWagestrategyDaoEntity.getUserid());
  581. if(!ucList.isEmpty()){
  582. for (int i = 0; i < ucList.size(); i++) {
  583. UserCertificateEntity us = ucList.get(i);
  584. CertificateSubsidyEntity usList = systemService.get(CertificateSubsidyEntity.class, us.getCertificateid());
  585. if(usList != null){
  586. if(ucList.size() == i){
  587. str.append(usList.getCertificateName());
  588. str1.append(usList.getId());
  589. }else{
  590. str.append(usList.getCertificateName()+",");
  591. str1.append(usList.getId()+",");
  592. }
  593. }
  594. }
  595. userWagestrategyDaoEntity.setCertificateSubsidyid(str1.toString());
  596. userWagestrategyDaoEntity.setCertificateName(str.toString());
  597. }
  598. if(StringUtils.isEmpty(userWagestrategyDaoEntity.getDepartname())){
  599. userWagestrategyDaoEntity.setDepartname(getBybelongId(userWagestrategyDaoEntity.getUserids()));
  600. }
  601. }
  602. }
  603. modelMap.put(NormalExcelConstants.FILE_NAME,"员工工资策略");
  604. modelMap.put(NormalExcelConstants.CLASS,UserWagestrategyDto.class);
  605. modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("员工工资策略列表", "导出人:"+ResourceUtil.getSessionUser().getRealName(),
  606. "导出信息"));
  607. modelMap.put(NormalExcelConstants.DATA_LIST,list.getResults());
  608. }
  609. return NormalExcelConstants.JEECG_EXCEL_VIEW;
  610. }
  611. /**
  612. * 导出excel 使模板
  613. *
  614. * @param request
  615. * @param response
  616. */
  617. @RequestMapping(params = "exportXlsByT")
  618. public String exportXlsByT(UserWagestrategyEntity userWagestrategy,HttpServletRequest request,HttpServletResponse response
  619. , DataGrid dataGrid,ModelMap modelMap) {
  620. modelMap.put(NormalExcelConstants.FILE_NAME,"员工工资策略");
  621. modelMap.put(NormalExcelConstants.CLASS,UserWagestrategyEntity.class);
  622. modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("员工工资策略列表", "导出人:"+ResourceUtil.getSessionUser().getRealName(),
  623. "导出信息"));
  624. modelMap.put(NormalExcelConstants.DATA_LIST,new ArrayList());
  625. return NormalExcelConstants.JEECG_EXCEL_VIEW;
  626. }
  627. @SuppressWarnings("unchecked")
  628. @RequestMapping(params = "importExcel", method = RequestMethod.POST)
  629. @ResponseBody
  630. public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) {
  631. AjaxJson j = new AjaxJson();
  632. MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
  633. Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
  634. for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
  635. MultipartFile file = entity.getValue();// 获取上传文件对象
  636. ImportParams params = new ImportParams();
  637. params.setTitleRows(2);
  638. params.setHeadRows(1);
  639. params.setNeedSave(true);
  640. try {
  641. List<UserWagestrategyEntity> listUserWagestrategyEntitys = ExcelImportUtil.importExcel(file.getInputStream(),UserWagestrategyEntity.class,params);
  642. for (UserWagestrategyEntity userWagestrategy : listUserWagestrategyEntitys) {
  643. userWagestrategyService.save(userWagestrategy);
  644. }
  645. j.setMsg("文件导入成功!");
  646. } catch (Exception e) {
  647. j.setMsg("文件导入失败!");
  648. logger.error(ExceptionUtil.getExceptionMessage(e));
  649. }finally{
  650. try {
  651. file.getInputStream().close();
  652. } catch (IOException e) {
  653. e.printStackTrace();
  654. }
  655. }
  656. }
  657. return j;
  658. }
  659. @RequestMapping(method = RequestMethod.GET)
  660. @ResponseBody
  661. public List<UserWagestrategyEntity> list() {
  662. List<UserWagestrategyEntity> listUserWagestrategys=userWagestrategyService.getList(UserWagestrategyEntity.class);
  663. return listUserWagestrategys;
  664. }
  665. @RequestMapping(value = "/{id}", method = RequestMethod.GET)
  666. @ResponseBody
  667. public ResponseEntity<?> get(@PathVariable("id") String id) {
  668. UserWagestrategyEntity task = userWagestrategyService.get(UserWagestrategyEntity.class, id);
  669. if (task == null) {
  670. return new ResponseEntity(HttpStatus.NOT_FOUND);
  671. }
  672. return new ResponseEntity(task, HttpStatus.OK);
  673. }
  674. @RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
  675. @ResponseBody
  676. public ResponseEntity<?> create(@RequestBody UserWagestrategyEntity userWagestrategy, UriComponentsBuilder uriBuilder) {
  677. //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息.
  678. Set<ConstraintViolation<UserWagestrategyEntity>> failures = validator.validate(userWagestrategy);
  679. if (!failures.isEmpty()) {
  680. return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
  681. }
  682. //保存
  683. try{
  684. userWagestrategyService.save(userWagestrategy);
  685. } catch (Exception e) {
  686. e.printStackTrace();
  687. return new ResponseEntity(HttpStatus.NO_CONTENT);
  688. }
  689. //按照Restful风格约定,创建指向新任务的url, 也可以直接返回id或对象.
  690. String id = userWagestrategy.getId();
  691. URI uri = uriBuilder.path("/rest/userWagestrategyController/" + id).build().toUri();
  692. HttpHeaders headers = new HttpHeaders();
  693. headers.setLocation(uri);
  694. return new ResponseEntity(headers, HttpStatus.CREATED);
  695. }
  696. @RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
  697. public ResponseEntity<?> update(@RequestBody UserWagestrategyEntity userWagestrategy) {
  698. //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息.
  699. Set<ConstraintViolation<UserWagestrategyEntity>> failures = validator.validate(userWagestrategy);
  700. if (!failures.isEmpty()) {
  701. return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
  702. }
  703. //保存
  704. try{
  705. userWagestrategyService.saveOrUpdate(userWagestrategy);
  706. } catch (Exception e) {
  707. e.printStackTrace();
  708. return new ResponseEntity(HttpStatus.NO_CONTENT);
  709. }
  710. //按Restful约定,返回204状态码, 无内容. 也可以返回200状态码.
  711. return new ResponseEntity(HttpStatus.NO_CONTENT);
  712. }
  713. @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
  714. @ResponseStatus(HttpStatus.NO_CONTENT)
  715. public void delete(@PathVariable("id") String id) {
  716. userWagestrategyService.deleteEntityById(UserWagestrategyEntity.class, id);
  717. }
  718. /**
  719. * 保存新增/更新的行数据
  720. * @param page
  721. * @return
  722. * @throws Exception
  723. */
  724. @RequestMapping(params = "saveRows")
  725. @ResponseBody
  726. public AjaxJson saveRows(UserwagestrategyPage page) throws Exception{
  727. List<UserWagestrategyEntity> demos=page.getUserWagestrategyDaoList();
  728. AjaxJson j = userWagestrategyService.addOrEdit(demos);
  729. return j;
  730. }
  731. @RequestMapping(params = "noWagelist")
  732. public ModelAndView noWagelist(HttpServletRequest request) {
  733. // 获取登录用户的组织编码
  734. // String orgCode = "";
  735. // TSUser tSUser=ResourceUtil.getSessionUser();
  736. // String userOrgHql = "from TSUserOrg where tsUser.id=? and status = 0";
  737. // List<TSUserOrg> userOrgList = systemService.findHql(userOrgHql, tSUser.getId());
  738. // for(TSUserOrg userOrg : userOrgList) {
  739. // TSDepart departInfo = systemService.getEntity(TSDepart.class, userOrg.getTsDepart().getId());
  740. // if("A_HR".equals(departInfo.getDeptCode())) {
  741. // orgCode = "A_HR";
  742. // break;
  743. // }
  744. // }
  745. // request.setAttribute("orgCode", orgCode);
  746. // String orgIds = request.getParameter("orgIds");
  747. // request.setAttribute("orgIds", orgIds);
  748. // String departname = request.getParameter("departname");
  749. // request.setAttribute("departname", departname);
  750. // String realname = request.getParameter("realname");
  751. // request.setAttribute("realname", realname);
  752. return new ModelAndView("cn/com/lzt/userwagestrategy/userWagestrategyNoList");
  753. }
  754. /**
  755. * easyui AJAX请求数据
  756. *
  757. * @param request
  758. * @param response
  759. * @param dataGrid
  760. */
  761. @RequestMapping(params = "nowagedatagrid")
  762. public void nowagedatagrid(UserWagestrategyDto userWagestrategy,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
  763. String orgIds = request.getParameter("orgIds");
  764. String departname = request.getParameter("departname");
  765. String realname = request.getParameter("realname");
  766. userWagestrategy.setRealname(realname);
  767. List<String> orgIdList = extractIdListByComma(orgIds);
  768. request.setAttribute("orgIds", orgIds);
  769. request.setAttribute("departname", departname);
  770. request.setAttribute("realname", realname);
  771. MiniDaoPage<UserWagestrategyDto> list = new MiniDaoPage<UserWagestrategyDto>();
  772. // if(orgIds == null || orgIds.length() == 0) {
  773. // list.setResults(new ArrayList<UserWagestrategyDto>());
  774. // dataGrid.setResults(list.getResults());
  775. // TagUtil.datagrid(response, dataGrid);
  776. // return;
  777. // }
  778. // 获取 当前组织机构的用户信息
  779. if (!CollectionUtils.isEmpty(orgIdList)) {
  780. String orgId = orgIdList.get(0);
  781. List<String> childIdList = userDepartOrgDealService.getChildIdByProjectDepartId(orgId);
  782. userWagestrategy.setOrgIdList(childIdList);
  783. }else{
  784. // 查询当前部门先所有子孙节点,目前已经采用通用算法进行数据过滤,暂时不需要,已注释
  785. /*TSUser tSUser=ResourceUtil.getSessionUser();
  786. StringBuffer hql = new StringBuffer("from TSUserOrg where tsUser.id = :userid and status=0");
  787. List<TSUserOrg> tsList = systemService.getSession().createQuery(hql.toString()).setParameter("userid", tSUser.getId()).list();
  788. if(!tsList.isEmpty()){
  789. for (TSUserOrg tsUserOrg : tsList) {
  790. List<String> childIdList = userDepartOrgDealService.getChildIdByProjectDepartId(tsUserOrg.getTsDepart().getId());
  791. if(!childIdList.isEmpty()){
  792. List<String> ch = new ArrayList<String>();
  793. for (String str : childIdList) {
  794. if(!str.equals(tsUserOrg.getTsDepart().getId())){
  795. ch.add(str);
  796. }
  797. }
  798. childIdList = ch;
  799. }
  800. userWagestrategy.setOrgIdList(childIdList);
  801. }
  802. }*/
  803. }
  804. String orgCode = "";
  805. TSUser tSUser=ResourceUtil.getSessionUser();
  806. String userOrgHql = "from TSUserOrg where tsUser.id=? and status = 0";
  807. List<TSUserOrg> userOrgList = systemService.findHql(userOrgHql, tSUser.getId());
  808. for(TSUserOrg userOrg : userOrgList) {
  809. TSDepart departInfo = systemService.getEntity(TSDepart.class, userOrg.getTsDepart().getId());
  810. if("A_HR".equals(departInfo.getDeptCode())) {
  811. orgCode = "A_HR";
  812. break;
  813. }
  814. }
  815. String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
  816. VisibleUserDto dto = dataPermissionService.getVisibleUserList();// 获取当前用户可见的userid列表
  817. if("A_HR".equals(orgCode) || (dto != null && dto.getFlag().value().equalsIgnoreCase("ALL"))) {
  818. list = uwDao.getAllNoWageStra(userWagestrategy, null, dataGrid.getPage(), dataGrid.getRows(),authSql);
  819. }else {
  820. if(StringUtils.isBlank(authSql)){
  821. authSql= " u.id in ( " +
  822. " select bu.id as userid from t_bus_user_personnel per \n" +
  823. " left join t_s_base_user bu on bu.id = per.userid\n" +
  824. " where leave_date is null and not exists (select * from t_bus_user_wagestrategy uwage where uwage.userid = per.userid)\n" +
  825. " union all\n" +
  826. " select bu.id as userid \n" +
  827. " from t_bus_user_wagestrategy uwage \n" +
  828. " left join t_s_base_user bu on bu.id = uwage.userid \n" +
  829. " left join t_s_user_org uorg on uorg.user_id = bu.id and uorg.ifpluralism = '0' and uorg.status='0'\n" +
  830. " left join t_bus_user_personnel per on per.userid = bu.id\n" +
  831. " where uwage.belong_unitid <> uorg.org_id and leave_date is null) ";
  832. }
  833. if(dto != null){
  834. // if(dto.getFlag().value().equalsIgnoreCase("ALL")){
  835. // list = userWagestrategyService.getAllEntities(userWagestrategy, null, dataGrid.getPage(), dataGrid.getRows(),authSql);
  836. // }else
  837. if(dto.getFlag().value().equalsIgnoreCase("NONE")){
  838. // 获取当前登录用户
  839. HttpSession session = ContextHolderUtils.getSession();
  840. TSUser user = (TSUser)session.getAttribute("LOCAL_CLINET_USER");
  841. List<String> uidList = new ArrayList<String>();
  842. uidList.add(user.getId());
  843. list = userWagestrategyService.getAllEntities(userWagestrategy, uidList, dataGrid.getPage(), dataGrid.getRows(),authSql);
  844. }else if(dto.getFlag().value().equalsIgnoreCase("PART")){
  845. List<String> useridList = dto.getUseridList();
  846. if(useridList != null && useridList.size() > 0){
  847. list = userWagestrategyService.getAllEntities(userWagestrategy, useridList, dataGrid.getPage(), dataGrid.getRows(),authSql);
  848. }
  849. }
  850. }
  851. }
  852. // MiniDaoPage<UserWagestrategyDto> list = userWagestrategyService.getAllEntities(userWagestrategy, useridList, dataGrid.getPage(), dataGrid.getRows(),authSql);
  853. List<UserWagestrategyDto> entityList = list.getResults();
  854. if(!entityList.isEmpty()){
  855. for (UserWagestrategyDto userWagestrategyDaoEntity : entityList) {
  856. if(userWagestrategyDaoEntity.getId() == null || userWagestrategyDaoEntity.getId().length()==0) {
  857. userWagestrategyDaoEntity.setIsset("未配置");
  858. }else {
  859. userWagestrategyDaoEntity.setIsset("部门不匹配");
  860. }
  861. StringBuffer str = new StringBuffer();
  862. StringBuffer str1 = new StringBuffer();
  863. List<UserCertificateEntity> ucList = systemService.findByProperty(UserCertificateEntity.class, "userid", userWagestrategyDaoEntity.getUserid());
  864. if(!ucList.isEmpty()){
  865. for (int i = 0; i < ucList.size(); i++) {
  866. UserCertificateEntity us = ucList.get(i);
  867. if("1".equals(us.getDeleteFlag())) {
  868. continue;
  869. }
  870. CertificateSubsidyEntity usList = systemService.get(CertificateSubsidyEntity.class, us.getCertificateid());
  871. if(usList != null){
  872. if(ucList.size() == i){
  873. str.append(usList.getCertificateName());
  874. str1.append(usList.getId());
  875. }else{
  876. str.append(usList.getCertificateName()+",<br/>");
  877. str1.append(usList.getId()+",");
  878. }
  879. }
  880. }
  881. userWagestrategyDaoEntity.setCertificateSubsidyid(str1.toString());
  882. userWagestrategyDaoEntity.setCertificateName(str.toString());
  883. }
  884. if(StringUtils.isEmpty(userWagestrategyDaoEntity.getDepartname())){
  885. userWagestrategyDaoEntity.setDepartname(getBybelongId(userWagestrategyDaoEntity.getUserids()));
  886. }
  887. }
  888. }
  889. List<UserWagestrategyDto> retList = list.getResults();
  890. Collections.sort(retList, new Comparator<UserWagestrategyDto>() {
  891. public int compare(UserWagestrategyDto c1, UserWagestrategyDto c2) {
  892. if(c1.getDepartid() != null && c2.getDepartid()!= null) {
  893. if(c1.getDepartid().equals(c2.getDepartid())) {
  894. if(c1.getDutiesname() != null && c1.getDutiesname().equals(c2.getDutiesname())) {
  895. if(c1.getRealname() != null && c2.getRealname()!=null) {
  896. if(c1.getRealname().equals(c2.getRealname())) {
  897. return 0;
  898. }else {
  899. return c1.getRealname().compareTo(c2.getRealname());
  900. }
  901. }
  902. }else if(c1.getDutiesname() != null&&c2.getDutiesname() != null) {
  903. if(c1.getDutiesname().equals(c2.getDutiesname())) {
  904. return 0;
  905. }
  906. return c1.getDutiesname().compareTo(c2.getDutiesname());
  907. }
  908. }else{
  909. return c1.getDepartid().compareTo(c2.getDepartid());
  910. }
  911. }else if(c1.getDepartid() == null) {
  912. return -1;
  913. }else {
  914. return 1;
  915. }
  916. return 0;
  917. }
  918. });
  919. dataGrid.setTotal(list.getTotal());
  920. dataGrid.setResults(retList);
  921. TagUtil.datagrid(response, dataGrid);
  922. }
  923. }