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

370 lines
12 KiB
Java
Raw Normal View History

2024-01-04 09:07:20 +08:00
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")
2024-01-04 09:07:20 +08:00
@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;
}
}