MesLaserController.java 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. package com.jeesite.modules.mes.web;
  2. import javax.servlet.http.HttpServletRequest;
  3. import com.jeesite.common.lang.StringUtils;
  4. import com.jeesite.common.service.ServiceException;
  5. import com.jeesite.modules.mes.resp.CommonResp;
  6. import com.jeesite.modules.mes.service.MesLaserService;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.stereotype.Controller;
  9. import org.springframework.web.bind.annotation.PostMapping;
  10. import org.springframework.web.bind.annotation.RequestMapping;
  11. import org.springframework.web.bind.annotation.ResponseBody;
  12. import com.jeesite.common.config.Global;
  13. import com.jeesite.common.web.BaseController;
  14. /**
  15. * 镭雕对接Controller(OP040)
  16. * MES客户端拿到镭雕软件回传的钢印码后,调用本接口生成并绑定21位客户编码。
  17. * @author hzd
  18. * @version 2026-07-08
  19. */
  20. @Controller
  21. @RequestMapping(value = "${adminPath}/mes/mesLaser")
  22. public class MesLaserController extends BaseController {
  23. @Autowired
  24. private MesLaserService mesLaserService;
  25. /**
  26. * 生成客户编码并与钢印码绑定
  27. * 请求参数(form):prodCode(T09/T68) steelSn(钢印码) oprno lineSn user
  28. * 返回 data:客户编码(21位)
  29. */
  30. @PostMapping(value = "genCustomerSn")
  31. @ResponseBody
  32. public CommonResp genCustomerSn(HttpServletRequest request) {
  33. CommonResp<String> resp = new CommonResp<>();
  34. String prodCode = request.getParameter("prodCode");
  35. String steelSn = request.getParameter("steelSn");
  36. String oprno = request.getParameter("oprno");
  37. String lineSn = request.getParameter("lineSn");
  38. String user = request.getParameter("user");
  39. if (StringUtils.isEmpty(prodCode) || StringUtils.isEmpty(steelSn)) {
  40. resp.setResult(Global.FALSE);
  41. resp.setMessage("参数错误:prodCode和steelSn不能为空");
  42. return resp;
  43. }
  44. try {
  45. String customerSn = mesLaserService.genAndBindCustomerSn(prodCode, steelSn, oprno, lineSn, user);
  46. resp.setData(customerSn);
  47. resp.setResult(Global.TRUE);
  48. resp.setMessage("生成成功");
  49. } catch (ServiceException e) {
  50. resp.setResult(Global.FALSE);
  51. resp.setMessage(e.getMessage());
  52. } catch (Exception e) {
  53. logger.error("生成客户编码失败:prodCode=" + prodCode + ", steelSn=" + steelSn, e);
  54. resp.setResult(Global.FALSE);
  55. resp.setMessage("生成失败:" + e.getMessage());
  56. }
  57. return resp;
  58. }
  59. /**
  60. * 解绑钢印码和客户码映射。客户码建档数据保留。
  61. * 请求参数(form):steelSn(钢印码) oprno lineSn
  62. * 返回 data:被解绑的客户码
  63. */
  64. @PostMapping(value = "unbindSteelSn")
  65. @ResponseBody
  66. public CommonResp unbindSteelSn(HttpServletRequest request) {
  67. CommonResp<String> resp = new CommonResp<>();
  68. String steelSn = request.getParameter("steelSn");
  69. String oprno = request.getParameter("oprno");
  70. String lineSn = request.getParameter("lineSn");
  71. if (StringUtils.isEmpty(steelSn)) {
  72. resp.setResult(Global.FALSE);
  73. resp.setMessage("参数错误:steelSn不能为空");
  74. return resp;
  75. }
  76. try {
  77. String customerSn = mesLaserService.unbindSteelSn(steelSn, oprno, lineSn);
  78. resp.setData(customerSn);
  79. resp.setResult(Global.TRUE);
  80. resp.setMessage("解绑成功,客户码:" + customerSn);
  81. } catch (ServiceException e) {
  82. resp.setResult(Global.FALSE);
  83. resp.setMessage(e.getMessage());
  84. } catch (Exception e) {
  85. logger.error("钢印码解绑失败:steelSn=" + steelSn, e);
  86. resp.setResult(Global.FALSE);
  87. resp.setMessage("解绑失败:" + e.getMessage());
  88. }
  89. return resp;
  90. }
  91. }