AdminDetectController.java 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389
  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. List<FittingsInfo> listFittings = fittingsInfoService.listFittings();
  65. mv.addObject("listFittings",listFittings);*/
  66. return mv;
  67. }
  68. /**
  69. * 客诉 - 查询品质检测列表
  70. * @param request
  71. * @return
  72. */
  73. @RequiresPermissions("detect:select:detect")
  74. @RequestMapping("/select_detect_list")
  75. public ModelAndView selectDetectList(HttpServletRequest request,
  76. @RequestParam(value = "pageSize", defaultValue = "5", required = false) Integer pageSize,
  77. @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
  78. @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum,
  79. ComplaintDetectItem detectItem) {
  80. ModelAndView mv = new ModelAndView("cm/inspection/detect_list");
  81. // 封装请求数据
  82. PageRequest<ComplaintDetectItem> pageRequest = new PageRequest<>(detectItem, pageNO, pageSize, totalNum == 0);
  83. // 查询订单列表
  84. PagedResult<ComplaintDetectItem> result = complaintDetectInfoService.listComplaintDetectItem(pageRequest);
  85. if (totalNum != 0) {
  86. result.setTotal(totalNum);
  87. }
  88. // long total = 0;
  89. // if (pageTotal == null) {
  90. // total = result.getPages();
  91. // } else {
  92. // total = pageTotal;
  93. // result.setPages(total);
  94. // }
  95. //获取所有产品类型
  96. ProductType productType = new ProductType();
  97. List<ProductType> productTypeList = productService.listProductType(productType);
  98. mv.addObject("productTypeList",productTypeList);
  99. // url.append("&pageTotal=").append(total).append("&pageNO=");
  100. // mv.addObject("page", result);
  101. // mv.addObject("url", url.toString());
  102. StitchAttrUtil.getSa().setModelAndView(detectItem, mv, "/admin/detect/select_detect_list", result);
  103. return mv;
  104. }
  105. /**
  106. * 添加检测信息
  107. * @param request
  108. * @return
  109. * @throws Exception
  110. */
  111. @RequiresPermissions("detect:add:detect")
  112. @ResponseBody
  113. @RequestMapping("/add_detect")
  114. public ResponseJson addDetect(HttpServletRequest request, ComplaintDetectInfo detectInfo) throws Exception {
  115. ResponseJson msg = new ResponseJson();
  116. if(detectInfo == null){
  117. msg.setResultCode(500);
  118. msg.setReturnCode(500);
  119. return msg;
  120. }
  121. return msg;
  122. }
  123. /**
  124. * 跳转到添加检测备注页面
  125. *
  126. * @return
  127. */
  128. /*@RequiresPermissions("info:update:info")
  129. @RequestMapping(value = "/to_add_remark")
  130. public ModelAndView toAddRemark(HttpServletRequest request) {
  131. ModelAndView mv = new ModelAndView("cm/inspection/add_remark");
  132. String detectId = request.getParameter("detectId");
  133. if(detectId == null || detectId.equals("")){
  134. return mv;
  135. }
  136. ComplaintDetectInfo detectInfo = complaintDetectInfoService.getComplaintDetectById(Integer.valueOf(detectId));
  137. mv.addObject("detectId",detectId);
  138. mv.addObject("detectInfo",detectInfo);
  139. return mv;
  140. }
  141. *//**
  142. * 跳转到添加修改转入信息页面
  143. *
  144. * @return
  145. *//*
  146. @RequiresPermissions("remark:add:remark")
  147. @RequestMapping(value = "/to_produced_info")
  148. public ModelAndView toProducedInfo(HttpServletRequest request) {
  149. ModelAndView mv = new ModelAndView("cm/inspection/update_produced_info");
  150. String detectId = request.getParameter("detectId");
  151. String state = request.getParameter("state");
  152. if(detectId == null || detectId.equals("")){
  153. return mv;
  154. }
  155. ComplaintDetectInfo detectInfo = complaintDetectInfoService.getComplaintDetectById(Integer.valueOf(detectId));
  156. mv.addObject("detectId",detectId);
  157. mv.addObject("detectInfo",detectInfo);
  158. mv.addObject("state",state);
  159. return mv;
  160. }*/
  161. /**
  162. * 跳转到检测完成页面
  163. *
  164. * @return
  165. */
  166. /*@RequiresPermissions("complete:update:complete")
  167. @RequestMapping(value = "/to_detect_complete")
  168. public ModelAndView toDetectComplete(HttpServletRequest request) {
  169. ModelAndView mv = new ModelAndView("cm/inspection/detect_complete");
  170. String detectId = request.getParameter("detectId");
  171. if(detectId == null || detectId.equals("")){
  172. return mv;
  173. }
  174. ComplaintDetectInfo detectInfo = complaintDetectInfoService.getComplaintDetectById(Integer.valueOf(detectId));
  175. mv.addObject("detectId",detectId);
  176. mv.addObject("detectInfo",detectInfo);
  177. return mv;
  178. }*/
  179. /**
  180. * 添加/修改检测信息
  181. * @param request
  182. * @return
  183. * @throws Exception
  184. */
  185. @RequiresPermissions("remark:add:remark")
  186. @ResponseBody
  187. @RequestMapping("/add_remark")
  188. public ResponseJson addRemark(HttpServletRequest request, ComplaintDetectItem detectInfo) throws Exception {
  189. ResponseJson msg = new ResponseJson();
  190. if(detectInfo == null){
  191. msg.setResultCode(500);
  192. msg.setReturnCode(500);
  193. return msg;
  194. }
  195. if(detectInfo.getDetectId() == null || detectInfo.getDetectId().equals("")){
  196. msg.setResultCode(500);
  197. msg.setReturnCode(500);
  198. return msg;
  199. }
  200. Integer num = complaintDetectInfoService.updateDetectItemById(detectInfo);
  201. if (num < 1) {
  202. msg.setResultCode(500);
  203. msg.setReturnCode(500);
  204. } else {
  205. msg.setResultCode(200);
  206. msg.setReturnCode(200);
  207. }
  208. return msg;
  209. }
  210. /**
  211. * 检测完成
  212. * @param request
  213. * @return
  214. * @throws Exception
  215. */
  216. @RequiresPermissions("complete:update:complete")
  217. @ResponseBody
  218. @RequestMapping("/detect_complete")
  219. public ResponseJson detect_complete(HttpServletRequest request, ComplaintDetectInfo detectInfo) throws Exception {
  220. ResponseJson msg = new ResponseJson();
  221. /*if(detectInfo == null){
  222. msg.setResultCode(500);
  223. msg.setReturnCode(500);
  224. return msg;
  225. }
  226. if(detectInfo.getDetectId() == null || detectInfo.getDetectId().equals("")){
  227. msg.setResultCode(500);
  228. msg.setReturnCode(500);
  229. return msg;
  230. }
  231. if(detectInfo.getMaintenanceResults() == 1){
  232. detectInfo.setDetectState(3);
  233. }else if(detectInfo.getMaintenanceResults() == 2){
  234. detectInfo.setDetectState(4);
  235. }
  236. if(detectInfo.getDetectIsMaintenance() == 2){ //选择不需要转入时 detect_revolution_produced 统一改为待转入
  237. detectInfo.setDetectRevolutionProduced(1);
  238. }
  239. String detectDate = request.getParameter("detect_date");
  240. if(detectDate != null){
  241. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  242. detectInfo.setDetectDate(format.parse(detectDate));
  243. }
  244. Integer num = complaintDetectInfoService.updateComplaintDetect(detectInfo);
  245. if (num < 1) {
  246. msg.setResultCode(500);
  247. msg.setReturnCode(500);
  248. } else {
  249. msg.setResultCode(200);
  250. msg.setReturnCode(200);
  251. }*/
  252. return msg;
  253. }
  254. /**
  255. * 跳转到查看仓储进度页面
  256. *
  257. * @return
  258. */
  259. @RequiresPermissions("complete:update:complete")
  260. @RequestMapping(value = "/to_view_progress")
  261. public ModelAndView toViewProgress(HttpServletRequest request) {
  262. ModelAndView mv = new ModelAndView("cm/inspection/view_progress");
  263. String signclosedId = request.getParameter("signclosedId");
  264. if(signclosedId == null || signclosedId.equals("")){
  265. return mv;
  266. }
  267. if(Integer.valueOf(signclosedId) == 0){
  268. return mv;
  269. }
  270. List<SignclosedProductInfo> signclosedProductInfo = null;
  271. List<AwaitingSignclosedProductInfo> awaitingSignclosedProductInfo = null;
  272. ComplaintSignclosedInfo complaintSignclosedInfo = complaintSignclosedInfoMapper.getSignclosedById(Integer.valueOf(signclosedId));
  273. signclosedProductInfo = signclosedProductInfoService.listSignclosedById(complaintSignclosedInfo.getSignclosedId());
  274. mv.addObject("signclosedProductInfo",signclosedProductInfo);
  275. mv.addObject("signclosedInfo",complaintSignclosedInfo);
  276. mv.addObject("signclosedId",signclosedId);
  277. return mv;
  278. }
  279. /**
  280. * 跳转到查看物流信息页面
  281. *
  282. * @return
  283. */
  284. @RequestMapping(value = "/to_view_logistics")
  285. public ModelAndView toViewLogistics(HttpServletRequest request) {
  286. ModelAndView mv = new ModelAndView("cm/logistics/view_logistics");
  287. String billCode = request.getParameter("billCode");
  288. String billName = request.getParameter("billName");
  289. if(billCode == null || billCode.equals("") ||billName == null || billName.equals("")){
  290. return mv;
  291. }
  292. mv.addObject("billCode",billCode);
  293. mv.addObject("billName",billName);
  294. return mv;
  295. }
  296. /**
  297. * 跳转到修改检测完成信息页面
  298. *
  299. * @return
  300. */
  301. @RequiresPermissions("complete:update:complete")
  302. @RequestMapping(value = "/to_update_complete")
  303. public ModelAndView toUpdateComplete(HttpServletRequest request) {
  304. ModelAndView mv = new ModelAndView("cm/inspection/update_complete");
  305. String detectItemId = request.getParameter("detectItemId");
  306. if(detectItemId == null || detectItemId.equals("")){
  307. return mv;
  308. }
  309. ComplaintDetectItem detectInfo = complaintDetectInfoService.getDetectItemById(Integer.valueOf(detectItemId));
  310. mv.addObject("detectItemId",detectItemId);
  311. mv.addObject("detectInfo",detectInfo);
  312. return mv;
  313. }
  314. /**
  315. * 跳转到查看客服录入客诉信息页面
  316. *
  317. * @return
  318. */
  319. @RequiresPermissions("complete:select:complete")
  320. @RequestMapping(value = "/to_customer_detail")
  321. public ModelAndView toCustomerDetail(HttpServletRequest request) {
  322. ModelAndView mv = new ModelAndView("cm/inspection/customer_detail");
  323. return mv;
  324. }
  325. /**
  326. * 检测完成
  327. * @param request
  328. * @return
  329. * @throws Exception
  330. */
  331. @RequiresPermissions("complete:update:complete")
  332. @ResponseBody
  333. @RequestMapping("/update_complete")
  334. public ResponseJson update_complete(HttpServletRequest request, ComplaintDetectItem detectInfo) throws Exception {
  335. ResponseJson msg = new ResponseJson();
  336. if(detectInfo == null){
  337. msg.setResultCode(500);
  338. msg.setReturnCode(500);
  339. return msg;
  340. }
  341. if(detectInfo.getDetectItemId() == null || detectInfo.getDetectItemId().equals("")){
  342. msg.setResultCode(500);
  343. msg.setReturnCode(500);
  344. return msg;
  345. }
  346. String detectDate = request.getParameter("detect_date");
  347. if(detectDate != null){
  348. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  349. detectInfo.setDetectItemDate(format.parse(detectDate));
  350. }
  351. Integer num = complaintDetectInfoService.updateDetectItemById(detectInfo);
  352. if (num < 1) {
  353. msg.setResultCode(500);
  354. msg.setReturnCode(500);
  355. } else {
  356. msg.setResultCode(200);
  357. msg.setReturnCode(200);
  358. }
  359. return msg;
  360. }
  361. }