AdminDetectController.java 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442
  1. package com.iamberry.rst.controllers.cm;
  2. import com.iamberry.rst.core.cm.*;
  3. import com.iamberry.rst.core.order.Order;
  4. import com.iamberry.rst.core.order.Product;
  5. import com.iamberry.rst.core.order.RentType;
  6. import com.iamberry.rst.core.page.PageRequest;
  7. import com.iamberry.rst.core.page.PagedResult;
  8. import com.iamberry.rst.core.pts.PtsDevice;
  9. import com.iamberry.rst.faces.cm.AwaitingSignclosedProductInfoService;
  10. import com.iamberry.rst.faces.cm.ComplaintDetectInfoService;
  11. import com.iamberry.rst.faces.cm.ComplaintSignclosedProductInfoService;
  12. import com.iamberry.rst.faces.cm.FittingsInfoService;
  13. import com.iamberry.rst.faces.product.ProductService;
  14. import com.iamberry.rst.service.cm.mapper.AwaitingSignclosedProductMapper;
  15. import com.iamberry.rst.service.cm.mapper.ComplaintSignclosedInfoMapper;
  16. import com.iamberry.rst.service.cm.mapper.ComplaintSignclosedProductInfoMapper;
  17. import com.iamberry.rst.utils.AdminUtils;
  18. import com.iamberry.wechat.tools.ResponseJson;
  19. import org.apache.commons.lang.StringUtils;
  20. import org.apache.shiro.authz.annotation.RequiresPermissions;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.stereotype.Controller;
  23. import org.springframework.web.bind.annotation.RequestMapping;
  24. import org.springframework.web.bind.annotation.RequestParam;
  25. import org.springframework.web.bind.annotation.ResponseBody;
  26. import org.springframework.web.servlet.ModelAndView;
  27. import javax.servlet.http.HttpServletRequest;
  28. import java.text.SimpleDateFormat;
  29. import java.util.Date;
  30. import java.util.List;
  31. /**
  32. * Created by wxm on 2017/8/29.
  33. */
  34. @Controller
  35. @RequestMapping("/admin/detect")
  36. public class AdminDetectController {
  37. // private
  38. @Autowired
  39. private ComplaintDetectInfoService complaintDetectInfoService;
  40. @Autowired
  41. private ProductService productService;
  42. @Autowired
  43. private ComplaintSignclosedInfoMapper complaintSignclosedInfoMapper;
  44. @Autowired
  45. private ComplaintSignclosedProductInfoService signclosedProductInfoService;
  46. @Autowired
  47. private AwaitingSignclosedProductInfoService awaitingSignclosedProductService;
  48. /**
  49. * 跳转到添加检测记录页面
  50. *
  51. * @return
  52. */
  53. @RequiresPermissions("detect:add:detect")
  54. @RequestMapping(value = "/to_add_detect")
  55. public ModelAndView toAddDetect(HttpServletRequest request) {
  56. ModelAndView mv = new ModelAndView("cm/inspection/add_detect");
  57. Product product = new Product();
  58. List<Product> productList = productService.listProductAndColorAndfittings(product);
  59. mv.addObject("productList",productList);
  60. /*//获取所有配件
  61. List<FittingsInfo> listFittings = fittingsInfoService.listFittings();
  62. mv.addObject("listFittings",listFittings);*/
  63. return mv;
  64. }
  65. /**
  66. * 客诉 - 查询品质检测列表
  67. * @param request
  68. * @return
  69. */
  70. @RequiresPermissions("detect:select:detect")
  71. @RequestMapping("/select_detect_list")
  72. public ModelAndView selectDetectList(HttpServletRequest request,
  73. @RequestParam(value = "pageNO", defaultValue = "1", required = false) int pageNO,
  74. @RequestParam(value = "pageTotal", required = false) Integer pageTotal,
  75. @RequestParam(value = "pageSize", defaultValue = "5", required = false) int pageSize,
  76. ComplaintDetectInfo detectInfo) {
  77. ModelAndView mv = new ModelAndView("cm/inspection/detect_list");
  78. StringBuilder url = new StringBuilder("/admin/detect/select_detect_list?pageSize=" + pageSize);
  79. // 请求参数
  80. if (StringUtils.isNotEmpty(detectInfo.getQuestionTitle())) {
  81. url.append("&questionTitle=").append(detectInfo.getQuestionTitle());
  82. mv.addObject("questionTitle",detectInfo.getQuestionTitle());
  83. }
  84. if (StringUtils.isNotEmpty(detectInfo.getDetectPhenomenon())) {
  85. url.append("&detectPhenomenon=").append(detectInfo.getDetectPhenomenon());
  86. mv.addObject("detectPhenomenon",detectInfo.getDetectPhenomenon());
  87. }
  88. if (StringUtils.isNotEmpty(detectInfo.getDetectFailureCause())) {
  89. url.append("&detectFailureCause=").append(detectInfo.getDetectFailureCause());
  90. mv.addObject("detectFailureCause",detectInfo.getDetectFailureCause());
  91. }
  92. if (StringUtils.isNotEmpty(detectInfo.getDetectPoint())) {
  93. url.append("&detectPoint=").append(detectInfo.getDetectPoint());
  94. mv.addObject("detectPoint",detectInfo.getDetectPoint());
  95. }
  96. if (StringUtils.isNotEmpty(detectInfo.getDetectAnalysis())) {
  97. url.append("&detectAnalysis=").append(detectInfo.getDetectAnalysis());
  98. mv.addObject("detectAnalysis",detectInfo.getDetectAnalysis());
  99. }
  100. if (detectInfo.getDetectState() != null && detectInfo.getDetectState() != -1) {
  101. url.append("&detectState=").append(detectInfo.getDetectState());
  102. mv.addObject("detectState",detectInfo.getDetectState());
  103. }
  104. if (StringUtils.isNotEmpty(detectInfo.getDetectFailureClassification())) {
  105. url.append("&detectFailureClassification=").append(detectInfo.getDetectFailureClassification());
  106. mv.addObject("detectFailureClassification",detectInfo.getDetectFailureClassification());
  107. }
  108. if (detectInfo.getDetectProductType() != null && detectInfo.getDetectProductType() != -1) {
  109. url.append("&detectProductType=").append(detectInfo.getDetectProductType());
  110. mv.addObject("detectProductType",detectInfo.getDetectProductType());
  111. }
  112. // 封装请求数据
  113. PageRequest<ComplaintDetectInfo> pageRequest = new PageRequest<>(detectInfo, pageNO, pageSize, pageTotal == null);
  114. // 查询订单列表
  115. PagedResult<ComplaintDetectInfo> result = complaintDetectInfoService.listComplaintDetect(pageRequest);
  116. long total = 0;
  117. if (pageTotal == null) {
  118. total = result.getPages();
  119. } else {
  120. total = pageTotal;
  121. result.setPages(total);
  122. }
  123. url.append("&pageTotal=").append(total).append("&pageNO=");
  124. mv.addObject("page", result);
  125. mv.addObject("url", url.toString());
  126. return mv;
  127. }
  128. /**
  129. * 添加检测信息
  130. * @param request
  131. * @return
  132. * @throws Exception
  133. */
  134. @RequiresPermissions("detect:add:detect")
  135. @ResponseBody
  136. @RequestMapping("/add_detect")
  137. public ResponseJson addDetect(HttpServletRequest request, ComplaintDetectInfo detectInfo) throws Exception {
  138. ResponseJson msg = new ResponseJson();
  139. if(detectInfo == null){
  140. msg.setResultCode(500);
  141. msg.setReturnCode(500);
  142. return msg;
  143. }
  144. if(detectInfo.getProductId() == null || detectInfo.getProductId().equals("")){
  145. msg.setResultCode(500);
  146. msg.setReturnCode(500);
  147. return msg;
  148. }
  149. if(detectInfo.getProductId() != null){
  150. detectInfo.setProductColorId(Integer.valueOf(request.getParameter("colorId"+detectInfo.getProductId())));
  151. detectInfo.setMachineNo(request.getParameter("maintenanceEquipmentNumber"+detectInfo.getProductId()));
  152. }
  153. Product product = productService.getProduce(detectInfo.getProductId());
  154. detectInfo.setDetectProductNumber(product.getProductNumber());
  155. String detectDate = request.getParameter("detect_date");
  156. if(detectDate == null){
  157. msg.setResultCode(500);
  158. msg.setReturnCode(500);
  159. return msg;
  160. }
  161. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  162. detectInfo.setDetectDate(format.parse(detectDate));
  163. Integer num = complaintDetectInfoService.insert(detectInfo);
  164. if (num < 1) {
  165. msg.setResultCode(500);
  166. msg.setReturnCode(500);
  167. } else {
  168. msg.setResultCode(200);
  169. msg.setReturnCode(200);
  170. }
  171. return msg;
  172. }
  173. /**
  174. * 跳转到添加检测备注页面
  175. *
  176. * @return
  177. */
  178. @RequiresPermissions("info:update:info")
  179. @RequestMapping(value = "/to_add_remark")
  180. public ModelAndView toAddRemark(HttpServletRequest request) {
  181. ModelAndView mv = new ModelAndView("cm/inspection/add_remark");
  182. String detectId = request.getParameter("detectId");
  183. if(detectId == null || detectId.equals("")){
  184. return mv;
  185. }
  186. ComplaintDetectInfo detectInfo = complaintDetectInfoService.getComplaintDetectById(Integer.valueOf(detectId));
  187. mv.addObject("detectId",detectId);
  188. mv.addObject("detectInfo",detectInfo);
  189. return mv;
  190. }
  191. /**
  192. * 跳转到添加修改转入信息页面
  193. *
  194. * @return
  195. */
  196. @RequiresPermissions("remark:add:remark")
  197. @RequestMapping(value = "/to_produced_info")
  198. public ModelAndView toProducedInfo(HttpServletRequest request) {
  199. ModelAndView mv = new ModelAndView("cm/inspection/update_produced_info");
  200. String detectId = request.getParameter("detectId");
  201. String state = request.getParameter("state");
  202. if(detectId == null || detectId.equals("")){
  203. return mv;
  204. }
  205. ComplaintDetectInfo detectInfo = complaintDetectInfoService.getComplaintDetectById(Integer.valueOf(detectId));
  206. mv.addObject("detectId",detectId);
  207. mv.addObject("detectInfo",detectInfo);
  208. mv.addObject("state",state);
  209. return mv;
  210. }
  211. /**
  212. * 跳转到检测完成页面
  213. *
  214. * @return
  215. */
  216. @RequiresPermissions("complete:update:complete")
  217. @RequestMapping(value = "/to_detect_complete")
  218. public ModelAndView toDetectComplete(HttpServletRequest request) {
  219. ModelAndView mv = new ModelAndView("cm/inspection/detect_complete");
  220. String detectId = request.getParameter("detectId");
  221. if(detectId == null || detectId.equals("")){
  222. return mv;
  223. }
  224. ComplaintDetectInfo detectInfo = complaintDetectInfoService.getComplaintDetectById(Integer.valueOf(detectId));
  225. mv.addObject("detectId",detectId);
  226. mv.addObject("detectInfo",detectInfo);
  227. return mv;
  228. }
  229. /**
  230. * 添加/修改检测信息
  231. * @param request
  232. * @return
  233. * @throws Exception
  234. */
  235. @RequiresPermissions("remark:add:remark")
  236. @ResponseBody
  237. @RequestMapping("/add_remark")
  238. public ResponseJson addRemark(HttpServletRequest request, ComplaintDetectInfo detectInfo) throws Exception {
  239. ResponseJson msg = new ResponseJson();
  240. if(detectInfo == null){
  241. msg.setResultCode(500);
  242. msg.setReturnCode(500);
  243. return msg;
  244. }
  245. if(detectInfo.getDetectId() == null || detectInfo.getDetectId().equals("")){
  246. msg.setResultCode(500);
  247. msg.setReturnCode(500);
  248. return msg;
  249. }
  250. if(detectInfo.getDetectIsMaintenance() == 2){ //选择不需要转入时 detect_revolution_produced 统一改为待转入
  251. detectInfo.setDetectRevolutionProduced(1);
  252. }
  253. Integer num = complaintDetectInfoService.updateComplaintDetectById(detectInfo);
  254. if (num < 1) {
  255. msg.setResultCode(500);
  256. msg.setReturnCode(500);
  257. } else {
  258. msg.setResultCode(200);
  259. msg.setReturnCode(200);
  260. }
  261. return msg;
  262. }
  263. /**
  264. * 检测完成
  265. * @param request
  266. * @return
  267. * @throws Exception
  268. */
  269. @RequiresPermissions("complete:update:complete")
  270. @ResponseBody
  271. @RequestMapping("/detect_complete")
  272. public ResponseJson detect_complete(HttpServletRequest request, ComplaintDetectInfo detectInfo) throws Exception {
  273. ResponseJson msg = new ResponseJson();
  274. if(detectInfo == null){
  275. msg.setResultCode(500);
  276. msg.setReturnCode(500);
  277. return msg;
  278. }
  279. if(detectInfo.getDetectId() == null || detectInfo.getDetectId().equals("")){
  280. msg.setResultCode(500);
  281. msg.setReturnCode(500);
  282. return msg;
  283. }
  284. if(detectInfo.getDetectIsMaintenance() == 2){ //选择不需要转入时 detect_revolution_produced 统一改为待转入
  285. detectInfo.setDetectRevolutionProduced(1);
  286. }
  287. Integer num = complaintDetectInfoService.updateComplaintDetect(detectInfo);
  288. if (num < 1) {
  289. msg.setResultCode(500);
  290. msg.setReturnCode(500);
  291. } else {
  292. msg.setResultCode(200);
  293. msg.setReturnCode(200);
  294. }
  295. return msg;
  296. }
  297. /**
  298. * 跳转到查看仓储进度页面
  299. *
  300. * @return
  301. */
  302. @RequiresPermissions("complete:update:complete")
  303. @RequestMapping(value = "/to_view_progress")
  304. public ModelAndView toViewProgress(HttpServletRequest request) {
  305. ModelAndView mv = new ModelAndView("cm/inspection/view_progress");
  306. String signclosedId = request.getParameter("signclosedId");
  307. if(signclosedId == null || signclosedId.equals("")){
  308. return mv;
  309. }
  310. if(Integer.valueOf(signclosedId) == 0){
  311. return mv;
  312. }
  313. List<SignclosedProductInfo> signclosedProductInfo = null;
  314. List<AwaitingSignclosedProductInfo> awaitingSignclosedProductInfo = null;
  315. ComplaintSignclosedInfo complaintSignclosedInfo = complaintSignclosedInfoMapper.getSignclosedById(Integer.valueOf(signclosedId));
  316. if(complaintSignclosedInfo.getSignclosedState() == 1){//如果已签收。查询签收表所有产品 反之查询待签收表
  317. signclosedProductInfo = signclosedProductInfoService.listSignclosedById(complaintSignclosedInfo.getSignclosedId());
  318. }else{
  319. awaitingSignclosedProductInfo = awaitingSignclosedProductService.listByPrimaryId(complaintSignclosedInfo.getSignclosedId());
  320. }
  321. mv.addObject("signclosedProductInfo",signclosedProductInfo == null ? awaitingSignclosedProductInfo :signclosedProductInfo);
  322. mv.addObject("signclosedInfo",complaintSignclosedInfo);
  323. mv.addObject("signclosedId",signclosedId);
  324. return mv;
  325. }
  326. /**
  327. * 跳转到查看物流信息页面
  328. *
  329. * @return
  330. */
  331. @RequiresPermissions("complete:update:complete")
  332. @RequestMapping(value = "/to_view_logistics")
  333. public ModelAndView toViewLogistics(HttpServletRequest request) {
  334. ModelAndView mv = new ModelAndView("cm/logistics/view_logistics");
  335. String billCode = request.getParameter("billCode");
  336. String billName = request.getParameter("billName");
  337. if(billCode == null || billCode.equals("") ||billName == null || billName.equals("")){
  338. return mv;
  339. }
  340. mv.addObject("billCode",billCode);
  341. mv.addObject("billName",billName);
  342. return mv;
  343. }
  344. /**
  345. * 增加催促提醒
  346. * @param request
  347. * @return
  348. * @throws Exception
  349. */
  350. @RequiresPermissions("reminding:add:reminding")
  351. @ResponseBody
  352. @RequestMapping("/add_reminding")
  353. public ResponseJson add_reminding(HttpServletRequest request,ComplaintSignclosedInfo complaintSignclosedInfo) throws Exception {
  354. ResponseJson msg = new ResponseJson();
  355. Integer num = complaintSignclosedInfoMapper.updateUrgedNumById(complaintSignclosedInfo);
  356. if (num < 1) {
  357. msg.setResultCode(500);
  358. msg.setReturnCode(500);
  359. } else {
  360. msg.setResultCode(200);
  361. msg.setReturnCode(200);
  362. }
  363. return msg;
  364. }
  365. /**
  366. * 跳转到修改检测完成信息页面
  367. *
  368. * @return
  369. */
  370. @RequiresPermissions("complete:update:complete")
  371. @RequestMapping(value = "/to_update_complete")
  372. public ModelAndView toUpdateComplete(HttpServletRequest request) {
  373. ModelAndView mv = new ModelAndView("cm/inspection/update_complete");
  374. String detectId = request.getParameter("detectId");
  375. if(detectId == null || detectId.equals("")){
  376. return mv;
  377. }
  378. ComplaintDetectInfo detectInfo = complaintDetectInfoService.getComplaintDetectById(Integer.valueOf(detectId));
  379. mv.addObject("detectId",detectId);
  380. mv.addObject("detectInfo",detectInfo);
  381. return mv;
  382. }
  383. /**
  384. * 检测完成
  385. * @param request
  386. * @return
  387. * @throws Exception
  388. */
  389. @RequiresPermissions("complete:update:complete")
  390. @ResponseBody
  391. @RequestMapping("/update_complete")
  392. public ResponseJson update_complete(HttpServletRequest request, ComplaintDetectInfo detectInfo) throws Exception {
  393. ResponseJson msg = new ResponseJson();
  394. if(detectInfo == null){
  395. msg.setResultCode(500);
  396. msg.setReturnCode(500);
  397. return msg;
  398. }
  399. if(detectInfo.getDetectId() == null || detectInfo.getDetectId().equals("")){
  400. msg.setResultCode(500);
  401. msg.setReturnCode(500);
  402. return msg;
  403. }
  404. Integer num = complaintDetectInfoService.updateComplaintDetectById(detectInfo);
  405. if (num < 1) {
  406. msg.setResultCode(500);
  407. msg.setReturnCode(500);
  408. } else {
  409. msg.setResultCode(200);
  410. msg.setReturnCode(200);
  411. }
  412. return msg;
  413. }
  414. }