AdminDetectController.java 49 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196
  1. package com.iamberry.rst.controllers.cm;
  2. import com.iamberry.rst.core.cm.CompanyInfo;
  3. import com.iamberry.rst.core.cm.SalesOrder;
  4. import com.iamberry.rst.core.fm.*;
  5. import com.iamberry.rst.core.order.Product;
  6. import com.iamberry.rst.core.order.ProductColor;
  7. import com.iamberry.rst.core.order.ProductType;
  8. import com.iamberry.rst.core.page.PageRequest;
  9. import com.iamberry.rst.core.page.PagedResult;
  10. import com.iamberry.rst.core.sys.Admin;
  11. import com.iamberry.rst.core.tools.LogisticsInfo;
  12. import com.iamberry.rst.faces.cm.CompanyInfoService;
  13. import com.iamberry.rst.faces.cm.SalesOrderService;
  14. import com.iamberry.rst.faces.fm.AwaitingSignclosedProductInfoService;
  15. import com.iamberry.rst.faces.fm.ComplaintDetectInfoService;
  16. import com.iamberry.rst.faces.fm.ComplaintSignclosedInfoService;
  17. import com.iamberry.rst.faces.fm.ComplaintSignclosedProductInfoService;
  18. import com.iamberry.rst.faces.product.ProductService;
  19. import com.iamberry.rst.service.fm.mapper.ComplaintSignclosedInfoMapper;
  20. import com.iamberry.rst.util.CustomerCommonUtil;
  21. import com.iamberry.rst.util.ProduceNoUtil;
  22. import com.iamberry.rst.utils.AdminUtils;
  23. import com.iamberry.rst.utils.GenerateKeyUtil;
  24. import com.iamberry.rst.utils.StitchAttrUtil;
  25. import com.iamberry.wechat.tools.ResponseJson;
  26. import org.apache.poi.hssf.usermodel.*;
  27. import org.apache.shiro.authz.annotation.RequiresPermissions;
  28. import org.springframework.beans.factory.annotation.Autowired;
  29. import org.springframework.stereotype.Controller;
  30. import org.springframework.web.bind.annotation.RequestMapping;
  31. import org.springframework.web.bind.annotation.RequestParam;
  32. import org.springframework.web.bind.annotation.ResponseBody;
  33. import org.springframework.web.servlet.ModelAndView;
  34. import javax.servlet.ServletOutputStream;
  35. import javax.servlet.http.HttpServletRequest;
  36. import javax.servlet.http.HttpServletResponse;
  37. import java.io.*;
  38. import java.text.ParseException;
  39. import java.text.SimpleDateFormat;
  40. import java.util.Calendar;
  41. import java.util.Date;
  42. import java.util.List;
  43. /**
  44. * Created by wxm on 2017/8/29.
  45. */
  46. @Controller
  47. @RequestMapping("/admin/detect")
  48. public class AdminDetectController {
  49. // private
  50. @Autowired
  51. private ComplaintDetectInfoService complaintDetectInfoService;
  52. @Autowired
  53. private ProductService productService;
  54. @Autowired
  55. private ComplaintSignclosedInfoService complaintSignclosedInfoService;
  56. @Autowired
  57. private ComplaintSignclosedProductInfoService signclosedProductInfoService;
  58. @Autowired
  59. private AwaitingSignclosedProductInfoService awaitingSignclosedProductService;
  60. @Autowired
  61. private CompanyInfoService companyInfoService;
  62. @Autowired
  63. private SalesOrderService salesOrderService;
  64. @Autowired
  65. private GenerateKeyUtil generateKeyUtil;
  66. /**
  67. * 跳转到添加检测记录页面
  68. *
  69. * @return
  70. */
  71. @RequiresPermissions("detect:add:detect")
  72. @RequestMapping(value = "/to_add_detect")
  73. public ModelAndView toAddDetect(HttpServletRequest request) {
  74. ModelAndView mv = new ModelAndView("cm/inspection/add_detect");
  75. Product product = new Product();
  76. List<Product> productList = productService.listProductAndColorAndfittings(product);
  77. ProductColor color = new ProductColor();
  78. color.setColorProductId(product.getProductId());
  79. List<ProductColor> productColorList = productService.listProduceColor(color);
  80. mv.addObject("productColorList",productColorList);
  81. mv.addObject("productList",productList);
  82. //获取所有维修内容
  83. DetectionBasis detectionBasis = new DetectionBasis();
  84. List<DetectionBasis> detectionBasisList = complaintDetectInfoService.listDetectionBasis(detectionBasis);
  85. mv.addObject("detectionBasisList",detectionBasisList);
  86. List<CompanyInfo> companyInfoList = companyInfoService.listCompanyInfo(new CompanyInfo());
  87. mv.addObject("companyInfoList",companyInfoList);
  88. return mv;
  89. }
  90. /**
  91. * 客诉 - 查询品质检测列表
  92. * @param request
  93. * @return
  94. */
  95. @RequiresPermissions("detect:select:detect")
  96. @RequestMapping("/select_detect_list")
  97. public ModelAndView selectDetectList(HttpServletRequest request,
  98. @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize,
  99. @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
  100. @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum,
  101. ComplaintDetectInfo detect) throws ParseException {
  102. ModelAndView mv = new ModelAndView("cm/inspection/detect_list");
  103. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  104. // 封装请求数据
  105. PageRequest<ComplaintDetectInfo> pageRequest = new PageRequest<>(detect, pageNO, pageSize, totalNum == 0);
  106. // 查询订单列表
  107. PagedResult<ComplaintDetectInfo> result = complaintDetectInfoService.listComplaintDetect(pageRequest);
  108. if (totalNum != 0) {
  109. result.setTotal(totalNum);
  110. }
  111. //获取所有产品类型
  112. ProductType productType = new ProductType();
  113. List<ProductType> productTypeList = productService.listProductType(productType);
  114. mv.addObject("productTypeList",productTypeList);
  115. Product product = new Product();
  116. List<Product> productList = productService.listProductAndColorAndfittings(product);
  117. mv.addObject("productList",productList);
  118. //查询各个状态数量
  119. ComplaintAfterSalesNum complaintAfterSalesNum = complaintDetectInfoService.getDetectCount();
  120. mv.addObject("complaintAfterSalesNum",complaintAfterSalesNum);
  121. StitchAttrUtil.getSa().setModelAndView(detect, mv, "/admin/detect/select_detect_list", result);
  122. return mv;
  123. }
  124. /**
  125. * 添加检测信息
  126. * @param request
  127. * @return
  128. * @throws Exception
  129. */
  130. @RequiresPermissions("detect:add:detect")
  131. @ResponseBody
  132. @RequestMapping("/add_detect")
  133. public ResponseJson addDetect(HttpServletRequest request, ComplaintDetectInfo detectInfo) throws Exception {
  134. ResponseJson msg = new ResponseJson();
  135. if(detectInfo == null){
  136. msg.setResultCode(500);
  137. msg.setReturnCode(500);
  138. return msg;
  139. }
  140. /*String itemDate = request.getParameter("itemDate");
  141. if(itemDate == null ){
  142. msg.setResultCode(500);
  143. msg.setReturnCode(500);
  144. return msg;
  145. }*/
  146. //生成维修编号
  147. String number = generateKeyUtil.detectNumber();
  148. detectInfo.setDetectNumber(number);
  149. detectInfo.setDetectState(1);
  150. detectInfo.setIsMaintenance(0);
  151. detectInfo.setDetectRenovation(0);
  152. detectInfo.setDetectProcessingResults(0);
  153. Calendar date = Calendar.getInstance();
  154. date.setTime(new Date());
  155. boolean fl = false;
  156. for (int i = 1 ; i <= 3; i++){
  157. date.set(Calendar.DATE, date.get(Calendar.DATE) + i);
  158. int week = date.get(Calendar.DAY_OF_WEEK);//1--7的值,对应:星期日,星期一,星期二,星期三....星期六
  159. if(week == 1){
  160. fl = true;
  161. }
  162. date.set(Calendar.DATE, date.get(Calendar.DATE) - i);
  163. }
  164. if(fl){
  165. date.set(Calendar.DATE, date.get(Calendar.DATE) + 4);
  166. }else{
  167. date.set(Calendar.DATE, date.get(Calendar.DATE) + 3);
  168. }
  169. detectInfo.setMaintenanceCutTime(date.getTime());
  170. if(complaintDetectInfoService.insert(detectInfo) > 0){
  171. msg.setResultCode(200);
  172. msg.setReturnCode(200);
  173. }else{
  174. msg.setResultCode(500);
  175. msg.setReturnCode(500);
  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 detectItemId = request.getParameter("detectItemId");
  189. if(detectItemId == null || detectItemId.equals("")){
  190. return mv;
  191. }
  192. ComplaintDetectItem detectItem = complaintDetectInfoService.getDetectItemById(Integer.valueOf(detectItemId));
  193. mv.addObject("detectItemId",detectItemId);
  194. mv.addObject("detectItem",detectItem);
  195. return mv;
  196. }*/
  197. /**
  198. * 跳转到添加维修记录页面
  199. *
  200. * @return
  201. */
  202. @RequiresPermissions("info:update:info")
  203. @RequestMapping(value = "/to_add_content")
  204. public ModelAndView toAddContent(HttpServletRequest request) {
  205. ModelAndView mv = new ModelAndView("cm/inspection/add_content");
  206. String detectId = request.getParameter("detectId");
  207. if(detectId == null || detectId.equals("")){
  208. return mv;
  209. }
  210. ComplaintDetectInfo detectinfo = complaintDetectInfoService.getDetectById(Integer.valueOf(detectId));
  211. mv.addObject("detectId",detectId);
  212. mv.addObject("detectinfo",detectinfo);
  213. return mv;
  214. }
  215. /**
  216. * 跳转到修改QC检测结果页面
  217. *
  218. * @return
  219. */
  220. @RequiresPermissions("info:update:info")
  221. @RequestMapping(value = "/to_add_QC")
  222. public ModelAndView toAddQC(HttpServletRequest request) {
  223. ModelAndView mv = new ModelAndView("cm/inspection/add_QC");
  224. String detectId = request.getParameter("detectId");
  225. if(detectId == null || detectId.equals("")){
  226. return mv;
  227. }
  228. ComplaintDetectInfo detectinfo = complaintDetectInfoService.getDetectById(Integer.valueOf(detectId));
  229. mv.addObject("detectId",detectId);
  230. mv.addObject("detectinfo",detectinfo);
  231. return mv;
  232. }
  233. /**
  234. * 跳转到完成维修页面
  235. *
  236. * @return
  237. */
  238. @RequiresPermissions("info:update:info")
  239. @RequestMapping(value = "/to_complete")
  240. public ModelAndView toComplete(HttpServletRequest request) {
  241. ModelAndView mv = new ModelAndView("cm/inspection/complete_maintenance");
  242. String detectId = request.getParameter("detectId");
  243. String detectState = request.getParameter("detectState");
  244. if(detectId == null || detectId.equals("")){
  245. return mv;
  246. }if(detectState == null || detectState.equals("")){
  247. return mv;
  248. }
  249. ComplaintDetectInfo detectinfo = complaintDetectInfoService.getDetectById(Integer.valueOf(detectId));
  250. List<MaterialNumberInfo> listMaterial = complaintDetectInfoService.listMaterialNumber();
  251. mv.addObject("detectId",detectId);
  252. mv.addObject("detectState",detectState);
  253. mv.addObject("detectinfo",detectinfo);
  254. mv.addObject("listMaterial",listMaterial);
  255. return mv;
  256. }
  257. /**
  258. * 跳转到检测详情页面
  259. *
  260. * @return
  261. */
  262. @RequiresPermissions("info:update:info")
  263. @RequestMapping(value = "/to_detail")
  264. public ModelAndView toAddDetail(HttpServletRequest request) {
  265. ModelAndView mv = new ModelAndView("cm/inspection/detect_detail");
  266. String detectId = request.getParameter("detectId");
  267. if(detectId == null || detectId.equals("")){
  268. return mv;
  269. }
  270. ComplaintDetectInfo detectinfo = complaintDetectInfoService.getDetectById(Integer.valueOf(detectId));
  271. List<ComplaintDetectImg> imgList = complaintDetectInfoService.listDetectImg(Integer.valueOf(detectId));
  272. List<MaterialItem> listMaterialItem = complaintDetectInfoService.listMaterialItem(Integer.valueOf(detectId));
  273. List<QcInfo> listQcInfo = complaintDetectInfoService.listQcInfo(Integer.valueOf(detectId));
  274. List<TreatmentRecordLog> listTreatmentRecordLog = complaintDetectInfoService.listTreatmentRecordLog(Integer.valueOf(detectId));
  275. if(detectinfo.getSalesOrderId() != null){
  276. SalesOrder salesOrder = salesOrderService.getSalesOrderByOrderId(detectinfo.getSalesOrderId());
  277. mv.addObject("salesOrder",salesOrder);
  278. }
  279. DetectionItem detectionItem = new DetectionItem();
  280. detectionItem.setDetectId(Integer.valueOf(detectId));
  281. //查询检测现象
  282. detectionItem.setConfigType(1);
  283. mv.addObject("detectPhenomenonList",complaintDetectInfoService.listDetectionItem(detectionItem));
  284. //查询故障原因
  285. detectionItem.setConfigType(2);
  286. mv.addObject("detectFailureCauseList",complaintDetectInfoService.listDetectionItem(detectionItem));
  287. //查询判定结果
  288. detectionItem.setConfigType(3);
  289. mv.addObject("detectResultsList",complaintDetectInfoService.listDetectionItem(detectionItem));
  290. //查询故障指向
  291. detectionItem.setConfigType(4);
  292. mv.addObject("detectPointList",complaintDetectInfoService.listDetectionItem(detectionItem));
  293. //查询原因分析
  294. detectionItem.setConfigType(5);
  295. mv.addObject("detectNalysisList",complaintDetectInfoService.listDetectionItem(detectionItem));
  296. mv.addObject("listTreatmentRecordLog",listTreatmentRecordLog);
  297. mv.addObject("listQcInfo",listQcInfo);
  298. mv.addObject("listMaterialItem",listMaterialItem);
  299. mv.addObject("detectinfo",detectinfo);
  300. mv.addObject("imgList",imgList);
  301. return mv;
  302. }
  303. /**
  304. * 跳转到修改检测页面
  305. *
  306. * @return
  307. */
  308. @RequiresPermissions("info:update:info")
  309. @RequestMapping(value = "/to_update")
  310. public ModelAndView toupdate(HttpServletRequest request) {
  311. ModelAndView mv = new ModelAndView("cm/inspection/update_detect");
  312. String detectId = request.getParameter("detectId");
  313. if(detectId == null || detectId.equals("")){
  314. return mv;
  315. }
  316. ComplaintDetectInfo detectinfo = complaintDetectInfoService.getDetectById(Integer.valueOf(detectId));
  317. List<ComplaintDetectImg> imgList = complaintDetectInfoService.listDetectImg(Integer.valueOf(detectId));
  318. DetectionItem detectionItem = new DetectionItem();
  319. detectionItem.setDetectId(Integer.valueOf(detectId));
  320. //查询维修配置信息
  321. List<DetectionConfig> config1 = complaintDetectInfoService.listDetectionConfig(1);
  322. List<DetectionConfig> config2 = complaintDetectInfoService.listDetectionConfig(2);
  323. List<DetectionConfig> config3 = complaintDetectInfoService.listDetectionConfig(3);
  324. List<DetectionConfig> config4 = complaintDetectInfoService.listDetectionConfig(4);
  325. List<DetectionConfig> config5 = complaintDetectInfoService.listDetectionConfig(5);
  326. List<MaterialNumberInfo> listMaterial = complaintDetectInfoService.listMaterialNumber();
  327. mv.addObject("config1",config1);
  328. mv.addObject("config2",config2);
  329. mv.addObject("config3",config3);
  330. mv.addObject("config4",config4);
  331. mv.addObject("config5",config5);
  332. //查询检测现象
  333. detectionItem.setConfigType(1);
  334. mv.addObject("detectPhenomenonList",complaintDetectInfoService.listDetectionItem(detectionItem));
  335. //查询故障原因
  336. detectionItem.setConfigType(2);
  337. mv.addObject("detectFailureCauseList",complaintDetectInfoService.listDetectionItem(detectionItem));
  338. //查询判定结果
  339. detectionItem.setConfigType(3);
  340. mv.addObject("detectResultsList",complaintDetectInfoService.listDetectionItem(detectionItem));
  341. //查询故障指向
  342. detectionItem.setConfigType(4);
  343. mv.addObject("detectPointList",complaintDetectInfoService.listDetectionItem(detectionItem));
  344. //查询原因分析
  345. detectionItem.setConfigType(5);
  346. mv.addObject("detectNalysisList",complaintDetectInfoService.listDetectionItem(detectionItem));
  347. //查询维修配件
  348. mv.addObject("listMaterialItem",complaintDetectInfoService.listMaterialItem(Integer.valueOf(detectId)));
  349. mv.addObject("listMaterial",listMaterial);
  350. mv.addObject("detectInfo",detectinfo);
  351. mv.addObject("imgList",imgList);
  352. return mv;
  353. }
  354. /**
  355. * 修改检测信息
  356. * @param request
  357. * @return
  358. * @throws Exception
  359. */
  360. @RequiresPermissions("info:update:info")
  361. @ResponseBody
  362. @RequestMapping("/update")
  363. public ResponseJson addRemark(HttpServletRequest request, ComplaintDetectInfo detectInfo) throws Exception {
  364. ResponseJson msg = new ResponseJson();
  365. if(detectInfo == null){
  366. msg.setResultCode(500);
  367. msg.setReturnCode(500);
  368. return msg;
  369. }
  370. if(detectInfo.getDetectId() == null){
  371. msg.setResultCode(500);
  372. msg.setReturnCode(500);
  373. return msg;
  374. }
  375. /*String[] componentsImgs = request.getParameterValues("componentsImg");*/
  376. String[] configli1 = request.getParameterValues("configli1");
  377. String[] configli2 = request.getParameterValues("configli2");
  378. String[] configli3 = request.getParameterValues("configli3");
  379. String[] configli4 = request.getParameterValues("configli4");
  380. String[] configli5 = request.getParameterValues("configli5");
  381. String[] configli6 = request.getParameterValues("configui6");
  382. detectInfo.setConfigli1(configli1);
  383. detectInfo.setConfigli2(configli2);
  384. detectInfo.setConfigli3(configli3);
  385. detectInfo.setConfigli4(configli4);
  386. detectInfo.setConfigli5(configli5);
  387. detectInfo.setConfigli6(configli6);
  388. Integer num = complaintDetectInfoService.updateDetectById(detectInfo);
  389. if (num < 1) {
  390. msg.setResultCode(500);
  391. msg.setReturnCode(500);
  392. } else {
  393. msg.setResultCode(200);
  394. msg.setReturnCode(200);
  395. }
  396. return msg;
  397. }
  398. /**
  399. * 修改qc检测信息
  400. * @param request
  401. * @return
  402. * @throws Exception
  403. */
  404. @RequiresPermissions("info:update:info")
  405. @ResponseBody
  406. @RequestMapping("/update_qc")
  407. public ResponseJson updateQC(HttpServletRequest request, ComplaintDetectInfo detectInfo) throws Exception {
  408. ResponseJson msg = new ResponseJson();
  409. if(detectInfo == null){
  410. msg.setResultCode(500);
  411. msg.setReturnCode(500);
  412. return msg;
  413. }
  414. if(detectInfo.getDetectId() == null){
  415. msg.setResultCode(500);
  416. msg.setReturnCode(500);
  417. return msg;
  418. }
  419. Integer num = complaintDetectInfoService.updateDetectQc(detectInfo);
  420. if (num < 1) {
  421. msg.setResultCode(500);
  422. msg.setReturnCode(500);
  423. } else {
  424. msg.setResultCode(200);
  425. msg.setReturnCode(200);
  426. }
  427. return msg;
  428. }
  429. /**
  430. * 修改维修内容
  431. * @param request
  432. * @return
  433. * @throws Exception
  434. */
  435. @RequiresPermissions("info:update:info")
  436. @ResponseBody
  437. @RequestMapping("/update_content")
  438. public ResponseJson update_content(HttpServletRequest request, ComplaintDetectInfo detectInfo) throws Exception {
  439. ResponseJson msg = new ResponseJson();
  440. if(detectInfo == null){
  441. msg.setResultCode(500);
  442. msg.setReturnCode(500);
  443. return msg;
  444. }
  445. if(detectInfo.getDetectId() == null){
  446. msg.setResultCode(500);
  447. msg.setReturnCode(500);
  448. return msg;
  449. }
  450. String[] configli6 = request.getParameterValues("configli6");
  451. detectInfo.setConfigli6(configli6);
  452. if(detectInfo.getDetectState() != null){
  453. if(detectInfo.getDetectState() == 32 || detectInfo.getDetectState() == 36 ){
  454. detectInfo.setMaintenanceCompletionTime(new Date());
  455. }
  456. if(detectInfo.getDetectState() == 21 ){
  457. detectInfo.setRenovationCompletionTime(new Date());
  458. }
  459. }
  460. Integer num = complaintDetectInfoService.updateDetectContent(detectInfo);
  461. if (num < 1) {
  462. msg.setResultCode(500);
  463. msg.setReturnCode(500);
  464. } else {
  465. msg.setResultCode(200);
  466. msg.setReturnCode(200);
  467. }
  468. return msg;
  469. }
  470. /**
  471. * 跳转到查看仓储进度页面
  472. *
  473. * @return
  474. */
  475. @RequiresPermissions("complete:update:complete")
  476. @RequestMapping(value = "/to_view_progress")
  477. public ModelAndView toViewProgress(HttpServletRequest request) {
  478. ModelAndView mv = new ModelAndView("cm/inspection/view_progress");
  479. String signclosedId = request.getParameter("signclosedId");
  480. if(signclosedId == null || signclosedId.equals("")){
  481. return mv;
  482. }
  483. if(Integer.valueOf(signclosedId) == 0){
  484. return mv;
  485. }
  486. List<SignclosedProductInfo> signclosedProductInfo = null;
  487. List<AwaitingSignclosedProductInfo> awaitingSignclosedProductInfo = null;
  488. ComplaintSignclosedInfo complaintSignclosedInfo = complaintSignclosedInfoService.getSignclosedById(Integer.valueOf(signclosedId));
  489. signclosedProductInfo = signclosedProductInfoService.listSignclosedById(complaintSignclosedInfo.getSignclosedId());
  490. mv.addObject("signclosedProductInfo",signclosedProductInfo);
  491. mv.addObject("signclosedInfo",complaintSignclosedInfo);
  492. mv.addObject("signclosedId",signclosedId);
  493. return mv;
  494. }
  495. /**
  496. * 跳转到查看物流信息页面
  497. *
  498. * @return
  499. */
  500. @RequestMapping(value = "/to_view_logistics")
  501. public ModelAndView toViewLogistics(HttpServletRequest request) {
  502. ModelAndView mv = new ModelAndView("cm/logistics/view_logistics");
  503. String billCode = request.getParameter("billCode");
  504. String billName = request.getParameter("billName");
  505. if(billCode == null || billCode.equals("") ||billName == null || billName.equals("")){
  506. return mv;
  507. }
  508. mv.addObject("billCode",billCode);
  509. mv.addObject("billName",billName);
  510. return mv;
  511. }
  512. /**
  513. * 跳转到修改检测完成信息页面
  514. *
  515. * @return
  516. */
  517. @RequiresPermissions("complete:update:complete")
  518. @RequestMapping(value = "/to_update_complete")
  519. public ModelAndView toUpdateComplete(HttpServletRequest request) {
  520. ModelAndView mv = new ModelAndView("cm/inspection/update_complete");
  521. String detectId = request.getParameter("detectId");
  522. if(detectId == null || detectId.equals("")){
  523. return mv;
  524. }
  525. ComplaintDetectInfo detectInfo = complaintDetectInfoService.getDetectById(Integer.valueOf(detectId));
  526. //查询维修配置信息
  527. List<DetectionConfig> config1 = complaintDetectInfoService.listDetectionConfig(1);
  528. List<DetectionConfig> config2 = complaintDetectInfoService.listDetectionConfig(2);
  529. List<DetectionConfig> config3 = complaintDetectInfoService.listDetectionConfig(3);
  530. List<DetectionConfig> config4 = complaintDetectInfoService.listDetectionConfig(4);
  531. List<DetectionConfig> config5 = complaintDetectInfoService.listDetectionConfig(5);
  532. mv.addObject("config1",config1);
  533. mv.addObject("config2",config2);
  534. mv.addObject("config3",config3);
  535. mv.addObject("config4",config4);
  536. mv.addObject("config5",config5);
  537. detectInfo.setDetectDate(new Date());
  538. mv.addObject("detectId",detectId);
  539. mv.addObject("detectInfo",detectInfo);
  540. return mv;
  541. }
  542. /**
  543. * 查询单个检测信息
  544. *
  545. * @return
  546. */
  547. @RequiresPermissions("complete:update:complete")
  548. @ResponseBody
  549. @RequestMapping(value = "/get_detect")
  550. public ResponseJson getDetect(HttpServletRequest request,Integer detectId) {
  551. ResponseJson msg = new ResponseJson();
  552. if(detectId == null){
  553. msg.setResultCode(500);
  554. msg.setReturnCode(500);
  555. return msg;
  556. }
  557. ComplaintDetectInfo detectInfo = complaintDetectInfoService.getDetectById(detectId);
  558. if(detectInfo == null){
  559. msg.setResultCode(500);
  560. msg.setReturnCode(500);
  561. return msg;
  562. }else {
  563. List<ComplaintDetectImg> detectImg = complaintDetectInfoService.listDetectImg(detectId);
  564. ComplaintSignclosedInfo signclosedInfo = complaintSignclosedInfoService.getSignclosedById(detectInfo.getSignclosedId());
  565. LogisticsInfo info = new LogisticsInfo();
  566. if(signclosedInfo != null){
  567. info.setLogisticsRstCode(signclosedInfo.getSignclosedLogistics());
  568. List<LogisticsInfo> logisticsInfos = salesOrderService.getLogisticsInfo(info);
  569. if(logisticsInfos != null && logisticsInfos.size() > 0){
  570. signclosedInfo.setSignclosedLogisticsName(logisticsInfos.get(0).getLogisticsName());
  571. }else{
  572. signclosedInfo.setSignclosedLogisticsName("其它快递");
  573. }
  574. }
  575. Admin admin = AdminUtils.getLoginAdmin();
  576. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  577. msg.addResponseKeyValue("detectImg",detectImg);
  578. msg.addResponseKeyValue("detectInfo",detectInfo);
  579. msg.addResponseKeyValue("signclosedInfo",signclosedInfo);
  580. msg.addResponseKeyValue("date",sdf.format(new Date()));//当前时间
  581. msg.addResponseKeyValue("adminName",admin.getAdminName());//当前登录人
  582. msg.setResultCode(200);
  583. msg.setReturnCode(200);
  584. return msg;
  585. }
  586. }
  587. /**
  588. * 跳转到查看客服录入客诉信息页面
  589. *
  590. * @return
  591. */
  592. @RequiresPermissions("complete:select:complete")
  593. @RequestMapping(value = "/to_customer_detail")
  594. public ModelAndView toCustomerDetail(HttpServletRequest request) {
  595. ModelAndView mv = new ModelAndView("cm/inspection/customer_detail");
  596. return mv;
  597. }
  598. /**
  599. * 检测完成
  600. * @param request
  601. * @return
  602. * @throws Exception
  603. */
  604. @RequiresPermissions("complete:update:complete")
  605. @ResponseBody
  606. @RequestMapping("/update_complete")
  607. public ResponseJson update_complete(HttpServletRequest request, ComplaintDetectInfo detectInfo) throws Exception {
  608. ResponseJson msg = new ResponseJson();
  609. if(detectInfo == null){
  610. msg.setResultCode(500);
  611. msg.setReturnCode(500);
  612. return msg;
  613. }
  614. if(detectInfo.getDetectId() == null || detectInfo.getDetectId().equals("")){
  615. msg.setResultCode(500);
  616. msg.setReturnCode(500);
  617. return msg;
  618. }
  619. String detectDate = request.getParameter("detect_date");
  620. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  621. if(detectDate != null){
  622. detectInfo.setDetectDate(format.parse(detectDate));
  623. }
  624. String[] componentsImgs = request.getParameterValues("componentsImg");
  625. String[] configli1 = request.getParameterValues("configli1");
  626. String[] configli2 = request.getParameterValues("configli2");
  627. String[] configli3 = request.getParameterValues("configli3");
  628. String[] configli4 = request.getParameterValues("configli4");
  629. String[] configli5 = request.getParameterValues("configli5");
  630. detectInfo.setConfigli1(configli1);
  631. detectInfo.setConfigli2(configli2);
  632. detectInfo.setConfigli3(configli3);
  633. detectInfo.setConfigli4(configli4);
  634. detectInfo.setConfigli5(configli5);
  635. detectInfo.setDetectCompletionTime(new Date());
  636. Integer num = complaintDetectInfoService.updateDetectById(detectInfo,componentsImgs);
  637. if (num < 1) {
  638. msg.setResultCode(500);
  639. msg.setReturnCode(500);
  640. } else {
  641. msg.setResultCode(200);
  642. msg.setReturnCode(200);
  643. }
  644. return msg;
  645. }
  646. /**
  647. * 删除检测信息
  648. * @param request
  649. * @return
  650. * @throws Exception
  651. */
  652. @RequiresPermissions("remark:add:remark")
  653. @ResponseBody
  654. @RequestMapping("/delete")
  655. public ResponseJson delete(HttpServletRequest request, Integer detectId) throws Exception {
  656. ResponseJson msg = new ResponseJson();
  657. if(detectId == null){
  658. msg.setResultCode(500);
  659. msg.setReturnCode(500);
  660. return msg;
  661. }
  662. Integer num = complaintDetectInfoService.deleteDetect(detectId);
  663. if (num < 1) {
  664. msg.setResultCode(500);
  665. msg.setReturnCode(500);
  666. } else {
  667. msg.setResultCode(200);
  668. msg.setReturnCode(200);
  669. }
  670. return msg;
  671. }
  672. /**
  673. * 查询单个检测信息
  674. * @param request
  675. * @return
  676. * @throws Exception
  677. */
  678. @RequiresPermissions("remark:add:remark")
  679. @ResponseBody
  680. @RequestMapping("/getDetectionBasis")
  681. public ResponseJson getDetectionBasis(HttpServletRequest request, Integer basisId) throws Exception {
  682. ResponseJson msg = new ResponseJson();
  683. if(basisId == null){
  684. msg.setResultCode(500);
  685. msg.setReturnCode(500);
  686. return msg;
  687. }
  688. DetectionBasis detectionBasis = new DetectionBasis();
  689. detectionBasis.setBasisId(basisId);
  690. List<DetectionBasis> listDetectionBasis = complaintDetectInfoService.listDetectionBasis(detectionBasis);
  691. if (listDetectionBasis.size() < 1) {
  692. msg.setResultCode(500);
  693. msg.setReturnCode(500);
  694. } else {
  695. msg.addResponseKeyValue("detectionBasis",listDetectionBasis.get(0));
  696. msg.setResultCode(200);
  697. msg.setReturnCode(200);
  698. }
  699. return msg;
  700. }
  701. /**
  702. * 客服确认处理结果
  703. * @param request
  704. * @return
  705. * @throws Exception
  706. */
  707. @RequiresPermissions("complete:update:complete")
  708. @ResponseBody
  709. @RequestMapping("/customer_confirm")
  710. public ResponseJson customerConfirm(HttpServletRequest request, ComplaintDetectInfo detectInfo) throws Exception {
  711. ResponseJson msg = new ResponseJson();
  712. if(detectInfo == null){
  713. msg.setResultCode(500);
  714. msg.setReturnCode(500);
  715. return msg;
  716. }
  717. if(detectInfo.getDetectId() == null || "".equals(detectInfo.getDetectId())){
  718. msg.setResultCode(500);
  719. msg.setReturnCode(500);
  720. return msg;
  721. }
  722. Admin admin = AdminUtils.getLoginAdmin();
  723. if (!complaintDetectInfoService.customerConfirm(detectInfo,admin)) {
  724. msg.setResultCode(500);
  725. msg.setReturnCode(500);
  726. } else {
  727. ComplaintDetectInfo info = complaintDetectInfoService.getDetectById(detectInfo.getDetectId());
  728. msg.setResultCode(200);
  729. msg.setReturnCode(200);
  730. msg.addResponseKeyValue("detectInfo",info);
  731. }
  732. return msg;
  733. }
  734. /**
  735. * 查询维修信息条数
  736. * @param request
  737. * @param res
  738. * @param detectInfo
  739. * @throws Exception
  740. */
  741. @ResponseBody
  742. @RequiresPermissions("detect:select:detect")
  743. @RequestMapping("/detect_excel_num")
  744. public ResponseJson salesOrderExcelNum(HttpServletRequest request,HttpServletResponse res
  745. , ComplaintDetectInfo detectInfo) throws Exception{
  746. ResponseJson msg = new ResponseJson();
  747. //根据条件查询维修数据
  748. List<ComplaintDetectInfo> detectList = complaintDetectInfoService.listComplaintDetect(detectInfo);
  749. if (detectList == null || detectList.size() == 0) {
  750. msg.setResultCode(500);
  751. msg.setReturnCode(500);
  752. return msg;
  753. }
  754. msg.setResultCode(200);
  755. msg.setReturnCode(200);
  756. return msg;
  757. }
  758. /**
  759. * 导出维修信息
  760. * @param request
  761. * @param res
  762. * @param detectInfo
  763. * @throws Exception
  764. */
  765. @RequiresPermissions("detect:select:detect")
  766. @RequestMapping("/detect_excel")
  767. public void salesOrderExcel(HttpServletRequest request,HttpServletResponse res
  768. , ComplaintDetectInfo detectInfo) throws Exception{
  769. //根据id查询订单数据
  770. List<ComplaintDetectInfo> detectList = complaintDetectInfoService.listComplaintDetect(detectInfo);
  771. if (detectList == null || detectList.size() == 0) {
  772. return;
  773. }
  774. String[] cells = {
  775. "维修编号","产品名称","颜色","生产月份","机身条码",
  776. "退货地区","返厂日期","购买日期","客诉日期","客诉类型",
  777. "客诉问题","售后原因","售后处理类型","工厂检测现象","是否翻新机",
  778. "故障原因","判断结果","故障指向","原因分析",
  779. "维修内容","厚膜类型","浮子类型","版本号"
  780. };
  781. exportExcel(request,res,cells,detectList);
  782. }
  783. /**
  784. * 导出订单Excel并下载
  785. * @param request
  786. * @param res
  787. * @param cells
  788. * @param detectList
  789. * @throws Exception
  790. */
  791. public void exportExcel(HttpServletRequest request,HttpServletResponse res,
  792. String[] cells,List<ComplaintDetectInfo> detectList) throws Exception {
  793. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  794. //创建一个workbook,对应一个Excel文件
  795. HSSFWorkbook wb = new HSSFWorkbook();
  796. //在workbook中添加一个sheet,对应Excel中的一个sheet
  797. HSSFSheet sheet = wb.createSheet("导出维修");
  798. //在sheet中添加表头第0行,老版本poi对excel行数列数有限制short
  799. HSSFRow row = sheet.createRow((int) 0);
  800. //创建单元格,设置值表头,设置表头居中
  801. HSSFCellStyle style = wb.createCellStyle();
  802. //居中格式
  803. style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
  804. //设置表头
  805. if (cells == null || cells.length == 0) {
  806. return;
  807. }
  808. //循环设置表头
  809. HSSFCell cell = null;
  810. for (int i = 0;i < cells.length;i++) {
  811. String name = cells[i];
  812. cell = row.createCell(i);
  813. cell.setCellValue(name);
  814. cell.setCellStyle(style);
  815. }
  816. for (int i = 0; i < detectList.size(); i++) {
  817. row = sheet.createRow((int) i + 1);
  818. ComplaintDetectInfo detect = detectList.get(i);
  819. String detectFilmType = "";
  820. if(detect.getDetectFilmType() != null){
  821. switch (detect.getDetectFilmType()) {
  822. case 1:detectFilmType = "圆";break;
  823. case 2:detectFilmType = "扁";break;
  824. }
  825. }
  826. String detectIsRefurbishing = "";
  827. if(detect.getDetectIsRefurbishing() != null){
  828. switch (detect.getDetectIsRefurbishing()) {
  829. case 1:detectIsRefurbishing = "是";break;
  830. case 2:detectIsRefurbishing = "否";break;
  831. }
  832. }
  833. String detectFloatType = "";
  834. if(detect.getDetectFloatType() != null){
  835. switch (detect.getDetectFloatType()) {
  836. case 1:detectFloatType = "长";break;
  837. case 2:detectFloatType = "短";break;
  838. }
  839. }
  840. // 创建单元格,设置值
  841. row.createCell(0).setCellValue(detect.getDetectNumber()==null?"":detect.getDetectNumber());
  842. row.createCell(1).setCellValue(detect.getProductName()==null?"":detect.getProductName());
  843. row.createCell(2).setCellValue(detect.getColorName()==null?"":detect.getColorName());
  844. row.createCell(3).setCellValue(detect.getDetectProduction()==null?"":detect.getDetectProduction());
  845. row.createCell(4).setCellValue(detect.getDetectFuselageBarcode()==null?"":detect.getDetectFuselageBarcode());
  846. StringBuffer area = new StringBuffer(" ");
  847. if(detect.getSignclosedAddrProvincesName() == null || detect.getSignclosedAddrProvincesName().equals("")){
  848. area.append("");
  849. }else{
  850. area.append(detect.getSignclosedAddrProvincesName());
  851. }
  852. if(detect.getSignclosedAddrProvincesName() == null || detect.getSignclosedAddrProvincesName().equals("")){
  853. area.append("");
  854. }else{
  855. area.append("-"+detect.getSignclosedAddrProvincesName());
  856. }
  857. if(detect.getSignclosedAddrCityName() == null || detect.getSignclosedAddrCityName().equals("")){
  858. area.append("");
  859. }else{
  860. area.append("-"+detect.getSignclosedAddrCityName());
  861. }
  862. row.createCell(5).setCellValue(area.toString());
  863. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  864. if(detect.getSignclosedDate()==null){
  865. row.createCell(6).setCellValue( "");
  866. }else{
  867. row.createCell(6).setCellValue(sdf.format(detect.getSignclosedDate()));
  868. }
  869. if(detect.getSalesTime()==null){
  870. row.createCell(7).setCellValue("");
  871. }else{
  872. row.createCell(7).setCellValue(sdf.format(detect.getSalesTime()));
  873. }
  874. if(detect.getCustomerCreateTime()==null){
  875. row.createCell(8).setCellValue("");
  876. }else{
  877. row.createCell(8).setCellValue(sdf.format(detect.getCustomerCreateTime()));
  878. }
  879. row.createCell(9).setCellValue(detect.getProcTypeName()==null?"":detect.getProcTypeName());
  880. row.createCell(10).setCellValue(detect.getQuestionTitle()==null?"":detect.getQuestionTitle());
  881. row.createCell(12).setCellValue(detect.getProcMethodName()==null?"":detect.getProcMethodName());
  882. row.createCell(13).setCellValue(detect.getDetectPhenomenon()==null?"":detect.getDetectPhenomenon());
  883. row.createCell(14).setCellValue(detectIsRefurbishing);
  884. row.createCell(15).setCellValue(detect.getDetectFailureCause()==null?"":detect.getDetectFailureCause());
  885. row.createCell(16).setCellValue(detect.getDetectResults()==null?"":detect.getDetectResults());
  886. row.createCell(17).setCellValue(detect.getDetectPoint()==null?"":detect.getDetectPoint());
  887. row.createCell(18).setCellValue(detect.getDetectNalysis()==null?"":detect.getDetectNalysis());
  888. row.createCell(19).setCellValue(detect.getDetectContent()==null?"":detect.getDetectContent());
  889. row.createCell(20).setCellValue(detectFilmType);
  890. row.createCell(21).setCellValue(detectFloatType);
  891. row.createCell(22).setCellValue(detect.getDetectVersionNumber()==null?"":detect.getDetectVersionNumber());
  892. }
  893. //下载导出订单Excel
  894. downloadOrderExcel(res,wb);
  895. }
  896. /**
  897. * 下载导出订单Excel
  898. * @param res
  899. * @param wb
  900. * @throws Exception
  901. */
  902. public void downloadOrderExcel(HttpServletResponse res, HSSFWorkbook wb) throws Exception{
  903. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  904. String fileName = format.format(new Date()) + "维修报表";
  905. ByteArrayOutputStream os = new ByteArrayOutputStream();
  906. wb.write(os);
  907. byte[] content = os.toByteArray();
  908. InputStream is = new ByteArrayInputStream(content);
  909. // 设置response参数,可以打开下载页面
  910. res.reset();
  911. res.setContentType("application/vnd.ms-excel;charset=utf-8");
  912. res.setHeader("Content-Disposition", "attachment;filename="
  913. + new String((fileName + ".xls").getBytes(), "iso-8859-1"));
  914. ServletOutputStream out = res.getOutputStream();
  915. BufferedInputStream bis = null;
  916. BufferedOutputStream bos = null;
  917. try {
  918. bis = new BufferedInputStream(is);
  919. bos = new BufferedOutputStream(out);
  920. byte[] buff = new byte[2048];
  921. int bytesRead;
  922. // Simple read/write loop.
  923. while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
  924. bos.write(buff, 0, bytesRead);
  925. }
  926. } catch (Exception e) {
  927. // TODO: handle exception
  928. e.printStackTrace();
  929. } finally {
  930. if (bis != null)
  931. bis.close();
  932. if (bos != null)
  933. bos.close();
  934. }
  935. }
  936. /**
  937. * 进入导出每日检测页面
  938. */
  939. @RequestMapping(value = "/to_download_detection")
  940. public ModelAndView toDownloadDetection(HttpServletRequest request) {
  941. ModelAndView mv = new ModelAndView("cm/inspection/download_detection");
  942. return mv;
  943. }
  944. /**
  945. * 导出维修信息
  946. * @param request
  947. * @param res
  948. * @param detectInfo
  949. * @throws Exception
  950. */
  951. @RequestMapping("/download_detection")
  952. public void downloadDetection(HttpServletRequest request,HttpServletResponse res
  953. , ComplaintDetectInfo detectInfo) throws Exception{
  954. //根据id查询订单数据
  955. if((detectInfo.getStartTime() == null || detectInfo.getStartTime().equals("")) && (detectInfo.getEndTime() == null || detectInfo.getEndTime().equals(""))){
  956. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  957. Calendar date = Calendar.getInstance();
  958. date.setTime(new Date());
  959. detectInfo.setTodayTime(sdf.format(date.getTime()));
  960. }
  961. List<ComplaintDetectInfo> detectList = complaintDetectInfoService.listComplaintDetect(detectInfo);
  962. /*if (detectList == null || detectList.size() == 0) {
  963. return;
  964. }*/
  965. String[] cells = {
  966. "维修编号","快递单号","产品简称","产品颜色","生产月份","机身条码",
  967. "退货地区","返厂日期","售后处理类型","工厂检测现象","是否翻新机","厚膜类型","浮子类型","版本号","检测日期"
  968. };
  969. exportExcel2(request,res,cells,detectList);
  970. }
  971. /**
  972. * 导出订单Excel并下载
  973. * @param request
  974. * @param res
  975. * @param cells
  976. * @param detectList
  977. * @throws Exception
  978. */
  979. public void exportExcel2(HttpServletRequest request,HttpServletResponse res,
  980. String[] cells,List<ComplaintDetectInfo> detectList) throws Exception {
  981. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  982. //创建一个workbook,对应一个Excel文件
  983. HSSFWorkbook wb = new HSSFWorkbook();
  984. //在workbook中添加一个sheet,对应Excel中的一个sheet
  985. HSSFSheet sheet = wb.createSheet("导出维修");
  986. //在sheet中添加表头第0行,老版本poi对excel行数列数有限制short
  987. HSSFRow row = sheet.createRow((int) 0);
  988. //创建单元格,设置值表头,设置表头居中
  989. HSSFCellStyle style = wb.createCellStyle();
  990. //居中格式
  991. style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
  992. //设置表头
  993. if (cells == null || cells.length == 0) {
  994. return;
  995. }
  996. //循环设置表头
  997. HSSFCell cell = null;
  998. for (int i = 0;i < cells.length;i++) {
  999. String name = cells[i];
  1000. cell = row.createCell(i);
  1001. cell.setCellValue(name);
  1002. cell.setCellStyle(style);
  1003. }
  1004. for (int i = 0; i < detectList.size(); i++) {
  1005. row = sheet.createRow((int) i + 1);
  1006. ComplaintDetectInfo detect = detectList.get(i);
  1007. String detectFilmType = "";
  1008. if(detect.getDetectFilmType() != null){
  1009. switch (detect.getDetectFilmType()) {
  1010. case 1:detectFilmType = "圆";break;
  1011. case 2:detectFilmType = "扁";break;
  1012. }
  1013. }
  1014. String detectIsRefurbishing = "";
  1015. if(detect.getDetectIsRefurbishing() != null){
  1016. switch (detect.getDetectIsRefurbishing()) {
  1017. case 1:detectIsRefurbishing = "是";break;
  1018. case 2:detectIsRefurbishing = "否";break;
  1019. }
  1020. }
  1021. String detectFloatType = "";
  1022. if(detect.getDetectFloatType() != null){
  1023. switch (detect.getDetectFloatType()) {
  1024. case 1:detectFloatType = "长";break;
  1025. case 2:detectFloatType = "短";break;
  1026. }
  1027. }
  1028. // 创建单元格,设置值
  1029. row.createCell(0).setCellValue(detect.getDetectNumber()==null?"":detect.getDetectNumber());
  1030. row.createCell(1).setCellValue(detect.getLogisticsNumber()==null?"":detect.getLogisticsNumber());
  1031. row.createCell(2).setCellValue(detect.getProductAbbreviation()==null?"":detect.getProductAbbreviation());
  1032. row.createCell(3).setCellValue(detect.getColorName()==null?"":detect.getColorName());
  1033. row.createCell(4).setCellValue(detect.getDetectProduction()==null?"":detect.getDetectProduction());
  1034. row.createCell(5).setCellValue(detect.getDetectFuselageBarcode()==null?"":detect.getDetectFuselageBarcode());
  1035. StringBuffer area = new StringBuffer(" ");
  1036. if(detect.getSignclosedAddrProvincesName() == null || detect.getSignclosedAddrProvincesName().equals("")){
  1037. area.append("");
  1038. }else{
  1039. area.append(detect.getSignclosedAddrProvincesName());
  1040. }
  1041. if(detect.getSignclosedAddrCityName() == null || detect.getSignclosedAddrCityName().equals("")){
  1042. area.append("");
  1043. }else{
  1044. area.append("-"+detect.getSignclosedAddrCityName());
  1045. }
  1046. row.createCell(6).setCellValue(area.toString());
  1047. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  1048. if(detect.getSignclosedDate()==null){
  1049. row.createCell(7).setCellValue( "");
  1050. }else{
  1051. row.createCell(7).setCellValue(sdf.format(detect.getSignclosedDate()));
  1052. }
  1053. /*row.createCell(9).setCellValue(detect.getProcTypeName()==null?"":detect.getProcTypeName());*/
  1054. row.createCell(8).setCellValue(detect.getProcMethodName()==null?"":detect.getProcMethodName());
  1055. row.createCell(9).setCellValue(detect.getDetectPhenomenon()==null?"":detect.getDetectPhenomenon());
  1056. row.createCell(10).setCellValue(detectIsRefurbishing);
  1057. row.createCell(11).setCellValue(detectFilmType);
  1058. row.createCell(12).setCellValue(detectFloatType);
  1059. row.createCell(13).setCellValue(detect.getDetectVersionNumber()==null?"":detect.getDetectVersionNumber());
  1060. if(detect.getDetectPrintTime()==null){
  1061. row.createCell(14).setCellValue( "");
  1062. }else{
  1063. row.createCell(14).setCellValue(sdf.format(detect.getDetectPrintTime()));
  1064. }
  1065. }
  1066. //下载导出订单Excel
  1067. downloadOrderExcel(res,wb);
  1068. }
  1069. /**
  1070. * 修改打印状态
  1071. *
  1072. * @return
  1073. */
  1074. @ResponseBody
  1075. @RequestMapping(value = "/update_print")
  1076. public ResponseJson updatePrint(HttpServletRequest request,ComplaintDetectInfo complaintDetectInfo){
  1077. ResponseJson msg = new ResponseJson();
  1078. if(complaintDetectInfo == null){
  1079. msg.setResultCode(500);
  1080. msg.setReturnCode(500);
  1081. return msg;
  1082. }
  1083. complaintDetectInfo.setDetectIsPrint(2);
  1084. complaintDetectInfo.setDetectPrintTime(new Date());
  1085. Integer num = complaintDetectInfoService.updatePrint(complaintDetectInfo);
  1086. if (num < 1) {
  1087. msg.setResultCode(500);
  1088. msg.setReturnCode(500);
  1089. } else {
  1090. msg.setResultCode(200);
  1091. msg.setReturnCode(200);
  1092. }
  1093. return msg;
  1094. }
  1095. /**
  1096. * 修改报废状态
  1097. *
  1098. * @return
  1099. */
  1100. @ResponseBody
  1101. @RequestMapping(value = "/update_scrap")
  1102. public ResponseJson updateScrap(HttpServletRequest request,ComplaintDetectInfo complaintDetectInfo){
  1103. ResponseJson msg = new ResponseJson();
  1104. if(complaintDetectInfo == null){
  1105. msg.setResultCode(500);
  1106. msg.setReturnCode(500);
  1107. return msg;
  1108. }
  1109. complaintDetectInfo.setScrapCompletionTime(new Date());
  1110. Integer num = complaintDetectInfoService.updatePrint(complaintDetectInfo);
  1111. if (num < 1) {
  1112. msg.setResultCode(500);
  1113. msg.setReturnCode(500);
  1114. } else {
  1115. msg.setResultCode(200);
  1116. msg.setReturnCode(200);
  1117. }
  1118. return msg;
  1119. }
  1120. /**
  1121. * 修改是否下单状态
  1122. *
  1123. * @return
  1124. */
  1125. /*@ResponseBody
  1126. @RequestMapping(value = "/update_placeorder")
  1127. public ResponseJson updatePlaceorder(HttpServletRequest request,ComplaintDetectInfo complaintDetectInfo){
  1128. ResponseJson msg = new ResponseJson();
  1129. if(complaintDetectInfo == null){
  1130. msg.setResultCode(500);
  1131. msg.setReturnCode(500);
  1132. return msg;
  1133. }
  1134. Integer num = complaintDetectInfoService.updatePrint(complaintDetectInfo);
  1135. if (num < 1) {
  1136. msg.setResultCode(500);
  1137. msg.setReturnCode(500);
  1138. } else {
  1139. msg.setResultCode(200);
  1140. msg.setReturnCode(200);
  1141. }
  1142. return msg;
  1143. }*/
  1144. }