MesRepairQualityController.java 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. package com.jeesite.modules.mes.web;
  2. import com.alibaba.druid.util.StringUtils;
  3. import com.jeesite.common.collect.ListUtils;
  4. import com.jeesite.common.collect.MapUtils;
  5. import com.jeesite.common.config.Global;
  6. import com.jeesite.common.entity.Page;
  7. import com.jeesite.common.web.BaseController;
  8. import com.jeesite.modules.file.entity.FileUpload;
  9. import com.jeesite.modules.file.service.FileUploadService;
  10. import com.jeesite.modules.file.utils.FileUploadUtils;
  11. import com.jeesite.modules.mes.entity.*;
  12. import com.jeesite.modules.mes.resp.CommonResp;
  13. import com.jeesite.modules.mes.service.*;
  14. import com.jeesite.modules.sys.entity.User;
  15. import com.jeesite.modules.sys.utils.UserUtils;
  16. import org.apache.shiro.authz.annotation.RequiresPermissions;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.stereotype.Controller;
  19. import org.springframework.ui.Model;
  20. import org.springframework.util.ObjectUtils;
  21. import org.springframework.validation.annotation.Validated;
  22. import org.springframework.web.bind.annotation.ModelAttribute;
  23. import org.springframework.web.bind.annotation.PostMapping;
  24. import org.springframework.web.bind.annotation.RequestMapping;
  25. import org.springframework.web.bind.annotation.ResponseBody;
  26. import javax.servlet.http.HttpServletRequest;
  27. import javax.servlet.http.HttpServletResponse;
  28. import javax.transaction.Transactional;
  29. import java.util.Date;
  30. import java.util.List;
  31. import java.util.Map;
  32. /**
  33. * 返修质量确认Controller
  34. * @author mes
  35. * @version 2023-12-05
  36. */
  37. @Controller
  38. @RequestMapping(value = "${adminPath}/mes/mesRepairQuality")
  39. public class MesRepairQualityController extends BaseController {
  40. @Autowired
  41. private MesRepairQualityService mesRepairQualityService;
  42. @Autowired
  43. private MesRepairService mesRepairService;
  44. @Autowired
  45. private MesRepairItemsService mesRepairItemsService;
  46. @Autowired
  47. private FileUploadService fileUploadService;
  48. @Autowired
  49. private MesProductService mesProductService;
  50. @Autowired
  51. private MesProductRecordService mesProductRecordService;
  52. /**
  53. * 获取数据
  54. */
  55. @ModelAttribute
  56. public MesRepairQuality get(String id, boolean isNewRecord) {
  57. return mesRepairQualityService.get(id, isNewRecord);
  58. }
  59. /**
  60. * 查询列表
  61. */
  62. @RequiresPermissions("mes:mesRepairQuality:view")
  63. @RequestMapping(value = {"list", ""})
  64. public String list(MesRepairQuality mesRepairQuality, Model model) {
  65. model.addAttribute("mesRepairQuality", mesRepairQuality);
  66. return "modules/mes/mesRepairQualityList";
  67. }
  68. /**
  69. * 查询列表数据
  70. */
  71. @RequiresPermissions("mes:mesRepairQuality:view")
  72. @RequestMapping(value = "listData")
  73. @ResponseBody
  74. public Page<MesRepairQuality> listData(MesRepairQuality mesRepairQuality, HttpServletRequest request, HttpServletResponse response) {
  75. mesRepairQuality.setPage(new Page<>(request, response));
  76. Page<MesRepairQuality> page = mesRepairQualityService.findPage(mesRepairQuality);
  77. return page;
  78. }
  79. /**
  80. * 查看编辑表单
  81. */
  82. @RequiresPermissions("mes:mesRepairQuality:view")
  83. @RequestMapping(value = "form")
  84. public String form(MesRepairQuality mesRepairQuality, Model model) {
  85. model.addAttribute("mesRepairQuality", mesRepairQuality);
  86. return "modules/mes/mesRepairQualityForm";
  87. }
  88. /**
  89. * 保存数据
  90. */
  91. @RequiresPermissions("mes:mesRepairQuality:edit")
  92. @PostMapping(value = "save")
  93. @ResponseBody
  94. public String save(@Validated MesRepairQuality mesRepairQuality) {
  95. mesRepairQualityService.save(mesRepairQuality);
  96. return renderResult(Global.TRUE, text("保存返修质量确认成功!"));
  97. }
  98. /**
  99. * 删除数据
  100. */
  101. @RequiresPermissions("mes:mesRepairQuality:edit")
  102. @RequestMapping(value = "delete")
  103. @ResponseBody
  104. public String delete(MesRepairQuality mesRepairQuality) {
  105. mesRepairQualityService.delete(mesRepairQuality);
  106. return renderResult(Global.TRUE, text("删除返修质量确认成功!"));
  107. }
  108. @RequiresPermissions("mes:mesRepairQuality:api")
  109. @RequestMapping(value = "ulist")
  110. @ResponseBody
  111. public CommonResp ulist(MesRepairQuality mesRepairQuality, HttpServletRequest request, HttpServletResponse response) {
  112. User user = UserUtils.getUser();
  113. mesRepairQuality.setCreateBy(user.getUserCode());
  114. mesRepairQuality.setPage(new Page<>(request, response));
  115. Page<MesRepairQuality> page = mesRepairQualityService.findPage(mesRepairQuality);
  116. for (int i=0;i<page.getList().size();i++){
  117. MesRepair mesRepair = new MesRepair();
  118. mesRepair.setId(page.getList().get(i).getRepairId());
  119. MesRepair rr = mesRepairService.findInfo(mesRepair);
  120. page.getList().get(i).setSn(ObjectUtils.isEmpty(rr)?"":rr.getSn());
  121. }
  122. CommonResp<Page> resp = new CommonResp<>();
  123. resp.setData(page);
  124. resp.setResult(Global.TRUE);
  125. return resp;
  126. }
  127. @RequiresPermissions("mes:mesRepairQuality:api")
  128. @RequestMapping(value = "add")
  129. @ResponseBody
  130. @Transactional
  131. public CommonResp add(HttpServletRequest req) {
  132. Map<String, Object> map = MapUtils.newHashMap();
  133. CommonResp<Map<String, Object>> resp = new CommonResp<>();
  134. resp.setResult(Global.FALSE);
  135. String sn = req.getParameter("sn");
  136. String remark = req.getParameter("remark");
  137. String result = req.getParameter("result");
  138. if(StringUtils.isEmpty(sn)){
  139. resp.setMessage("参数错误");
  140. return resp;
  141. }
  142. if(!result.equals("1") && !result.equals("2")){
  143. resp.setMessage("参数错误");
  144. return resp;
  145. }
  146. String mesRepairQuality_image = req.getParameter("mesRepairQuality_image");
  147. if(StringUtils.isEmpty(mesRepairQuality_image)){
  148. resp.setMessage("图片不能为空");
  149. return resp;
  150. }
  151. MesProduct mesProduct = new MesProduct();
  152. mesProduct.setSn(sn);
  153. MesProduct pd = mesProductService.findInfo(mesProduct);
  154. if(com.jeesite.common.lang.ObjectUtils.isEmpty(pd)){
  155. resp.setMessage("产品信息不存在");
  156. return resp;
  157. }
  158. MesRepair mesRepair1 = new MesRepair();
  159. mesRepair1.setSn(sn);
  160. MesRepair mesRepair = mesRepairService.findInfo(mesRepair1);
  161. if(ObjectUtils.isEmpty(mesRepair)){
  162. resp.setMessage("返修记录不存在");
  163. return resp;
  164. }
  165. if(!mesRepair.getState().equals("2")){
  166. resp.setMessage("当前工件已检查!");
  167. return resp;
  168. }
  169. MesRepairQuality mesRepairQuality = new MesRepairQuality();
  170. mesRepairQuality.setRepairId(mesRepair.getId());
  171. mesRepairQuality.setRemark(remark);
  172. mesRepairQuality.setResult(result);
  173. mesRepairQualityService.save(mesRepairQuality);
  174. FileUploadUtils.saveFileUpload(mesRepairQuality, mesRepairQuality.getId(), "mesRepairQuality_image");
  175. //更新返修单
  176. User user = UserUtils.getUser();
  177. mesRepair.setCheckBy(user.getUserCode());
  178. mesRepair.setCheckDate(new Date());
  179. mesRepair.setState("3");
  180. mesRepair.setResult(result);
  181. mesRepairService.save(mesRepair);
  182. MesProductRecord mesProductRecord = new MesProductRecord();
  183. mesProductRecord.setSn(mesRepair.getSn());
  184. mesProductRecord.setOprno(mesRepair.getOprno());
  185. mesProductRecord.setCraft("100000");
  186. MesProductRecord pp = mesProductRecordService.findInfo(mesProductRecord);
  187. // 更新工件
  188. if(mesRepair.getOprno().equals(mesRepair.getReturnOprno())){ // 返回原工位
  189. pp.setContent("UDF");
  190. mesProductRecordService.save(pp);
  191. }else{
  192. pp.setContent("OK");
  193. mesProductRecordService.save(pp);
  194. String repairItemId = "18565249649801748481111";
  195. if(mesRepair.getItemId().equals(repairItemId)){ // 底护板更换
  196. String[] qmoprnos = new String[]{"OP330","OP360","OP370","OP380","OP390","OP400","OP410"};
  197. for (String op:qmoprnos){
  198. // 返回工位改成UDF
  199. MesProductRecord mesProductRecord2 = new MesProductRecord();
  200. mesProductRecord2.setSn(mesRepair.getSn());
  201. mesProductRecord2.setOprno(op);
  202. mesProductRecord2.setCraft("100000");
  203. MesProductRecord pp2 = mesProductRecordService.findInfo(mesProductRecord2);
  204. if(!ObjectUtils.isEmpty(pp2) && !pp2.getContent().equals("UDF")){
  205. pp2.setContent("UDF");
  206. mesProductRecordService.save(pp2);
  207. }
  208. }
  209. }else{
  210. // 返回工位改成UDF
  211. MesProductRecord mesProductRecord2 = new MesProductRecord();
  212. mesProductRecord2.setSn(mesRepair.getSn());
  213. mesProductRecord2.setOprno(mesRepair.getReturnOprno());
  214. mesProductRecord2.setCraft("100000");
  215. MesProductRecord pp2 = mesProductRecordService.findInfo(mesProductRecord2);
  216. pp2.setContent("UDF");
  217. mesProductRecordService.save(pp2);
  218. }
  219. }
  220. if(result.equals("1")){ // 返修OK
  221. pd.setState("0");
  222. }else{ // 返修NG
  223. pd.setState("4"); // 待处理
  224. }
  225. mesProductService.save(pd);
  226. resp.setResult(Global.TRUE);
  227. return resp;
  228. }
  229. @RequiresPermissions("mes:mesRepairQuality:api")
  230. @RequestMapping(value = "apiDetail")
  231. @ResponseBody
  232. public CommonResp apiDetail(MesRepairQuality mesRepairQuality, HttpServletRequest req) {
  233. CommonResp<MesRepairQuality> resp = new CommonResp<>();
  234. MesRepair mesRepair1 = new MesRepair();
  235. mesRepair1.setId(mesRepairQuality.getRepairId());
  236. MesRepair mesRepair = mesRepairService.findInfo(mesRepair1);
  237. mesRepairQuality.setSn(mesRepair.getSn());
  238. String host = req.getScheme() + "://" + req.getServerName() + ":" + req.getServerPort() + "/js";
  239. FileUpload fu = new FileUpload();
  240. fu.setBizKey(mesRepairQuality.getId());
  241. fu.setBizType("mesRepairQuality_image");
  242. List<FileUpload> finfo = fileUploadService.findList(fu);
  243. List imgList = ListUtils.newArrayList();
  244. for (FileUpload fi:finfo){
  245. Map<String, Object> map1 = MapUtils.newHashMap();
  246. map1.put("id",fi.getFileEntity().getFileId());
  247. map1.put("url",host + fi.getFileUrl());
  248. map1.put("name",fi.getFileName());
  249. map1.put("size",fi.getFileEntity().getFileSize());
  250. //imgList.add(host + fi.getFileUrl());
  251. imgList.add(map1);
  252. }
  253. mesRepairQuality.setImgList(imgList);
  254. resp.setData(mesRepairQuality);
  255. resp.setResult(Global.TRUE);
  256. return resp;
  257. }
  258. }