MesQualityController.java 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346
  1. package com.jeesite.modules.mes.web;
  2. import com.jeesite.common.collect.ListUtils;
  3. import com.jeesite.common.collect.MapUtils;
  4. import com.jeesite.common.config.Global;
  5. import com.jeesite.common.entity.Page;
  6. import com.jeesite.common.lang.DateUtils;
  7. import com.jeesite.common.lang.ObjectUtils;
  8. import com.jeesite.common.lang.StringUtils;
  9. import com.jeesite.common.mybatis.mapper.query.QueryType;
  10. import com.jeesite.common.utils.excel.ExcelExport;
  11. import com.jeesite.common.web.BaseController;
  12. import com.jeesite.modules.file.entity.FileUpload;
  13. import com.jeesite.modules.file.service.FileUploadService;
  14. import com.jeesite.modules.mes.entity.*;
  15. import com.jeesite.modules.mes.resp.CommonResp;
  16. import com.jeesite.modules.mes.service.*;
  17. import com.jeesite.modules.sys.entity.DictData;
  18. import com.jeesite.modules.sys.entity.User;
  19. import com.jeesite.modules.sys.utils.DictUtils;
  20. import com.jeesite.modules.sys.utils.UserUtils;
  21. import org.apache.shiro.authz.annotation.RequiresPermissions;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.stereotype.Controller;
  24. import org.springframework.transaction.annotation.Transactional;
  25. import org.springframework.ui.Model;
  26. import org.springframework.validation.annotation.Validated;
  27. import org.springframework.web.bind.annotation.ModelAttribute;
  28. import org.springframework.web.bind.annotation.PostMapping;
  29. import org.springframework.web.bind.annotation.RequestMapping;
  30. import org.springframework.web.bind.annotation.ResponseBody;
  31. import javax.annotation.Resource;
  32. import javax.servlet.http.HttpServletRequest;
  33. import javax.servlet.http.HttpServletResponse;
  34. import java.util.ArrayList;
  35. import java.util.List;
  36. import java.util.Map;
  37. /**
  38. * 抽检记录Controller
  39. * @author hzd
  40. * @version 2023-11-21
  41. */
  42. @Controller
  43. @RequestMapping(value = "${adminPath}/mes/mesQuality")
  44. public class MesQualityController extends BaseController {
  45. @Autowired
  46. private MesQualityService mesQualityService;
  47. @Autowired
  48. private MesRepairItemsService mesRepairItemsService;
  49. @Autowired
  50. private MesProductRecordService mesProductRecordService;
  51. @Autowired
  52. private MesProductService mesProductService;
  53. @Autowired
  54. private MesRepairService mesRepairService;
  55. @Autowired
  56. private MesLineProcessService mesLineProcessService;
  57. @Resource
  58. private FileUploadService fileUploadService;
  59. /**
  60. * 获取数据
  61. */
  62. @ModelAttribute
  63. public MesQuality get(String id, boolean isNewRecord) {
  64. return mesQualityService.get(id, isNewRecord);
  65. }
  66. /**
  67. * 查询列表
  68. */
  69. @RequiresPermissions("mes:mesQuality:view")
  70. @RequestMapping(value = {"list", ""})
  71. public String list(MesQuality mesQuality, Model model) {
  72. model.addAttribute("mesQuality", mesQuality);
  73. return "modules/mes/mesQualityList";
  74. }
  75. /**
  76. * 查询列表数据
  77. */
  78. @RequiresPermissions("mes:mesQuality:view")
  79. @RequestMapping(value = "listData")
  80. @ResponseBody
  81. public Page<MesQuality> listData(MesQuality mesQuality, HttpServletRequest request, HttpServletResponse response) {
  82. mesQuality.setPage(new Page<>(request, response));
  83. Page<MesQuality> page = mesQualityService.findPage(mesQuality);
  84. return page;
  85. }
  86. /**
  87. * 查看编辑表单
  88. */
  89. @RequiresPermissions("mes:mesQuality:view")
  90. @RequestMapping(value = "form")
  91. public String form(MesQuality mesQuality, Model model) {
  92. model.addAttribute("mesQuality", mesQuality);
  93. return "modules/mes/mesQualityForm";
  94. }
  95. /**
  96. * 保存数据
  97. */
  98. @RequiresPermissions("mes:mesQuality:edit")
  99. @PostMapping(value = "save")
  100. @ResponseBody
  101. public String save(@Validated MesQuality mesQuality) {
  102. mesQualityService.save(mesQuality);
  103. return renderResult(Global.TRUE, text("保存抽检记录成功!"));
  104. }
  105. /**
  106. * 导出数据
  107. */
  108. @RequiresPermissions("mes:mesQuality:view")
  109. @RequestMapping(value = "exportData")
  110. public void exportData(MesQuality mesQuality, HttpServletResponse response) {
  111. List<MesQuality> list = mesQualityService.findList(mesQuality);
  112. String fileName = "抽检记录" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
  113. try(ExcelExport ee = new ExcelExport("抽检记录", MesQuality.class)){
  114. ee.setDataList(list).write(response, fileName);
  115. }
  116. }
  117. @RequiresPermissions("mes:mesQuality:view")
  118. @RequestMapping(value = "detail")
  119. public String detail(MesQuality mesQuality, Model model) {
  120. String[] itemId = mesQuality.getItems().split(",");
  121. MesRepairItems mesRepairItems = new MesRepairItems();
  122. mesRepairItems.getSqlMap().getWhere().and("id", QueryType.IN,itemId);
  123. List<MesRepairItems> lists = mesRepairItemsService.findList(mesRepairItems);
  124. mesQuality.setMesRepairItemsList(lists);
  125. model.addAttribute("mesQuality", mesQuality);
  126. return "modules/mes/mesQualityInfo";
  127. }
  128. @RequestMapping(value = "check")
  129. public String check(MesQuality mesQuality, Model model, HttpServletRequest request, HttpServletResponse response) {
  130. // CookieUtils.setCookie(response,"jeesite.session.id",request.getParameter("__sid"));
  131. model.addAttribute("__sid", request.getParameter("__sid"));
  132. String oprno = request.getParameter("oprno");
  133. List<DictData> types = DictUtils.getDictList("mes_quality_type");
  134. //logger.info("types:"+ JSON.toJSONString(types));
  135. model.addAttribute("types", types);
  136. MesRepairItems mesRepairItems = new MesRepairItems();
  137. mesRepairItems.setStatus("0");
  138. mesRepairItems.setOprno(oprno);
  139. List<MesRepairItems> items = mesRepairItemsService.findList(mesRepairItems);
  140. // logger.info("items:"+ JSON.toJSONString(items));
  141. model.addAttribute("items", items);
  142. model.addAttribute("oprno", oprno);
  143. model.addAttribute("mesQuality", mesQuality);
  144. return "modules/mes/mesQualityCheck";
  145. }
  146. @RequestMapping(value = "checkProduct")
  147. @ResponseBody
  148. public CommonResp checkProduct(HttpServletRequest request) {
  149. CommonResp<String> resp1 = new CommonResp<>();
  150. String oprno = request.getParameter("oprno");
  151. String sn = request.getParameter("sn");
  152. MesProductRecord mesProductRecord = mesProductRecordService.findByUpdate(sn,oprno,"100000");
  153. if(ObjectUtils.isEmpty(mesProductRecord)){
  154. resp1.setResult(Global.FALSE);
  155. resp1.setMessage("工件不存在");
  156. return resp1;
  157. }
  158. resp1.setData(mesProductRecord.getContent());
  159. return resp1;
  160. }
  161. @RequestMapping(value = "info")
  162. @ResponseBody
  163. public CommonResp info(HttpServletRequest request) {
  164. String id = request.getParameter("id");
  165. CommonResp<String> resp1 = new CommonResp<>();
  166. if(StringUtils.isEmpty(id)){
  167. resp1.setResult(Global.FALSE);
  168. resp1.setMessage("参数错误");
  169. return resp1;
  170. }
  171. MesQuality mesQuality = new MesQuality();
  172. mesQuality.setId(id);
  173. MesQuality info = mesQualityService.findInfo(mesQuality);
  174. if(ObjectUtils.isEmpty(info)){
  175. resp1.setResult(Global.FALSE);
  176. resp1.setMessage("记录不存在");
  177. return resp1;
  178. }
  179. String host = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + "/js";
  180. // 获取图片
  181. FileUpload fu = new FileUpload();
  182. fu.setBizKey(info.getId());
  183. fu.setBizType("mesQuality_image");
  184. List<FileUpload> imgs = fileUploadService.findList(fu);
  185. List imgList = ListUtils.newArrayList();
  186. if(imgs.size() > 0){
  187. for (FileUpload fi:imgs) {
  188. Map<String, Object> map1 = MapUtils.newHashMap();
  189. map1.put("id",fi.getFileEntity().getFileId());
  190. map1.put("url",host + fi.getFileUrl());
  191. imgList.add(map1);
  192. }
  193. }
  194. info.setImgs(imgList);
  195. // String[] itemId = info.getItems().split(",");
  196. //
  197. CommonResp<Map<String, Object>> resp = new CommonResp<>();
  198. //
  199. Map<String, Object> map = MapUtils.newHashMap();
  200. // MesRepairItems mesRepairItems = new MesRepairItems();
  201. // mesRepairItems.getSqlMap().getWhere().and("id", QueryType.IN,itemId);
  202. // List<MesRepairItems> lists = mesRepairItemsService.findList(mesRepairItems);
  203. // info.setMesRepairItemsList(lists);
  204. map.put("lists", info);
  205. resp.setData(map);
  206. resp.setResult(Global.TRUE);
  207. return resp;
  208. }
  209. @RequestMapping(value = "cjList")
  210. @ResponseBody
  211. public CommonResp cjList(HttpServletRequest request, HttpServletResponse response) {
  212. CommonResp<Map<String, Object>> resp = new CommonResp<>();
  213. Map<String, Object> map = MapUtils.newHashMap();
  214. User user = UserUtils.getUser();
  215. MesQuality mesQuality = new MesQuality();
  216. mesQuality.setCreateBy(user.getUserCode());
  217. mesQuality.setPage(new Page<>(request, response));
  218. Page<MesQuality> list = mesQualityService.findPage(mesQuality);
  219. map.put("lists", list);
  220. resp.setData(map);
  221. resp.setResult(Global.TRUE);
  222. return resp;
  223. }
  224. @RequestMapping(value = "oprnoList")
  225. @ResponseBody
  226. public CommonResp oprnoList(HttpServletRequest req) {
  227. CommonResp<Map<String, Object>> resp = new CommonResp<>();
  228. User user = UserUtils.getUser();
  229. MesLineProcessUser mesLineProcessUser = new MesLineProcessUser();
  230. mesLineProcessUser.setUserCode(user.getUserCode());
  231. List<MesLineProcessUser> list = mesLineProcessService.findSubListOrder(mesLineProcessUser);
  232. List<String> ids = new ArrayList<>();
  233. for (MesLineProcessUser item:list){
  234. ids.add(item.getId());
  235. }
  236. Map<String, Object> map = MapUtils.newHashMap();
  237. if(!ids.isEmpty()){
  238. MesLineProcess mesLineProcess = new MesLineProcess();
  239. mesLineProcess.getSqlMap().getWhere().and("id", QueryType.IN,ids);
  240. List<MesLineProcess> list1 = mesLineProcessService.findList(mesLineProcess);
  241. map.put("lists", list1);
  242. }else {
  243. List<MesLineProcess> list1 = new ArrayList<>();
  244. map.put("lists", list1);
  245. }
  246. resp.setData(map);
  247. resp.setResult(Global.TRUE);
  248. return resp;
  249. }
  250. @RequestMapping(value = "wtqd")
  251. @ResponseBody
  252. public CommonResp wtqd(HttpServletRequest req) {
  253. CommonResp<Map<String, Object>> resp = new CommonResp<>();
  254. Map<String, Object> map = MapUtils.newHashMap();
  255. String oprno = req.getParameter("oprno");
  256. String lineSn = req.getParameter("lineSn");
  257. MesRepairItems mesRepairItems = new MesRepairItems();
  258. mesRepairItems.setStatus("0");
  259. mesRepairItems.setOprno(oprno);
  260. mesRepairItems.setLineSn(lineSn);
  261. List<MesRepairItems> items = mesRepairItemsService.findList(mesRepairItems);
  262. map.put("lists", items);
  263. resp.setData(map);
  264. resp.setResult(Global.TRUE);
  265. return resp;
  266. }
  267. //@RequiresPermissions("mes:mesQuality:checkSave")
  268. @RequestMapping(value = "checkSave")
  269. @ResponseBody
  270. @Transactional
  271. public String checkSave(HttpServletRequest request) {
  272. String oprno = request.getParameter("oprno");
  273. String lineSn = request.getParameter("lineSn");
  274. String sn = request.getParameter("sn");
  275. String result = request.getParameter("result");
  276. String type = request.getParameter("type");
  277. // String items = request.getParameter("items");
  278. String remark = request.getParameter("remark");
  279. if(StringUtils.isEmpty(sn)){
  280. return renderResult(Global.FALSE, text("工件不存在!"));
  281. }
  282. if(StringUtils.isEmpty(oprno)){
  283. return renderResult(Global.FALSE, text("参数错误!"));
  284. }
  285. if(StringUtils.isEmpty(lineSn)){
  286. return renderResult(Global.FALSE, text("产线编号不能为空"));
  287. }
  288. if(StringUtils.isEmpty(type)){
  289. return renderResult(Global.FALSE, text("请选择检查类型!"));
  290. }
  291. if(StringUtils.isEmpty(result)){
  292. return renderResult(Global.FALSE, text("请选择检查结果!"));
  293. }
  294. MesProductRecord mesProductRecord = mesProductRecordService.findByUpdate(sn,oprno,"100000");
  295. if(ObjectUtils.isEmpty(mesProductRecord)){
  296. return renderResult(Global.FALSE, text("工件不存在!"));
  297. }
  298. MesQuality mesQuality = new MesQuality();
  299. mesQuality.setOprno(oprno);
  300. mesQuality.setLineSn(lineSn);
  301. mesQuality.setResult(result);
  302. // mesQuality.setItems(items);
  303. mesQuality.setType(type);
  304. mesQuality.setSn(sn);
  305. mesQuality.setRemark(remark);
  306. mesQualityService.save(mesQuality);
  307. if(!mesProductRecord.getContent().equals(result)){
  308. mesProductRecord.setContent(result);
  309. mesProductRecordService.update(mesProductRecord);
  310. }
  311. return renderResult(Global.TRUE, text("操作成功!"));
  312. }
  313. }