Browse Source

APP首页、月报、周报

张维明 2 tháng trước cách đây
mục cha
commit
ca7d62458c
21 tập tin đã thay đổi với 719 bổ sung15 xóa
  1. 16 1
      projects-service/src/main/java/com/rtrh/projects/modules/projects/dao/SubInfoDao.java
  2. 8 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/dto/QTDTO.java
  3. 6 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/RptContMapper.java
  4. 6 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/WorkbenchMapper.java
  5. 12 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/WorkbenchMapper.xml
  6. 13 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/service/SubRptContService.java
  7. 3 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/service/WorkBenchService.java
  8. 110 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubRptContServiceImpl.java
  9. 8 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/WorkBenchServiceImpl.java
  10. 5 0
      projects-service/src/main/java/com/rtrh/projects/modules/system/service/WeekAndMonthFileService.java
  11. 17 0
      projects-service/src/main/java/com/rtrh/projects/modules/system/service/impl/WeekAndMonthFileImpl.java
  12. 31 0
      projects-service/src/main/java/com/rtrh/projects/outapi/vo/SubMonthReportVO.java
  13. 1 1
      projects-service/src/main/java/com/rtrh/projects/outapi/vo/report/ListQueryVO.java
  14. 6 2
      projects/src/main/java/com/rtrh/projects/config/Swagger2Config.java
  15. 23 0
      projects/src/main/java/com/rtrh/projects/outapi/base/CrossFilter.java
  16. 200 5
      projects/src/main/java/com/rtrh/projects/outapi/controller/MonthReportApiController.java
  17. 172 4
      projects/src/main/java/com/rtrh/projects/outapi/controller/WeekReportApiController.java
  18. 68 0
      projects/src/main/java/com/rtrh/projects/outapi/controller/projects/ProjectsApiController.java
  19. 3 0
      projects/src/main/java/com/rtrh/projects/web/controller/aerial/api/SubAerialImgApiController.java
  20. 1 1
      projects/src/main/resources/spring-mvc.xml
  21. 10 1
      projects/src/main/webapp/WEB-INF/web.xml

+ 16 - 1
projects-service/src/main/java/com/rtrh/projects/modules/projects/dao/SubInfoDao.java

@@ -13,6 +13,8 @@ import java.util.Map;
 import java.util.Objects;
 import java.util.stream.Collectors;
 
+import com.rtrh.projects.outapi.vo.report.ListQueryVO;
+import org.apache.commons.lang3.StringUtils;
 import org.hibernate.criterion.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -284,6 +286,8 @@ public class SubInfoDao extends EntityServiceImpl<SubInfo> {
 		return this.queryForListBySql(sql.toString(), page);
 	}
 
