| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236 |
- package com.xcgl.weeklyMeeting.controller;
- import cn.com.lzt.common.util.DepartUtil;
- import cn.com.lzt.useractiviti.data.dao.UseractivitiDataDao;
- import com.xcgl.projecttask.entity.ProjecttaskEntity;
- import com.xcgl.utils.XcglConstant;
- import com.xcgl.weeklyMeeting.entity.WeeklyMeetingEntity;
- import com.xcgl.weeklyMeeting.entity.WeeklyMeetingPage;
- import com.xcgl.weeklyMeeting.results.BaseResult;
- import com.xcgl.weeklyMeeting.service.WeeklyMeetingService;
- import org.apache.commons.lang.StringUtils;
- import org.apache.log4j.Logger;
- import org.jeecgframework.core.common.controller.BaseController;
- import org.jeecgframework.core.common.exception.BusinessException;
- import org.jeecgframework.core.common.model.json.AjaxJson;
- import org.jeecgframework.core.util.MyBeanUtils;
- import org.jeecgframework.core.util.ResourceUtil;
- import org.jeecgframework.web.system.pojo.base.TSDepart;
- import org.jeecgframework.web.system.pojo.base.TSUser;
- import org.jeecgframework.web.system.service.SystemService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.servlet.ModelAndView;
- import javax.servlet.http.HttpServletRequest;
- import java.util.ArrayList;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.List;
- @Controller
- @RequestMapping(value = "/weeklyMeetingController")
- public class WeeklyMeetingController extends BaseController {
- private static final Logger logger = Logger.getLogger(WeeklyMeetingController.class);
- @Autowired
- WeeklyMeetingService weeklyMeetingService;
- @Autowired
- private SystemService systemService;
- @Autowired
- UseractivitiDataDao useractivitiDataDao;
- @RequestMapping(params = "goAdd")
- public ModelAndView goAdd(HttpServletRequest request) {
- Calendar now = Calendar.getInstance();
- Integer weekOfYear= now.get(Calendar.WEEK_OF_YEAR);
- Integer year = now.get(Calendar.YEAR);
- String weekNum =String.valueOf(year)+weekOfYear;
- request.setAttribute("weekNum",weekNum);
- String diffWeekString = request.getParameter("diffWeek");
- Integer diffWeek = diffWeekString==null?0:Integer.valueOf(diffWeekString);
- String watchType = request.getParameter("watchType");
- if(StringUtils.equals(watchType,"before")){
- diffWeek--;
- }else if(StringUtils.equals(watchType,"next")){
- diffWeek++;
- }
- now.add(Calendar.DAY_OF_YEAR,diffWeek*7 );
- request.setAttribute("diffWeek",diffWeek);
- String searchWeekNum = String.valueOf(now.get(Calendar.YEAR))+now.get(Calendar.WEEK_OF_YEAR);
- String hql = "from WeeklyMeetingEntity where weekNum =? ";
- String urgent = request.getParameter("urgent");
- String importance = request.getParameter("importance");
- String executionStatus = request.getParameter("executionStatus");
- List<String> args = new ArrayList();
- args.add(searchWeekNum);
- if(StringUtils.isNotBlank(urgent)){
- hql += " and urgent=? ";
- args.add(urgent);
- }
- if(StringUtils.isNotBlank(importance)){
- hql += " and importance=? ";
- args.add(importance);
- }
- if(StringUtils.isNotBlank(executionStatus)){
- if("1".equals(executionStatus)){
- hql += " and executionStatus in (?, ?)";
- args.add("0");
- args.add(executionStatus);
- }else{
- hql += " and executionStatus=? ";
- args.add(executionStatus);
- }
- }
- TSUser sessionUser = ResourceUtil.getSessionUser();
- boolean generalManagerOffice = DepartUtil.userWhetherBelongToGeneralManagerOffice(sessionUser);
- if(!generalManagerOffice){
- hql += " and proposeId=? ";
- args.add(sessionUser.getId());
- }
- List<WeeklyMeetingEntity> list = systemService.findHql(hql,args.toArray());
- for(WeeklyMeetingEntity entity:list){
- String status = entity.getExecutionStatus();
- String taskId = entity.getProjectTaskId();
- if(StringUtils.isNotBlank(taskId)) {
- ProjecttaskEntity projecttaskEntity = systemService.get(ProjecttaskEntity.class, taskId);
- if(projecttaskEntity != null){
- if (!StringUtils.equals(status, XcglConstant.TASKSTATUS_DONE)) {
- String taskStatus = projecttaskEntity.getTaskstatus();
- if (StringUtils.equals(taskStatus, XcglConstant.TASKSTATUS_DONE)) {
- Date endTime = projecttaskEntity.getExeendtime();
- Date endDate = projecttaskEntity.getPlanendtime();
- entity.setActualCompletion(endTime);
- if(endTime.getTime() > endDate.getTime()){
- entity.setExecutionStatus("40");
- }else{
- entity.setExecutionStatus(taskStatus);
- }
- }else{
- Date nowDate = new Date();
- Date endDate = projecttaskEntity.getPlanendtime();
- if (nowDate.getTime() > endDate.getTime()) {
- entity.setExecutionStatus("30");
- }else{
- entity.setExecutionStatus(taskStatus);
- }
- }
- systemService.saveOrUpdate(entity);
- }
- entity.setShowProjectTask(new Integer(0).equals(projecttaskEntity.getTemp()));
- }
- }
- }
- request.setAttribute("list",list);
- request.setAttribute("userName",sessionUser.getUserName());
- request.setAttribute("generalManagerOffice",generalManagerOffice);
- return new ModelAndView("com/xcgl/weeklyMeeting/weeklyMeeting-add");
- }
- @ResponseBody
- @RequestMapping(params = "addAndModify")
- public AjaxJson addAndModify(WeeklyMeetingPage meetingPage, HttpServletRequest request) {
- AjaxJson j = new AjaxJson();
- String message=null;
- try{
- List<WeeklyMeetingEntity> list = meetingPage.getWeeklyMeetingEntitiyList();
- for(WeeklyMeetingEntity entity:list){
- String id = entity.getId();
- if(StringUtils.isNotBlank(id)) {
- WeeklyMeetingEntity old = systemService.get(WeeklyMeetingEntity.class, id);
- WeeklyMeetingEntity oldest = new WeeklyMeetingEntity();
- MyBeanUtils.copyBeanNotNull2Bean(old, oldest);
- MyBeanUtils.copyBeanNotNull2Bean(entity, old);
- if(compare(old, oldest)){
- old.setIssue("0");
- old.setExecutionStatus("0");
- old.setRemindNum("0");
- if(StringUtils.isNotEmpty(old.getProjectTaskId())){
- TSDepart depart = useractivitiDataDao.getUserDep(old.getImplementationId());
- ProjecttaskEntity projecttaskEntity = systemService.get(ProjecttaskEntity.class, old.getProjectTaskId());
- projecttaskEntity.setProjectid(depart.getProjectid());
- projecttaskEntity.setOwner(old.getImplementationId());
- projecttaskEntity.setDescription(old.getMeetingContent());
- projecttaskEntity.setName(old.getMeetingContent());
- Date planendTime = old.getExpectedCompletion();
- Calendar now = Calendar.getInstance();
- now.setTime(planendTime);
- now.set(Calendar.HOUR_OF_DAY, 17);
- projecttaskEntity.setPlanendtime(now.getTime());
- projecttaskEntity.setTaskstatus("0");
- projecttaskEntity.setCompletePer("0");
- systemService.saveOrUpdate(projecttaskEntity);
- }
- }
- systemService.saveOrUpdate(old);
- }else {
- systemService.saveOrUpdate(entity);
- }
- }
- }catch(Exception e){
- e.printStackTrace();
- throw new BusinessException(e.getMessage());
- }
- j.setMsg(message);
- return j;
- }
- public boolean compare(WeeklyMeetingEntity old, WeeklyMeetingEntity oldest){
- if(!(oldest.getMeetingTime().getTime() == old.getMeetingTime().getTime())){
- return true;
- }else if(!oldest.getMeetingContent().equals(old.getMeetingContent())){
- return true;
- }else if(!oldest.getUrgent().equals(old.getUrgent())){
- return true;
- }else if(!oldest.getImportance().equals(old.getImportance())){
- return true;
- }else if(!oldest.getProposeId().equals(old.getProposeId())){
- return true;
- }else if(!oldest.getProposeName().equals(old.getProposeName())){
- return true;
- }else if(!oldest.getImplementationId().equals(old.getImplementationId())){
- return true;
- }else if(!oldest.getImplementationName().equals(old.getImplementationName())){
- return true;
- }else if(!(oldest.getExpectedCompletion().getTime() == old.getExpectedCompletion().getTime())){
- return true;
- }
- return false;
- }
- @ResponseBody
- @RequestMapping(params = "queryList")
- public BaseResult queryList(HttpServletRequest request) {
- return weeklyMeetingService.queryList(request);
- }
- @ResponseBody
- @RequestMapping(params = "deleteRecord")
- public BaseResult deleteRecord(HttpServletRequest request) {
- return weeklyMeetingService.deleteRecord(request);
- }
- @ResponseBody
- @RequestMapping(params = "issueTask")
- public BaseResult issueTask(HttpServletRequest request) {
- return weeklyMeetingService.issueTask(request);
- }
- @ResponseBody
- @RequestMapping(params = "reexecution")
- public BaseResult reexecution(HttpServletRequest request) {
- return weeklyMeetingService.reexecution(request);
- }
- @ResponseBody
- @RequestMapping(params = "revokeTask")
- public BaseResult revokeTask(HttpServletRequest request) {
- return weeklyMeetingService.revokeTask(request);
- }
- }
|