MesScrapController.java 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  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.lang.DateUtils;
  8. import com.jeesite.common.lang.ObjectUtils;
  9. import com.jeesite.common.utils.excel.ExcelExport;
  10. import com.jeesite.common.web.BaseController;
  11. import com.jeesite.modules.file.entity.FileUpload;
  12. import com.jeesite.modules.file.service.FileUploadService;
  13. import com.jeesite.modules.file.utils.FileUploadUtils;
  14. import com.jeesite.modules.mes.entity.MesProduct;
  15. import com.jeesite.modules.mes.entity.MesRepair;
  16. import com.jeesite.modules.mes.entity.MesScrap;
  17. import com.jeesite.modules.mes.resp.CommonResp;
  18. import com.jeesite.modules.mes.service.MesProductService;
  19. import com.jeesite.modules.mes.service.MesScrapService;
  20. import com.jeesite.modules.sys.entity.User;
  21. import com.jeesite.modules.sys.utils.UserUtils;
  22. import org.apache.shiro.authz.annotation.RequiresPermissions;
  23. import org.springframework.beans.factory.annotation.Autowired;
  24. import org.springframework.stereotype.Controller;
  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.servlet.http.HttpServletRequest;
  32. import javax.servlet.http.HttpServletResponse;
  33. import javax.transaction.Transactional;
  34. import java.util.List;
  35. import java.util.Map;
  36. /**
  37. * 报废记录Controller
  38. * @author mes
  39. * @version 2023-11-27
  40. */
  41. @Controller
  42. @RequestMapping(value = "${adminPath}/mes/mesScrap")
  43. public class MesScrapController extends BaseController {
  44. @Autowired
  45. private MesScrapService mesScrapService;
  46. @Autowired
  47. private MesProductService mesProductService;
  48. @Autowired
  49. private FileUploadService fileUploadService;
  50. /**
  51. * 获取数据
  52. */
  53. @ModelAttribute
  54. public MesScrap get(String id, boolean isNewRecord) {
  55. return mesScrapService.get(id, isNewRecord);
  56. }
  57. /**
  58. * 查询列表
  59. */
  60. @RequiresPermissions("mes:mesScrap:view")
  61. @RequestMapping(value = {"list", ""})
  62. public String list(MesScrap mesScrap, Model model) {
  63. model.addAttribute("mesScrap", mesScrap);
  64. return "modules/mes/mesScrapList";
  65. }
  66. /**
  67. * 查询列表数据
  68. */
  69. @RequiresPermissions("mes:mesScrap:view")
  70. @RequestMapping(value = "listData")
  71. @ResponseBody
  72. public Page<MesScrap> listData(MesScrap mesScrap, HttpServletRequest request, HttpServletResponse response) {
  73. mesScrap.setPage(new Page<>(request, response));
  74. Page<MesScrap> page = mesScrapService.findPage(mesScrap);
  75. return page;
  76. }
  77. /**
  78. * 查看编辑表单
  79. */
  80. @RequiresPermissions("mes:mesScrap:view")
  81. @RequestMapping(value = "form")
  82. public String form(MesScrap mesScrap, Model model) {
  83. model.addAttribute("mesScrap", mesScrap);
  84. return "modules/mes/mesScrapForm";
  85. }
  86. @RequiresPermissions("mes:mesScrap:view")
  87. @RequestMapping(value = "detail")
  88. public String detail(MesScrap mesScrap, Model model) {
  89. model.addAttribute("mesScrap", mesScrap);
  90. return "modules/mes/mesScrapDetail";
  91. }
  92. /**
  93. * 保存数据
  94. */
  95. @RequiresPermissions("mes:mesScrap:edit")
  96. @PostMapping(value = "save")
  97. @ResponseBody
  98. public String save(@Validated MesScrap mesScrap) {
  99. mesScrapService.save(mesScrap);
  100. return renderResult(Global.TRUE, text("保存报废记录成功!"));
  101. }
  102. /**
  103. * 删除数据
  104. */
  105. @RequiresPermissions("mes:mesScrap:edit")
  106. @RequestMapping(value = "delete")
  107. @ResponseBody
  108. public String delete(MesScrap mesScrap) {
  109. mesScrapService.delete(mesScrap);
  110. return renderResult(Global.TRUE, text("删除报废记录成功!"));
  111. }
  112. /**
  113. * 导出数据
  114. */
  115. @RequiresPermissions("mes:mesScrap:view")
  116. @RequestMapping(value = "exportData")
  117. public void exportData(MesScrap mesScrap, HttpServletResponse response) {
  118. List<MesScrap> list = mesScrapService.findList(mesScrap);
  119. String fileName = "报废记录" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
  120. try(ExcelExport ee = new ExcelExport("报废记录", MesScrap.class)){
  121. ee.setDataList(list).write(response, fileName);
  122. }
  123. }
  124. @RequiresPermissions("mes:mesScrap:api")
  125. @RequestMapping(value = "add")
  126. @ResponseBody
  127. @Transactional
  128. public CommonResp add(MesScrap mesScrap, HttpServletRequest request) {
  129. Map<String, Object> map = MapUtils.newHashMap();
  130. CommonResp<Map<String, Object>> resp = new CommonResp<>();
  131. resp.setResult(Global.FALSE);
  132. if(StringUtils.isEmpty(mesScrap.getSn())){
  133. resp.setMessage("工件码不能为空");
  134. return resp;
  135. }
  136. if(StringUtils.isEmpty(mesScrap.getReason())){
  137. resp.setMessage("报废原因不能为空!");
  138. return resp;
  139. }
  140. MesProduct mesProduct1 = new MesProduct();
  141. mesProduct1.setSn(mesScrap.getSn());
  142. mesProduct1.setCate(mesScrap.getProductCate());
  143. MesProduct mesProduct = mesProductService.findInfo(mesProduct1);
  144. if(ObjectUtils.isEmpty(mesProduct)){
  145. resp.setMessage("产品信息不存在");
  146. return resp;
  147. }
  148. if(mesProduct.getState().equals("3")){
  149. resp.setMessage("产品已报废");
  150. return resp;
  151. }
  152. // if(!mesProduct.getState().equals("4")){
  153. // resp.setMessage("只能报废待处理状态的产品");
  154. // return resp;
  155. // }
  156. // mesScrap.setProductCate(mesProduct.getCate());
  157. mesScrapService.save(mesScrap);
  158. //保存图片上传
  159. FileUploadUtils.saveFileUpload(mesScrap, mesScrap.getId(), "mesScrap_image");
  160. // 更新产品状态
  161. mesProduct.setState("3");
  162. mesProductService.update(mesProduct);
  163. resp.setResult(Global.TRUE);
  164. return resp;
  165. }
  166. @RequiresPermissions("mes:mesScrap:api")
  167. @RequestMapping(value = "ulist")
  168. @ResponseBody
  169. public CommonResp ulist(MesScrap mesScrap, HttpServletRequest request, HttpServletResponse response) {
  170. User user = UserUtils.getUser();
  171. mesScrap.setCreateBy(user.getUserCode());
  172. mesScrap.setPage(new Page<>(request, response));
  173. Page<MesScrap> page = mesScrapService.findPage(mesScrap);
  174. CommonResp<Page> resp = new CommonResp<>();
  175. resp.setData(page);
  176. resp.setResult(Global.TRUE);
  177. return resp;
  178. }
  179. /**
  180. * 详情
  181. */
  182. @RequiresPermissions("mes:mesScrap:api")
  183. @RequestMapping(value = "info")
  184. @ResponseBody
  185. public CommonResp info(MesScrap mesScrap, HttpServletRequest request) {
  186. mesScrap.setId(request.getParameter("id"));
  187. MesScrap info = mesScrapService.get(mesScrap);
  188. String host = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + "/js";
  189. FileUpload fu = new FileUpload();
  190. fu.setBizKey(info.getId());
  191. fu.setBizType("mesScrap_image");
  192. List<FileUpload> finfo = fileUploadService.findList(fu);
  193. List imgList = ListUtils.newArrayList();
  194. for (FileUpload fi:finfo){
  195. Map<String, Object> map1 = MapUtils.newHashMap();
  196. map1.put("id",fi.getFileEntity().getFileId());
  197. map1.put("url",host + fi.getFileUrl());
  198. map1.put("name",fi.getFileName());
  199. map1.put("size",fi.getFileEntity().getFileSize());
  200. imgList.add(map1);
  201. }
  202. info.setImg(imgList);
  203. CommonResp<MesScrap> resp = new CommonResp<>();
  204. resp.setData(info);
  205. return resp;
  206. }
  207. }