package com.jeesite.modules.mes.web; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.alibaba.fastjson.JSON; import com.jeesite.common.codec.DesUtils; import com.jeesite.common.mybatis.mapper.query.QueryType; import com.jeesite.modules.mes.entity.*; import com.jeesite.modules.mes.resp.CommonResp; import com.jeesite.modules.mes.service.*; import com.jeesite.modules.sys.utils.UserUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.Model; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.jeesite.common.config.Global; import com.jeesite.common.entity.Page; import com.jeesite.common.web.BaseController; /** * 设备计划Controller * @author wst * @version 2023-06-21 */ @Controller @RequestMapping(value = "${adminPath}/mes/mesDeviceTask") public class MesDeviceTaskController extends BaseController { @Autowired private MesDeviceTaskService mesDeviceTaskService; @Autowired private MesDeviceFormService mesDeviceFormService; @Autowired private MesDeviceTaskUserService mesDeviceTaskUserService; @Autowired private MesDeviceTaskFormService mesDeviceTaskFormService; @Autowired private MesDeviceCheckService mesDeviceCheckService; @Autowired private MesDeviceRecordService mesDeviceRecordService; /** * 获取数据 */ @ModelAttribute public MesDeviceTask get(String id, boolean isNewRecord) { return mesDeviceTaskService.get(id, isNewRecord); } /** * 查询列表 */ @RequiresPermissions("mes:mesDeviceTask:view") @RequestMapping(value = {"list", ""}) public String list(MesDeviceTask mesDeviceTask, Model model) { model.addAttribute("mesDeviceTask", mesDeviceTask); return "modules/mes/mesDeviceTaskList"; } /** * 查询列表数据 */ @RequiresPermissions("mes:mesDeviceTask:view") @RequestMapping(value = "listData") @ResponseBody public Page listData(MesDeviceTask mesDeviceTask, HttpServletRequest request, HttpServletResponse response) { mesDeviceTask.setPage(new Page<>(request, response)); Page page = mesDeviceTaskService.findPage(mesDeviceTask); return page; } /** * 查看编辑表单 */ @RequiresPermissions("mes:mesDeviceTask:view") @RequestMapping(value = "form") public String form(MesDeviceTask mesDeviceTask, Model model) { String secretKey = Global.getConfig("shiro.loginSubmit.secretKey"); String username = DesUtils.encode("system", secretKey); String password = DesUtils.encode("Aa111111", secretKey); System.out.println("&username=" + username + "&password=" + password); model.addAttribute("mesDeviceTask", mesDeviceTask); model.addAttribute("deviceForm", mesDeviceFormService.findList(new MesDeviceForm())); return "modules/mes/mesDeviceTaskForm"; } /** * 保存数据 */ @RequiresPermissions("mes:mesDeviceTask:edit") @PostMapping(value = "save") @ResponseBody @Transactional public String save(@Validated MesDeviceTask mesDeviceTask, HttpServletRequest request, MesDeviceTaskUser mesDeviceTaskUser,MesDeviceTaskForm mesDeviceTaskForm) throws ParseException { Date date = new Date(); SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd HH:mm"); String curTime = dateFormat.format(date); String startTime = request.getParameter("startTime"); String endTime = request.getParameter("endTime"); int ret = curTime.compareTo(startTime); if(ret >0){ return renderResult(Global.FALSE, text("开始时间不能小于当前时间!")); } if(mesDeviceTask.getStartTime().after(mesDeviceTask.getEndTime())){ return renderResult(Global.FALSE, text("开始时间不能大于结束时间!")); } mesDeviceTaskService.save(mesDeviceTask); String deviceTaskId = mesDeviceTask.getId(); mesDeviceTaskUser.setId(""); mesDeviceTaskUser.setDeviceTaskId(deviceTaskId); mesDeviceTaskUserService.delete(mesDeviceTaskUser); String user_code = mesDeviceTask.getUserCode(); String[] split = user_code.split(","); String task_form = mesDeviceTask.getDeviceCheck(); String[] split1 = task_form.split(","); if(mesDeviceTask.getDays() >0){ for (int i=1;i<=mesDeviceTask.getDays();i=i+1){ String startTime1 = this.getDayBefore(startTime,i); String endTime1 = this.getDayBefore(endTime,i); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); Date date1 = format.parse(startTime1); Date date2 = format.parse(endTime1); mesDeviceTask.setStartTime(date1); mesDeviceTask.setEndTime(date2); mesDeviceTask.setId(""); mesDeviceTaskService.save(mesDeviceTask); String deviceTaskId1 = mesDeviceTask.getId(); for (int x=0; x(request, response)); Page list = mesDeviceTaskService.findPage(mesDeviceTask); CommonResp> resp = new CommonResp<>(); resp.setData(list); return resp; } /** * 获取任务检查内容列表 */ @RequiresPermissions("mes:mesDeviceTask:view") @RequestMapping(value = "getTaskForm") @ResponseBody public CommonResp getTaskForm(MesDeviceTaskForm mesDeviceTaskForm, HttpServletRequest request, MesDeviceForm mesDeviceForm,MesDeviceCheck mesDeviceCheck,MesDeviceRecord mesDeviceRecord,MesDeviceTask mesDeviceTask,HttpServletResponse response) { if(request.getParameter("taskId")==null || request.getParameter("taskId").equals("")){ mesDeviceTaskForm.setDeviceTaskId("-1"); }else { mesDeviceTaskForm.setDeviceTaskId(request.getParameter("taskId")); } List list = mesDeviceTaskFormService.findList(mesDeviceTaskForm); for (int i=0;i checkList = mesDeviceCheckService.findList(mesDeviceCheck); fromInfo.setCheckList(checkList); list.get(i).setFormInfo(fromInfo); mesDeviceRecord.setTaskId(""); mesDeviceRecord.setFormId(""); mesDeviceRecord.setId(""); mesDeviceRecord.setTaskId(list.get(i).getDeviceTaskId()); mesDeviceRecord.setFormId(list.get(i).getDeviceFormId()); MesDeviceRecord check = mesDeviceRecordService.findByInfo(mesDeviceRecord); if(check!=null){ fromInfo.setIsExit(check.getId()); }else { fromInfo.setIsExit("0"); } } CommonResp> resp = new CommonResp<>(); resp.setData(list); return resp; } }