AdminDetectController.java 18 KB

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