| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- package com.jeesite.modules.mes.web;
- import java.text.SimpleDateFormat;
- import java.util.*;
- import java.util.stream.Collectors;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import com.jeesite.common.lang.StringUtils;
- import com.jeesite.modules.mes.entity.MesShift;
- import com.jeesite.modules.mes.service.MesShiftService;
- import com.jeesite.modules.mes.util.CommonUitl;
- import com.jeesite.modules.mes.util.CopyUtil;
- import org.apache.shiro.authz.annotation.RequiresPermissions;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.*;
- import com.jeesite.common.config.Global;
- import com.jeesite.common.collect.ListUtils;
- import com.jeesite.common.entity.Page;
- import com.jeesite.common.lang.DateUtils;
- import com.jeesite.common.utils.excel.ExcelExport;
- import com.jeesite.common.utils.excel.annotation.ExcelField.Type;
- import org.springframework.web.multipart.MultipartFile;
- import com.jeesite.common.web.BaseController;
- import com.jeesite.modules.mes.entity.MesProcessCheckGz;
- import com.jeesite.modules.mes.service.MesProcessCheckGzService;
- /**
- * 工装点检记录表Controller
- * @author mes
- * @version 2024-05-17
- */
- @Controller
- @RequestMapping(value = "${adminPath}/mes/mesProcessCheckGz")
- public class MesProcessCheckGzController extends BaseController {
- @Autowired
- private MesShiftService mesShiftService;
- @Autowired
- private MesProcessCheckGzService mesProcessCheckGzService;
-
- /**
- * 获取数据
- */
- @ModelAttribute
- public MesProcessCheckGz get(String id, boolean isNewRecord) {
- return mesProcessCheckGzService.get(id, isNewRecord);
- }
-
- /**
- * 查询列表
- */
- @RequiresPermissions("mes:mesProcessCheckGz:view")
- @RequestMapping(value = {"list", ""})
- public String list(MesProcessCheckGz mesProcessCheckGz, Model model) {
- model.addAttribute("mesProcessCheckGz", mesProcessCheckGz);
- return "modules/mes/mesProcessCheckGzList";
- }
-
- /**
- * 查询列表数据
- */
- @RequiresPermissions("mes:mesProcessCheckGz:view")
- @RequestMapping(value = "listData")
- @ResponseBody
- public Page<MesProcessCheckGz> listData(MesProcessCheckGz mesProcessCheckGz, HttpServletRequest request, HttpServletResponse response) {
- mesProcessCheckGz.setPage(new Page<>(request, response));
- Page<MesProcessCheckGz> page = mesProcessCheckGzService.findPage(mesProcessCheckGz);
- return page;
- }
- /**
- * 查看编辑表单
- */
- @RequiresPermissions("mes:mesProcessCheckGz:view")
- @RequestMapping(value = "form")
- public String form(MesProcessCheckGz mesProcessCheckGz, Model model) {
- model.addAttribute("mesProcessCheckGz", mesProcessCheckGz);
- return "modules/mes/mesProcessCheckGzForm";
- }
- /**
- * 保存数据
- */
- @RequiresPermissions("mes:mesProcessCheckGz:edit")
- @PostMapping(value = "save")
- @ResponseBody
- public String save(@Validated MesProcessCheckGz mesProcessCheckGz) {
- mesProcessCheckGzService.save(mesProcessCheckGz);
- return renderResult(Global.TRUE, text("保存工装点检记录成功!"));
- }
- /**
- * 导出数据
- */
- @RequiresPermissions("mes:mesProcessCheckGz:view")
- @RequestMapping(value = "exportData")
- public void exportData(MesProcessCheckGz mesProcessCheckGz, HttpServletResponse response) {
- List<MesProcessCheckGz> list = mesProcessCheckGzService.findList(mesProcessCheckGz);
- String fileName = "工装点检记录表" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
- try(ExcelExport ee = new ExcelExport("工装点检记录", MesProcessCheckGz.class)){
- ee.setDataList(list).write(response, fileName);
- }
- }
- /**
- * 下载模板
- */
- @RequiresPermissions("mes:mesProcessCheckGz:view")
- @RequestMapping(value = "importTemplate")
- public void importTemplate(HttpServletResponse response) {
- MesProcessCheckGz mesProcessCheckGz = new MesProcessCheckGz();
- List<MesProcessCheckGz> list = ListUtils.newArrayList(mesProcessCheckGz);
- String fileName = "工装点检记录表模板.xlsx";
- try(ExcelExport ee = new ExcelExport("工装点检记录", MesProcessCheckGz.class, Type.IMPORT)){
- ee.setDataList(list).write(response, fileName);
- }
- }
- /**
- * 导入数据
- */
- @ResponseBody
- @RequiresPermissions("mes:mesProcessCheckGz:edit")
- @PostMapping(value = "importData")
- public String importData(MultipartFile file) {
- try {
- String message = mesProcessCheckGzService.importData(file);
- return renderResult(Global.TRUE, "posfull:"+message);
- } catch (Exception ex) {
- return renderResult(Global.FALSE, "posfull:"+ex.getMessage());
- }
- }
-
- /**
- * 删除数据
- */
- @RequiresPermissions("mes:mesProcessCheckGz:edit")
- @RequestMapping(value = "delete")
- @ResponseBody
- public String delete(MesProcessCheckGz mesProcessCheckGz) {
- mesProcessCheckGzService.delete(mesProcessCheckGz);
- return renderResult(Global.TRUE, text("删除工装点检记录成功!"));
- }
- @PostMapping(value = "submit")
- @ResponseBody
- public String submit(@RequestBody MesProcessCheckGz mesProcessCheckGz) {
- if (mesProcessCheckGz == null|| StringUtils.isEmpty(mesProcessCheckGz.getOprno())||StringUtils.isEmpty(mesProcessCheckGz.getLineSn())) {
- return renderResult(Global.FALSE, "工装点检记录信息不完整,请重试!");
- }
- MesShift mesShift = new MesShift();
- mesShift.setStatus("0");
- List<MesShift> shifts = mesShiftService.findList(mesShift);
- String shiftId = "";
- // 今天
- Date date = new Date();
- SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
- String currentDate = formatter.format(date);
- Long curTime = date.getTime();
- // 明天
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(date);
- calendar.add(Calendar.DAY_OF_MONTH, 1);
- Date tomorrow = calendar.getTime();
- String tomorrowDate = formatter.format(tomorrow);
- // 昨天
- Calendar calendar2 = Calendar.getInstance();
- calendar2.setTime(date);
- calendar2.add(Calendar.DATE, -1);
- Date yesrow = calendar2.getTime();
- String yesDate = formatter.format(yesrow);
- MesShift mesShift2 = new MesShift();
- List<MesShift> lists = new ArrayList<>();
- // 昨天
- for(MesShift mesShift1:shifts){
- String st = yesDate+" "+mesShift1.getStart();
- String et = mesShift1.getNext() == 1?currentDate+" "+mesShift1.getEnd():yesDate+" "+mesShift1.getEnd();
- Long curSt = CommonUitl.convertDateStringToTimestamp(st,"yyyy-MM-dd HH:mm");
- Long curEt = CommonUitl.convertDateStringToTimestamp(et,"yyyy-MM-dd HH:mm");
- mesShift1.setCurSt(curSt);
- mesShift1.setCurEt(curEt);
- lists.add(mesShift1);
- }
- // 今天
- for(MesShift mesShift1:shifts){
- String st = currentDate+" "+mesShift1.getStart();
- String et = mesShift1.getNext() == 1?tomorrowDate+" "+mesShift1.getEnd():currentDate+" "+mesShift1.getEnd();
- Long curSt = CommonUitl.convertDateStringToTimestamp(st,"yyyy-MM-dd HH:mm");
- Long curEt = CommonUitl.convertDateStringToTimestamp(et,"yyyy-MM-dd HH:mm");
- mesShift1.setCurSt(curSt);
- mesShift1.setCurEt(curEt);
- lists.add(mesShift1);
- }
- List<MesShift> sortlists = lists.stream().sorted(Comparator.comparing(MesShift::getCurSt)).collect(Collectors.toList());
- for(MesShift mesShift1:sortlists){
- if(curTime >= mesShift1.getCurSt() && curTime <= mesShift1.getCurEt()){
- mesShift2 = CopyUtil.copy(mesShift1,MesShift.class);
- break;
- }else{
- if(curTime - mesShift1.getCurSt() < 0){
- mesShift2 = CopyUtil.copy(mesShift1,MesShift.class);
- }
- }
- }
- shiftId = mesShift2.getId();
- mesProcessCheckGz.setShift(shiftId);
- mesProcessCheckGzService.save(mesProcessCheckGz);
- return renderResult(Global.TRUE, text("操作成功!"));
- }
- }
|