Просмотр исходного кода

[task-1704] 【设施】设施环境模块改进 / 【后端】设施环境总览接口

Li Yuan 2 лет назад
Родитель
Сommit
c0eccde249

+ 48 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/business/controller/FacilityEnvironmentController.java

@@ -0,0 +1,48 @@
+package com.lc.ibps.business.controller;
+
+import com.lc.ibps.api.base.constants.StateEnum;
+import com.lc.ibps.api.base.model.PartyEntity;
+import com.lc.ibps.api.base.model.User;
+import com.lc.ibps.base.core.util.AppUtil;
+import com.lc.ibps.base.core.util.I18nUtil;
+import com.lc.ibps.base.web.context.ContextUtil;
+import com.lc.ibps.business.service.FacilityEnvironmentService;
+import com.lc.ibps.cloud.entity.APIResult;
+import com.lc.ibps.cloud.provider.GenericProvider;
+import com.lc.ibps.org.api.IPartyPositionService;
+import com.lc.ibps.org.party.persistence.entity.PartyPositionPo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
+import org.hibernate.validator.constraints.NotBlank;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+@Api(tags = "获取设施环境报表数据")
+@RequestMapping("/facs/report")
+@RestController
+public class FacilityEnvironmentController  extends GenericProvider {
+
+    @Autowired
+    FacilityEnvironmentService facilityEnvironmentService;
+
+    @ApiOperation("获取设施环境每日处理情况报表")
+    @GetMapping("/daily")
+    APIResult<List<Map<String, Object>>> getDailySummary(@RequestParam(name = "buMen", required = false) String buMen){
+        APIResult<List<Map<String, Object>>> result = new APIResult<>();
+        try {
+
+            List<Map<String, Object>> summary = facilityEnvironmentService.getDailySummary(buMen);
+            result.setData(summary);
+        } catch (Exception e) {
+            setExceptionResult(result, StateEnum.ILLEGAL_REQUEST.getCode(), I18nUtil.getMessage(StateEnum.ILLEGAL_REQUEST.getCode() + ""), e);
+        }
+        return result;
+    }
+}

+ 8 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/business/service/FacilityEnvironmentService.java

@@ -0,0 +1,8 @@
+package com.lc.ibps.business.service;
+
+import java.util.List;
+import java.util.Map;
+
+public interface FacilityEnvironmentService {
+    List<Map<String, Object>> getDailySummary( String buMen);
+}

+ 41 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/business/service/impl/FacilityEnvironmentServiceImpl.java

@@ -0,0 +1,41 @@
+package com.lc.ibps.business.service.impl;
+
+import com.lc.ibps.base.core.util.AppUtil;
+import com.lc.ibps.base.core.util.Collections;
+import com.lc.ibps.base.framework.table.ICommonDao;
+import com.lc.ibps.base.web.context.ContextUtil;
+import com.lc.ibps.business.service.FacilityEnvironmentService;
+import com.lc.ibps.cloud.entity.APIResult;
+import com.lc.ibps.org.api.IPartyPositionService;
+import com.lc.ibps.org.party.persistence.entity.PartyPositionPo;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Service
+public class FacilityEnvironmentServiceImpl implements FacilityEnvironmentService {
+    @Resource
+    private ICommonDao<?> commonDao;
+    @Override
+    public List<Map<String, Object>> getDailySummary(String buMen) {
+        if(StringUtils.isEmpty(buMen)){
+            String userId = ContextUtil.getCurrentUserId();
+            IPartyPositionService partyPositionService = AppUtil.getBean(IPartyPositionService.class);
+            APIResult<List<PartyPositionPo>> result1 = partyPositionService.findByUserId(userId);
+            if(result1.isFailed() || Collections.isEmpty(result1.getData())){
+                throw new IllegalArgumentException("buMen not match!");
+            }
+            buMen = result1.getData().stream().map(n -> n.getId()).collect(Collectors.joining(","));
+
+        }
+        String fetchSql =  "SELECT facs_type,pos.name_,COUNT(shi_fou_guo_shen_='待处理'  OR NULL ) AS todo,COUNT(shi_fou_guo_shen_='已完成'  OR NULL) AS done " +
+                "   FROM v_facs_summary_daily facs, ibps_party_position pos " +
+                "   WHERE FIND_IN_SET(bian_zhi_bu_men_,'%s') AND facs.bian_zhi_bu_men_=pos.id_ " +
+                "   GROUP BY facs_type,bian_zhi_bu_men_ ORDER BY facs_type";
+        return (List<Map<String, Object>>)commonDao.query(String.format(fetchSql,buMen));
+    }
+}