AdminDetectController.java 18 KB

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