ソースを参照

增加质量季报模块相关接口、上传配置

chenwen 1 年間 前
コミット
3396cf54d6

+ 82 - 0
src/main/java/com/hb/proj/analysis/controller/WellQualityRptController.java

@@ -0,0 +1,82 @@
+package com.hb.proj.analysis.controller;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.hb.proj.allconfig.AccessToken;
+import com.hb.proj.analysis.service.WellQualityRptService;
+import com.hb.proj.model.WellQualityRptPO;
+import com.hb.proj.model.WellQualityRptVO;
+import com.hb.proj.utils.RequestParams;
+import com.hb.proj.utils.RespVO;
+import com.hb.proj.utils.RespVOBuilder;
+import com.hb.xframework.dao.util.PageModel;
+
+import jakarta.validation.constraints.NotBlank;
+
+@RestController
+@RequestMapping("/analysis/quality")
+@Validated
+public class WellQualityRptController {
+
+	@Autowired
+	private WellQualityRptService  service;
+	
+	
+	/**
+	 * 分页查询质量季报
+	 * @param params
+	 * @param pageNum
+	 * @param pageSize
+	 * @return
+	 */
+	@RequestMapping("/query")
+	public RespVO<PageModel<WellQualityRptVO>> query(RequestParams params,
+			@RequestParam(value = "currentPage", defaultValue = "1") Integer pageNum,
+			@RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize) {
+		return RespVOBuilder.ok(service.query(params.getObjectMap(), pageNum, pageSize));
+	}
+	
+	
+	/**
+	 * 根据记录号删除记录(逻辑删除)
+	 * @param id
+	 * @return
+	 */
+	@RequestMapping("/delete")
+	public RespVO<Object> delete(String recordId){
+		service.delete(recordId);
+		return RespVOBuilder.ok();
+	}
+	
+	
+	/**
+	 * 增加质量季报上传记录
+	 * @param analysis
+	 * @param token
+	 * @return
+	 */
+	@RequestMapping("/add")
+	public RespVO<String> add(@Validated  WellQualityRptPO quality,AccessToken token){
+		 if(service.existSame(quality)) {
+			 return RespVOBuilder.error("该质量季报已存在,请勿重复添加");
+		 }
+		 quality.setCreateBy(token.getUsName());
+		 service.add(quality);
+		 return RespVOBuilder.ok();
+		
+	}
+	
+	/**
+	 * 查看单个质量季报记录
+	 * @param recordId
+	 * @return
+	 */
+	@RequestMapping("/view")
+	public WellQualityRptVO view(@NotBlank(message="缺少记录号") String recordId){
+		return service.view(recordId);
+	}
+}

+ 81 - 0
src/main/java/com/hb/proj/analysis/service/WellQualityRptService.java