+
+
 	@SuppressWarnings("unchecked")
 	public Map<String,Object> getSubAmountForWorkBentch(LoginUserVO vo){
 		/*StringBuffer preBaseSql = new StringBuffer();
@@ -565,7 +569,18 @@ public class SubInfoDao extends EntityServiceImpl<SubInfo> {
 		return (List<Map<String, Object>>) this.queryForObjListBySql(sql.toString());
 	}
 
-
+	public List<Map<String, Object>> gxjAppMonthReport(ListQueryVO vo){
+		StringBuffer sql = new StringBuffer();
+		sql.append(" SELECT id,sub_id subId,unit_id unitId,unit_desc unitDesc,indus_kind indusKind,sub_name subName,subject_id subjectId,status FROM `sub_info` where logic_delete_flag = 0 ");
+		if(StringUtils.isNotBlank(vo.getSubName())){
+			sql.append(" and sub_name like '%" + vo.getSubName() + "%' ");
+		}
+		if(StringUtils.isNotBlank(vo.getStatus())){
+			sql.append(" and indus_kind = '" + vo.getHyfl() + "' ");
+		}
+		sql.append(" ORDER BY create_time desc ");
+		return (List<Map<String, Object>>) this.queryForObjListBySql(sql.toString());
+	}
 
 	public Page pageTZ(Page page, LoginUserVO vo, SubInfoQueryTzVO queryVO) {
 		StringBuffer sql = new StringBuffer();

+ 8 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/dto/QTDTO.java

@@ -1,5 +1,6 @@
 package com.rtrh.projects.modules.projects.dto;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
@@ -10,11 +11,18 @@ import lombok.Data;
  */
 @Data
 public class QTDTO {
+    @ApiModelProperty("0-所有,1-重点项目")
     private String varlx;
+    @ApiModelProperty("年度")
     private String varyear;
+    @ApiModelProperty("按建设地点代码-区县")
     private String varqx;
+    @ApiModelProperty("4库")
     private String var4k;
+    @ApiModelProperty("规模id")
     private String vargm;
+    @ApiModelProperty("行业分类id")
     private String varhy;
+    @ApiModelProperty("登陆名")
     private String varlogin;
 }

+ 6 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/RptContMapper.java

@@ -78,4 +78,10 @@ public interface RptContMapper {
     List<RptCont> getContBySubId(@Param("subId") String subId, @Param("year") String year);
 
     List<RptCont> listByYear(@Param("year") int year);
+
+    @Select("select id, kj_month as kjMonth, sub_id as subId, amt, content, create_user_id as createUserId, create_time as createTime, last_update_user_id as lastUpdateUserId, last_update_time as lastUpdateTime, logic_delete_flag as logicDeleteFlag, last_update_userId as lastUpdateUserId, year, week, begin_date as beginDate, end_date as endDate, sub_plan_id as subPlanId, num_bl as numBl, kind, reason, amt_last as amtLast, amt_rt as amtRt, tc_date as tcDate, rt_date as rtDate, is_rt as isRt from sub_rpt_cont where id = #{id}")
+    RptCont getById(@Param("id") String id);
+
+    @Update("UPDATE sub_rpt_cont SET logic_delete_flag = '1' WHERE id = #{id} ")
+    void deleteById(@Param("id") String id);
 }

+ 6 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/WorkbenchMapper.java

@@ -5,12 +5,14 @@ import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
+import com.rtrh.projects.modules.projects.po.RptCont;
 import org.apache.ibatis.annotations.Param;
 
 import com.rtrh.core.repository.Page;
 import com.rtrh.core.repository.mybatis.MyBatisRepository;
 import com.rtrh.projects.modules.projects.vo.RptContQueryVO;
 import com.rtrh.projects.modules.projects.vo.SubChangeAgreeVO;
+import org.apache.ibatis.annotations.Select;
 
 @MyBatisRepository
 public interface WorkbenchMapper {
@@ -88,4 +90,8 @@ public interface WorkbenchMapper {
 												 @Param("isZj")String isZj, @Param("jsdd")String jsdd, @Param("minAmt")BigDecimal minAmt,@Param("maxAmt")BigDecimal maxAmt, @Param("kjMonth")String kjMonth,@Param("sortJh")String sortJh,
 												 @Param("sortSj")String sortSj,@Param("sortYc")String sortYc, @Param("beginMonth")String beginMonth, @Param("endMonth")String endMonth, @Param("hyfl")String hyfl, @Param("zjly")String zjly);
 
+	@Select("select id,kind,indu_id,remark from indu_config where kind = '1' ")
+	List<Map<String, Object>> getGxjInduConfig();
+
+	List<RptCont> monthReportGxj(@Param("year")String year, @Param("weekOrMonth") String weekOrMonth,@Param("kind") String kind);
 }

+ 12 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/WorkbenchMapper.xml

@@ -73,4 +73,16 @@
 		call total_dp_tzydfx_data2(#{year}, #{xmlx}, #{kind}, #{loginName}, #{isZj}, #{jsdd}, #{minAmt}, #{maxAmt},#{kjMonth}, #{sortJh}, #{sortSj}, #{sortYc}, #{beginMonth}, #{endMonth}, #{hyfl}, #{zjly})
 	</select>
 
+	<select id="monthReportGxj" resultType="com.rtrh.projects.modules.projects.po.RptCont">
+		select id,kj_month kjMonth,sub_id subId,amt,content,year,week,kind from sub_rpt_cont where logic_delete_flag = 0
+		<if test="null != year and '' != year">
+			AND year = #{year}
+		</if>
+		<if test="null != weekOrMonth and '' != weekOrMonth">
+			AND week = #{weekOrMonth}
+		</if>
+		<if test="null != kind and '' != kind">
+			AND kind = #{kind}
+		</if>
+	</select>
 </mapper>

+ 13 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/SubRptContService.java

@@ -9,6 +9,8 @@ import com.rtrh.projects.modules.projects.enums.RptContKindEnum;
 import com.rtrh.projects.modules.projects.po.RptCont;
 import com.rtrh.projects.modules.projects.vo.*;
 import com.rtrh.projects.modules.system.vo.LoginUserVO;
+import com.rtrh.projects.outapi.vo.SubMonthReportVO;
+import com.rtrh.projects.outapi.vo.report.ListQueryVO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.web.bind.annotation.RequestBody;
 
@@ -22,6 +24,8 @@ public interface SubRptContService {
 
 	Page listQuery(Page page, RptContQueryVO queryVO);
 
+	List<SubMonthReportVO> gxjAppMonthReport(Page page, ListQueryVO queryVO, LoginUserVO loginUserVO);
+
 	List<Map<String,Object>> ListQueryWeekAndMonthAlarm(String loginName);
 
 	void saveReport(WeekContentVO vo, LoginUserVO loginUserVO, RptContKindEnum contKindEnum);
@@ -38,6 +42,13 @@ public interface SubRptContService {
 	 */
 	List<RptCont> getListBySubCurrYear(String subId, Integer year, RptContKindEnum contKindEnum);
 
+	/**
+	 * 工信局APP删除
+	 * @param id
+	 * @param loginName
+	 */
+	void appDel(String id,String loginName);
+
 	void del(String id,String loginName);
 
 	/**
@@ -183,4 +194,6 @@ public interface SubRptContService {
 	RptCont getBySubIdAndMonthFgw(String subId, String year, String week, RptContKindEnum contKindEnum);
 
 	List<RptCont> listByYear(int thisYear);
+
+	RptCont getBySubIdAndMonth(String subId,String year, String week, RptContKindEnum kind);
 }

+ 3 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/WorkBenchService.java

@@ -1,5 +1,6 @@
 package com.rtrh.projects.modules.projects.service;
 
+import com.rtrh.projects.modules.projects.po.RptCont;
 import com.rtrh.projects.modules.projects.vo.SubInfoQueryTzVO;
 import com.rtrh.projects.modules.system.vo.LoginUserVO;
 
@@ -65,4 +66,6 @@ public interface WorkBenchService {
 	void callSpTransKg(String subId,String loginName);
 
 	Map<String, Object> statisticData();
+
+	List<RptCont> monthReportGxj( String year,String weekOrMonth, String kind);
 }

+ 110 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubRptContServiceImpl.java

@@ -1,5 +1,6 @@
 package com.rtrh.projects.modules.projects.service.impl;
 
+import java.lang.reflect.Field;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
@@ -14,11 +15,15 @@ import com.google.common.base.CaseFormat;
 import com.rtrh.projects.modules.projects.enums.ProjectStatusEnum;
 import com.rtrh.projects.modules.projects.enums.SubIsHideStatusEnum;
 import com.rtrh.projects.modules.projects.mapper.*;
+import com.rtrh.projects.modules.projects.service.WorkBenchService;
 import com.rtrh.projects.modules.projects.vo.*;
 import com.rtrh.projects.modules.system.po.SecUser;
 import com.rtrh.projects.modules.system.service.SecUserService;
 import com.rtrh.projects.modules.utils.DateUtils;
+import com.rtrh.projects.outapi.vo.SubMonthReportVO;
+import com.rtrh.projects.outapi.vo.report.ListQueryVO;
 import com.rtrh.projects.util.TargetDataSource;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.ibatis.annotations.Param;
 import org.apache.commons.lang.StringUtils;
 import org.hibernate.criterion.Criterion;
@@ -74,6 +79,9 @@ public class SubRptContServiceImpl implements SubRptContService {
 	@Autowired
 	private SecUserService secUserService;
 
+	@Autowired
+	private WorkBenchService workBenchService;
+
 	private static final SimpleDateFormat MONTH_FORMAT = new SimpleDateFormat("yyyyMM");
 
 	@Override
@@ -109,6 +117,70 @@ public class SubRptContServiceImpl implements SubRptContService {
 		return page;
 	}
 
+
+	public static <T> List<T> convert(List<Map<String, Object>> mapList, Class<T> clazz) {
+		List<T> resultList = new ArrayList<>();
+		for (Map<String, Object> map : mapList) {
+			try {
+				T obj = clazz.getDeclaredConstructor().newInstance();
+				for (Map.Entry<String, Object> entry : map.entrySet()) {
+					String fieldName = entry.getKey();
+					Object fieldValue = entry.getValue();
+					try {
+						Field field = clazz.getDeclaredField(fieldName);
+						field.setAccessible(true);
+						field.set(obj, fieldValue);
+					} catch (NoSuchFieldException | IllegalAccessException e) {
+						// 处理异常,例如记录日志
+						e.printStackTrace();
+					}
+				}
+				resultList.add(obj);
+			} catch (Exception e) {
+				// 处理异常,例如记录日志
+				e.printStackTrace();
+			}
+		}
+		return resultList;
+	}
+
+
+
+	//工信局APP月报
+	@Override
+	public List<SubMonthReportVO> gxjAppMonthReport(Page page,ListQueryVO queryVO, LoginUserVO loginUserVO) {
+		List<Map<String, Object>> list = subInfoDao.gxjAppMonthReport(queryVO);
+		List<SubMonthReportVO> convert = convert(list, SubMonthReportVO.class);
+
+		List<Map<String, Object>> induConfigList = workbenchMapper.getGxjInduConfig();
+		List<String> induIdList = new ArrayList<>();
+		if(CollectionUtils.isNotEmpty(induConfigList)){
+			for(Map<String, Object> map : induConfigList){
+				induIdList.add(map.get("indu_id")+"");
+			}
+		}
+		String currUserUnitId = loginUserVO.getUnitId();
+		Boolean checkEdit = loginUserVO.getEdit();
+		// 定义日期格式
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月");
+		//判断如果是工业类项目
+		for(SubMonthReportVO vo : convert){
+			if (currUserUnitId.equals(vo.getUnitId() == null ? "" : vo.getUnitId()) || checkEdit == true) {
+				vo.setCheckEdit("1");
+			} else {
+				vo.setCheckEdit("0");
+			}
+			if(induIdList.contains(vo.getIndusKind())){
+				vo.setIndustry("1");
+			}else{
+				vo.setIndustry("0");
+			}
+			vo.setInputYearMonth(sdf.format(queryVO.getStartMonth()));
+		}
+		return convert;
+
+	}
+
 	@Override
 	public List<Map<String, Object>> ListQueryWeekAndMonthAlarm(String loginName) {
 		return workbenchMapper.getWeekAndMonthAlarm(loginName);
@@ -481,6 +553,38 @@ public class SubRptContServiceImpl implements SubRptContService {
 		}
 	}
 
+	@Override
+	@Transactional
+	@TargetDataSource("secondary")
+	public void appDel(String id,String loginName) {
+		RptCont rptCont = rptContMapper.getById(id);
+		if (RptContKindEnum.MONTH.getCode().equals(rptCont.getKind())){
+			//amt
+			if (BigDecimal.ZERO.compareTo(rptCont.getAmt()==null?BigDecimal.ZERO:rptCont.getAmt())!=0){
+				subDataLogService.saveOrUpdate(Identities.uuid(),rptCont.getSubId(), SubLogEnum.YB.getCode(), "amt","当月资金使用",rptCont.getKjMonth(),rptCont.getAmt()+"","",new BigDecimal(0).subtract(rptCont.getAmt()==null?new BigDecimal(0):rptCont.getAmt()),loginName,new Date(),"删除");
+			}
+			if (BigDecimal.ZERO.compareTo(rptCont.getNumBl()==null?BigDecimal.ZERO:rptCont.getNumBl())!=0){
+				//num_bl
+				subDataLogService.saveOrUpdate(Identities.uuid(),rptCont.getSubId(), SubLogEnum.YB.getCode(), "num_bl","当月进度比例",rptCont.getKjMonth(),rptCont.getNumBl()+"","",new BigDecimal(0).subtract(rptCont.getNumBl()==null?new BigDecimal(0):rptCont.getNumBl()),loginName,new Date(),"删除");
+			}
+			if (BigDecimal.ZERO.compareTo(rptCont.getAmtLast()==null?BigDecimal.ZERO:rptCont.getAmtLast())!=0){
+				//amt_last
+				subDataLogService.saveOrUpdate(Identities.uuid(),rptCont.getSubId(), SubLogEnum.YB.getCode(), "amt_last","下月资金预测",rptCont.getKjMonth(),rptCont.getAmtLast()+"","",new BigDecimal(0).subtract(rptCont.getAmtLast()==null?new BigDecimal(0):rptCont.getAmtLast()),loginName,new Date(),"删除");
+			}
+			if (BigDecimal.ZERO.compareTo(rptCont.getAmtRt()==null?BigDecimal.ZERO:rptCont.getAmtRt())!=0){
+				//amt_rt
+				subDataLogService.saveOrUpdate(Identities.uuid(),rptCont.getSubId(), SubLogEnum.YB.getCode(), "amt_rt","入统金额",rptCont.getKjMonth(),rptCont.getAmtRt()+"","",new BigDecimal(0).subtract(rptCont.getAmtRt()==null?new BigDecimal(0):rptCont.getAmtRt()),loginName,new Date(),"删除");
+			}
+			//amt_rt
+			subDataLogService.saveOrUpdate(Identities.uuid(),rptCont.getSubId(), SubLogEnum.YB.getCode(), "amt_rt","入统金额",rptCont.getKjMonth(),rptCont.getAmtRt()+"","",new BigDecimal(0).subtract(rptCont.getAmtRt()==null?new BigDecimal(0):rptCont.getAmtRt()),loginName,new Date(),"删除");
+		}
+		rptContMapper.deleteById(id);
+		//删除附件信息
+		weekAndMonthFileService.appDelList(id);
+	}
+
+
+
 	@Override
 	@Transactional
 	public void del(String id,String loginName) {
@@ -1997,4 +2101,10 @@ public class SubRptContServiceImpl implements SubRptContService {
 	public List<RptCont> listByYear(int year) {
 		return rptContMapper.listByYear(year);
 	}
+
+	@Override
+	@TargetDataSource("secondary")
+	public RptCont getBySubIdAndMonth(String subId,String year, String week, RptContKindEnum kind){
+		return rptContMapper.getBySubIdAndMonth(subId,year,week,kind.getCode());
+	}
 }

+ 8 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/WorkBenchServiceImpl.java

@@ -12,9 +12,11 @@ import java.util.stream.Collectors;
 import cn.hutool.core.date.DateUtil;
 import com.rtrh.projects.modules.projects.enums.SubInfoStatusEnum;
 import com.rtrh.projects.modules.projects.mapper.SubInfoMapper;
+import com.rtrh.projects.modules.projects.po.RptCont;
 import com.rtrh.projects.modules.projects.po.SubInfoGxj;
 import com.rtrh.projects.modules.projects.service.SubInfoService;
 import com.rtrh.projects.modules.projects.vo.SubInfoQueryTzVO;
+import com.rtrh.projects.util.TargetDataSource;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -126,4 +128,10 @@ public class WorkBenchServiceImpl implements WorkBenchService {
 		return map;
 	}
 
+	@Override
+	@TargetDataSource("secondary")
+	public List<RptCont> monthReportGxj( String year,String weekOrMonth, String kind) {
+		List<RptCont> rptConts = workbenchMapper.monthReportGxj( year,weekOrMonth, kind);
+		return rptConts;
+	}
 }

+ 5 - 0
projects-service/src/main/java/com/rtrh/projects/modules/system/service/WeekAndMonthFileService.java

@@ -36,4 +36,9 @@ public interface WeekAndMonthFileService {
      * @return
      */
     Page pageBySub(Page page, String type, String subId);
+    /**
+     * 工信局APP删除
+     * @param mainId
+     */
+    void appDelList(String mainId);
 }

+ 17 - 0
projects-service/src/main/java/com/rtrh/projects/modules/system/service/impl/WeekAndMonthFileImpl.java

@@ -7,6 +7,7 @@ import com.github.pagehelper.PageInfo;
 import com.rtrh.common.modules.filesystem.FileSystemEnum;
 import com.rtrh.projects.modules.system.mapper.WeekAndMonrhFileMapper;
 import com.rtrh.projects.util.TargetDataSource;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -107,6 +108,22 @@ public class WeekAndMonthFileImpl implements WeekAndMonthFileService {
        }
     }
 
+    /**
+     * 工信局APP删除
+     * @param mainId
+     */
+    @Override
+    @TargetDataSource("secondary")
+    public void appDelList(String mainId) {
+        List<WeekAndMonthFile> list = weekAndMonrhFileMapper.listByMainId(mainId);
+        for (WeekAndMonthFile weekAndMonthFile:list){
+            weekAndMonthFile.setLogicDeleteFlag(1);
+        }
+        if(CollectionUtils.isNotEmpty(list)){
+            weekAndMonrhFileMapper.saveOrUpdateAll(list);
+        }
+    }
+
 	@Override
     @TargetDataSource("secondary")
 	public Page pageBySub(Page page, String type, String subId) {

+ 31 - 0
projects-service/src/main/java/com/rtrh/projects/outapi/vo/SubMonthReportVO.java

@@ -0,0 +1,31 @@
+package com.rtrh.projects.outapi.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class SubMonthReportVO {
+    private String id;
+    @ApiModelProperty("项目ID")
+    private String subId;
+    @ApiModelProperty("申报单位ID")
+    private String unitId;
+    @ApiModelProperty("申报单位")
+    private String unitDesc;
+    @ApiModelProperty("项目名称")
+    private String subName;
+    @ApiModelProperty("责任主体")
+    private String subjectId;
+    @ApiModelProperty("行业类别")
+    private String indusKind;
+    @ApiModelProperty("1-储备 2-新建 3-在建 9-投产")
+    private String status;
+    @ApiModelProperty("是否编辑")
+    private String checkEdit;
+    @ApiModelProperty("是否工业类项目")
+    private String industry;
+    @ApiModelProperty("是否录入")
+    private String inputStatus;
+    @ApiModelProperty("录入年月")
+    private String inputYearMonth;
+}

+ 1 - 1
projects-service/src/main/java/com/rtrh/projects/outapi/vo/report/ListQueryVO.java

@@ -16,7 +16,7 @@ public class ListQueryVO {
 	private Date endMonth;
 	@ApiModelProperty("项目名称")
 	private String subName;
-	@ApiModelProperty("状态")
+	@ApiModelProperty("录入状态")
 	private String status;
 	@ApiModelProperty("行业")
 	private String hyfl;

+ 6 - 2
projects/src/main/java/com/rtrh/projects/config/Swagger2Config.java

@@ -1,4 +1,5 @@
 package com.rtrh.projects.config;
+import com.google.common.base.Predicates;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.web.servlet.config.annotation.EnableWebMvc;
@@ -20,7 +21,7 @@ public class Swagger2Config {
     /**
      * 对所有api扫描配置:controller路径
      */
-    private static final String BASE_PACKAGE = "com.rtrh.projects.outapi.controller";
+    private static final String BASE_PACKAGE = "";
     /**
      * Swagger2的配置文件:内容、扫描包等
      *
@@ -31,7 +32,10 @@ public class Swagger2Config {
         return new Docket(DocumentationType.SWAGGER_2)
                 .apiInfo(apiInfo())
                 .select()
-                .apis(RequestHandlerSelectors.basePackage(BASE_PACKAGE))
+                .apis(Predicates.or(RequestHandlerSelectors.basePackage("com.rtrh.projects.outapi.controller")
+//                        , RequestHandlerSelectors.basePackage("com.rtrh.projects.web.controller")
+                        )
+                )
                 .paths(PathSelectors.any())
                 .build();
     }

+ 23 - 0
projects/src/main/java/com/rtrh/projects/outapi/base/CrossFilter.java

@@ -0,0 +1,23 @@
+package com.rtrh.projects.outapi.base;
+
+import org.springframework.web.filter.OncePerRequestFilter;
+
+import javax.servlet.FilterChain;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+public class CrossFilter extends OncePerRequestFilter {
+    @Override
+    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
+        if (request.getHeader("Access-Control-Request-Method") != null && "OPTIONS".equals(request.getMethod())) {
+            // CORS "pre-flight" request
+            response.addHeader("Access-Control-Allow-Origin", "*");
+            response.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
+            response.addHeader("Access-Control-Allow-Headers", "Content-Type");
+            response.addHeader("Access-Control-Max-Age", "1800");//30 min
+        }
+        filterChain.doFilter(request, response);
+    }
+}

+ 200 - 5
projects/src/main/java/com/rtrh/projects/outapi/controller/MonthReportApiController.java

@@ -7,11 +7,17 @@ import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
+import com.rtrh.core.vo.Message;
+import com.rtrh.projects.modules.projects.service.WorkBenchService;
 import com.rtrh.projects.modules.projects.vo.SubInfoQueryTzVO;
 import com.rtrh.projects.modules.utils.DateUtils;
+import com.rtrh.projects.outapi.vo.SubMonthReportVO;
+import com.rtrh.projects.web.log.Log;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -68,6 +74,9 @@ public class MonthReportApiController extends BaseOutApiController {
     @Autowired
     private WeekAndMonthFileService weekAndMonthFileService;
 
+    @Autowired
+    private WorkBenchService workBenchService;
+
     /**
      * 月报列表
      *
@@ -81,7 +90,6 @@ public class MonthReportApiController extends BaseOutApiController {
      */
     @TokenAuthenticate
     @PostMapping("getList")
-    @ApiOperation("月报列表")
     public JsonResult queryReport(@RequestBody Page page, @RequestBody ListQueryVO vo) {
         JsonResult result = new JsonResult();
         LoginUserVO loginUserVO = jwtUtils.getUserInfo(getToken());
@@ -107,7 +115,71 @@ public class MonthReportApiController extends BaseOutApiController {
         return result;
     }
 
+    @TokenAuthenticate
+    @PostMapping("getMonthList/app")
+    @ApiOperation("工信局APP月报列表")
+    public JsonResult gxjAppMonthReport(@RequestBody Page page, @RequestBody ListQueryVO vo) {
+        JsonResult result = new JsonResult();
+        LoginUserVO loginUserVO = jwtUtils.getUserInfo(getToken());
+        try {
+            List<SubMonthReportVO> convert = subRptContService.gxjAppMonthReport(page, vo, loginUserVO);
+            int year = DateUtil.year(vo.getStartMonth());
+            int month = DateUtil.month(vo.getStartMonth())+1;
+            List<RptCont> rptConts = workBenchService.monthReportGxj(String.valueOf(year),String.valueOf(month), "1");
+    		Map<String, RptCont> rptMap = rptConts.stream().collect(Collectors.toMap(RptCont::getSubId, v -> v, (value, value2) -> value));
+            for(SubMonthReportVO reportVO : convert){
+                if(rptMap.containsKey(reportVO.getSubId())){
+                    reportVO.setInputStatus("1");
+                }else {
+                    reportVO.setInputStatus("0");
+                }
+            }
+            List<SubMonthReportVO> resultList = new ArrayList<SubMonthReportVO>();
+            if(StringUtils.isNotBlank(vo.getStatus())){
+                if("1".equals(vo.getStatus())){
+                    resultList.addAll(convert.stream().filter(f -> "1".equals(f.getInputStatus())).collect(Collectors.toList()));
+                }else if("0".equals(vo.getStatus())){
+                    resultList.addAll(convert.stream().filter(f -> "0".equals(f.getInputStatus())).collect(Collectors.toList()));
+                }else {
+                    resultList.addAll(convert);
+                }
+            }else {
+                resultList.addAll(convert);
+            }
+
+		    //手动分页
+		    List<SubMonthReportVO> paginate = paginate(resultList, page.getPageNo(), page.getPageSize());
+            result.setData("list", paginate);
+        } catch (Exception e) {
+            logger.error("", e);
+            result.setCode(ResultCode.SYSTEM_ERROR, e.getMessage());
+        }
+        return result;
+    }
 
+    /**
+     * 对 List 集合进行分页截取
+     * @param list 原始 List 集合
+     * @param pageNum 页码,从 1 开始
+     * @param pageSize 每页显示的数据数量
+     * @param <T> 集合元素的类型
+     * @return 截取后的分页数据
+     */
+    public static <T> List<T> paginate(List<T> list, int pageNum, int pageSize) {
+        if (list == null || list.isEmpty()) {
+            return new ArrayList<>();
+        }
+        // 计算起始索引
+        int startIndex = (pageNum - 1) * pageSize;
+        // 如果起始索引超出集合大小,返回空列表
+        if (startIndex >= list.size()) {
+            return new ArrayList<>();
+        }
+        // 计算结束索引
+        int endIndex = Math.min(startIndex + pageSize, list.size());
+        // 截取数据
+        return list.subList(startIndex, endIndex);
+    }
     @PostMapping(value = "/list")
     @TokenAuthenticate
     public JsonResult queryReportList(@RequestBody Page page, @RequestBody SubInfoQueryTzVO queryVO) {
@@ -149,7 +221,6 @@ public class MonthReportApiController extends BaseOutApiController {
      */
     @TokenAuthenticate
     @PostMapping("queryReportMonth")
-    @ApiOperation("查询指定项目的指定月份月报")
     public JsonResult queryReportMonth(@RequestBody ReportMonthVO monthVO) {
         JsonResult result = new JsonResult();
         try {
@@ -175,7 +246,6 @@ public class MonthReportApiController extends BaseOutApiController {
     @TokenAuthenticate
     @PostMapping("save")
 //    @Log("月报保存")
-    @ApiOperation("月报录入")
     public JsonResult saveReport(@RequestBody WeekContentVO vo) {
         JsonResult result = new JsonResult();
         LoginUserVO loginUserVO = jwtUtils.getUserInfo(getToken());
@@ -188,13 +258,46 @@ public class MonthReportApiController extends BaseOutApiController {
         return result;
     }
 
+    @PostMapping(value="/saveReport/app")
+    @ApiOperation("工信局APP月报保存")
+    public Message saveReportApp(@RequestBody WeekContentVO vo) {
+        Message res = new Message();
+        try {
+            LoginUserVO loginUserVO = jwtUtils.getUserInfo(getToken());
+            subRptContService.saveFgwReport(vo, loginUserVO, RptContKindEnum.MONTH);
+        } catch (Exception e) {
+            logger.error("",e);
+            res.addError(e.getMessage());
+        }
+        return res;
+    }
+
+    @PostMapping(value="/del/app")
+    @ApiOperation("工信局APP月报删除")
+    public JsonResult deleteReportApp(@RequestBody DelReportVO delVO) {
+        JsonResult result = new JsonResult();
+        LoginUserVO loginUserVO = jwtUtils.getUserInfo(getToken());
+        try {
+            String week = String.valueOf(DateUtil.month(delVO.getBeginDate()) + 1);
+            RptCont old = subRptContService.getBySubIdAndMonth(delVO.getSubId(), delVO.getYear(), week, RptContKindEnum.MONTH);
+            if (old != null) {
+                subRptContService.appDel(old.getId(), loginUserVO.getLoginName());
+            } else {
+                throw new RuntimeException("未发现月报信息");
+            }
+        } catch (Exception e) {
+            logger.error("", e);
+            result.setCode(ResultCode.SYSTEM_ERROR, e.getMessage());
+        }
+        return result;
+    }
+
     /**
      * 月报删除
      */
     @TokenAuthenticate
     @PostMapping("del")
 //    @Log("月报删除")
-    @ApiOperation("月报删除")
     public JsonResult del(@RequestBody DelReportVO delVO) {
         JsonResult result = new JsonResult();
         LoginUserVO loginUserVO = jwtUtils.getUserInfo(getToken());
@@ -214,12 +317,104 @@ public class MonthReportApiController extends BaseOutApiController {
     }
 
 
+
+    @TokenAuthenticate
+    @PostMapping("getById/app")
+    @ApiOperation("获取月报信息")
+    public JsonResult getByIdApp(@RequestBody ReportGetVO getVO) {
+        JsonResult result = new JsonResult();
+        LoginUserVO vo = jwtUtils.getUserInfo(getToken());
+        try {
+            //项目信息
+            String subId = getVO.getSubId();
+            SubInfo subInfo = subInfoService.getById(subId);
+            result.setData("subName", subInfo.getSubName());
+            result.setData("subId", subId);
+            Boolean checkEdit = vo.getEdit();
+            String currUserUnitId = vo.getUnitId();
+            if (currUserUnitId.equals(subInfo.getUnitId() == null ? "" : subInfo.getUnitId()) || checkEdit == true) {
+                result.setData("checkedit", "1");
+            } else {
+                result.setData("checkedit", "0");
+            }
+
+            JUnit jUnit = jUnitService.getById(subInfo.getMainId());
+            if (jUnit != null) {
+                result.setData("UnitName", jUnit.getTitle());
+            } else {
+                result.setData("UnitName", "");
+            }
+
+            String week = String.valueOf(DateUtil.month(getVO.getStartDate()) + 1);
+            RptCont old = subRptContService.getBySubIdAndMonth(subId, getVO.getYear(), week, RptContKindEnum.MONTH);
+            if (old != null) {
+                result.setData("amt", old.getAmt());
+                result.setData("content", old.getContent());
+                result.setData("kjMonth", old.getKjMonth());
+                result.setData("numBl", old.getNumBl());
+                result.setData("amtLast", old.getAmtLast());
+                result.setData("reason", old.getReason());
+                result.setData("amtRt", old.getAmtRt());
+            } else {
+                result.setData("MonthInfo", "");
+            }
+
+
+            String year_kj = getVO.getKjMonth().substring(0, 4);
+            String month = getVO.getKjMonth().substring(5, 7);
+
+
+            int yearNum = Integer.parseInt(year_kj);
+            int monthnum = Integer.parseInt(month);
+
+            Date date = new Date();
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+            String dateString = simpleDateFormat.format(date);
+            int yearNum1 = Integer.parseInt(dateString.substring(0, 4));
+            int monthNum1 = Integer.parseInt(dateString.substring(5, 7));
+
+            if (yearNum1 == yearNum) {
+                //现在小于  计划
+                if (monthnum > monthNum1) {
+                    result.setData("check", "0");
+                } else {
+                    result.setData("check", "1");
+                }
+            } else if (yearNum > yearNum1) {
+                result.setData("check", "0");
+            } else {
+                result.setData("check", "1");
+            }
+
+            //获取附件信息
+            if (old != null) {
+                List<WeekAndMonthFile> listFile = weekAndMonthFileService.listByMainIdFgw(old.getId());
+                List<WeekAndMonthFileVO> listfileVo = new ArrayList<>();
+                for (WeekAndMonthFile e : listFile) {
+                    WeekAndMonthFileVO weekAndMonthFileVO = new WeekAndMonthFileVO();
+                    weekAndMonthFileVO.setId(e.getId());
+                    weekAndMonthFileVO.setFileAddre(e.getFileAddre());
+                    weekAndMonthFileVO.setFileType(e.getFileType());
+                    weekAndMonthFileVO.setMainId(e.getMainId());
+                    weekAndMonthFileVO.setFileName(e.getFileName());
+                    weekAndMonthFileVO.setCreateTime(e.getCreateTime());
+                    weekAndMonthFileVO.setUrl(ApiStaticUrl.getImg(e.getFileAddre()));
+                    listfileVo.add(weekAndMonthFileVO);
+                }
+                result.setData("listFile", listfileVo);
+            }
+        } catch (Exception e) {
+            logger.error("", e);
+            result.setCode(ResultCode.SYSTEM_ERROR, e.getMessage());
+        }
+        return result;
+    }
+
     /**
      * 获取月报信息
      */
     @TokenAuthenticate
     @PostMapping("getById")
-    @ApiOperation("获取月报信息")
     public JsonResult getById(@RequestBody ReportGetVO getVO) {
         JsonResult result = new JsonResult();
         LoginUserVO vo = jwtUtils.getUserInfo(getToken());

+ 172 - 4
projects/src/main/java/com/rtrh/projects/outapi/controller/WeekReportApiController.java

@@ -1,12 +1,17 @@
 package com.rtrh.projects.outapi.controller;
 
 import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
+import com.rtrh.projects.modules.projects.service.WorkBenchService;
+import com.rtrh.projects.outapi.vo.SubMonthReportVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -70,6 +75,8 @@ public class WeekReportApiController extends BaseOutApiController {
     private WeekAndMonthFileService weekAndMonthFileService;
     @Autowired
     private  TSysTableService tSysTableService;
+    @Autowired
+    private WorkBenchService workBenchService;
 
     /**
      * 获取月报
@@ -90,7 +97,6 @@ public class WeekReportApiController extends BaseOutApiController {
 
     @TokenAuthenticate
     @PostMapping("getList")
-    @ApiOperation("项目周报列表")
     public JsonResult queryReport( @RequestBody ListQueryVO vo) {
         JsonResult result = new JsonResult();
         LoginUserVO loginUserVO = jwtUtils.getUserInfo(getToken());
@@ -126,8 +132,72 @@ public class WeekReportApiController extends BaseOutApiController {
         return result;
     }
 
+    @TokenAuthenticate
+    @PostMapping("getList/app")
+    @ApiOperation("工信局APP-项目周报列表")
+    public JsonResult queryReportApp(@RequestBody Page page, @RequestBody ListQueryVO vo) {
+        JsonResult result = new JsonResult();
+        LoginUserVO loginUserVO = jwtUtils.getUserInfo(getToken());
+        try {
+            List<SubMonthReportVO> convert = subRptContService.gxjAppMonthReport(page, vo, loginUserVO);
+            int year = DateUtil.year(vo.getStartMonth());
+            int week = DateUtil.weekOfYear(vo.getStartMonth());
+            //kind = 2为周报
+            List<RptCont> rptConts = workBenchService.monthReportGxj(String.valueOf(year),String.valueOf(week), "2");
+            Map<String, RptCont> rptMap = rptConts.stream().collect(Collectors.toMap(RptCont::getSubId, v -> v, (value, value2) -> value));
+            for(SubMonthReportVO reportVO : convert){
+                if(rptMap.containsKey(reportVO.getSubId())){
+                    reportVO.setInputStatus("1");
+                }else {
+                    reportVO.setInputStatus("0");
+                }
+            }
+            List<SubMonthReportVO> resultList = new ArrayList<SubMonthReportVO>();
+            if(StringUtils.isNotBlank(vo.getStatus())){
+                if("1".equals(vo.getStatus())){
+                    resultList.addAll(convert.stream().filter(f -> "1".equals(f.getInputStatus())).collect(Collectors.toList()));
+                }else if("0".equals(vo.getStatus())){
+                    resultList.addAll(convert.stream().filter(f -> "0".equals(f.getInputStatus())).collect(Collectors.toList()));
+                }else {
+                    resultList.addAll(convert);
+                }
+            }else {
+                resultList.addAll(convert);
+            }
 
+            //手动分页
+            List<SubMonthReportVO> paginate = paginate(resultList, page.getPageNo(), page.getPageSize());
+            result.setData("list", paginate);
+        } catch (Exception e) {
+            logger.error("", e);
+            result.setCode(ResultCode.SYSTEM_ERROR, e.getMessage());
+        }
+        return result;
+    }
 
+    /**
+     * 对 List 集合进行分页截取
+     * @param list 原始 List 集合
+     * @param pageNum 页码,从 1 开始
+     * @param pageSize 每页显示的数据数量
+     * @param <T> 集合元素的类型
+     * @return 截取后的分页数据
+     */
+    public static <T> List<T> paginate(List<T> list, int pageNum, int pageSize) {
+        if (list == null || list.isEmpty()) {
+            return new ArrayList<>();
+        }
+        // 计算起始索引
+        int startIndex = (pageNum - 1) * pageSize;
+        // 如果起始索引超出集合大小,返回空列表
+        if (startIndex >= list.size()) {
+            return new ArrayList<>();
+        }
+        // 计算结束索引
+        int endIndex = Math.min(startIndex + pageSize, list.size());
+        // 截取数据
+        return list.subList(startIndex, endIndex);
+    }
     @TokenAuthenticate
     @PostMapping("queryReportWeek")
     public JsonResult queryReportWeek(@RequestBody ReportMonthVO weekVO) {
@@ -148,7 +218,6 @@ public class WeekReportApiController extends BaseOutApiController {
     @TokenAuthenticate
     @PostMapping("save")
 //    @Log("周报保存")
-    @ApiOperation("周报录入")
     public JsonResult saveReport(@RequestBody WeekContentVO vo) {
         JsonResult result = new JsonResult();
         LoginUserVO loginUserVO = jwtUtils.getUserInfo(getToken());
@@ -161,13 +230,27 @@ public class WeekReportApiController extends BaseOutApiController {
         return result;
     }
 
+    @TokenAuthenticate
+    @PostMapping("save/app")
+    @ApiOperation("工信局APP-周报保存")
+    public JsonResult saveReportApp(@RequestBody WeekContentVO vo) {
+        JsonResult result = new JsonResult();
+        LoginUserVO loginUserVO = jwtUtils.getUserInfo(getToken());
+        try {
+            subRptContService.saveFgwReport(vo, loginUserVO, RptContKindEnum.WEEK);
+        } catch (Exception e) {
+            logger.error("",e);
+            result.setCode(ResultCode.SYSTEM_ERROR, e.getMessage());
+        }
+        return result;
+    }
+
     /**
      * 删除
      */
     @TokenAuthenticate
     @PostMapping("del")
 //    @Log("周报删除")
-    @ApiOperation("周报删除")
     public JsonResult del(@RequestBody DelReportVO delVO) {
         JsonResult result = new JsonResult();
         LoginUserVO loginUserVO = jwtUtils.getUserInfo(getToken());
@@ -186,6 +269,26 @@ public class WeekReportApiController extends BaseOutApiController {
         return result;
     }
 
+    @TokenAuthenticate
+    @PostMapping("del/app")
+    @ApiOperation("工信局APP-周报删除")
+    public JsonResult delApp(@RequestBody DelReportVO delVO) {
+        JsonResult result = new JsonResult();
+        LoginUserVO loginUserVO = jwtUtils.getUserInfo(getToken());
+        try {
+            String week = String.valueOf(DateUtil.weekOfYear(delVO.getBeginDate()));
+            RptCont old = subRptContService.getBySubIdAndMonth(delVO.getSubId(), delVO.getYear(), week, RptContKindEnum.WEEK);
+            if (old!=null){
+                subRptContService.appDel(old.getId(),loginUserVO.getLoginName());
+            }else {
+                throw new RuntimeException("未发现周报信息");
+            }
+        } catch (Exception e) {
+            logger.error("",e);
+            result.setCode(ResultCode.SYSTEM_ERROR, e.getMessage());
+        }
+        return result;
+    }
 
 
     /**
@@ -193,7 +296,6 @@ public class WeekReportApiController extends BaseOutApiController {
      */
     @TokenAuthenticate
     @PostMapping("getBySubId")
-    @ApiOperation("获取周报信息")
     public JsonResult getById(@RequestBody ReportGetVO getVO) {
         JsonResult result = new JsonResult();
         LoginUserVO vo = jwtUtils.getUserInfo(getToken());
@@ -256,4 +358,70 @@ public class WeekReportApiController extends BaseOutApiController {
         }
         return result;
     }
+
+    @TokenAuthenticate
+    @PostMapping("getBySubId/app")
+    @ApiOperation("工信局APP-获取周报信息")
+    public JsonResult getByIdApp(@RequestBody ReportGetVO getVO) {
+        JsonResult result = new JsonResult();
+        LoginUserVO vo = jwtUtils.getUserInfo(getToken());
+        try {
+            String subId = getVO.getSubId();
+            //项目信息
+            SubInfo subInfo= subInfoService.getById(subId);
+            SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
+
+            Boolean checkEdit=vo.getEdit();
+            String currUserUnitId = vo.getUnitId();
+            if (currUserUnitId.equals(subInfo.getUnitId() == null ? "" : subInfo.getUnitId()) || checkEdit == true) {
+                result.setData("checkedit", "1");
+            } else {
+                result.setData("checkedit", "0");
+            }
+
+            result.setData("subName",subInfo.getSubName());
+            result.setData("subId",subId);
+            JUnit jUnit= jUnitService.getById(subInfo.getMainId());
+            if (jUnit==null){
+                result.setData("UnitName","");
+            }else{
+                result.setData("UnitName",jUnit.getTitle());
+            }
+            //转换阶段
+            List<SubPlanVO> list=subPlanService.getPlanListBySubId(subId);
+            result.setData("subPlanList",list);
+
+
+            String week = String.valueOf(DateUtil.weekOfYear(getVO.getStartDate()));
+            RptCont old = subRptContService.getBySubIdAndMonth(subId, getVO.getYear(), week, RptContKindEnum.WEEK);
+            if (old!=null){
+                result.setData("weekInfo",old);
+                result.setData("qj",simpleDateFormat.format(old.getBeginDate()) +"至"+ simpleDateFormat.format(old.getEndDate()));
+            }else {
+                result.setData("weekInfo","");
+            }
+            //获取附件信息
+            if (old!=null){
+                List<WeekAndMonthFile> listFile=weekAndMonthFileService.listByMainIdFgw(old.getId());
+                List<WeekAndMonthFileVO> listfileVo=new ArrayList<>();
+                for (WeekAndMonthFile e : listFile) {
+                    WeekAndMonthFileVO weekAndMonthFileVO=new WeekAndMonthFileVO();
+                    weekAndMonthFileVO.setId(e.getId());
+                    weekAndMonthFileVO.setFileAddre(e.getFileAddre());
+                    weekAndMonthFileVO.setFileType(e.getFileType());
+                    weekAndMonthFileVO.setMainId(e.getMainId());
+                    weekAndMonthFileVO.setFileName(e.getFileName());
+                    weekAndMonthFileVO.setCreateTime(e.getCreateTime());
+                    weekAndMonthFileVO.setUrl(ApiStaticUrl.getImg(e.getFileAddre()));
+                    listfileVo.add(weekAndMonthFileVO);
+                }
+                result.setData("listFile",listfileVo);
+            }
+
+        } catch (Exception e) {
+            logger.error("",e);
+            result.setCode(ResultCode.SYSTEM_ERROR, e.getMessage());
+        }
+        return result;
+    }
 }

+ 68 - 0
projects/src/main/java/com/rtrh/projects/outapi/controller/projects/ProjectsApiController.java

@@ -13,6 +13,7 @@ import java.util.stream.Collectors;
 
 import com.rtrh.core.vo.ListMessage;
 import com.rtrh.core.vo.Message;
+import com.rtrh.projects.modules.projects.dto.QTDTO;
 import com.rtrh.projects.modules.projects.service.*;
 import com.rtrh.projects.modules.projects.vo.*;
 import com.rtrh.projects.modules.system.dao.JUnitDao;
@@ -111,6 +112,9 @@ public class ProjectsApiController extends BaseOutApiController {
     @Autowired
     private JUnitService unitService;
 
+    @Autowired
+    private QtService qtService;
+
     /**
      * 查看项目信息
      *
@@ -2057,4 +2061,68 @@ public class ProjectsApiController extends BaseOutApiController {
         return result;
     }
 
+
+    @TokenAuthenticate
+    @PostMapping("staticsManage/gxj/app")
+    @ApiOperation("工信局APP首页统计")
+    public JsonResult gxjAppStaticsManage(@RequestBody QTDTO dto) {
+        JsonResult result = new JsonResult();
+        try {
+            List<Map<String, Object>> data = qtService.getDPGxjQtData(dto);
+
+            result.setData(data);
+
+        } catch (Exception e) {
+            logger.error("", e);
+            result.setCode(ResultCode.SYSTEM_ERROR, e.getMessage());
+        }
+        return result;
+    }
+    @TokenAuthenticate
+    @PostMapping("staticsManage/hy/gxj/app")
+    @ApiOperation("工信局APP首页统计-行业")
+    public JsonResult gxjAppStaticsManageHy(@RequestBody QTDTO dto) {
+        JsonResult result = new JsonResult();
+        try {
+            List<Map<String, Object>> data = qtService.getDPGxjHyData(dto);
+            result.setData(data);
+
+        } catch (Exception e) {
+            logger.error("", e);
+            result.setCode(ResultCode.SYSTEM_ERROR, e.getMessage());
+        }
+        return result;
+    }
+
+    @TokenAuthenticate
+    @PostMapping("staticsManage/address/gxj/app")
+    @ApiOperation("工信局APP首页统计-地点")
+    public JsonResult gxjAppStaticsManageAddress(@RequestBody QTDTO dto) {
+        JsonResult result = new JsonResult();
+        try {
+            List<Map<String, Object>> data = qtService.getDPGxjAddreData(dto);
+            result.setData(data);
+
+        } catch (Exception e) {
+            logger.error("", e);
+            result.setCode(ResultCode.SYSTEM_ERROR, e.getMessage());
+        }
+        return result;
+    }
+
+    @TokenAuthenticate
+    @PostMapping("staticsManage/gm/gxj/app")
+    @ApiOperation("工信局APP首页统计-规模")
+    public JsonResult gxjAppStaticsManageGm(@RequestBody QTDTO dto) {
+        JsonResult result = new JsonResult();
+        try {
+            List<Map<String, Object>> data = qtService.getDPGxjGmData(dto);
+            result.setData(data);
+
+        } catch (Exception e) {
+            logger.error("", e);
+            result.setCode(ResultCode.SYSTEM_ERROR, e.getMessage());
+        }
+        return result;
+    }
 }

+ 3 - 0
projects/src/main/java/com/rtrh/projects/web/controller/aerial/api/SubAerialImgApiController.java

@@ -4,6 +4,8 @@ import java.util.List;
 
 import com.rtrh.projects.modules.projects.vo.SubAerialImgTypeVO;
 import com.rtrh.projects.web.log.Log;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -20,6 +22,7 @@ import com.rtrh.projects.web.controller.BaseController;
 
 @RestController
 @RequestMapping("/api/aerial")
+@Api(tags = "航拍图-API")
 public class SubAerialImgApiController extends BaseController {
 
 	@Autowired

+ 1 - 1
projects/src/main/resources/spring-mvc.xml

@@ -6,7 +6,7 @@
 	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
 	http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
 	http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
-	<context:component-scan base-package="com.rtrh.projects.outapi.controller" />
+<!--	<context:component-scan base-package="com.rtrh.projects.outapi.controller" />-->
 
 	<!-- 引入swagger相关 -->
 	<mvc:resources mapping="swagger-ui.html" location="classpath:/META-INF/resources/" />

+ 10 - 1
projects/src/main/webapp/WEB-INF/web.xml

@@ -194,7 +194,16 @@
 	        <param-value>USER_SESSION</param-value>
 	    </init-param>
 	</filter>
-    
+
+	<filter>
+		<filter-name>cors</filter-name>
+		<filter-class>com.rtrh.projects.outapi.base.CrossFilter</filter-class>
+	</filter>
+	<filter-mapping>
+		<filter-name>cors</filter-name>
+		<url-pattern>/*</url-pattern>
+	</filter-mapping>
+
 	<!-- Spring MVC Servlet -->
 	<servlet>
 		<servlet-name>springServlet</servlet-name>