integrated_traffic/src/main/java/com/zcloud/controller/offduty/AppOffDutyController.java

370 lines
12 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.zcloud.controller.offduty;
import com.zcloud.controller.base.BaseController;
import com.zcloud.entity.Page;
import com.zcloud.entity.PageData;
import com.zcloud.logs.LogAnno;
import com.zcloud.service.corp.CorpInfoService;
import com.zcloud.service.offduty.OffDutyService;
import com.zcloud.service.offduty.OffDutySetupService;
import com.zcloud.service.system.DepartmentService;
import com.zcloud.service.system.UsersService;
import com.zcloud.util.DateUtil;
import com.zcloud.util.ObjectExcelView;
import com.zcloud.util.SendMessageUtil;
import com.zcloud.util.Tools;
import org.apache.shiro.authz.annotation.RequiresPermissions;
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 java.util.*;
/**
* 说明:休假
* 作者luoxiaobao
* 时间2021-06-11
* 官网www.zcloudchina.com
*/
@Controller
@RequestMapping("/app/offduty")
public class AppOffDutyController extends BaseController {
@Autowired
private OffDutyService offdutyService;
@Autowired
private UsersService usersService;
@Autowired
private CorpInfoService corpinfoService;
@Autowired
private OffDutySetupService offdutySetupService;
@Autowired
private DepartmentService departmentService;
@Autowired
private SendMessageUtil sendMessageUtil;
/**新增
* @param
* @throws Exception
*/
@RequestMapping(value="/add")
@ResponseBody
@LogAnno(menuType= "手机",menuServer= "离岗管理",instructionsOperate = "离岗管理",instructionsType = "新增")
public Object add() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("OFFDUTY_ID", this.get32UUID()); //主键
pd.put("ISDELETE", "0"); //是否删除 0 未删除 1已删除
pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //操作时间
pd.put("CREATTIME", DateUtil.date2Str(new Date())); //创建时间
pd.put("REVIEW_STATUS", "2"); //审核状态 0.待审批 -1.审批未通过 1.审批通过 2.无需审批
// 查看用户是否在休假中
PageData isRest = this.getPageData();
isRest.put("ISREST", "1");
isRest.put("USER_ID", pd.getString("USER_ID"));
isRest.put("CORPINFO_ID", pd.getString("CORPINFO_ID"));
List<PageData> restList = offdutyService.listAll(isRest);
if(restList != null && restList.size() > 0) {
// 休假中
map.put("ISREST", "1");
} else {
// 正常工作
map.put("ISREST", "0");
}
List<PageData> varList = offdutySetupService.listAll(pd); //获取企业审批设置判断是否需要审批
if (varList.size() > 0 && "2".equals(varList.get(0).getString("SETUP_STATE"))) {
pd.put("REVIEW_STATUS", "0"); //审核状态 0.待审批 -1.审批未通过 1.审批通过 2.无需审批
// 正常工作
map.put("ISREST", "0");
PageData mes = new PageData();
mes.put("RECEIVER_ID", pd.get("REVIEW_USER_ID"));// 收信人userid
mes.put("templateCode", "LG_TZ");// 短信模板编码
mes.put("CORPINFO_ID", pd.get("CORPINFO_ID"));// 企业id
List<PageData> paramsList = new ArrayList<PageData>();
pd.put("RECEIVER_ID", pd.get("REVIEW_USER_ID"));
sendMessageUtil.sendMessages(mes, paramsList);
// 给审批人发送短信,暂时先用发验证码代替
}
offdutyService.save(pd);
map.put("result", errInfo);
return map;
}
/**删除
* @param
* @throws Exception
*/
@RequestMapping(value="/delete")
@ResponseBody
@LogAnno(menuType= "手机",menuServer= "离岗管理",instructionsOperate = "离岗管理",instructionsType = "删除")
public Object delete() throws Exception{
Map<String,String> map = new HashMap<String,String>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
offdutyService.delete(pd);
map.put("result", errInfo); //返回结果
return map;
}
/**修改
* @param
* @throws Exception
*/
@RequestMapping(value="/edit")
@ResponseBody
@LogAnno(menuType= "手机",menuServer= "离岗管理",instructionsOperate = "离岗管理",instructionsType = "修改")
public Object edit() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //操作时间
offdutyService.edit(pd);
map.put("result", errInfo);
return map;
}
/**列表
* @param page
* @throws Exception
*/
@RequestMapping(value="/list")
@ResponseBody
@LogAnno(menuType= "手机",menuServer= "离岗管理",instructionsOperate = "离岗管理",instructionsType = "列表")
public Object list(Page page) throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
PageData cpd = new PageData();
cpd = usersService.findById(pd);
pd.put("ISLEADER", cpd.getString("ISLEADER"));
if(cpd.getString("ISLEADER") != null && cpd.getString("ISLEADER").equals("1")){
String DEPARTMENT_ID = pd.getString("DEPARTMENT_ID");
String ids = departmentService.getDEPARTMENT_IDS(DEPARTMENT_ID);
ids=pd.getString("DEPARTMENT_ID")+","+ids; //把自己部门插入进去
if(ids!=null && Tools.notEmpty(ids)&& ids.lastIndexOf(",")>-1) {
ids = ids.substring(0,ids.lastIndexOf(","));
pd.put("DEPARTMENT_IDS", ids.split(","));
}else {
pd.put("DEPARTMENT_IDS", DEPARTMENT_ID);
}
}
page.setPd(pd);
List<PageData> varList = offdutyService.list(page); //列出OffDuty列表
map.put("varList", varList);
map.put("page", page);
map.put("result", errInfo);
return map;
}
/**去修改页面获取数据
* @param
* @throws Exception
*/
@RequestMapping(value="/goEdit")
@ResponseBody
@LogAnno(menuType= "手机",menuServer= "离岗管理",instructionsOperate = "离岗管理",instructionsType = "去修改页面获取数据")
public Object goEdit() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd = offdutyService.findById(pd); //根据ID读取
map.put("pd", pd);
map.put("result", errInfo);
return map;
}
/**查看当前用户是否正在休班
* @param page
* @throws Exception
*/
@RequestMapping(value="/isRest")
@ResponseBody
@LogAnno(menuType= "手机",menuServer= "离岗管理",instructionsOperate = "离岗管理",instructionsType = "查看当前用户是否正在休班")
public Object isRest() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
PageData user = usersService.findById(pd);
PageData cpd = corpinfoService.findById(pd);
if (cpd.get("TRIALDAY")== null || Integer.parseInt(cpd.get("TRIALDAY").toString()) >= 0 ) {
if ("1".equals(cpd.getString("ISSTOP")) || cpd.get("ISSTOP") == null) {
if (Tools.notEmpty(user.getString("WORKSTATUS")) && "2".equals(user.getString("WORKSTATUS"))) {// 查看用户是否处于周期性休班中
// 休班(周期性)
map.put("ISREST", "1");
} else {
pd.put("ISREST", "1");
List<PageData> varList = offdutyService.listAll(pd);
if (varList != null && varList.size() > 0) {
// 休假中
map.put("ISREST", "1");
} else {
// 正常工作
map.put("ISREST", "0");
}
map.put("varList", varList);
}
}else {
errInfo = "usercorperror";
}
} else {
errInfo = "userUSEerror";
}
map.put("result", errInfo);
if ("userUSEerror".equals(errInfo)) {
map.put("msg", "您的企业已到使用期限,请联系管理员");
}
else if ("usercorperror".equals(errInfo)) {
map.put("msg", "您的企业已停用,请联系管理员");
}
return map;
}
/**批量删除
* @param
* @throws Exception
*/
@RequestMapping(value="/deleteAll")
// @RequiresPermissions("offduty:del")
@ResponseBody
@LogAnno(menuType= "手机",menuServer= "离岗管理",instructionsOperate = "离岗管理",instructionsType = "批量删除")
public Object deleteAll() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
String DATA_IDS = pd.getString("DATA_IDS");
if(Tools.notEmpty(DATA_IDS)){
String ArrayDATA_IDS[] = DATA_IDS.split(",");
offdutyService.deleteAll(ArrayDATA_IDS);
errInfo = "success";
}else{
errInfo = "error";
}
map.put("result", errInfo); //返回结果
return map;
}
/**导出到excel
* @param
* @throws Exception
*/
@RequestMapping(value="/excel")
@LogAnno(menuType= "手机",menuServer= "离岗管理",instructionsOperate = "离岗管理",instructionsType = "导出到excel")
public ModelAndView exportExcel() throws Exception{
ModelAndView mv = new ModelAndView();
PageData pd = new PageData();
pd = this.getPageData();
Map<String,Object> dataMap = new HashMap<String,Object>();
List<String> titles = new ArrayList<String>();
titles.add("用户"); //1
titles.add("公司"); //2
titles.add("开始时间"); //3
titles.add("结束时间"); //4
titles.add("休班原因"); //5
titles.add("删除状态 0 -未删除 1- 已删除"); //6
titles.add("添加人"); //7
titles.add("创建时间"); //8
titles.add("修改人"); //9
titles.add("修改时间"); //10
dataMap.put("titles", titles);
List<PageData> varOList = offdutyService.listAll(pd);
List<PageData> varList = new ArrayList<PageData>();
for(int i=0;i<varOList.size();i++){
PageData vpd = new PageData();
vpd.put("var1", varOList.get(i).getString("USER_ID")); //1
vpd.put("var2", varOList.get(i).getString("CORPINFO_ID")); //2
vpd.put("var3", varOList.get(i).getString("STARTTIME")); //3
vpd.put("var4", varOList.get(i).getString("ENDTIME")); //4
vpd.put("var5", varOList.get(i).getString("DESCR")); //5
vpd.put("var6", varOList.get(i).getString("ISDELETE")); //6
vpd.put("var7", varOList.get(i).getString("CREATOR")); //7
vpd.put("var8", varOList.get(i).getString("CREATTIME")); //8
vpd.put("var9", varOList.get(i).getString("OPERATOR")); //9
vpd.put("var10", varOList.get(i).getString("OPERATTIME")); //10
varList.add(vpd);
}
dataMap.put("varList", varList);
ObjectExcelView erv = new ObjectExcelView();
mv = new ModelAndView(erv,dataMap);
return mv;
}
/**列表
* @param page
* @throws Exception
*/
@RequestMapping(value="/getSetup")
@ResponseBody
@LogAnno(menuType= "双重预防",menuServer= "离岗管理",instructionsOperate = "离岗管理",instructionsType = "获取离岗设置")
public Object getSetup(Page page) throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
page.setPd(pd);
List<PageData> varList = new ArrayList<>();
varList = offdutySetupService.list(page); //列出OffDutySetup列表
if (varList.isEmpty()) {
PageData var = new PageData();
var.put("CORPINFO_ID",pd.getString("CORPINFO_ID"));
var.put("SETUP_STATE", "1");
varList.add(var);
}
map.put("pd", varList.get(0));
map.put("page", page);
map.put("result", errInfo);
return map;
}
/** 审批离岗申请
* @param
* @throws Exception
*/
@RequestMapping(value="/review")
@ResponseBody
@LogAnno(menuType= "双重预防",menuServer= "离岗管理",instructionsOperate = "离岗管理",instructionsType = "审批")
public Object review() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //操作时间
offdutyService.edit(pd);
map.put("result", errInfo);
return map;
}
/** 取消离岗申请
* @param
* @throws Exception
*/
@RequestMapping(value="/cancel")
@ResponseBody
@LogAnno(menuType= "双重预防",menuServer= "离岗管理",instructionsOperate = "离岗管理",instructionsType = "取消")
public Object cancel() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("ISDELETE", "1"); //是否删除 0 未删除 1已删除
pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //操作时间
offdutyService.edit(pd);
map.put("result", errInfo);
return map;
}
}