lmstack 3 years ago
parent
commit
581000f5b6

+ 1 - 1
src/main/java/cn/fastfun/config/TokenConfig.java

@@ -12,7 +12,7 @@ public class TokenConfig extends WebMvcConfigurationSupport {
     public void addInterceptors(InterceptorRegistry registry) {
         registry.addInterceptor(new TokenInterceptor())
                 .addPathPatterns("/api/**")
-                .excludePathPatterns("/api/user/**", "/api/v1/appdevice/excelTemplate","/api/v1/appdevice/excelImport");
+                .excludePathPatterns("/api/user/**", "/api/v1/appdevice/excelTemplate","/api/v1/appdevice/excelImport","/api/v1/appassetprofit/export");
     }
 
     @Override

+ 59 - 9
src/main/java/cn/fastfun/controller/api/ApiAssetProfitController.java

@@ -4,8 +4,10 @@ import cn.fastfun.controller.dto.asset.BaseInfoDTO;
 import cn.fastfun.controller.dto.asset.ResponseDTO;
 import cn.fastfun.controller.dto.asset.FigureDTO;
 import cn.fastfun.controller.param.*;
+import cn.fastfun.service.AppDeviceService;
 import cn.fastfun.service.SysExcelFieldService;
 import cn.fastfun.service.entity.AppAssetConf;
+import cn.fastfun.service.entity.AppDevice;
 import cn.fastfun.service.impl.AppAssetConfServiceImpl;
 import cn.fastfun.service.impl.AppAssetProfitServiceImpl;
 import cn.fastfun.util.IrrUtil;
@@ -46,6 +48,9 @@ public class ApiAssetProfitController {
     @Autowired
     AppAssetConfServiceImpl appAssetConfService;
 
+    @Autowired
+    AppDeviceService appDeviceService;
+
 
     @ApiOperation(value = "基础信息")
     @RequestMapping(value = "getBaseInfo", method = RequestMethod.POST)
@@ -672,9 +677,37 @@ public class ApiAssetProfitController {
         return ApiDTO.ok("成功", response);
     }
 
+    @ApiOperation(value = "获取sn列表")
+    @PostMapping("getSn")
+    public ApiDTO getSn(){
+        List<String> sns = new ArrayList<>();
+        List<AppDevice> appDevices = appDeviceService.findAll();
+        appDevices.forEach(p->sns.add(p.getSn()));
+
+        return ApiDTO.ok(sns);
+    }
+
+    @ApiOperation(value = "导出认证")
+    @PostMapping("exportAuth")
+    public ApiDTO exportAuth(@RequestBody @ApiParam(name = "设备信息对象", value = "传入json格式", required = true) AssetProfitParam param){
+        String name;
+        switch (param.getTableOrder()){
+            case 1: name = "租赁信息";break;
+            case 2: name = "运维信息";break;
+            case 3: name = "赔偿信息";break;
+            case 4: name = "营销信息";break;
+            case 5: name = "运营信息";break;
+            case 6: name = "金融成本信息";break;
+            case 7: name = "处置信息";break;
+            case 8: name = "其他信息";break;
+            default: name=null;
+        }
+        return ApiDTO.ok(name);
+    }
+
     @ApiOperation(value = "导出")
     @GetMapping("export")
-    public void export(HttpServletResponse response, @RequestParam String sn, @RequestParam String timeStart, @RequestParam String timeEnd, @RequestParam Integer tableOrder, @RequestParam String type) throws ParseException {
+    public void export(HttpServletResponse response, @RequestParam String name, @RequestParam String sn, @RequestParam String timeStart, @RequestParam String timeEnd, @RequestParam Integer tableOrder, @RequestParam String type) throws ParseException {
 
         AssetProfitParam param = new AssetProfitParam();
         param.setSn(sn.equals("null") ? null : sn);
@@ -701,9 +734,24 @@ public class ApiAssetProfitController {
                         put("remark", p.getDescription());
                     }});
                 });
-                sysExcelFieldService.outExcelFile(sysExcelFieldService.export("rent_info", data), response, "租赁信息.xlsx");
+                sysExcelFieldService.outExcelFile(sysExcelFieldService.export("rent_info", data), response, name);
             }
