| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888 |
- package com.xcgl.reports.contoller;
- import java.util.ArrayList;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.commons.lang.StringUtil;
- import org.apache.log4j.Logger;
- import org.jeecgframework.core.common.model.json.DataGrid;
- import org.jeecgframework.core.util.DataUtils;
- import org.jeecgframework.core.util.DateUtils;
- import org.jeecgframework.core.util.JeecgDataAutorUtils;
- import org.jeecgframework.core.util.ResourceUtil;
- import org.jeecgframework.minidao.pojo.MiniDaoPage;
- import org.jeecgframework.poi.excel.entity.ExportParams;
- import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants;
- import org.jeecgframework.tag.core.easyui.TagUtil;
- import org.jeecgframework.web.system.service.SystemService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.ModelMap;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.servlet.ModelAndView;
- import com.xcgl.reports.dao.XcglRptDao;
- import com.xcgl.reports.dto.ActivitiOvertimeDto;
- import com.xcgl.reports.dto.ActivitiOvertimeSumDto;
- import com.xcgl.reports.dto.ActivitiStats;
- import com.xcgl.reports.dto.TaskStats;
- import cn.com.lzt.common.entity.ChartMultLineDto;
- import cn.com.lzt.common.entity.ChartSeriesDto;
- import cn.com.lzt.common.entity.DataDto;
- import cn.com.lzt.common.util.DataUtil;
- import cn.com.lzt.common.util.ExportExcel;
- import cn.com.lzt.tools.DecimalUtils;
- import cn.com.lzt.userstats.dto.UserEntity;
- @Controller
- @RequestMapping("/xcglRptController")
- public class XcglRptController {
-
- @Autowired
- private XcglRptDao rptDao;
-
- @Autowired
- private SystemService systemService;
-
- private static final Logger logger = Logger.getLogger(XcglRptController.class);
- @RequestMapping(params = "task4managerRptDemo")
- public ModelAndView task4managerRptDemo(HttpServletRequest request) {
- return new ModelAndView("com/xcgl/reports/task4managerRptDemo");
- }
-
- @RequestMapping(params = "task4ProjectRptDemo")
- public ModelAndView task4ProjectRptDemo(HttpServletRequest request) {
- return new ModelAndView("com/xcgl/reports/task4ProjectRptDemo");
- }
-
- @RequestMapping(params = "task4EvaluateRptDemo")
- public ModelAndView task4EvaluateRptDemo(HttpServletRequest request) {
- return new ModelAndView("com/xcgl/reports/task4EvaluateRptDemo");
- }
-
- // @RequestMapping(params = "shuiyishinenghaoDemo")
- // public ModelAndView shuiyishinenghaoDemo(HttpServletRequest request) {
- // return new ModelAndView("cn/com/lzt/report/shuiyishinenghaoDemo");
- // }
- //
- // @RequestMapping(params = "diantiguzhangDemo")
- // public ModelAndView diantiguzhangDemo(HttpServletRequest request) {
- // return new ModelAndView("cn/com/lzt/report/diantiguzhangDemo");
- // }
- //
- // @RequestMapping(params = "menjincesuoDemo")
- // public ModelAndView menjincesuoDemo(HttpServletRequest request) {
- // return new ModelAndView("cn/com/lzt/report/menjincesuoDemo");
- // }
- //
- // @RequestMapping(params = "diantiguzhangYueDemo")
- // public ModelAndView diantiguzhangYueDemo(HttpServletRequest request) {
- // return new ModelAndView("cn/com/lzt/report/diantiguzhangYueDemo");
- // }
- //
- // @RequestMapping(params = "kaoqintiaozhengDemo")
- // public ModelAndView kaoqintiaozhengdemo(HttpServletRequest request) {
- // ModelAndView mav = new ModelAndView();
- // Calendar c = Calendar.getInstance();
- // mav.addObject("curYear",c.get(Calendar.YEAR)+"");
- // int month = c.get(Calendar.MONTH);
- // if(month > 9){
- // mav.addObject("curMonth", c.get(Calendar.MONTH)+"");
- // }else if(month == 0){
- // mav.addObject("curYear",(c.get(Calendar.YEAR)-1)+"");
- // mav.addObject("curMonth", "12");
- // }else{
- // mav.addObject("curMonth", "0"+c.get(Calendar.MONTH));
- // }
- // TSUser user = (TSUser) request.getSession().getAttribute(ResourceUtil.LOCAL_CLINET_USER);
- //
- // //默认HR权限
- // String rolefalg ="1";
- // //查询用户角色
- // String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
- // List<UserRoleDto> userRolelist = statsMinidaoDao.getUserRoleList(user.getId(),authSql);
- // for(UserRoleDto urdto : userRolelist){
- // if(Constants.USER_ROLE_HR.contains(urdto.getRolecode())){
- // rolefalg = "1";
- // break;
- // }
- // if(Constants.USER_ROLE_DEPT.contains(urdto.getRolecode())){
- // rolefalg = "2";
- // break;
- // }
- // }
- // if(rolefalg.equals("2")){
- // List<ProjectDepartDto> projectDepartDtoList=dialogDealServiceI.getProjectDepartByUserId();
- // mav.addObject("departList", projectDepartDtoList);
- // }
- // mav.addObject("roleFlag", rolefalg);
- // mav.setViewName("cn/com/lzt/report/kaoqintiaozhengdemo");
- // return mav;
- // }
- //
- //
- // @RequestMapping(params = "getKaoQinTiaoZhengTime")
- // @ResponseBody
- // public Map<String,Object> getKaoQinTiaoZhengTime(HttpServletRequest request,WageDto wageEntity) {
- // Map<String,Object> result = new HashMap<String,Object>();
- // List<String> xAxisData = new ArrayList<String>();
- // String month = wageEntity.getAttYear()+"-"+wageEntity.getAttMonth();
- //
- // List<KaoQinModifyEntity> kaoqinDtoList = rptDao.getKaoQinPaihangTime(month);
- //
- // ArrayList<ChartSeriesDto> series = new ArrayList<ChartSeriesDto>();//series值
- // ChartSeriesDto csdto = new ChartSeriesDto();
- // csdto.setName("考勤修改时长(分钟)");
- // csdto.setType("bar");
- // csdto.setBarMaxWidth(30);
- // List<DataDto> datalist = new ArrayList<DataDto>();
- // for(int i= 0 ; i < kaoqinDtoList.size() ; i++){
- // DataDto dd = new DataDto();
- // dd.setValue(String.valueOf(kaoqinDtoList.get(i).getTotal()));
- // datalist.add(dd);
- // xAxisData.add(kaoqinDtoList.get(i).getName());
- // }
- // csdto.setData(datalist.toArray());
- // series.add(csdto);
- // ChartMultLineDto cmlDto = new ChartMultLineDto();
- // cmlDto.setxAxisData(xAxisData.toArray());
- // cmlDto.setSeries(series);
- // if( kaoqinDtoList== null || kaoqinDtoList.size() == 0){
- // cmlDto.setNoData(true);
- // }
- // result.put("cdata", cmlDto);
- // result.put("tdata", kaoqinDtoList);
- // request.getSession().setAttribute("kaoqinModify", kaoqinDtoList);
- // return result;
- // }
- //
- // @RequestMapping(params = "kaoqintiaozhengCountDemo")
- // public ModelAndView kaoqintiaozhengCountdemo(HttpServletRequest request) {
- // ModelAndView mav = new ModelAndView();
- // Calendar c = Calendar.getInstance();
- // mav.addObject("curYear",c.get(Calendar.YEAR)+"");
- // int month = c.get(Calendar.MONTH);
- // if(month > 9){
- // mav.addObject("curMonth", c.get(Calendar.MONTH)+"");
- // }else if(month == 0){
- // mav.addObject("curYear",(c.get(Calendar.YEAR)-1)+"");
- // mav.addObject("curMonth", "12");
- // }else{
- // mav.addObject("curMonth", "0"+c.get(Calendar.MONTH));
- // }
- // TSUser user = (TSUser) request.getSession().getAttribute(ResourceUtil.LOCAL_CLINET_USER);
- //
- // //默认HR权限
- // String rolefalg ="1";
- // //查询用户角色
- // String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
- // List<UserRoleDto> userRolelist = statsMinidaoDao.getUserRoleList(user.getId(),authSql);
- // for(UserRoleDto urdto : userRolelist){
- // if(Constants.USER_ROLE_HR.contains(urdto.getRolecode())){
- // rolefalg = "1";
- // break;
- // }
- // if(Constants.USER_ROLE_DEPT.contains(urdto.getRolecode())){
- // rolefalg = "2";
- // break;
- // }
- // }
- // if(rolefalg.equals("2")){
- // List<ProjectDepartDto> projectDepartDtoList=dialogDealServiceI.getProjectDepartByUserId();
- // mav.addObject("departList", projectDepartDtoList);
- // }
- // mav.addObject("roleFlag", rolefalg);
- // mav.setViewName("cn/com/lzt/report/kaoqintiaozhengCountdemo");
- // return mav;
- // }
- //
- //
- // @RequestMapping(params = "getKaoQinTiaoZhengCount")
- // @ResponseBody
- // public Map<String,Object> getKaoQinTiaoZhengCount(HttpServletRequest request,WageDto wageEntity) {
- // Map<String,Object> result = new HashMap<String,Object>();
- // List<String> xAxisData = new ArrayList<String>();
- // String month = wageEntity.getAttYear()+"-"+wageEntity.getAttMonth();
- // List<KaoQinModifyEntity> kaoqinDtoList = new ArrayList<KaoQinModifyEntity>();
- // if(!StringUtil.isEmpty(wageEntity.getPid())){
- // kaoqinDtoList = rptDao.getKaoQinPaihangCountProject(month, wageEntity.getPid());
- // }
- // else if (!StringUtil.isEmpty(wageEntity.getDeptId())) {
- // kaoqinDtoList = rptDao.getKaoQinPaihangCountPerson(month, wageEntity.getDeptId());
- // }
- // else
- // kaoqinDtoList = rptDao.getKaoQinPaihangCount(month);
- //
- // ArrayList<ChartSeriesDto> series = new ArrayList<ChartSeriesDto>();//series值
- // ChartSeriesDto csdto = new ChartSeriesDto();
- // csdto.setName("考勤修改次数(次)");
- // csdto.setType("bar");
- // csdto.setBarMaxWidth(30);
- // List<DataDto> datalist = new ArrayList<DataDto>();
- // for(int i= 0 ; i < kaoqinDtoList.size() ; i++){
- // DataDto dd = new DataDto();
- // dd.setId(kaoqinDtoList.get(i).getId());
- // dd.setValue(String.valueOf(kaoqinDtoList.get(i).getCount()));
- // datalist.add(dd);
- // xAxisData.add(kaoqinDtoList.get(i).getName());
- // }
- // csdto.setData(datalist.toArray());
- // series.add(csdto);
- // ChartMultLineDto cmlDto = new ChartMultLineDto();
- // cmlDto.setxAxisData(xAxisData.toArray());
- // cmlDto.setSeries(series);
- // if( kaoqinDtoList== null || kaoqinDtoList.size() == 0){
- // cmlDto.setNoData(true);
- // }
- // result.put("cdata", cmlDto);
- // result.put("tdata", kaoqinDtoList);
- // request.getSession().setAttribute("kaoqinModify", kaoqinDtoList);
- // return result;
- // }
-
- @RequestMapping(params = "taskstats-org")
- public ModelAndView taskstatsorg(HttpServletRequest request) {
- ModelAndView mav = new ModelAndView();
- Calendar c = Calendar.getInstance();
- mav.addObject("curYear",c.get(Calendar.YEAR)+"");
- int month = c.get(Calendar.MONTH);
- if(month > 9){
- mav.addObject("curMonth", c.get(Calendar.MONTH)+"");
- }else if(month == 0){
- mav.addObject("curYear",(c.get(Calendar.YEAR)-1)+"");
- mav.addObject("curMonth", "12");
- }else{
- mav.addObject("curMonth", "0"+c.get(Calendar.MONTH));
- }
- // TSUser user = (TSUser) request.getSession().getAttribute(ResourceUtil.LOCAL_CLINET_USER);
- //
- // //默认HR权限
- // String rolefalg ="1";
- // //查询用户角色
- // String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
- // List<UserRoleDto> userRolelist = statsMinidaoDao.getUserRoleList(user.getId(),authSql);
- // for(UserRoleDto urdto : userRolelist){
- // if(Constants.USER_ROLE_HR.contains(urdto.getRolecode())){
- // rolefalg = "1";
- // break;
- // }
- // if(Constants.USER_ROLE_DEPT.contains(urdto.getRolecode())){
- // rolefalg = "2";
- // break;
- // }
- // }
- // if(rolefalg.equals("2")){
- // List<ProjectDepartDto> projectDepartDtoList=dialogDealServiceI.getProjectDepartByUserId();
- // mav.addObject("departList", projectDepartDtoList);
- // }
- // mav.addObject("roleFlag", rolefalg);
- mav.setViewName("com/xcgl/reports/taskstats-org");
- return mav;
- }
- @RequestMapping(params="taskStatsOrgData")
- @ResponseBody
- public Map<String,Object> taskStatsOrgData(HttpServletRequest request,UserEntity userEntity) {
- Map<String,Object> result = new HashMap<String,Object>();
- List<String> xAxisData = new ArrayList<String>();
- List<String> yearMonths = new ArrayList<String>();
- List<TaskStats> statsList = new ArrayList<TaskStats>();
- List<TaskStats> tData = new ArrayList<TaskStats>();
- //如果是月频,需要查询某年某月
- if(userEntity.getAttType() == 0){
- yearMonths.add(userEntity.getAttYear()+"-"+userEntity.getAttMonth());
- }else if(userEntity.getAttType() == 1){
- yearMonths = DataUtil.getYearMonthList(userEntity.getAttYear(), userEntity.getAttQuarters());
- }
- userEntity.setYearMonthList(yearMonths);
- String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
- MiniDaoPage<TaskStats> list = new MiniDaoPage<TaskStats>();
- list = rptDao.taskStatsOrgData(userEntity, authSql);
- statsList = list.getResults();
- for(TaskStats stats : statsList){
- xAxisData.add(stats.getName());
- }
- ArrayList<ChartSeriesDto> series = new ArrayList<ChartSeriesDto>();//series值
- ChartSeriesDto csdto = new ChartSeriesDto();
- csdto.setName("工作数量");
- csdto.setType("bar");
- csdto.setBarWidth(12);
- List<DataDto> datalist = new ArrayList<DataDto>();
- for(int i= 0 ; i < statsList.size() ; i++){
- DataDto dd = new DataDto();
- dd.setId(statsList.get(i).getId());
- dd.setValue(String.valueOf(statsList.get(i).getTaskTotal()));
- datalist.add(dd);
- }
- csdto.setData(datalist.toArray());
- series.add(csdto);
-
- ChartSeriesDto csdto_nofinishnum = new ChartSeriesDto();
- csdto_nofinishnum.setName("未完成工作数量");
- csdto_nofinishnum.setType("bar");
- csdto_nofinishnum.setBarWidth(12);
- List<DataDto> datalist_nofinishnum = new ArrayList<DataDto>();
- for(int i= 0 ; i < statsList.size() ; i++){
- DataDto dd = new DataDto();
- dd.setId(statsList.get(i).getId());
- dd.setValue(String.valueOf(statsList.get(i).getNoFinishTaskTotal()));
- datalist_nofinishnum.add(dd);
- }
- csdto_nofinishnum.setData(datalist_nofinishnum.toArray());
- series.add(csdto_nofinishnum);
-
- ChartSeriesDto csdto_nofinish = new ChartSeriesDto();
- csdto_nofinish.setName("未完成率");
- csdto_nofinish.setType("bar");
- csdto_nofinish.setBarWidth(12);
- List<DataDto> datalist_nofinish = new ArrayList<DataDto>();
- for(int i= 0 ; i < statsList.size() ; i++){
- DataDto dd = new DataDto();
- dd.setId(statsList.get(i).getId());
- dd.setValue(DecimalUtils.formatToStr( statsList.get(i).getNoFinishProportion().doubleValue()));
- datalist_nofinish.add(dd);
- }
- csdto_nofinish.setData(datalist_nofinish.toArray());
- series.add(csdto_nofinish);
-
- ChartMultLineDto cmlDto = new ChartMultLineDto();
- cmlDto.setxAxisData(xAxisData.toArray());
- cmlDto.setSeries(series);
- if( statsList== null || statsList.size() == 0){
- cmlDto.setNoData(true);
- }
- result.put("cdata", cmlDto);
- //statsList排序重置
- for(int i = statsList.size()-1;i > -1;i--) {
- tData.add(statsList.get(i));
- }
- result.put("tdata", tData);
- request.getSession().setAttribute("taskStats", statsList);
- return result;
- }
-
-
- @RequestMapping(params="taskStats-orguserdata")
- @ResponseBody
- public Map<String,Object> taskStatsorguserdata(HttpServletRequest request,UserEntity userEntity) {
- Map<String,Object> result = new HashMap<String,Object>();
- List<String> xAxisData = new ArrayList<String>();
- List<String> yearMonths = new ArrayList<String>();
- List<TaskStats> statsList = new ArrayList<TaskStats>();
- //如果是月频,需要查询某年某月
- if(userEntity.getAttType() == 0){
- yearMonths.add(userEntity.getAttYear()+"-"+userEntity.getAttMonth());
- }else if(userEntity.getAttType() == 1){
- yearMonths = DataUtil.getYearMonthList(userEntity.getAttYear(), userEntity.getAttQuarters());
- }
- userEntity.setYearMonthList(yearMonths);
- String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
- MiniDaoPage<TaskStats> list = new MiniDaoPage<TaskStats>();
- list = rptDao.taskStatsOrgUserData(userEntity, authSql);
- statsList = list.getResults();
- for(TaskStats stats : statsList){
- xAxisData.add(stats.getName());
- }
- ArrayList<ChartSeriesDto> series = new ArrayList<ChartSeriesDto>();//series值
- ChartSeriesDto csdto = new ChartSeriesDto();
- csdto.setName("工作数量");
- csdto.setType("bar");
- csdto.setBarMaxWidth(12);
- List<DataDto> datalist = new ArrayList<DataDto>();
- for(int i= 0 ; i < statsList.size() ; i++){
- DataDto dd = new DataDto();
- dd.setId(statsList.get(i).getId());
- dd.setValue(String.valueOf(statsList.get(i).getTaskTotal()));
- datalist.add(dd);
- }
- csdto.setData(datalist.toArray());
- series.add(csdto);
-
- ChartSeriesDto csdto_nofinishnum = new ChartSeriesDto();
- csdto_nofinishnum.setName("未完成工作数量");
- csdto_nofinishnum.setType("bar");
- csdto_nofinishnum.setBarWidth(12);
- List<DataDto> datalist_nofinishnum = new ArrayList<DataDto>();
- for(int i= 0 ; i < statsList.size() ; i++){
- DataDto dd = new DataDto();
- dd.setId(statsList.get(i).getId());
- dd.setValue(String.valueOf(statsList.get(i).getNoFinishTaskTotal()));
- datalist_nofinishnum.add(dd);
- }
- csdto_nofinishnum.setData(datalist_nofinishnum.toArray());
- series.add(csdto_nofinishnum);
-
- ChartSeriesDto csdto_nofinish = new ChartSeriesDto();
- csdto_nofinish.setName("未完成率");
- csdto_nofinish.setType("bar");
- csdto_nofinish.setBarWidth(12);
- List<DataDto> datalist_nofinish = new ArrayList<DataDto>();
- for(int i= 0 ; i < statsList.size() ; i++){
- DataDto dd = new DataDto();
- dd.setId(statsList.get(i).getId());
- dd.setValue(DecimalUtils.formatToStr( statsList.get(i).getNoFinishProportion().doubleValue()));
- datalist_nofinish.add(dd);
- }
- csdto_nofinish.setData(datalist_nofinish.toArray());
- series.add(csdto_nofinish);
-
-
- ChartMultLineDto cmlDto = new ChartMultLineDto();
- cmlDto.setxAxisData(xAxisData.toArray());
- cmlDto.setSeries(series);
- if( statsList== null || statsList.size() == 0){
- cmlDto.setNoData(true);
- }
- result.put("cdata", cmlDto);
- result.put("tdata", statsList);
- request.getSession().setAttribute("taskStats", statsList);
- return result;
- }
- @RequestMapping(params = "taskStatsType")
- public ModelAndView taskStatsType(HttpServletRequest request) {
- ModelAndView mav = new ModelAndView();
- Calendar c = Calendar.getInstance();
- mav.addObject("curYear",c.get(Calendar.YEAR)+"");
- int month = c.get(Calendar.MONTH);
- if(month > 9){
- mav.addObject("curMonth", c.get(Calendar.MONTH)+"");
- }else if(month == 0){
- mav.addObject("curYear",(c.get(Calendar.YEAR)-1)+"");
- mav.addObject("curMonth", "12");
- }else{
- mav.addObject("curMonth", "0"+c.get(Calendar.MONTH));
- }
- // TSUser user = (TSUser) request.getSession().getAttribute(ResourceUtil.LOCAL_CLINET_USER);
- //
- // //默认HR权限
- // String rolefalg ="1";
- // //查询用户角色
- // String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
- // List<UserRoleDto> userRolelist = statsMinidaoDao.getUserRoleList(user.getId(),authSql);
- // for(UserRoleDto urdto : userRolelist){
- // if(Constants.USER_ROLE_HR.contains(urdto.getRolecode())){
- // rolefalg = "1";
- // break;
- // }
- // if(Constants.USER_ROLE_DEPT.contains(urdto.getRolecode())){
- // rolefalg = "2";
- // break;
- // }
- // }
- // if(rolefalg.equals("2")){
- // List<ProjectDepartDto> projectDepartDtoList=dialogDealServiceI.getProjectDepartByUserId();
- // mav.addObject("departList", projectDepartDtoList);
- // }
- // mav.addObject("roleFlag", rolefalg);
- mav.setViewName("com/xcgl/reports/taskstats-type");
- return mav;
- }
- @RequestMapping(params="taskStatsTypedata")
- @ResponseBody
- public Map<String,Object> taskStatsTypedata(HttpServletRequest request,UserEntity userEntity) {
- Map<String,Object> result = new HashMap<String,Object>();
- List<String> xAxisData = new ArrayList<String>();
- List<String> yearMonths = new ArrayList<String>();
- List<TaskStats> statsList = new ArrayList<TaskStats>();
- //如果是月频,需要查询某年某月
- if(userEntity.getAttType() == 0){
- yearMonths.add(userEntity.getAttYear()+"-"+userEntity.getAttMonth());
- }else if(userEntity.getAttType() == 1){
- yearMonths = DataUtil.getYearMonthList(userEntity.getAttYear(), userEntity.getAttQuarters());
- }
- userEntity.setYearMonthList(yearMonths);
- String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
- MiniDaoPage<TaskStats> list = new MiniDaoPage<TaskStats>();
- list = rptDao.taskStatsTypeData(userEntity, authSql);
- statsList = list.getResults();
- for(TaskStats stats : statsList){
- xAxisData.add(stats.getName());
- }
- ArrayList<ChartSeriesDto> series = new ArrayList<ChartSeriesDto>();//series值
- ChartSeriesDto csdto = new ChartSeriesDto();
- csdto.setName("工作数量");
- csdto.setType("bar");
- csdto.setBarMaxWidth(15);
- List<DataDto> datalist = new ArrayList<DataDto>();
- for(int i= 0 ; i < statsList.size() ; i++){
- DataDto dd = new DataDto();
- dd.setId(statsList.get(i).getId());
- dd.setValue(String.valueOf(statsList.get(i).getTaskTotal()));
- datalist.add(dd);
- }
- csdto.setData(datalist.toArray());
- series.add(csdto);
- ChartSeriesDto csdto_nofinishnum = new ChartSeriesDto();
- csdto_nofinishnum.setName("未完成工作数量");
- csdto_nofinishnum.setType("bar");
- csdto_nofinishnum.setBarWidth(15);
- List<DataDto> datalist_nofinishnum = new ArrayList<DataDto>();
- for(int i= 0 ; i < statsList.size() ; i++){
- DataDto dd = new DataDto();
- dd.setId(statsList.get(i).getId());
- dd.setValue(String.valueOf(statsList.get(i).getNoFinishTaskTotal()));
- datalist_nofinishnum.add(dd);
- }
- csdto_nofinishnum.setData(datalist_nofinishnum.toArray());
- series.add(csdto_nofinishnum);
-
- ChartSeriesDto csdto_nofinish = new ChartSeriesDto();
- csdto_nofinish.setName("未完成率");
- csdto_nofinish.setType("bar");
- csdto_nofinish.setBarWidth(15);
- List<DataDto> datalist_nofinish = new ArrayList<DataDto>();
- for(int i= 0 ; i < statsList.size() ; i++){
- DataDto dd = new DataDto();
- dd.setId(statsList.get(i).getId());
- dd.setValue(DecimalUtils.formatToStr( statsList.get(i).getNoFinishProportion().doubleValue()));
- datalist_nofinish.add(dd);
- }
- csdto_nofinish.setData(datalist_nofinish.toArray());
- series.add(csdto_nofinish);
-
- ChartMultLineDto cmlDto = new ChartMultLineDto();
- cmlDto.setxAxisData(xAxisData.toArray());
- cmlDto.setSeries(series);
- if( statsList== null || statsList.size() == 0){
- cmlDto.setNoData(true);
- }
- result.put("cdata", cmlDto);
- result.put("tdata", statsList);
- request.getSession().setAttribute("taskStats", statsList);
- return result;
- }
- @RequestMapping(params = "activitiStatsOrg")
- public String activitiStatsOrg(HttpServletRequest request) {
- activitiStatsInitSearchCondition(request);
- return "com/xcgl/reports/activiti_stats_org";
- }
- @RequestMapping(params = "activitiStatsType")
- public String activitiStatsType(HttpServletRequest request) {
- activitiStatsInitSearchCondition(request);
- return "com/xcgl/reports/activiti_stats_type";
- }
- private void activitiStatsInitSearchCondition(HttpServletRequest request){
- Calendar c = Calendar.getInstance();
- request.setAttribute("curYear",c.get(Calendar.YEAR));
- int month = c.get(Calendar.MONTH);
- if(month > 9){
- request.setAttribute("curMonth",c.get(Calendar.MONTH));
- }else if(month == 0){
- request.setAttribute("curYear",(c.get(Calendar.YEAR)-1)+"");
- request.setAttribute("curMonth", "12");
- }else{
- request.setAttribute("curMonth", "0"+c.get(Calendar.MONTH));
- }
- }
- @RequestMapping(params="activitiStatsOrgData")
- @ResponseBody
- public Map<String,Object> activitiStatsOrgData(HttpServletRequest request,UserEntity userEntity) {
- String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
- String tookTime = ResourceUtil.getConfigByName("activiti.task.tooktime");
- MiniDaoPage<ActivitiStats> list= rptDao.activitiStatsOrgData(userEntity,Integer.valueOf(tookTime),authSql);
- Map<String,Object> result = activitiStatsDataParse(request,list,0);
- return result;
- }
- @RequestMapping(params="activitiStatsUserData")
- @ResponseBody
- public Map<String,Object> activitiStatsUserData(HttpServletRequest request,UserEntity userEntity) {
- String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
- String tookTime = ResourceUtil.getConfigByName("activiti.task.tooktime");
- MiniDaoPage<ActivitiStats> list= rptDao.activitiStatsUserData(userEntity,Integer.valueOf(tookTime),authSql);
- Map<String,Object> result = activitiStatsDataParse(request,list,1);
- return result;
- }
- @RequestMapping(params="activitiStatsTypeData")
- @ResponseBody
- public Map<String,Object> activitiStatsTypeData(HttpServletRequest request,UserEntity userEntity) {
- String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
- String tookTime = ResourceUtil.getConfigByName("activiti.task.tooktime");
- MiniDaoPage<ActivitiStats> list= rptDao.activitiStatsTypeData(userEntity,Integer.valueOf(tookTime),authSql);
- Map<String,Object> result = activitiStatsDataParse(request,list,2);
- return result;
- }
- private Map<String,Object> activitiStatsDataParse(HttpServletRequest request,MiniDaoPage<ActivitiStats> list,int type){
- Map<String,Object> result = new HashMap<String,Object>();
- List<String> xAxisData = new ArrayList<String>();
- List<ActivitiStats> statsList = new ArrayList<>();
- List<TaskStats> tData = new ArrayList<TaskStats>();
- statsList = list.getResults();
- for(TaskStats stats : statsList){
- xAxisData.add(stats.getName());
- }
- ArrayList<ChartSeriesDto> series = new ArrayList<ChartSeriesDto>();//series值
- ChartSeriesDto csdto = new ChartSeriesDto();
- csdto.setName("审批数量");
- csdto.setType("bar");
- csdto.setBarWidth(12);
- List<DataDto> datalist = new ArrayList<DataDto>();
- for(int i= 0 ; i < statsList.size() ; i++){
- DataDto dd = new DataDto();
- dd.setId(statsList.get(i).getId());
- dd.setValue(String.valueOf(statsList.get(i).getTaskTotal()));
- datalist.add(dd);
- }
- csdto.setData(datalist.toArray());
- series.add(csdto);
- ChartSeriesDto csdto_nofinishnum = new ChartSeriesDto();
- csdto_nofinishnum.setName("未完成审批数量");
- csdto_nofinishnum.setType("bar");
- csdto_nofinishnum.setBarWidth(12);
- List<DataDto> datalist_nofinishnum = new ArrayList<DataDto>();
- for(int i= 0 ; i < statsList.size() ; i++){
- DataDto dd = new DataDto();
- dd.setId(statsList.get(i).getId());
- dd.setValue(String.valueOf(statsList.get(i).getNoFinishTaskTotal()));
- datalist_nofinishnum.add(dd);
- }
- csdto_nofinishnum.setData(datalist_nofinishnum.toArray());
- series.add(csdto_nofinishnum);
- /*ChartSeriesDto csdto_nofinish = new ChartSeriesDto();
- csdto_nofinish.setName("未完成率");
- csdto_nofinish.setType("bar");
- csdto_nofinish.setBarWidth(12);
- List<DataDto> datalist_nofinish = new ArrayList<DataDto>();
- for(int i= 0 ; i < statsList.size() ; i++){
- DataDto dd = new DataDto();
- dd.setId(statsList.get(i).getId());
- dd.setValue(DecimalUtils.formatToStr( statsList.get(i).getNoFinishProportion().doubleValue()));
- datalist_nofinish.add(dd);
- }
- csdto_nofinish.setData(datalist_nofinish.toArray());
- series.add(csdto_nofinish);*/
- if(type!=2) {//按类型统计 不显示逾期
- ChartSeriesDto overdue = new ChartSeriesDto();
- overdue.setName("逾期数量");
- overdue.setType("bar");
- overdue.setBarWidth(12);
- List<DataDto> datalist_overdue = new ArrayList<DataDto>();
- for (int i = 0; i < statsList.size(); i++) {
- DataDto dd = new DataDto();
- dd.setId(statsList.get(i).getId());
- dd.setValue(String.valueOf(statsList.get(i).getOverdueCount()));
- datalist_overdue.add(dd);
- }
- overdue.setData(datalist_overdue.toArray());
- series.add(overdue);
- }
- ChartMultLineDto cmlDto = new ChartMultLineDto();
- cmlDto.setxAxisData(xAxisData.toArray());
- cmlDto.setSeries(series);
- if( statsList== null || statsList.size() == 0){
- cmlDto.setNoData(true);
- }
- result.put("cdata", cmlDto);
- //statsList排序重置
- for(int i = statsList.size()-1;i > -1;i--) {
- tData.add(statsList.get(i));
- }
- result.put("tdata", tData);
- request.getSession().setAttribute("taskStats", statsList);
- return result;
- }
- @RequestMapping(params = "activitiOvertime")
- public ModelAndView activitiOvertime(HttpServletRequest request) {
- return new ModelAndView("com/xcgl/reports/activiti_overtime");
- }
- @RequestMapping(params = "activitiOvertimeData")
- public void activitiOvertimeData(HttpServletRequest request, HttpServletResponse response,DataGrid dataGrid) {
- String tookTime = ResourceUtil.getConfigByName("activiti.task.tooktime");
- MiniDaoPage<?> page = rptDao.activitiOvertimeList(Integer.valueOf(tookTime),dataGrid.getPage(), dataGrid.getRows());
- dataGrid.setResults(page.getResults());
- dataGrid.setTotal(page.getTotal());
- TagUtil.datagrid(response, dataGrid);
- }
-
- @RequestMapping(params = "exportActivitiOvertime")
- public String exportActivitiOvertime( HttpServletRequest request, HttpServletResponse response,ModelMap map)
- throws Exception {
- // @SuppressWarnings("unchecked")
- // String exceltitles = "员工姓名,未完成签报名称,应完成时间";
- // String exceltitleIds = "realName,title,shouldDoneTime";
- String tookTime = ResourceUtil.getConfigByName("activiti.task.tooktime");
- MiniDaoPage<ActivitiOvertimeDto> page = rptDao.activitiOvertimeList(Integer.valueOf(tookTime), 1, 10000);
- List<Object> dataList = new ArrayList<Object>();
- for (ActivitiOvertimeDto object : page.getResults()) {
- dataList.add(object);
- }
- // ExportExcel ex = new ExportExcel("签报逾期明细", exceltitles.split(","), "签报逾期明细", dataList,
- // exceltitleIds.split(","));
- // ex.export(response);
- map.put(NormalExcelConstants.FILE_NAME, "签报系统逾期签报明细");
- map.put(NormalExcelConstants.CLASS, ActivitiOvertimeDto.class);
- ExportParams param = new ExportParams("签报系统逾期签报明细", "统计周期:(01.01 00:00 - " + DateUtils.formatDate(new Date(), "MM.dd HH:mm") + ")","逾期签报明细");
- param.setAddIndex(true);
- map.put(NormalExcelConstants.PARAMS,param );
- map.put(NormalExcelConstants.DATA_LIST, dataList);
- return NormalExcelConstants.JEECG_EXCEL_VIEW;
- }
-
- @RequestMapping(params = "exportExcelStats")
- @ResponseBody
- public void exportExcelStats(String exceltitles,String exceltitleIds ,Integer flag,String excelname,
- String dataKey, String filename, HttpServletRequest request, HttpServletResponse response)
- throws Exception {
- @SuppressWarnings("unchecked")
- List<Object> dataList = (List<Object>) request.getSession().getAttribute(dataKey);
- ExportExcel ex = new ExportExcel(excelname, exceltitles.split(","), filename, dataList,
- exceltitleIds.split(","));
- ex.export(response);
- }
- @RequestMapping(params = "activitimyactiviti")
- public ModelAndView activitimyactiviti(HttpServletRequest request) {
- return new ModelAndView("com/xcgl/reports/activiti_myactiviti");
- }
- /**
- * 此为demo,查询某个项目发起的所有签报、签报状态、工作流状态等信息。
- * */
- @RequestMapping(params = "myactivitiData")
- public void myactivitiData(HttpServletRequest request, HttpServletResponse response,DataGrid dataGrid) {
- String sql = "select bu.realname as '发起人' \n" +
- " ,hivar.text_ as title \n" +
- " ,act.ACT_NAME_ as stepname \n" +
- " ,proc.END_TIME_ as endTime,case when proc.end_time_ is null then '0' else '1' end as activitistatus \n" +
- " ,tbu.realname as realName , '1' as taskstatus \n" +
- " from ACT_HI_PROCINST proc\n" +
- " left join act_hi_varinst hivar on hivar.PROC_INST_ID_=proc.PROC_INST_ID_ and hivar.NAME_='bpm_biz_title'\n" +
- " left join act_hi_actinst act on act.PROC_INST_ID_ = proc.PROC_INST_ID_ and act.DURATION_ is null\n" +
- " left join t_s_base_user bu on proc.START_USER_ID_ = bu.username and bu.delete_flag = 0\n" +
- " left join t_s_user_org org on org.user_id=bu.id and ifpluralism='0' and org.status='0'\n" +
- " left join ACT_HI_TASKINST task on task.PROC_INST_ID_ = proc.id_ and task.end_time_ is null\n" +
- " left join t_s_base_user tbu on tbu.username = task.ASSIGNEE_\n" +
- " where left(proc.start_time_ ,4) > '2019'\n" +
- " order by proc.START_TIME_ desc;";
- List<Map<String,Object>> ret = systemService.findForJdbc(sql);
- //设置第一个为未完成
- if(ret.size() > 0) {
- ret.get(0).put("taskstatus", "0");
- }
- dataGrid.setResults(ret);
- TagUtil.datagrid(response, dataGrid);
- }
- @RequestMapping(params = "activititask")
- public ModelAndView activititask(HttpServletRequest request) {
- return new ModelAndView("com/xcgl/reports/activiti_task");
- }
- /**
- * 此为demo,查询某个签报,对应的工作流状态信息。
- * */
- @RequestMapping(params = "myactivititaskData")
- public void activititaskData(HttpServletRequest request, HttpServletResponse response,DataGrid dataGrid) {
- List<Map<String, Object>> res = new ArrayList<Map<String,Object>>();
- Map<String, Object> task = new HashMap<String, Object>();
- task.put("title", "江秋芳平级调动,完成档案调动工作");
- task.put("endTime", null);
- task.put("realname", "方志刚");
- task.put("taskstatus", "0");
- res.add(task);
-
- task = new HashMap<String, Object>();
- task.put("title", "江秋芳平级调动,完成排班工作");
- task.put("endTime", "2020-01-03 12:33:04");
- task.put("realname", "王宇宸");
- task.put("taskstatus", "1");
- res.add(task);
-
- task = new HashMap<String, Object>();
- task.put("title", "江秋芳平级调动,完成配置工资工作");
- task.put("endTime", "2020-01-07 10:03:09");
- task.put("realname", "朱红霞");
- task.put("taskstatus", "1");
- res.add(task);
-
- dataGrid.setResults(res);
- TagUtil.datagrid(response, dataGrid);
- }
-
- @RequestMapping(params = "activitiOvertimeSub")
- public ModelAndView activitiOvertimeSub(HttpServletRequest request) {
- return new ModelAndView("com/xcgl/reports/activiti_overtime_sub");
- }
- @RequestMapping(params = "activitiOvertimeSubData")
- public void activitiOvertimeSubData(HttpServletRequest request, HttpServletResponse response,DataGrid dataGrid) {
- String tookTime = ResourceUtil.getConfigByName("activiti.task.tooktime");
- String month = request.getParameter("month");
- if(StringUtil.isEmpty(month)) {
- month = DataUtils.formatDate(new Date()).substring(0,7);
- }
- MiniDaoPage<?> page = rptDao.activitiOvertimeSum(Integer.valueOf(tookTime), month,dataGrid.getPage(), dataGrid.getRows());
- dataGrid.setResults(page.getResults());
- dataGrid.setTotal(page.getTotal());
- TagUtil.datagrid(response, dataGrid);
- }
-
- @RequestMapping(params = "activitiOvertimeSubDetail")
- public ModelAndView activitiOvertimeSubDetail(HttpServletRequest request) {
- String username = request.getParameter("username");
- request.setAttribute("username", username);
- String month = request.getParameter("month");
- request.setAttribute("month", month);
- return new ModelAndView("com/xcgl/reports/activiti_overtime_sub_detail");
- }
- @RequestMapping(params = "activitiOvertimeSubDetailData")
- public void activitiOvertimeSubDetailData(HttpServletRequest request, HttpServletResponse response,DataGrid dataGrid) {
- String tookTime = ResourceUtil.getConfigByName("activiti.task.tooktime");
- String month = request.getParameter("month");
- String username = request.getParameter("username");
- if(StringUtil.isEmpty(month)) {
- month = DataUtils.formatDate(new Date()).substring(0,7);
- }
- MiniDaoPage<?> page = rptDao.activitiOvertimeSumDetail(Integer.valueOf(tookTime), month,username,dataGrid.getPage(), dataGrid.getRows());
- dataGrid.setResults(page.getResults());
- dataGrid.setTotal(page.getTotal());
- TagUtil.datagrid(response, dataGrid);
- }
-
- @RequestMapping(params = "exportActivitiOvertimeSub")
- public String exportActivitiOvertimeSub( HttpServletRequest request, HttpServletResponse response,ModelMap map)
- throws Exception {
- String tookTime = ResourceUtil.getConfigByName("activiti.task.tooktime");
- String month = request.getParameter("month");
- if(StringUtil.isEmpty(month)) {
- month = DataUtils.formatDate(new Date()).substring(0,7);
- }
- MiniDaoPage<ActivitiOvertimeSumDto> page = rptDao.activitiOvertimeSum(Integer.valueOf(tookTime),month, 1, 10000);
- List<Object> dataList = new ArrayList<Object>();
- for (ActivitiOvertimeSumDto object : page.getResults()) {
- dataList.add(object);
- }
- map.put(NormalExcelConstants.FILE_NAME, "逾期签报统计");
- map.put(NormalExcelConstants.CLASS, ActivitiOvertimeSumDto.class);
- ExportParams param = new ExportParams("逾期签报统计", "统计周期:" + month + ")","逾期签报统计");
- param.setAddIndex(true);
- map.put(NormalExcelConstants.PARAMS,param );
- map.put(NormalExcelConstants.DATA_LIST, dataList);
- return NormalExcelConstants.JEECG_EXCEL_VIEW;
- }
- }
|