fix: 修复公路局数据上传异常的问题

This commit is contained in:
han0
2025-03-21 09:00:45 +08:00
parent 67ed98a813
commit aadca1a6aa
30 changed files with 57 additions and 61 deletions

View File

@@ -7,8 +7,8 @@ import mjkf.xinke.main.common.http.FuHttpResponse;
import mjkf.xinke.main.constant.PricePublishType;
import mjkf.xinke.main.model.db.DataAdjacent;
import mjkf.xinke.main.model.db.PricePublish;
import mjkf.xinke.main.service.DataAdjacentService;
import mjkf.xinke.main.service.LocalMaterialService;
import mjkf.xinke.main.service.data.DataAdjacentService;
import mjkf.xinke.main.service.data.LocalMaterialService;
import mjkf.xinke.main.service.PricePublishService;
import mjkf.xinke.main.service.PriceResultService;
import org.springframework.web.bind.annotation.*;

View File

@@ -12,7 +12,7 @@ import mjkf.xinke.main.model.db.LocalMaterial;
import mjkf.xinke.main.model.vo.LocalMaterialCityAggr;
import mjkf.xinke.main.model.vo.LocalMaterialSummary;
import mjkf.xinke.main.modular.location.service.LocationService;
import mjkf.xinke.main.service.LocalMaterialService;
import mjkf.xinke.main.service.data.LocalMaterialService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

View File

