RepairInfoController.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package com.fdkankan.sale.controller;
  2. import java.math.BigDecimal;
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import com.alibaba.fastjson.JSONArray;
  6. import com.fdkankan.sale.entity.PriceList;
  7. import com.fdkankan.sale.util.StatusUtil;
  8. import com.fdkankan.sale.vo.response.PriceListExcelVo;
  9. import com.google.common.collect.Lists;
  10. import com.fdkankan.sale.common.ResultCode;
  11. import com.fdkankan.sale.common.ResultData;
  12. import com.fdkankan.sale.exception.BusinessException;
  13. import com.fdkankan.sale.service.IRepairService;
  14. import com.fdkankan.sale.service.impl.RepairInfoService;
  15. import com.fdkankan.sale.util.MyExcelUtil;
  16. import com.fdkankan.sale.util.OrderListVo;
  17. import com.fdkankan.sale.vo.request.RepairInfoListParam;
  18. import com.fdkankan.sale.vo.response.RepairDetailVo;
  19. import lombok.Data;
  20. import org.apache.commons.lang3.StringUtils;
  21. import org.springframework.beans.BeanUtils;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.web.bind.annotation.*;
  24. @RestController
  25. @RequestMapping("/sale/repairInfo")
  26. public class RepairInfoController extends BaseController{
  27. @Autowired
  28. RepairInfoService repairInfoService;
  29. @Autowired
  30. MyExcelUtil excelUtil;
  31. @GetMapping("/details")
  32. public ResultData details(@RequestParam(required = false) String repairId){
  33. if(StringUtils.isBlank(repairId)){
  34. throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
  35. }
  36. return ResultData.ok(repairInfoService.getDetailsByRepairId(repairId));
  37. }
  38. @GetMapping("/process")
  39. public ResultData process(@RequestParam(required = false) String repairId){
  40. if(StringUtils.isBlank(repairId)){
  41. throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
  42. }
  43. return ResultData.ok(repairInfoService.getProcessByRepairId(repairId));
  44. }
  45. @PostMapping("/list")
  46. public ResultData list(@RequestBody RepairInfoListParam param){
  47. return ResultData.ok(repairInfoService.pageList(param));
  48. }
  49. /**
  50. * 0 四维时代服务清单(模板)
  51. * 1 维修服务工作单(模板)
  52. */
  53. @GetMapping("/exportExcel")
  54. public void exportExcel(@RequestParam(required = false) String repairId,
  55. @RequestParam(required = false) Integer type){
  56. RepairDetailVo repairDetailVo = repairInfoService.getDetailsByRepairId(repairId);
  57. OrderListVo vo = new OrderListVo();
  58. vo.setCompanyName(repairDetailVo.getCustomer().getCompanyName());
  59. vo.setCustomerName(repairDetailVo.getCustomer().getCustomerName());
  60. vo.setCustomerPhone(repairDetailVo.getCustomer().getPhone());
  61. vo.setCustomerAddress(repairDetailVo.getCustomerAddress().getGetAddress());
  62. vo.setCameraName(StatusUtil.getCameraName(repairDetailVo.getRepairerVo().getCameraType()));
  63. vo.setCameraSnCode(repairDetailVo.getRepairerVo().getCameraSnCode());
  64. vo.setSendDate(repairDetailVo.getRepairerVo().getCreateTime());
  65. vo.setWarrantyType(StatusUtil.getWarrantyType(repairDetailVo.getOrderReceivingVo().getWarrantyType()));
  66. vo.setFaultMsg(repairDetailVo.getRepairerVo().getFaultMsg());
  67. vo.setCheckDate(repairDetailVo.getRepairRegisterVo().getCreateTime());
  68. vo.setOrderFaultMsg(repairDetailVo.getOrderReceivingVo().getOrderFaultMsg());
  69. vo.setCheckResult(repairDetailVo.getRepairRegisterVo().getCheckResult());
  70. vo.setCheckImg(JSONArray.toJSONString(repairDetailVo.getRepairRegisterVo().getCheckImg()));
  71. vo.setSaleName(repairDetailVo.getOrderReceivingVo().getSysUserName());
  72. vo.setSaleDate(repairDetailVo.getOrderReceivingVo().getCreateTime());
  73. vo.setRepairMan(repairDetailVo.getRepairRegisterVo().getSysUserName());
  74. vo.setRepairOverTime(repairDetailVo.getRepairRegisterVo().getOverTime());
  75. List<PriceList> priceList = repairDetailVo.getPriceList();
  76. BigDecimal totalAmount = BigDecimal.ZERO;
  77. List<PriceListExcelVo> excelVos = new ArrayList<>();
  78. for (PriceList list : priceList) {
  79. PriceListExcelVo excelVo = new PriceListExcelVo();
  80. BeanUtils.copyProperties(list,excelVo);
  81. excelVo.setAmount(list.getPrice().multiply(new BigDecimal(list.getCount())));
  82. excelVos.add(excelVo);
  83. totalAmount = totalAmount.add(excelVo.getAmount());
  84. }
  85. vo.setTotalCount(totalAmount);
  86. excelUtil.listFill(response,"四维时代服务清单",vo,excelVos,type);
  87. }
  88. }