@@ -0,0 +1,81 @@
+package com.hb.proj.analysis.service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.hb.proj.model.WellQualityRptPO;
+import com.hb.proj.model.WellQualityRptVO;
+import com.hb.xframework.dao.core.SpringJdbcDAO;
+import com.hb.xframework.dao.util.PageModel;
+import com.hb.xframework.dao.util.UUIDHexGenerator;
+
+@Service
+public class WellQualityRptService {
+
+	@Autowired
+	private SpringJdbcDAO  dao;
+	
+	
+	public PageModel<WellQualityRptVO> query(Map<String,Object> args,int pageNo,int pageSize){
+		List<Object> sqlParams=new ArrayList<Object>();
+		StringBuilder sql=new StringBuilder(100);
+		sql.append("select w.well_name,f.access_path,d.* ");
+		sql.append(" from tzl_quality_rpt d ");
+		sql.append(" left join tzl_well w on d.well_id=w.well_id and w.del_if=false");
+		sql.append(" left join tsys_file_info f on d.file_id=f.file_id");
+		sql.append(" where d.del_if=false ");
+		
+		if(args!=null&&StringUtils.isNotBlank((String)args.get("wellId"))) {
+			sql.append(" and d.well_id=?");
+			sqlParams.add(args.get("wellId"));
+		}
+	
+		
+		if(args!=null && StringUtils.isNotBlank((String)args.get("year"))) {
+			sql.append(" and  d.rpt_quarter like ? ");
+			sqlParams.add(args.get("year")+"%");
+		}
+		
+		
+		
+		sql.append(" order by rpt_quarter desc");
+		
+		Object[] sqlArgs=sqlParams.size()>0?sqlParams.toArray():null;
+		return dao.queryForPagedData(sql.toString(),pageNo, pageSize,WellQualityRptVO.class ,sqlArgs);
+	}
+	
+	public void add(WellQualityRptPO qualityPO) {
+		UUIDHexGenerator  uuid=UUIDHexGenerator.getInstance();
+		qualityPO.setRecordId(uuid.generate());
+		qualityPO.setDelIf(false);
+		qualityPO.setCreateTime(new Date());
+		dao.insert(qualityPO, "tzl_quality_rpt");
+	}
+	
+	public void delete(String recordId) {
+		dao.exeUpdate("update tzl_quality_rpt set del_if=true where record_id=?", recordId);
+	}
+	
+	public WellQualityRptVO  view(String recordId) {
+		String sql="""
+				select access_path
+				from tsys_file_info where file_id=(select file_id from tzl_quality_rpt where del_if=false and record_id=? limit 1)
+				""";
+		return dao.queryForPojo(sql, WellQualityRptVO.class, recordId);
+	}
+	
+	public boolean existSame(WellQualityRptPO quality) {
+		String sql="""
+				select count(1) from tzl_quality_rpt
+				where del_if=false and well_id=? and rpt_quarter=?
+				""";
+		int num=dao.queryForObject(sql, Integer.class, quality.getWellId(),quality.getRptQuarter());
+		return num>0;
+	}
+}

+ 28 - 0
src/main/java/com/hb/proj/model/WellQualityRptPO.java

@@ -0,0 +1,28 @@
+package com.hb.proj.model;
+
+import java.util.Date;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+
+@Data
+public class WellQualityRptPO {
+	
+	
+	private String recordId;
+
+	@NotBlank(message="缺少井号")
+	private String wellId;
+	
+	
+	private String fileId;
+	
+	private Date createTime;
+	
+	private String createBy;
+	
+	private Boolean delIf;
+	
+	private String rptQuarter;
+	
+}

+ 13 - 0
src/main/java/com/hb/proj/model/WellQualityRptVO.java

@@ -0,0 +1,13 @@
+package com.hb.proj.model;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@Data
+@EqualsAndHashCode(callSuper=false)
+public class WellQualityRptVO extends WellQualityRptPO {
+
+    private String wellName;
+	
+	private String accessPath;
+}

+ 6 - 0
src/main/resources/application-dev.properties

@@ -10,6 +10,10 @@ server.servlet.encoding.charset=UTF-8
 server.servlet.encoding.enabled=true
 server.servlet.encoding.force=true
 
+#upload file size limit
+spring.servlet.multipart.max-file-size=10MB
+spring.servlet.multipart.max-request-size=10MB
+
 #语言国际化配置
 spring.messages.active=false
 spring.messages.encoding=UTF-8
@@ -61,3 +65,5 @@ sys.admin.pwd=2f459bf76f471ff9753caffd1be02bac
 
 #gather api url
 gather.api.url=http://127.0.0.1:8090/zl-opd-gather
+
+

+ 4 - 0
src/main/resources/application-pro.properties

@@ -10,6 +10,10 @@ server.servlet.encoding.charset=UTF-8
 server.servlet.encoding.enabled=true
 server.servlet.encoding.force=true
 
+#upload file size limit
+spring.servlet.multipart.max-file-size=10MB
+spring.servlet.multipart.max-request-size=10MB
+
 #语言国际化配置
 spring.messages.active=false
 spring.messages.encoding=UTF-8