@@ -86,6 +86,7 @@ public class DataNetwork extends Model<DataNetwork> {
public DataNetwork (Row row, MaterialTask task) {
var policy = Row.MissingCellPolicy.CREATE_NULL_AS_BLANK;
row.getCell(0, policy).setCellType(CellType.STRING);
row.getCell(5, policy).setCellType(CellType.NUMERIC);
this.setMaterialId(row.getCell(0, policy).getStringCellValue());
this.setName(row.getCell(1, policy).getStringCellValue().replace(" ", ""));
this.setSpec(row.getCell(2, policy).getStringCellValue().replace(" ", ""));
@@ -96,8 +97,8 @@ public class DataNetwork extends Model<DataNetwork> {
this.setRemark(row.getCell(7, policy).getStringCellValue());
this.setDate(LocalDate.of(task.getYear(), task.getMonth(), 1)); // 从任务获取日期
this.setRegion(MaterialTaskType.getRegion(task.getType()));
if (this.getName().isEmpty()) {
throw new IllegalArgumentException("名称为空");
if (this.getMaterialId().isEmpty()) {
throw new IllegalArgumentException("材料编码为空");
}
if (ObjectUtil.isEmpty(this.getPrice())) {
throw new IllegalArgumentException("缺少价格");

View File

@@ -91,8 +91,8 @@ public class FujianSurvey extends Model<FujianSurvey> {
this.setTax(((Double) row.getCell(6, policy).getNumericCellValue()).intValue());
this.setDate(LocalDate.of(task.getYear(), task.getMonth(), 1)); // 从任务获取日期
this.setRegion(MaterialTaskType.getRegion(task.getType()));
if (this.getName().isEmpty()) {
throw new IllegalArgumentException("名称为空");
if (this.getMaterialId().isEmpty()) {
throw new IllegalArgumentException("材料编码为空");
}
if (ObjectUtil.isEmpty(this.getPrice())) {
throw new IllegalArgumentException("缺少价格");

View File

@@ -77,6 +77,8 @@ public class FuzhouHighwayBureau extends Model<FuzhouHighwayBureau> {
public FuzhouHighwayBureau (Row row, MaterialTask task) {
var policy = Row.MissingCellPolicy.CREATE_NULL_AS_BLANK;
row.getCell(0, policy).setCellType(CellType.STRING);
row.getCell(5, policy).setCellType(CellType.NUMERIC);
this.setMaterialId(row.getCell(0, policy).getStringCellValue());
this.setName(row.getCell(1, policy).getStringCellValue().replace(" ", ""));
this.setSpec(row.getCell(2, policy).getStringCellValue().replace(" ", ""));
@@ -85,8 +87,8 @@ public class FuzhouHighwayBureau extends Model<FuzhouHighwayBureau> {
this.setPrice(BigDecimal.valueOf(row.getCell(5, policy).getNumericCellValue()));
this.setDate(LocalDate.of(task.getYear(), task.getMonth(), 1)); // 从任务获取日期
this.setRegion(MaterialTaskType.getRegion(task.getType()));
if (this.getName().isEmpty()) {
throw new IllegalArgumentException("名称为空");
if (this.getMaterialId().isEmpty()) {
throw new IllegalArgumentException("材料编号为空");
}
if (ObjectUtil.isEmpty(this.getPrice())) {
throw new IllegalArgumentException("缺少价格");

View File

@@ -113,8 +113,8 @@ public class LocalMaterial extends Model<LocalMaterial> {
this.setPosition(row.getCell(8, policy).getStringCellValue());
this.setRemark(row.getCell(9, policy).getStringCellValue());
this.setDate(LocalDate.of(task.getYear(), task.getMonth(), 1)); // 从任务获取日期
if (this.getName().isEmpty()) {
throw new IllegalArgumentException("名称为空");
if (this.getMaterialId().isEmpty()) {
throw new IllegalArgumentException("材料编码为空");
}
if (ObjectUtil.isEmpty(this.getPrice())) {
throw new IllegalArgumentException("缺少价格");

View File

@@ -11,7 +11,7 @@ import io.swagger.annotations.ApiOperation;
import mjkf.xinke.common.exception.CommonException;
import mjkf.xinke.main.model.db.LocalMaterial;
import mjkf.xinke.main.modular.location.param.*;
import mjkf.xinke.main.service.LocalMaterialService;
import mjkf.xinke.main.service.data.LocalMaterialService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

View File

@@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import mjkf.xinke.main.constant.MaterialTaskType;
import mjkf.xinke.main.service.data.*;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;

View File

@@ -9,6 +9,7 @@ import mjkf.xinke.main.constant.MaterialTaskType;
import mjkf.xinke.main.model.db.MaterialTask;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import mjkf.xinke.main.service.data.*;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;

View File

@@ -1,8 +1,9 @@
package mjkf.xinke.main.service;
package mjkf.xinke.main.service.data;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import mjkf.xinke.main.model.db.AsphaltDomestic;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import mjkf.xinke.main.service.data.DataService;
import org.springframework.stereotype.Service;
import java.time.LocalDate;

View File

@@ -1,4 +1,4 @@
package mjkf.xinke.main.service;
package mjkf.xinke.main.service.data;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import mjkf.xinke.main.model.db.AsphaltImported;

View File

@@ -1,4 +1,4 @@
package mjkf.xinke.main.service;
package mjkf.xinke.main.service.data;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import mjkf.xinke.main.model.db.AsphaltModifier;

View File

@@ -1,4 +1,4 @@
package mjkf.xinke.main.service;
package mjkf.xinke.main.service.data;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import mjkf.xinke.main.model.db.Cement;

View File

@@ -1,4 +1,4 @@
package mjkf.xinke.main.service;
package mjkf.xinke.main.service.data;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil;

View File

@@ -1,9 +1,8 @@
package mjkf.xinke.main.service;
package mjkf.xinke.main.service.data;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import mjkf.xinke.main.model.db.DataFujian;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import mjkf.xinke.main.model.db.DataNetwork;
import org.springframework.stereotype.Service;
import java.time.LocalDate;

View File

@@ -1,4 +1,4 @@
package mjkf.xinke.main.service;
package mjkf.xinke.main.service.data;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import mjkf.xinke.main.model.db.DataGuangdong;
@@ -9,6 +9,7 @@ import java.time.LocalDate;
import java.util.List;
import java.util.Map;
@Deprecated
@Service
public class DataGuangdongService extends DataService<BaseMapper<DataGuangdong>, DataGuangdong> {
public LambdaQueryWrapper<DataGuangdong> getQuery(String keyWord, Integer year, Integer month, String materialId, String name, Integer type) {

View File

@@ -1,8 +1,7 @@
package mjkf.xinke.main.service;
package mjkf.xinke.main.service.data;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import mjkf.xinke.main.constant.MaterialTaskType;
import mjkf.xinke.main.model.db.AsphaltModifier;
import mjkf.xinke.main.model.db.DataNetwork;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Service;
@@ -15,8 +14,7 @@ public class DataNetworkService extends DataService<BaseMapper<DataNetwork>, Dat
public LambdaQueryWrapper<DataNetwork> indexQuery(DataNetwork data) {
LambdaQueryWrapper<DataNetwork> query = new LambdaQueryWrapper<>();
query.eq(DataNetwork::getName, data.getName());
query.eq(DataNetwork::getSpec, data.getSpec());
query.eq(DataNetwork::getMaterialId, data.getMaterialId());
query.eq(DataNetwork::getDate, data.getDate());
query.eq(DataNetwork::getRegion, data.getRegion());
return query;
@@ -51,7 +49,7 @@ public class DataNetworkService extends DataService<BaseMapper<DataNetwork>, Dat
public DataNetwork getMapGroupingBy(Map item) {
var o = new DataNetwork();
o.setName(item.get("name").toString());
o.setMaterialId(item.get("Material_id").toString());
return o;
}

View File

@@ -1,4 +1,4 @@
package mjkf.xinke.main.service;
package mjkf.xinke.main.service.data;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;

View File

@@ -1,4 +1,4 @@
package mjkf.xinke.main.service;
package mjkf.xinke.main.service.data;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import mjkf.xinke.main.model.db.DataZhejiang;
@@ -9,8 +9,9 @@ import java.time.LocalDate;
import java.util.List;
import java.util.Map;
@Deprecated
@Service
public class DataZhejiangService extends DataService<BaseMapper<DataZhejiang>, DataZhejiang>{
public class DataZhejiangService extends DataService<BaseMapper<DataZhejiang>, DataZhejiang> {
public LambdaQueryWrapper<DataZhejiang> getQuery(String keyWord, Integer year, Integer month, String materialId, String name, Integer type) {

View File

@@ -1,8 +1,7 @@
package mjkf.xinke.main.service;
package mjkf.xinke.main.service.data;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import mjkf.xinke.main.constant.MaterialTaskType;
import mjkf.xinke.main.model.db.DataNetwork;
import mjkf.xinke.main.model.db.FujianSurvey;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Service;
@@ -14,8 +13,7 @@ import java.util.Map;
public class FujianSurveyService extends DataService<BaseMapper<FujianSurvey>, FujianSurvey> {
public LambdaQueryWrapper<FujianSurvey> indexQuery(FujianSurvey data) {
LambdaQueryWrapper<FujianSurvey> query = new LambdaQueryWrapper<>();
query.eq(FujianSurvey::getName, data.getName());
query.eq(FujianSurvey::getSpec, data.getSpec());
query.eq(FujianSurvey::getMaterialId, data.getMaterialId());
query.eq(FujianSurvey::getDate, data.getDate());
query.eq(FujianSurvey::getRegion, data.getRegion());
return query;
@@ -24,8 +22,7 @@ public class FujianSurveyService extends DataService<BaseMapper<FujianSurvey>, F
public LambdaQueryWrapper<FujianSurvey> trendQuery(Object obj, Integer year, Integer month) {
var data = (FujianSurvey) obj;
LambdaQueryWrapper<FujianSurvey> query = new LambdaQueryWrapper<>();
query.eq(FujianSurvey::getName, data.getName());
query.eq(FujianSurvey::getSpec, data.getSpec());
query.eq(FujianSurvey::getMaterialId, data.getMaterialId());
var date = LocalDate.of(year, month, 1);
query.between(FujianSurvey::getDate, date.minusYears(1), date.plusMonths(1));
query.orderByAsc(FujianSurvey::getDate);
@@ -68,8 +65,7 @@ public class FujianSurveyService extends DataService<BaseMapper<FujianSurvey>, F
public FujianSurvey getMapGroupingBy(Map item) {
var o = new FujianSurvey();
o.setName(item.get("name").toString());
o.setSpec(item.get("spec").toString());
o.setMaterialId(item.get("material_id").toString());
return o;
}
}

View File

@@ -1,8 +1,7 @@
package mjkf.xinke.main.service;
package mjkf.xinke.main.service.data;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import mjkf.xinke.main.constant.MaterialTaskType;
import mjkf.xinke.main.model.db.FujianSurvey;
import mjkf.xinke.main.model.db.FuzhouHighwayBureau;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Service;
@@ -15,8 +14,7 @@ public class FuzhouHighwayBureauService extends DataService<BaseMapper<FuzhouHig
public LambdaQueryWrapper<FuzhouHighwayBureau> indexQuery(FuzhouHighwayBureau data) {
LambdaQueryWrapper<FuzhouHighwayBureau> query = new LambdaQueryWrapper<>();
query.eq(FuzhouHighwayBureau::getName, data.getName());
query.eq(FuzhouHighwayBureau::getSpec, data.getSpec());
query.eq(FuzhouHighwayBureau::getMaterialId, data.getMaterialId());
query.eq(FuzhouHighwayBureau::getDate, data.getDate());
query.eq(FuzhouHighwayBureau::getRegion, data.getRegion());
return query;
@@ -25,8 +23,7 @@ public class FuzhouHighwayBureauService extends DataService<BaseMapper<FuzhouHig
public LambdaQueryWrapper<FuzhouHighwayBureau> trendQuery(Object obj, Integer year, Integer month) {
var data = (FuzhouHighwayBureau) obj;
LambdaQueryWrapper<FuzhouHighwayBureau> query = new LambdaQueryWrapper<>();
query.eq(FuzhouHighwayBureau::getName, data.getName());
query.eq(FuzhouHighwayBureau::getSpec, data.getSpec());
query.eq(FuzhouHighwayBureau::getMaterialId, data.getMaterialId());
var date = LocalDate.of(year, month, 1);
query.between(FuzhouHighwayBureau::getDate, date.minusYears(1), date.plusMonths(1));
query.orderByAsc(FuzhouHighwayBureau::getDate);
@@ -69,8 +66,7 @@ public class FuzhouHighwayBureauService extends DataService<BaseMapper<FuzhouHig
public FuzhouHighwayBureau getMapGroupingBy(Map item) {
var o = new FuzhouHighwayBureau();
o.setName(item.get("name").toString());
o.setSpec(item.get("spec").toString());
o.setMaterialId(item.get("material_id").toString());
return o;
}
}

View File

@@ -1,8 +1,7 @@
package mjkf.xinke.main.service;
package mjkf.xinke.main.service.data;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import mjkf.xinke.main.constant.MaterialTaskType;
import mjkf.xinke.main.model.db.FuzhouHighwayBureau;
import mjkf.xinke.main.model.db.FuzhouTransportationBureau;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Service;

View File

@@ -1,4 +1,4 @@
package mjkf.xinke.main.service;
package mjkf.xinke.main.service.data;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -36,9 +36,9 @@ public class LocalMaterialService extends DataService<BaseMapper<LocalMaterial>,
public LambdaQueryWrapper<LocalMaterial> indexQuery(LocalMaterial data) {
LambdaQueryWrapper<LocalMaterial> query = new LambdaQueryWrapper<>();
query.eq(LocalMaterial::getName, data.getName());
query.eq(LocalMaterial::getSpec, data.getSpec());
query.eq(LocalMaterial::getCity, data.getCity());
query.eq(LocalMaterial::getCounty, data.getCounty());
query.eq(LocalMaterial::getSpec, data.getSpec());
query.eq(LocalMaterial::getDate, data.getDate());
return query;
}

View File

@@ -1,4 +1,4 @@
package mjkf.xinke.main.service;
package mjkf.xinke.main.service.data;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import mjkf.xinke.main.model.db.Oil;

View File

@@ -1,4 +1,4 @@
package mjkf.xinke.main.service;
package mjkf.xinke.main.service.data;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import mjkf.xinke.main.model.db.SanmingSteel;
@@ -20,8 +20,6 @@ public class SanmingSteelService extends DataService<BaseMapper<SanmingSteel>, S
public LambdaQueryWrapper<SanmingSteel> trendQuery(Object obj, Integer year, Integer month) {
var data = (SanmingSteel) obj;
LambdaQueryWrapper<SanmingSteel> query = new LambdaQueryWrapper<>();
query.eq(SanmingSteel::getName, data.getName());
query.eq(SanmingSteel::getSpec, data.getSpec());
query.eq(SanmingSteel::getMaterial, data.getMaterial());
var date = LocalDate.of(year, month, 1);
query.between(SanmingSteel::getDate, date.minusYears(1), date.plusMonths(1));
@@ -63,8 +61,6 @@ public class SanmingSteelService extends DataService<BaseMapper<SanmingSteel>, S
public SanmingSteel getMapGroupingBy(Map item) {
var o = new SanmingSteel();
o.setName(item.get("name").toString());
o.setSpec(item.get("spec").toString());
o.setMaterial(item.get("material").toString());
return o;
}

View File

@@ -1,16 +1,13 @@
package mjkf.xinke.main.service;
package mjkf.xinke.main.service.data;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import mjkf.xinke.main.model.db.SteelPlate;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.poi.ss.usermodel.Row;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
@Deprecated

View File

@@ -1,4 +1,4 @@
package mjkf.xinke.main.service;
package mjkf.xinke.main.service.data;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import mjkf.xinke.main.model.db.SteelRebar;

View File

@@ -1,8 +1,9 @@
package mjkf.xinke.main.service;
package mjkf.xinke.main.service.data;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import mjkf.xinke.main.model.db.SteelSection;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import mjkf.xinke.main.service.data.DataService;
import org.springframework.stereotype.Service;
import java.time.LocalDate;

View File

@@ -1,4 +1,4 @@
package mjkf.xinke.main.service;
package mjkf.xinke.main.service.data;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import mjkf.xinke.main.model.db.SteelStrand;

View File

@@ -0,0 +1,6 @@
UPDATE MATERIAL SET ROUND_BIT = 0, ROUND_METHOD = 'normal' WHERE ID IN ('2001001', '2001002', '2001008', '2003004', '2003005', '2003005001', '3001001002', '3001001001', '3001002002', '3001002001', '5509001', '5509002', '5509003', '2001003', '2001006', '2001013', '2001019', '2001025', '2001026', '2003006', '2003007', '2003012', '2003008', '2003009', '2003015', '2003016', '2003017001', '2003017002', '2003021', '2003022', '2004004', '4003001001', '4003001002', '4003002001', '4003002002', '4005001', '6001059', '6001071', '6001080', '6001086', '6001089', '6001092', '6002001', '6002002', '6002003', '6002004', '6002005', '6002006', '6003001', '6003003', '6005005', '6005009', '6005015', '6007002');
UPDATE MATERIAL SET ROUND_BIT = 2, ROUND_METHOD = 'none' WHERE ID IN ('3003002001', '3003002002', '3003003', '5007003001');
UPDATE MATERIAL SET ROUND_BIT = 1, ROUND_METHOD = 'none' WHERE ID IN ('2005002', '2009028', '2009033', '5005001', '5005002', '5005003', '5005006', '5005007', '5005009', '5006001', '5006002', '5009002', '6001002', '6001003');
DROP INDEX Idx_key ON data_fujian;
DROP INDEX Idx_key ON fuzhou_highway_bureau;