ComplaintMaintenanceController.java 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342
  1. package com.iamberry.rst.controllers.cm;
  2. import com.iamberry.rst.core.cm.*;
  3. import com.iamberry.rst.core.order.Product;
  4. import com.iamberry.rst.core.page.PageRequest;
  5. import com.iamberry.rst.core.page.PagedResult;
  6. import com.iamberry.rst.core.pts.PtsMachine;
  7. import com.iamberry.rst.core.pts.PtsSalesCompany;
  8. import com.iamberry.rst.faces.cm.*;
  9. import com.iamberry.rst.faces.product.ProductService;
  10. import com.iamberry.rst.faces.pts.MachineService;
  11. import com.iamberry.rst.faces.pts.PtsSalesCompanyService;
  12. import com.iamberry.rst.service.pts.mapper.MachineMapper;
  13. import com.iamberry.rst.utils.StitchAttrUtil;
  14. import com.iamberry.wechat.tools.ResponseJson;
  15. import org.apache.shiro.authz.annotation.RequiresPermissions;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Controller;
  18. import org.springframework.web.bind.annotation.RequestMapping;
  19. import org.springframework.web.bind.annotation.RequestParam;
  20. import org.springframework.web.bind.annotation.ResponseBody;
  21. import org.springframework.web.servlet.ModelAndView;
  22. import javax.servlet.http.HttpServletRequest;
  23. import java.text.ParseException;
  24. import java.text.SimpleDateFormat;
  25. import java.util.Date;
  26. import java.util.List;
  27. /**
  28. * Created by wxm
  29. * 问题
  30. */
  31. @Controller
  32. @RequestMapping("/admin/maintenance")
  33. public class ComplaintMaintenanceController {
  34. @Autowired
  35. private ComplaintMaintenanceInfoService complaintMaintenanceInfoService;
  36. @Autowired
  37. private MachineService machineService;
  38. @Autowired
  39. private ProductService productService;
  40. @Autowired
  41. private PtsSalesCompanyService ptsSalesCompanyService;
  42. @Autowired
  43. private ComplaintDetectInfoService complaintDetectInfoService;
  44. /**
  45. * 客诉 - 查询签收/仓储列表
  46. * @param request
  47. * @return
  48. */
  49. @RequiresPermissions("maintenance:select:maintenance")
  50. @RequestMapping("/select_maintenance_list")
  51. public ModelAndView selectmaintenanceList(HttpServletRequest request,
  52. @RequestParam(value = "pageNO", defaultValue = "1", required = false) int pageNO,
  53. @RequestParam(value = "pageTotal", required = false) Integer pageTotal,
  54. @RequestParam(value = "pageSize", defaultValue = "5", required = false) int pageSize,
  55. ComplaintMaintenanceInfo complaintMaintenanceInfo) {
  56. ModelAndView mv = new ModelAndView("cm/maintenance/maintenance_list");
  57. // 封装请求数据
  58. PageRequest<ComplaintMaintenanceInfo> pageRequest = new PageRequest<>(complaintMaintenanceInfo, pageNO, pageSize, pageTotal == null);
  59. PagedResult<ComplaintMaintenanceInfo> result = complaintMaintenanceInfoService.listMaintenance(pageRequest);
  60. long total = 0;
  61. if (pageTotal == null) {
  62. total = result.getPages();
  63. } else {
  64. total = pageTotal;
  65. result.setPages(total);
  66. }
  67. StitchAttrUtil.setModelAndView(complaintMaintenanceInfo, mv, "/admin/maintenance/select_maintenance_list", result);
  68. return mv;
  69. }
  70. /**
  71. * 修改维修记录
  72. *
  73. * @return
  74. */
  75. @ResponseBody
  76. @RequiresPermissions("maintenance:update:maintenance")
  77. @RequestMapping(value = "/update_maintenance")
  78. public ResponseJson updateMaintenance(HttpServletRequest request,ComplaintMaintenanceInfo maintenanceInfo)throws Exception{
  79. ResponseJson msg = new ResponseJson();
  80. if(maintenanceInfo == null){
  81. msg.setResultCode(500);
  82. msg.setReturnCode(500);
  83. return msg;
  84. }
  85. String maintenanceContentDate = request.getParameter("maintenanceContent_Date");
  86. if(maintenanceContentDate != null){
  87. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  88. maintenanceInfo.setMaintenanceContentDate(format.parse(maintenanceContentDate));
  89. }
  90. if(maintenanceInfo.getProductId() != null){
  91. maintenanceInfo.setProductColorId(Integer.valueOf(request.getParameter("colorId"+maintenanceInfo.getProductId())));
  92. maintenanceInfo.setMaintenanceEquipmentNumber(request.getParameter("maintenanceEquipmentNumber"+maintenanceInfo.getProductId()));
  93. }
  94. Product product = productService.getProduce(maintenanceInfo.getProductId());
  95. maintenanceInfo.setMaintenanceProductNumber(product.getProductNumber());
  96. Integer num = complaintMaintenanceInfoService.updateMaintenanceById(maintenanceInfo);
  97. if (num < 1) {
  98. msg.setResultCode(500);
  99. msg.setReturnCode(500);
  100. } else {
  101. msg.setResultCode(200);
  102. msg.setReturnCode(200);
  103. }
  104. return msg;
  105. }
  106. /**
  107. * 跳转到修改维修记录页面
  108. *
  109. * @return
  110. */
  111. @RequiresPermissions("maintenance:update:maintenance")
  112. @RequestMapping(value = "/to_update_maintenance")
  113. public ModelAndView toUpdateMaintenance(HttpServletRequest request,Integer maintenanceId) {
  114. ModelAndView mv = new ModelAndView("cm/maintenance/update_maintenance");
  115. //获取所有产品及其颜色,配件
  116. Product product = new Product();
  117. List<Product> productList = productService.listProductAndColorAndfittings(product);
  118. ComplaintMaintenanceInfo complaintMaintenanceInfo = complaintMaintenanceInfoService.getMaintenanceByid(maintenanceId);
  119. mv.addObject("productList",productList);
  120. mv.addObject("maintenanceInfo",complaintMaintenanceInfo);
  121. return mv;
  122. }
  123. /**
  124. * 跳转到增加维修记录页面
  125. *
  126. * @return
  127. */
  128. @RequiresPermissions("maintenance:add:maintenance")
  129. @RequestMapping(value = "/to_add_maintenance")
  130. public ModelAndView toAddMaintenance(HttpServletRequest request) {
  131. ModelAndView mv = new ModelAndView("cm/maintenance/add_maintenance");
  132. //获取所有产品及其颜色,配件
  133. Product product = new Product();
  134. List<Product> productList = productService.listProductAndColorAndfittings(product);
  135. mv.addObject("productList",productList);
  136. return mv;
  137. }
  138. /**
  139. * 增加维修记录
  140. *
  141. * @return
  142. */
  143. @ResponseBody
  144. @RequiresPermissions("maintenance:add:maintenance")
  145. @RequestMapping(value = "/add_maintenance")
  146. public ResponseJson addMaintenance(HttpServletRequest request,ComplaintMaintenanceInfo maintenanceInfo) throws Exception {
  147. ResponseJson msg = new ResponseJson();
  148. if(maintenanceInfo == null){
  149. msg.setResultCode(500);
  150. msg.setReturnCode(500);
  151. return msg;
  152. }
  153. String maintenanceContentDate = request.getParameter("maintenanceContent_Date");
  154. if(maintenanceContentDate != null){
  155. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  156. maintenanceInfo.setMaintenanceContentDate(format.parse(maintenanceContentDate));
  157. }
  158. if(maintenanceInfo.getProductId() != null){
  159. maintenanceInfo.setProductColorId(Integer.valueOf(request.getParameter("colorId"+maintenanceInfo.getProductId())));
  160. maintenanceInfo.setMaintenanceEquipmentNumber(request.getParameter("maintenanceEquipmentNumber"+maintenanceInfo.getProductId()));
  161. }
  162. Product product = productService.getProduce(maintenanceInfo.getProductId());
  163. maintenanceInfo.setMaintenanceProductNumber(product.getProductNumber());
  164. Integer num = complaintMaintenanceInfoService.insert(maintenanceInfo);
  165. if (num < 1) {
  166. msg.setResultCode(500);
  167. msg.setReturnCode(500);
  168. } else {
  169. msg.setResultCode(200);
  170. msg.setReturnCode(200);
  171. }
  172. return msg;
  173. }
  174. /**
  175. *
  176. *根据机器编号搜索机器出库记录
  177. * @return
  178. */
  179. @ResponseBody
  180. @RequiresPermissions("maintenance:update:maintenance")
  181. @RequestMapping(value = "/select_outbound")
  182. public ResponseJson selectOutbound(HttpServletRequest request,String machineNum){
  183. ResponseJson msg = new ResponseJson();
  184. if(machineNum == null){
  185. msg.setResultCode(500);
  186. msg.setReturnCode(500);
  187. return msg;
  188. }
  189. PtsMachine ptsMachine = machineService.getMachineByBarCode(machineNum);
  190. if (ptsMachine == null) {
  191. msg.setResultCode(500);
  192. msg.setReturnCode(500);
  193. } else {
  194. msg.setResultCode(200);
  195. msg.setReturnCode(200);
  196. msg.addResponseKeyValue("ptsMachine",ptsMachine);
  197. }
  198. return msg;
  199. }
  200. /**
  201. * 跳转到完善机器编号页面
  202. *
  203. * @return
  204. */
  205. @RequiresPermissions("maintenance:update:maintenance")
  206. @RequestMapping(value = "/to_perfecting_machine")
  207. public ModelAndView toPerfectingMachine(HttpServletRequest request,Integer maintenanceId) {
  208. ModelAndView mv = new ModelAndView("cm/maintenance/perfecting_machine");
  209. PtsSalesCompany ptsSalesCompany = new PtsSalesCompany();
  210. List<PtsSalesCompany> listSalesCompany = ptsSalesCompanyService.listPtsSalesCompany(ptsSalesCompany);
  211. mv.addObject("listSalesCompany",listSalesCompany);
  212. ComplaintMaintenanceInfo complaintMaintenanceInfo = complaintMaintenanceInfoService.getMaintenanceByid(maintenanceId);
  213. mv.addObject("maintenanceInfo",complaintMaintenanceInfo);
  214. return mv;
  215. }
  216. /**
  217. * 完善机器编号(出库录入)
  218. */
  219. @ResponseBody
  220. @RequiresPermissions("maintenance:update:maintenance")
  221. @RequestMapping("/perfecting_machine")
  222. public ResponseJson perfectingMachine(HttpServletRequest request, ComplaintMaintenanceInfo complaintMaintenanceInfo)throws Exception {
  223. ResponseJson rj = new ResponseJson(500, "ERROR", 500);
  224. if(complaintMaintenanceInfo == null){
  225. return rj;
  226. }
  227. PtsMachine ptsMachine = machineService.getMachineByBarCode(complaintMaintenanceInfo.getMaintenanceEquipmentNumber());
  228. if(ptsMachine == null){
  229. return rj;
  230. }
  231. if(ptsMachine.getMachineSalesState() == 2){//如果未出库,则将该机器编号录入到这条维修任务
  232. String machineSalesCompanyId = request.getParameter("machineSalesCompanyId"); //销售公司
  233. String machineSales_date = request.getParameter("machineSales_date");//销售时间
  234. if(machineSalesCompanyId == null || machineSalesCompanyId.equals("")|| machineSales_date == null || machineSales_date.equals("")){
  235. return rj;
  236. }
  237. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  238. Date machineSalesDate = format.parse(machineSales_date);
  239. //将机器出库
  240. PtsMachine machine = new PtsMachine();
  241. machine.setMachineBarcode(complaintMaintenanceInfo.getMaintenanceEquipmentNumber());
  242. machine.setMachineSalesDate(machineSalesDate);
  243. machine.setMachineSalesCompanyId(Integer.valueOf(machineSalesCompanyId));
  244. machine.setMachineSalesState(1); //设置状态为已售出
  245. int flag = machineService.updateMachineSalesInfo(machine);
  246. if(flag < 1){
  247. rj.setResultCode(500);
  248. rj.setResultMsg("ERROR");
  249. rj.setReturnCode(500);
  250. return rj;
  251. }else{
  252. rj.setResultCode(200);
  253. rj.setResultMsg("SUCCESS");
  254. rj.setReturnCode(200);
  255. }
  256. }
  257. int msg = complaintMaintenanceInfoService.updateMaintenanceById(complaintMaintenanceInfo);
  258. if(msg < 1){
  259. rj.setResultCode(500);
  260. rj.setResultMsg("ERROR");
  261. rj.setReturnCode(500);
  262. }else{
  263. rj.setResultCode(200);
  264. rj.setResultMsg("SUCCESS");
  265. rj.setReturnCode(200);
  266. }
  267. return rj;
  268. }
  269. /**
  270. * 跳转到完成返修页面
  271. *
  272. * @return
  273. */
  274. @RequiresPermissions("maintenance:update:maintenance")
  275. @RequestMapping(value = "/to_complete_reorder")
  276. public ModelAndView toCompleteReorder(HttpServletRequest request,Integer maintenanceId) {
  277. ModelAndView mv = new ModelAndView("cm/maintenance/complete_reorder");
  278. ComplaintMaintenanceInfo complaintMaintenanceInfo = complaintMaintenanceInfoService.getMaintenanceByid(maintenanceId);
  279. mv.addObject("maintenanceInfo",complaintMaintenanceInfo);
  280. return mv;
  281. }
  282. /**
  283. * 完成返修
  284. *
  285. * @return
  286. */
  287. @ResponseBody
  288. @RequiresPermissions("maintenance:update:maintenance")
  289. @RequestMapping(value = "/complete_reorder")
  290. public ResponseJson completeReorder(HttpServletRequest request,ComplaintMaintenanceInfo maintenanceInfo)throws Exception{
  291. ResponseJson msg = new ResponseJson();
  292. if(maintenanceInfo == null){
  293. msg.setResultCode(500);
  294. msg.setReturnCode(500);
  295. return msg;
  296. }
  297. Integer num = complaintMaintenanceInfoService.updateMaintenanceById(maintenanceInfo);
  298. if (num < 1) {
  299. msg.setResultCode(500);
  300. msg.setReturnCode(500);
  301. } else {
  302. msg.setResultCode(200);
  303. msg.setReturnCode(200);
  304. }
  305. return msg;
  306. }
  307. /**
  308. * 跳转到查看品检页面
  309. *
  310. * @return
  311. */
  312. @RequiresPermissions("maintenance:update:maintenance")
  313. @RequestMapping(value = "/to_view_detect")
  314. public ModelAndView toViewDetect(HttpServletRequest request,Integer detectId) {
  315. ModelAndView mv = new ModelAndView("cm/maintenance/view_detect");
  316. ComplaintDetectInfo complaintDetectInfo = complaintDetectInfoService.getComplaintDetectById(detectId);
  317. mv.addObject("detectInfo",complaintDetectInfo);
  318. return mv;
  319. }
  320. }