| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310 |
- package com.jeesite.modules.mes.web;
- import com.alibaba.druid.util.StringUtils;
- import com.jeesite.common.collect.ListUtils;
- import com.jeesite.common.collect.MapUtils;
- import com.jeesite.common.config.Global;
- import com.jeesite.common.entity.Page;
- import com.jeesite.common.lang.DateUtils;
- import com.jeesite.common.lang.ObjectUtils;
- import com.jeesite.common.utils.excel.ExcelExport;
- import com.jeesite.common.utils.excel.annotation.ExcelField.Type;
- import com.jeesite.common.web.BaseController;
- import com.jeesite.modules.file.entity.FileUpload;
- import com.jeesite.modules.file.service.FileUploadService;
- import com.jeesite.modules.mes.entity.MesProduct;
- import com.jeesite.modules.mes.entity.MesProductRecord;
- import com.jeesite.modules.mes.entity.MesRecover;
- import com.jeesite.modules.mes.resp.CommonResp;
- import com.jeesite.modules.mes.service.MesProductHmbService;
- import com.jeesite.modules.mes.service.MesProductRecordService;
- import com.jeesite.modules.mes.service.MesProductService;
- import com.jeesite.modules.mes.service.MesRecoverService;
- import com.jeesite.modules.mes.util.CommonUitl;
- import com.jeesite.modules.sys.entity.User;
- 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.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 org.springframework.web.multipart.MultipartFile;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.transaction.Transactional;
- import java.util.List;
- import java.util.Map;
- /**
- * 恢复记录Controller
- * @author hzd
- * @version 2023-12-14
- */
- @Controller
- @RequestMapping(value = "${adminPath}/mes/mesRecover")
- public class MesRecoverController extends BaseController {
- @Autowired
- private MesRecoverService mesRecoverService;
- @Autowired
- private MesProductService mesProductService;
- @Autowired
- private MesProductRecordService mesProductRecordService;
- @Autowired
- private FileUploadService fileUploadService;
- @Autowired
- private MesProductHmbService mesProductHmbService;
- /**
- * 获取数据
- */
- @ModelAttribute
- public MesRecover get(String id, boolean isNewRecord) {
- return mesRecoverService.get(id, isNewRecord);
- }
-
- /**
- * 查询列表
- */
- @RequiresPermissions("mes:mesRecover:view")
- @RequestMapping(value = {"list", ""})
- public String list(MesRecover mesRecover, Model model) {
- model.addAttribute("mesRecover", mesRecover);
- return "modules/mes/mesRecoverList";
- }
-
- /**
- * 查询列表数据
- */
- @RequiresPermissions("mes:mesRecover:view")
- @RequestMapping(value = "listData")
- @ResponseBody
- public Page<MesRecover> listData(MesRecover mesRecover, HttpServletRequest request, HttpServletResponse response) {
- mesRecover.setPage(new Page<>(request, response));
- Page<MesRecover> page = mesRecoverService.findPage(mesRecover);
- return page;
- }
- /**
- * 查看编辑表单
- */
- @RequiresPermissions("mes:mesRecover:view")
- @RequestMapping(value = "form")
- public String form(MesRecover mesRecover, Model model) {
- model.addAttribute("mesRecover", mesRecover);
- return "modules/mes/mesRecoverForm";
- }
- /**
- * 保存数据
- */
- @RequiresPermissions("mes:mesRecover:edit")
- @PostMapping(value = "save")
- @ResponseBody
- public String save(@Validated MesRecover mesRecover) {
- mesRecoverService.save(mesRecover);
- return renderResult(Global.TRUE, text("保存恢复记录成功!"));
- }
- /**
- * 导出数据
- */
- @RequiresPermissions("mes:mesRecover:view")
- @RequestMapping(value = "exportData")
- public void exportData(MesRecover mesRecover, HttpServletResponse response) {
- List<MesRecover> list = mesRecoverService.findList(mesRecover);
- String fileName = "恢复记录" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
- try(ExcelExport ee = new ExcelExport("恢复记录", MesRecover.class)){
- ee.setDataList(list).write(response, fileName);
- }
- }
- /**
- * 下载模板
- */
- @RequiresPermissions("mes:mesRecover:view")
- @RequestMapping(value = "importTemplate")
- public void importTemplate(HttpServletResponse response) {
- MesRecover mesRecover = new MesRecover();
- List<MesRecover> list = ListUtils.newArrayList(mesRecover);
- String fileName = "恢复记录模板.xlsx";
- try(ExcelExport ee = new ExcelExport("恢复记录", MesRecover.class, Type.IMPORT)){
- ee.setDataList(list).write(response, fileName);
- }
- }
- /**
- * 导入数据
- */
- @ResponseBody
- @RequiresPermissions("mes:mesRecover:edit")
- @PostMapping(value = "importData")
- public String importData(MultipartFile file) {
- try {
- String message = mesRecoverService.importData(file);
- return renderResult(Global.TRUE, "posfull:"+message);
- } catch (Exception ex) {
- return renderResult(Global.FALSE, "posfull:"+ex.getMessage());
- }
- }
-
- /**
- * 删除数据
- */
- @RequiresPermissions("mes:mesRecover:edit")
- @RequestMapping(value = "delete")
- @ResponseBody
- public String delete(MesRecover mesRecover) {
- mesRecoverService.delete(mesRecover);
- return renderResult(Global.TRUE, text("删除恢复记录成功!"));
- }
- @RequiresPermissions("mes:mesRecover:view")
- @RequestMapping(value = "detail")
- public String detail(MesRecover mesRecover, Model model) {
- model.addAttribute("mesRecover", mesRecover);
- return "modules/mes/mesRecoverDetail";
- }
- @RequiresPermissions("mes:mesRecover:api")
- @RequestMapping(value = "add")
- @ResponseBody
- @Transactional
- public CommonResp add(MesRecover mesRecover, HttpServletRequest request) {
- Map<String, Object> map = MapUtils.newHashMap();
- CommonResp<Map<String, Object>> resp = new CommonResp<>();
- resp.setResult(Global.FALSE);
- if(StringUtils.isEmpty(mesRecover.getSn())){
- resp.setMessage("工件码不能为空");
- return resp;
- }
- if(StringUtils.isEmpty(mesRecover.getReason())){
- resp.setMessage("恢复原因不能为空!");
- return resp;
- }
- String sn = mesProductHmbService.formatHmbSn(mesRecover.getSn());
- mesRecover.setSn(sn);
- MesProduct mesProduct1 = new MesProduct();
- mesProduct1.setSn(mesRecover.getSn());
- MesProduct mesProduct = mesProductService.findInfo(mesProduct1);
- if(ObjectUtils.isEmpty(mesProduct)){
- resp.setMessage("产品信息不存在");
- return resp;
- }
- if(mesProduct.getState().equals("0")){
- resp.setMessage("改产品处于生产中,勿重复操作");
- return resp;
- }
- // if(!mesProduct.getState().equals("4")){
- // resp.setMessage("只能恢复待处理状态的产品");
- // return resp;
- // }
- MesProductRecord mesProductRecord = new MesProductRecord();
- mesProductRecord.setSn(mesRecover.getSn());
- mesProductRecord.setCraft("100000");
- List<MesProductRecord> records = mesProductRecordService.findList(mesProductRecord);
- if(ListUtils.isEmpty(records)){
- resp.setMessage("生产记录不存在!");
- return resp;
- }
- // 获取恢复的工位
- for(MesProductRecord mesProductRecord1:records){
- // if(mesProductRecord1.getContent().equals("NG")){
- // oprno = CommonUitl.formatOprno(mesProductRecord1.getOprno());
- // mesProductRecord2 = mesProductRecord1;
- // break;
- // }
- if(CommonUitl.isOfflineOprno(mesProductRecord1.getOprno(), mesProductRecord1.getLineSn()) && !mesProductRecord1.getContent().equals("UDF")){ // 下线
- mesProductRecord1.setContent("UDF");
- mesProductRecordService.update(mesProductRecord1);
- }
- }
- // if(StringUtils.isEmpty(oprno)){
- // resp.setMessage("无NG工位");
- // return resp;
- // }
- mesRecover.setOprno("");
- mesRecover.setProductCate(mesProduct.getCate());
- mesRecoverService.save(mesRecover);
- mesProduct.setState("0");
- mesProductService.update(mesProduct);
- resp.setResult(Global.TRUE);
- return resp;
- }
- @RequiresPermissions("mes:mesRecover:api")
- @RequestMapping(value = "ulist")
- @ResponseBody
- public CommonResp ulist(MesRecover mesRecover, HttpServletRequest request, HttpServletResponse response) {
- User user = UserUtils.getUser();
- mesRecover.setCreateBy(user.getUserCode());
- mesRecover.setPage(new Page<>(request, response));
- Page<MesRecover> page = mesRecoverService.findPage(mesRecover);
- for (MesRecover mesRecover1 : page.getList()) {
- int op = Integer.valueOf(mesRecover1.getOprno().substring(2,5));
- if(op >= 125){
- mesRecover1.setSn(mesProductHmbService.getHmbSn(mesRecover1.getSn()));
- }
- }
- CommonResp<Page> resp = new CommonResp<>();
- resp.setData(page);
- resp.setResult(Global.TRUE);
- return resp;
- }
- /**
- * 详情
- */
- @RequiresPermissions("mes:mesRecover:api")
- @RequestMapping(value = "info")
- @ResponseBody
- public CommonResp info(MesRecover mesRecover, HttpServletRequest request) {
- mesRecover.setId(request.getParameter("id"));
- MesRecover info = mesRecoverService.get(mesRecover);
- String host = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + "/js";
- FileUpload fu = new FileUpload();
- fu.setBizKey(info.getId());
- fu.setBizType("mesRecover_image");
- List<FileUpload> finfo = fileUploadService.findList(fu);
- List imgList = ListUtils.newArrayList();
- for (FileUpload fi:finfo){
- Map<String, Object> map1 = MapUtils.newHashMap();
- map1.put("id",fi.getFileEntity().getFileId());
- map1.put("url",host + fi.getFileUrl());
- map1.put("name",fi.getFileName());
- map1.put("size",fi.getFileEntity().getFileSize());
- imgList.add(map1);
- }
- info.setImg(imgList);
- CommonResp<MesRecover> resp = new CommonResp<>();
- resp.setData(info);
- return resp;
- }
-
- }
|