-            if (param.getTableOrder() != null && (param.getTableOrder().equals(2) || param.getTableOrder().equals(3)
+            // 营销信息
+            if (param.getTableOrder() != null && param.getTableOrder().equals(4)) {
+                param.setFigureOrNot(false);
+                ResponseDTO responseDTO = (ResponseDTO) appAssetService.getSaleInfo(param);
+                List<Map<String, Object>> data = new ArrayList<>();
+                responseDTO.getAllInfoList().forEach(p -> {
+                    data.add(new HashMap<String, Object>() {{
+                        put("time", p.getTime());
+                        put("type", p.getType());
+                        put("amount", p.getAmount());
+                        put("remark", p.getDescription());
+                    }});
+                });
+                sysExcelFieldService.outExcelFile(sysExcelFieldService.export("sale_info", data), response, name);
+            }
+            else if (param.getTableOrder() != null && (param.getTableOrder().equals(2) || param.getTableOrder().equals(3)
                     || param.getTableOrder().equals(5) || param.getTableOrder().equals(6)
                     || param.getTableOrder().equals(7) || param.getTableOrder().equals(8))) {
                 AssetPageQueryParam appAssetConf = new AssetPageQueryParam();
@@ -732,6 +780,7 @@ public class ApiAssetProfitController {
                 if (appAssetConf.getTimeEnd() != null) {
                     appAssetConfQueryWrapper.lt("time", appAssetConf.getTimeEnd());
                 }
+
                 Page<AppAssetConf> appAssetConfPage = appAssetConfService.page(page, appAssetConfQueryWrapper);
                 List<Map<String, Object>> data = new ArrayList<>();
                 if (appAssetConfPage.getTotal() > 0) {
@@ -746,22 +795,23 @@ public class ApiAssetProfitController {
                 }
                 switch (param.getTableOrder()) {
                     case 2:
-                        sysExcelFieldService.outExcelFile(sysExcelFieldService.export("om_info", data), response, "运维信息.xlsx");
+
+                        sysExcelFieldService.outExcelFile(sysExcelFieldService.export("om_info", data), response, name);
                         break;
                     case 3:
-                        sysExcelFieldService.outExcelFile(sysExcelFieldService.export("com_info", data), response, "赔偿信息.xlsx");
+                        sysExcelFieldService.outExcelFile(sysExcelFieldService.export("com_info", data), response, name);
                         break;
                     case 5:
-                        sysExcelFieldService.outExcelFile(sysExcelFieldService.export("op_info", data), response, "运营信息.xlsx");
+                        sysExcelFieldService.outExcelFile(sysExcelFieldService.export("op_info", data), response, name);
                         break;
                     case 6:
-                        sysExcelFieldService.outExcelFile(sysExcelFieldService.export("fi_info", data), response, "金融成本信息.xlsx");
+                        sysExcelFieldService.outExcelFile(sysExcelFieldService.export("fi_info", data), response, name);
                         break;
                     case 7:
-                        sysExcelFieldService.outExcelFile(sysExcelFieldService.export("handle_info", data), response, "处置信息.xlsx");
+                        sysExcelFieldService.outExcelFile(sysExcelFieldService.export("handle_info", data), response, name);
                         break;
                     case 8:
-                        sysExcelFieldService.outExcelFile(sysExcelFieldService.export("other_info", data), response, "其他信息.xlsx");
+                        sysExcelFieldService.outExcelFile(sysExcelFieldService.export("other_info", data), response, name);
                         break;
 
                     default:

+ 7 - 0
src/main/java/cn/fastfun/service/mapper/AppAssetConfMapper.java

@@ -2,6 +2,10 @@ package cn.fastfun.service.mapper;
 
 import cn.fastfun.service.entity.AppAssetConf;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +17,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface AppAssetConfMapper extends BaseMapper<AppAssetConf> {
 
+    @Select("select time_st as time, FLOOR(DATEDIFF(time_st,'2021-01-01')/7)+1 as weeks, AVG(soh) as soh from soh_result where device_id = #{sn} group by weeks order by weeks")
+    List<AppAssetConf> getAssetConf(@Param("sn") String sn);
+
 }