| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927 |
- package cn.com.lzt.userattendancetotal.controller;
- import java.io.IOException;
- import java.math.BigDecimal;
- import java.net.URI;
- import java.util.ArrayList;
- import java.util.Calendar;
- import java.util.Collections;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
- import javax.validation.ConstraintViolation;
- import javax.validation.Validator;
- import org.apache.commons.lang.StringUtils;
- import org.apache.log4j.Logger;
- import org.jeecgframework.core.beanvalidator.BeanValidators;
- import org.jeecgframework.core.common.controller.BaseController;
- import org.jeecgframework.core.common.exception.BusinessException;
- import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
- import org.jeecgframework.core.common.model.json.AjaxJson;
- import org.jeecgframework.core.common.model.json.DataGrid;
- import org.jeecgframework.core.common.service.CommonService;
- import org.jeecgframework.core.constant.Globals;
- import org.jeecgframework.core.util.ContextHolderUtils;
- import org.jeecgframework.core.util.DataUtils;
- import org.jeecgframework.core.util.ExceptionUtil;
- import org.jeecgframework.core.util.JeecgDataAutorUtils;
- import org.jeecgframework.core.util.MyBeanUtils;
- import org.jeecgframework.core.util.ResourceUtil;
- import org.jeecgframework.core.util.StringUtil;
- import org.jeecgframework.core.util.oConvertUtils;
- import org.jeecgframework.poi.excel.ExcelImportUtil;
- import org.jeecgframework.poi.excel.entity.ExportParams;
- import org.jeecgframework.poi.excel.entity.ImportParams;
- import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants;
- import org.jeecgframework.tag.core.easyui.TagUtil;
- import org.jeecgframework.web.system.pojo.base.TSBaseUser;
- import org.jeecgframework.web.system.pojo.base.TSDepart;
- import org.jeecgframework.web.system.pojo.base.TSUser;
- import org.jeecgframework.web.system.service.DepartServiceI;
- import org.jeecgframework.web.system.service.SystemService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.http.HttpHeaders;
- import org.springframework.http.HttpStatus;
- import org.springframework.http.MediaType;
- import org.springframework.http.ResponseEntity;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.ModelMap;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.bind.annotation.ResponseStatus;
- import org.springframework.web.multipart.MultipartFile;
- import org.springframework.web.multipart.MultipartHttpServletRequest;
- import org.springframework.web.servlet.ModelAndView;
- import org.springframework.web.util.UriComponentsBuilder;
- import com.alibaba.fastjson.JSONObject;
- import cn.com.lzt.arrangedutyoperate.dto.UserAndUserPersonnelDto;
- import cn.com.lzt.arrangedutyoperate.service.ArrangeDutyOperateServiceI;
- import cn.com.lzt.attendancewarnmsg.service.AttendanceWarnMsgServiceI;
- import cn.com.lzt.dialogDeal.service.UserDepartOrgDealServiceI;
- import cn.com.lzt.userattendancedetail.service.UserAttendanceDetailServiceI;
- import cn.com.lzt.userattendancetotal.dto.UserAttendanceTotalExcelEntity;
- import cn.com.lzt.userattendancetotal.entity.UserAttendanceTotalEntity;
- import cn.com.lzt.userattendancetotal.service.UserAttendanceTotalServiceI;
- import cn.com.lzt.useroptions.entity.TBusUserOptionsEntity;
- import cn.com.lzt.useroptions.service.TBusUserOptionsServiceI;
- import cn.com.lzt.userwage.dao.UserWageMinidaoDao;
- import cn.com.lzt.userwagestrategy.entity.UserWagestrategyEntity;
- /**
- * @Title: Controller
- * @Description: 员工考勤合计表
- * @author onlineGenerator
- * @date 2017-11-11 14:37:39
- * @version V1.0
- *
- */
- @Controller
- @RequestMapping("/userAttendanceTotalController")
- public class UserAttendanceTotalController extends BaseController {
- /**
- * Logger for this class
- */
- private static final Logger logger = Logger.getLogger(UserAttendanceTotalController.class);
- @Autowired
- private UserAttendanceTotalServiceI userAttendanceTotalService;
- @Autowired
- private AttendanceWarnMsgServiceI attendanceWarnMsgService;
- @Autowired
- private UserAttendanceDetailServiceI userAttendanceDetailService;
- @Autowired
- private SystemService systemService;
- @Autowired
- private Validator validator;
- @Autowired
- private TBusUserOptionsServiceI userOptionsService;
- //排班操作表
- @Autowired
- UserDepartOrgDealServiceI userDepartOrgDealServiceI;
- @Autowired
- UserWageMinidaoDao userWageMinidaoDao;
- /**
- * 班次员工选择
- * 轮流值班
- * 员工表列表 页面跳转
- *
- * @return
- */
- @RequestMapping(params = "personnelBaseArchivesManageSelectList")
- public ModelAndView personnelBaseArchivesManageSelectList(HttpServletRequest request) {
- request.setAttribute("pid", request.getParameter("pid"));
- request.setAttribute("yearmonth", request.getParameter("yearmonth"));
- return new ModelAndView("cn/com/lzt/userattendancetotal/personnelBaseArchivesManageSelectList");
- }
-
- /**
- * 查询班次人员弹窗
- * 轮流值班
- * @author zbw
- * 2017-11-5
- * @param userAndUserPersonnelDto
- * @param request
- * @param response
- * @param dataGrid
- */
- @RequestMapping(params = "getPersonnelBaseArchivesManageInfo")
- public void getPersonnelBaseArchivesManageInfo(UserAndUserPersonnelDto userAndUserPersonnelDto,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
- //extractIdListByComma
- String pid=request.getParameter("pid");
- List<String> useridListAll=new ArrayList<String>();
-
- //根据项目pid查询所有可选用户,包括当前已选择的方便编辑;==
- if(pid!=null&&pid.length()!=0){
- pid=pid.split(",")[0];
- userAndUserPersonnelDto.setPid(pid);
- }
-
- //包括该项目id
- //根据项目id查询所有子节点id
- List<String> ChildIdList=userDepartOrgDealServiceI.getChildIdByProjectDepartId(pid);
- /******************************************************************/
-
- userAndUserPersonnelDto.setChildDepartIdList(ChildIdList);
- userAndUserPersonnelDto.setUserIdList(useridListAll);
- String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
- List<UserAndUserPersonnelDto> listUserAndUserPersonnelDto = userWageMinidaoDao.getUserAndUserPersonnelNoPage(userAndUserPersonnelDto,authSql);
-
- // Collections.sort(listUserAndUserPersonnelDto);
- //根据项目pid查询所有可选用户,包括当前已选择的方便编辑;==
- //dataGrid.setTotal(listUserAndUserPersonnelDto.getTotal());
- dataGrid.setResults(listUserAndUserPersonnelDto);
- TagUtil.datagrid(response, dataGrid);
- }
- /**
- * 员工考勤合计表列表 页面跳转
- *
- * @return
- */
- @RequestMapping(params = "auditlist")
- public ModelAndView auditlist(HttpServletRequest request) {
- Calendar calendar = DataUtils.getCalendar();
- calendar.add(Calendar.MONTH, -1);
- String yearmonth = DataUtils.formatDate(calendar, "yyyy-MM-dd");
- request.setAttribute("maxdate", yearmonth);
- String queryParams = oConvertUtils.getString(request.getParameter("queryParams"));
- if (oConvertUtils.isNotEmpty(queryParams)) {
- JSONObject jsonObject =JSONObject.parseObject(queryParams);
- request.setAttribute("queryParams",jsonObject);
- }else {
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("adjustRecord", "");
- jsonObject.put("confirmStatus", "");
- jsonObject.put("departid", "");
- jsonObject.put("departname", "");
- jsonObject.put("inPostid", "");
- jsonObject.put("userId", "");
- jsonObject.put("yearmonth", "");
- request.setAttribute("queryParams",jsonObject);
- }
- return new ModelAndView("cn/com/lzt/userattendancetotal/userAttendanceTotalauditlist");
- }
- /**
- * 员工考勤合计表列表 页面跳转
- *
- * @return
- */
- @RequestMapping(params = "list")
- public ModelAndView list(HttpServletRequest request) {
- HttpSession session = ContextHolderUtils.getSession();
- TSUser tuser = (TSUser)session.getAttribute("LOCAL_CLINET_USER");
- String queryParams = oConvertUtils.getString(request.getParameter("queryParams"));
- JSONObject jsonObject =JSONObject.parseObject(queryParams);
- String departid = "";
- String departname = "";
- if(jsonObject != null && jsonObject.getString("departid")!=null) {
- departid = jsonObject.getString("departid");
- }
-
- if(jsonObject != null && jsonObject.getString("departname")!=null) {
- departname = jsonObject.getString("departname");
- }
-
- try {
- TBusUserOptionsEntity options = userOptionsService.getOptionsByUserID(tuser.getId(), Globals.USER_OPTIONS_TYPE_PROJECT, false);
- if(StringUtils.isEmpty(departid)) {
- if(options != null) {
- departid = options.getOptionId();
- departname = options.getOptionName();
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- org.jeecgframework.core.util.LogUtil.error(e.getMessage());
- }
-
- Calendar calendar = DataUtils.getCalendar();
- // calendar.add(Calendar.MONTH, -1);
- String yearmonth = DataUtils.formatDate(calendar, "yyyy-MM-dd");
- request.setAttribute("maxdate", yearmonth);
-
- if (oConvertUtils.isNotEmpty(queryParams)) {
-
- request.setAttribute("queryParams",jsonObject);
- }else {
- jsonObject = new JSONObject();
- jsonObject.put("adjustRecord", "");
- jsonObject.put("confirmStatus", "");
- jsonObject.put("departid", departid);
- jsonObject.put("departname", departname);
- jsonObject.put("inPostid", "");
- jsonObject.put("userId", "");
- jsonObject.put("yearmonth", "");
- request.setAttribute("queryParams",jsonObject);
- }
- return new ModelAndView("cn/com/lzt/userattendancetotal/userAttendanceTotalList");
- }
- /**
- * easyui AJAX请求数据
- *
- * @param request
- * @param response
- * @param dataGrid
- * @param user
- */
-
- @RequestMapping(params = "auditdatagrid")
- public void auditdatagrid(UserAttendanceTotalEntity userAttendanceTotal,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
- try {
- // 临时借用该字段, 用于在审核页面筛选不显示未上报的数据
- userAttendanceTotal.setConfirmor("auditdatagrid");
- userAttendanceTotalService.getAttendanceTotalDtos(userAttendanceTotal, dataGrid);
- } catch (Exception e) {
- dataGrid.setResults(new ArrayList<>());
- }
- TagUtil.datagrid(response, dataGrid);
- }
- /**
- * easyui AJAX请求数据
- *
- * @param request
- * @param response
- * @param dataGrid
- * @param user
- */
- @RequestMapping(params = "datagrid")
- public void datagrid(UserAttendanceTotalEntity userAttendanceTotal,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
- if(userAttendanceTotal != null
- && userAttendanceTotal.getYearmonth() != null
- && userAttendanceTotal.getYearmonth().length() == 0) {
- dataGrid.setResults(new ArrayList<>());
- TagUtil.datagrid(response, dataGrid);
- return;
- }
-
- HttpSession session = ContextHolderUtils.getSession();
- TSUser tuser = (TSUser)session.getAttribute("LOCAL_CLINET_USER");
- String departid = "";
- String departname = "";
- if(userAttendanceTotal != null && userAttendanceTotal.getDepartid()!=null) {
- departid = userAttendanceTotal.getDepartid();
- TSDepart depart = systemService.get(TSDepart.class, departid);
- if(depart != null) {
- departname = depart.getDepartname();
- }
- }
- try {
- TBusUserOptionsEntity options = userOptionsService.getOptionsByUserID(tuser.getId(), Globals.USER_OPTIONS_TYPE_PROJECT, true);
- if(StringUtils.isEmpty(departid)) {
- if(options != null) {
- departid = options.getOptionId();
- departname = options.getOptionName();
- }
- }else {
- userOptionsService.saveUserOptions(tuser.getId(), departid, departname, Globals.USER_OPTIONS_TYPE_PROJECT);
- }
- } catch (Exception e) {
- org.jeecgframework.core.util.LogUtil.error(e.getMessage());
- }
- try {
- userAttendanceTotalService.getAttendanceTotalDtos(userAttendanceTotal, dataGrid);
- } catch (Exception e) {
- dataGrid.setResults(new ArrayList<>());
- }
- TagUtil.datagrid(response, dataGrid);
- }
-
- /**
- * 员工考勤合计表列表 页面跳转
- *
- * @return
- */
- @RequestMapping(params = "listAll")
- public ModelAndView listAll(HttpServletRequest request) {
- String queryParams = oConvertUtils.getString(request.getParameter("queryParams"));
- JSONObject jsonObject =JSONObject.parseObject(queryParams);
- String departid = "";
- String departname = "";
- if(jsonObject != null && jsonObject.getString("departid")!=null) {
- departid = jsonObject.getString("departid");
- }
-
- if(jsonObject != null && jsonObject.getString("departname")!=null) {
- departname = jsonObject.getString("departname");
- }
-
- Calendar calendar = DataUtils.getCalendar();
- // calendar.add(Calendar.MONTH, -1);
- String yearmonth = DataUtils.formatDate(calendar, "yyyy-MM-dd");
- request.setAttribute("maxdate", yearmonth);
-
- if (oConvertUtils.isNotEmpty(queryParams)) {
-
- request.setAttribute("queryParams",jsonObject);
- }else {
- jsonObject = new JSONObject();
- jsonObject.put("adjustRecord", "");
- jsonObject.put("confirmStatus", "");
- jsonObject.put("departid", departid);
- jsonObject.put("departname", departname);
- jsonObject.put("inPostid", "");
- jsonObject.put("userId", "");
- jsonObject.put("yearmonth", "");
- request.setAttribute("queryParams",jsonObject);
- }
- return new ModelAndView("cn/com/lzt/userattendancetotal/userAttendanceTotalAllList");
- }
-
- /**
- * easyui AJAX请求数据
- *
- * @param request
- * @param response
- * @param dataGrid
- * @param user
- */
- @RequestMapping(params = "datagridAll")
- public void datagridAll(UserAttendanceTotalEntity userAttendanceTotal,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
- if(userAttendanceTotal != null
- && userAttendanceTotal.getYearmonth() != null
- && userAttendanceTotal.getYearmonth().length() == 0) {
- dataGrid.setResults(new ArrayList<>());
- TagUtil.datagrid(response, dataGrid);
- return;
- }
-
- try {
- userAttendanceTotalService.getAttendanceTotalDtos(userAttendanceTotal, dataGrid);
- } catch (Exception e) {
- dataGrid.setResults(new ArrayList<>());
- }
- TagUtil.datagrid(response, dataGrid);
- }
- /**
- * 删除员工考勤合计表
- *
- * @return
- */
- @RequestMapping(params = "doDel")
- @ResponseBody
- public AjaxJson doDel(UserAttendanceTotalEntity userAttendanceTotal, HttpServletRequest request) {
- String message = null;
- AjaxJson j = new AjaxJson();
- userAttendanceTotal = systemService.getEntity(UserAttendanceTotalEntity.class, userAttendanceTotal.getId());
- message = "员工考勤合计表删除成功";
- try{
- userAttendanceTotalService.delete(userAttendanceTotal);
- systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
- }catch(Exception e){
- e.printStackTrace();
- message = "员工考勤合计表删除失败";
- throw new BusinessException(e.getMessage());
- }
- j.setMsg(message);
- return j;
- }
-
- /**
- * 批量删除员工考勤合计表
- *
- * @return
- */
- @RequestMapping(params = "doBatchDel")
- @ResponseBody
- public AjaxJson doBatchDel(String ids,HttpServletRequest request){
- String message = null;
- AjaxJson j = new AjaxJson();
- message = "员工考勤合计表删除成功";
- try{
- for(String id:ids.split(",")){
- UserAttendanceTotalEntity userAttendanceTotal = systemService.getEntity(UserAttendanceTotalEntity.class,
- id
- );
- userAttendanceTotalService.delete(userAttendanceTotal);
- systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
- }
- }catch(Exception e){
- e.printStackTrace();
- message = "员工考勤合计表删除失败";
- throw new BusinessException(e.getMessage());
- }
- j.setMsg(message);
- return j;
- }
- /**
- * 批量审核员工考勤合计表
- *
- * @return
- */
- @RequestMapping(params = "doBatchAudit")
- @ResponseBody
- public AjaxJson doBatchAudit(String ids,HttpServletRequest request){
- String message = null;
- AjaxJson j = new AjaxJson();
- message = "操作成功";
- String confirmStatus = oConvertUtils.getString(request.getParameter("confirmStatus"));
- if (Globals.ARRANGESTATUS_2.equals(confirmStatus)) {
- confirmStatus = Globals.ARRANGESTATUS_2;
- }else {
- confirmStatus = Globals.ARRANGESTATUS_0;
- }
- try{
- userAttendanceTotalService.doBatchAudit(oConvertUtils.getString(ids),confirmStatus);
- j.setSuccess(true);
- }catch(Exception e){
- e.printStackTrace();
- j.setSuccess(false);
- message = "操作失败";
- }
- j.setMsg(message);
- return j;
- }
- /**
- * 批量上报员工考勤
- *
- * @return
- */
- @RequestMapping(params = "doBatchReport")
- @ResponseBody
- public AjaxJson doBatchReport(String ids,HttpServletRequest request){
- String message = null;
- AjaxJson j = new AjaxJson();
- message = "上报成功";
- try{
- userAttendanceTotalService.doBatchReport(oConvertUtils.getString(ids));
- j.setSuccess(true);
- }catch(Exception e){
- e.printStackTrace();
- j.setSuccess(false);
- message = "上报失败";
- }
- j.setMsg(message);
- return j;
- }
- /**
- * 添加员工考勤合计表
- *
- * @param ids
- * @return
- */
- @RequestMapping(params = "doAdd")
- @ResponseBody
- public AjaxJson doAdd(UserAttendanceTotalEntity userAttendanceTotal, HttpServletRequest request) {
- String message = null;
- AjaxJson j = new AjaxJson();
- message = "员工考勤合计表添加成功";
- try{
- userAttendanceTotalService.save(userAttendanceTotal);
- systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
- }catch(Exception e){
- e.printStackTrace();
- message = "员工考勤合计表添加失败";
- throw new BusinessException(e.getMessage());
- }
- j.setMsg(message);
- return j;
- }
-
- /**
- * 更新员工考勤合计表
- *
- * @param ids
- * @return
- */
- @RequestMapping(params = "doUpdate")
- @ResponseBody
- public AjaxJson doUpdate(UserAttendanceTotalEntity userAttendanceTotal, HttpServletRequest request) {
- String message = null;
- AjaxJson j = new AjaxJson();
- message = "员工考勤合计表更新成功";
- UserAttendanceTotalEntity t = userAttendanceTotalService.get(UserAttendanceTotalEntity.class, userAttendanceTotal.getId());
- try {
- MyBeanUtils.copyBeanNotNull2Bean(userAttendanceTotal, t);
- userAttendanceTotalService.saveOrUpdate(t);
- systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
- } catch (Exception e) {
- e.printStackTrace();
- message = "员工考勤合计表更新失败";
- throw new BusinessException(e.getMessage());
- }
- j.setMsg(message);
- return j;
- }
-
- /**
- * 员工考勤合计表新增页面跳转
- *
- * @return
- */
- @RequestMapping(params = "goAdd")
- public ModelAndView goAdd(UserAttendanceTotalEntity userAttendanceTotal, HttpServletRequest req,String yearmonth) {
- try {
- userAttendanceTotalService.insertUserAttendanceTotalByyearmonth(yearmonth);
- // userAttendanceTotalService.insertUserAttendanceTotalByyearmonth("2017-09");
- // userAttendanceTotalService.insertUserAttendanceTotalByyearmonth("2017-10");
-
- // attendanceWarnMsgService.updateAttendanceWarnMsgBytasker("2017-10-19");
- // userAttendanceTotalService.insertUserAttendanceTotalByyearmonth("2017-08");
- // userAttendanceTotalService.insertUserAttendanceTotalByyearmonth("2017-09");
- // userAttendanceTotalService.insertUserAttendanceTotalByyearmonth("2017-10");
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- if (StringUtil.isNotEmpty(userAttendanceTotal.getId())) {
- userAttendanceTotal = userAttendanceTotalService.getEntity(UserAttendanceTotalEntity.class, userAttendanceTotal.getId());
- req.setAttribute("userAttendanceTotalPage", userAttendanceTotal);
- }
- return new ModelAndView("cn/com/lzt/userattendancetotal/userAttendanceTotal-add");
- }
- /**
- * 员工考勤合计表编辑页面跳转
- *
- * @return
- */
- @RequestMapping(params = "goUpdate")
- public ModelAndView goUpdate(UserAttendanceTotalEntity userAttendanceTotal, HttpServletRequest req) {
- if (StringUtil.isNotEmpty(userAttendanceTotal.getId())) {
- userAttendanceTotal = userAttendanceTotalService.getEntity(UserAttendanceTotalEntity.class, userAttendanceTotal.getId());
- JSONObject object =(JSONObject) JSONObject.toJSON(userAttendanceTotal);
-
- if (oConvertUtils.isNotEmpty(userAttendanceTotal)&&oConvertUtils.isNotEmpty(userAttendanceTotal.getUserId())) {
- TSBaseUser user = userAttendanceTotalService.findUniqueByProperty(TSBaseUser.class, "id",userAttendanceTotal.getUserId());
- if (oConvertUtils.isNotEmpty(user)) {
- object.put("userrealName", user.getRealName());
- }
- }
- if(userAttendanceTotal.getAbsenteeismAmount_orig() == null) {
- userAttendanceTotal.setAbsenteeismAmount_orig(BigDecimal.ZERO);
- }
- if(userAttendanceTotal.getTimeoutOvertimeDuration_orig() == null) {
- userAttendanceTotal.setTimeoutOvertimeDuration_orig(BigDecimal.ZERO);
- }
- req.setAttribute("userAttendanceTotalPage",object);
- }
- String queryParams = oConvertUtils.getString(req.getParameter("queryParams"));
- if (oConvertUtils.isNotEmpty(queryParams)) {
- req.setAttribute("queryParams",queryParams);
- }
- String conform = oConvertUtils.getString(req.getParameter("conform"));
- if ("auditlist".equals(conform)||"list".equals(conform)) {
- req.setAttribute("backurl",conform);
- return new ModelAndView("cn/com/lzt/userattendancetotal/userAttendanceTotal-conform");
- }else {
- return new ModelAndView("cn/com/lzt/userattendancetotal/userAttendanceTotal-update");
- }
- }
-
- /**
- * 员工考勤合计表编辑页面跳转
- *
- * @return
- */
- @RequestMapping(params = "goUpdateAll")
- public ModelAndView goUpdateAll(UserAttendanceTotalEntity userAttendanceTotal, HttpServletRequest req) {
- if (StringUtil.isNotEmpty(userAttendanceTotal.getId())) {
- userAttendanceTotal = userAttendanceTotalService.getEntity(UserAttendanceTotalEntity.class, userAttendanceTotal.getId());
- JSONObject object =(JSONObject) JSONObject.toJSON(userAttendanceTotal);
-
- if (oConvertUtils.isNotEmpty(userAttendanceTotal)&&oConvertUtils.isNotEmpty(userAttendanceTotal.getUserId())) {
- TSBaseUser user = userAttendanceTotalService.findUniqueByProperty(TSBaseUser.class, "id",userAttendanceTotal.getUserId());
- if (oConvertUtils.isNotEmpty(user)) {
- object.put("userrealName", user.getRealName());
- }
- }
- if(userAttendanceTotal.getAbsenteeismAmount_orig() == null) {
- userAttendanceTotal.setAbsenteeismAmount_orig(BigDecimal.ZERO);
- }
- if(userAttendanceTotal.getTimeoutOvertimeDuration_orig() == null) {
- userAttendanceTotal.setTimeoutOvertimeDuration_orig(BigDecimal.ZERO);
- }
- req.setAttribute("userAttendanceTotalPage",object);
- }
- String queryParams = oConvertUtils.getString(req.getParameter("queryParams"));
- if (oConvertUtils.isNotEmpty(queryParams)) {
- req.setAttribute("queryParams",queryParams);
- }
- String conform = oConvertUtils.getString(req.getParameter("conform"));
- if ("auditlist".equals(conform)||"listAll".equals(conform)) {
- req.setAttribute("backurl",conform);
- return new ModelAndView("cn/com/lzt/userattendancetotal/userAttendanceTotal-conformAll");
- }else {
- return new ModelAndView("cn/com/lzt/userattendancetotal/userAttendanceTotal-updateAll");
- }
- }
-
-
- /**
- * 重新核算考勤
- *
- * @return
- */
- @RequestMapping(params = "calcuUserAttendance")
- @ResponseBody
- public AjaxJson calcuUserAttendance(UserAttendanceTotalEntity userAttendanceTotal, HttpServletRequest request) {
- AjaxJson j = new AjaxJson();
- j.setMsg("员工考勤核算完成");
- String id = oConvertUtils.getString(request.getParameter("id"));
- if (StringUtil.isNotEmpty(id)) {
- userAttendanceTotal = userAttendanceTotalService.getEntity(UserAttendanceTotalEntity.class, id);
- try {
- userAttendanceTotalService.insertUserAttendanceTotalByyearmonth(userAttendanceTotal.getUserId(), userAttendanceTotal.getYearmonth());
- } catch (Exception e) {
- j.setSuccess(false);
- j.setMsg("考勤核算失败,请联系信息部");
- return j;
- }
- }
- return j;
- }
-
- /**
- * 重新核算考勤
- *
- * @return
- */
- @RequestMapping(params = "createUserAttendance")
- @ResponseBody
- public AjaxJson createUserAttendance(UserAttendanceTotalEntity userAttendanceTotal, HttpServletRequest request) {
- AjaxJson j = new AjaxJson();
- j.setMsg("成功生成员工考勤");
- String userid = oConvertUtils.getString(request.getParameter("userid"));
- String yearmonth = oConvertUtils.getString(request.getParameter("yearmonth"));
- if (StringUtil.isNotEmpty(userid) && StringUtil.isNotEmpty(yearmonth)) {
- try {
- userAttendanceTotalService.insertUserAttendanceTotalByyearmonth(userid, yearmonth);
- } catch (Exception e) {
- j.setSuccess(false);
- j.setMsg("考勤核算失败["+e.getMessage()+"]");
- return j;
- }
- }
- return j;
- }
-
-
-
- /**
- * 导入功能跳转
- *
- * @return
- */
- @RequestMapping(params = "upload")
- public ModelAndView upload(HttpServletRequest req) {
- req.setAttribute("controller_name","userAttendanceTotalController");
- return new ModelAndView("common/upload/pub_excel_upload");
- }
-
- /**
- * 导出excel
- *
- * @param request
- * @param response
- */
- @RequestMapping(params = "auditexportXls")
- public String auditexportXls(UserAttendanceTotalEntity userAttendanceTotal,HttpServletRequest request,HttpServletResponse response
- , DataGrid dataGrid,ModelMap modelMap) {
- try {
- dataGrid.setObj("exportXls");
- // 临时借用该字段, 用于在审核页面筛选不显示未上报的数据
- userAttendanceTotal.setConfirmor("auditdatagrid");
- userAttendanceTotalService.getAttendanceTotalDtos(userAttendanceTotal, dataGrid);
- } catch (Exception e) {
- dataGrid.setResults(new ArrayList<>());
- }
- List<UserAttendanceTotalEntity> userAttendanceTotalEntities =dataGrid.getResults();
- List<UserAttendanceTotalExcelEntity> userAttendanceTotalexcelEntities =new ArrayList<>();
- try {
- for (UserAttendanceTotalEntity entry : userAttendanceTotalEntities) {
- UserAttendanceTotalExcelEntity excelEntity = new UserAttendanceTotalExcelEntity();
- MyBeanUtils.copyBeanNotNull2Bean(entry, excelEntity);
- excelEntity.setDatumAttendanceDateStr(getStrFromBigdecimal(excelEntity.getDatumAttendanceDate()));
- excelEntity.setActualAttendanceDateStr(getStrFromBigdecimal(excelEntity.getActualAttendanceDate()));
- excelEntity.setTimeDifferenceTotalstr(getStrFromBigdecimal(excelEntity.getTimeDifferenceTotal()));
- excelEntity.setOvertimeTotalTimestr(getStrFromBigdecimal(excelEntity.getOvertimeTotalTime()));
- excelEntity.setLeaveTotalTimestr(getStrFromBigdecimal(excelEntity.getLeaveTotalTime()));
- userAttendanceTotalexcelEntities.add(excelEntity);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- modelMap.put(NormalExcelConstants.FILE_NAME,"考勤审核信息");
- modelMap.put(NormalExcelConstants.CLASS,UserAttendanceTotalExcelEntity.class);
- modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("考勤审核信息", "导出人:"+ResourceUtil.getSessionUser().getRealName(),
- "考勤审核信息"));
- modelMap.put(NormalExcelConstants.DATA_LIST,userAttendanceTotalexcelEntities);
- return NormalExcelConstants.JEECG_EXCEL_VIEW;
- }
- /**
- * 导出excel
- *
- * @param request
- * @param response
- */
- @RequestMapping(params = "exportXls")
- public String exportXls(UserAttendanceTotalEntity userAttendanceTotal,HttpServletRequest request,HttpServletResponse response
- , DataGrid dataGrid,ModelMap modelMap) {
- try {
- dataGrid.setObj("exportXls");
- userAttendanceTotalService.getAttendanceTotalDtos(userAttendanceTotal, dataGrid);
- } catch (Exception e) {
- dataGrid.setResults(new ArrayList<>());
- }
- List<UserAttendanceTotalEntity> userAttendanceTotalEntities =dataGrid.getResults();
- List<UserAttendanceTotalExcelEntity> userAttendanceTotalexcelEntities =new ArrayList<>();
- try {
- for (UserAttendanceTotalEntity entry : userAttendanceTotalEntities) {
- UserAttendanceTotalExcelEntity excelEntity = new UserAttendanceTotalExcelEntity();
- MyBeanUtils.copyBeanNotNull2Bean(entry, excelEntity);
- excelEntity.setDatumAttendanceDateStr(getStrFromBigdecimal(excelEntity.getDatumAttendanceDate()));
- excelEntity.setActualAttendanceDateStr(getStrFromBigdecimal(excelEntity.getActualAttendanceDate()));
- excelEntity.setTimeDifferenceTotalstr(getStrFromBigdecimal(excelEntity.getTimeDifferenceTotal()));
- excelEntity.setOvertimeTotalTimestr(getStrFromBigdecimal(excelEntity.getOvertimeTotalTime()));
- excelEntity.setLeaveTotalTimestr(getStrFromBigdecimal(excelEntity.getLeaveTotalTime()));
- userAttendanceTotalexcelEntities.add(excelEntity);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
-
-
-
- modelMap.put(NormalExcelConstants.FILE_NAME,"考勤上报信息");
- modelMap.put(NormalExcelConstants.CLASS,UserAttendanceTotalExcelEntity.class);
- modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("考勤上报信息", "导出人:"+ResourceUtil.getSessionUser().getRealName(),
- "考勤上报信息"));
- modelMap.put(NormalExcelConstants.DATA_LIST,userAttendanceTotalexcelEntities);
- return NormalExcelConstants.JEECG_EXCEL_VIEW;
- }
-
- public String getStrFromBigdecimal( BigDecimal incomBigDecimal ) {
- String result = "";
- if (null!=incomBigDecimal) {
- int temp = incomBigDecimal.intValue();
- int mins = temp % 60;
- int hour = (temp - mins) / 60;
- if (0 == hour) {
- result = mins + "分";
- } else {
- if( mins<0){
- mins = 0-mins;
- }
- result = hour + "小时" + mins + "分";
- }
- }
- return result;
- }
- /**
- * 导出excel 使模板
- *
- * @param request
- * @param response
- */
- @RequestMapping(params = "exportXlsByT")
- public String exportXlsByT(UserAttendanceTotalEntity userAttendanceTotal,HttpServletRequest request,HttpServletResponse response
- , DataGrid dataGrid,ModelMap modelMap) {
- modelMap.put(NormalExcelConstants.FILE_NAME,"员工考勤合计表");
- modelMap.put(NormalExcelConstants.CLASS,UserAttendanceTotalEntity.class);
- modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("员工考勤合计表列表", "导出人:"+ResourceUtil.getSessionUser().getRealName(),
- "导出信息"));
- modelMap.put(NormalExcelConstants.DATA_LIST,new ArrayList());
- return NormalExcelConstants.JEECG_EXCEL_VIEW;
- }
-
- @SuppressWarnings("unchecked")
- @RequestMapping(params = "importExcel", method = RequestMethod.POST)
- @ResponseBody
- public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) {
- AjaxJson j = new AjaxJson();
-
- MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
- Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
- for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
- MultipartFile file = entity.getValue();// 获取上传文件对象
- ImportParams params = new ImportParams();
- params.setTitleRows(2);
- params.setHeadRows(1);
- params.setNeedSave(true);
- try {
- List<UserAttendanceTotalEntity> listUserAttendanceTotalEntitys = ExcelImportUtil.importExcel(file.getInputStream(),UserAttendanceTotalEntity.class,params);
- for (UserAttendanceTotalEntity userAttendanceTotal : listUserAttendanceTotalEntitys) {
- userAttendanceTotalService.save(userAttendanceTotal);
- }
- j.setMsg("文件导入成功!");
- } catch (Exception e) {
- j.setMsg("文件导入失败!");
- logger.error(ExceptionUtil.getExceptionMessage(e));
- }finally{
- try {
- file.getInputStream().close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- return j;
- }
-
- @RequestMapping(method = RequestMethod.GET)
- @ResponseBody
- public List<UserAttendanceTotalEntity> list() {
- List<UserAttendanceTotalEntity> listUserAttendanceTotals=userAttendanceTotalService.getList(UserAttendanceTotalEntity.class);
- return listUserAttendanceTotals;
- }
-
- @RequestMapping(value = "/{id}", method = RequestMethod.GET)
- @ResponseBody
- public ResponseEntity<?> get(@PathVariable("id") String id) {
- UserAttendanceTotalEntity task = userAttendanceTotalService.get(UserAttendanceTotalEntity.class, id);
- if (task == null) {
- return new ResponseEntity(HttpStatus.NOT_FOUND);
- }
- return new ResponseEntity(task, HttpStatus.OK);
- }
- @RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
- @ResponseBody
- public ResponseEntity<?> create(@RequestBody UserAttendanceTotalEntity userAttendanceTotal, UriComponentsBuilder uriBuilder) {
- //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息.
- Set<ConstraintViolation<UserAttendanceTotalEntity>> failures = validator.validate(userAttendanceTotal);
- if (!failures.isEmpty()) {
- return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
- }
- //保存
- try{
- userAttendanceTotalService.save(userAttendanceTotal);
- } catch (Exception e) {
- e.printStackTrace();
- return new ResponseEntity(HttpStatus.NO_CONTENT);
- }
- //按照Restful风格约定,创建指向新任务的url, 也可以直接返回id或对象.
- String id = userAttendanceTotal.getId();
- URI uri = uriBuilder.path("/rest/userAttendanceTotalController/" + id).build().toUri();
- HttpHeaders headers = new HttpHeaders();
- headers.setLocation(uri);
- return new ResponseEntity(headers, HttpStatus.CREATED);
- }
- @RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
- public ResponseEntity<?> update(@RequestBody UserAttendanceTotalEntity userAttendanceTotal) {
- //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息.
- Set<ConstraintViolation<UserAttendanceTotalEntity>> failures = validator.validate(userAttendanceTotal);
- if (!failures.isEmpty()) {
- return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
- }
- //保存
- try{
- userAttendanceTotalService.saveOrUpdate(userAttendanceTotal);
- } catch (Exception e) {
- e.printStackTrace();
- return new ResponseEntity(HttpStatus.NO_CONTENT);
- }
- //按Restful约定,返回204状态码, 无内容. 也可以返回200状态码.
- return new ResponseEntity(HttpStatus.NO_CONTENT);
- }
- @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
- @ResponseStatus(HttpStatus.NO_CONTENT)
- public void delete(@PathVariable("id") String id) {
- userAttendanceTotalService.deleteEntityById(UserAttendanceTotalEntity.class, id);
- }
- }
|