diff --git a/src/main/java/mjkf/xinke/main/common/generator/DataDbMpGenerator.java b/src/main/java/mjkf/xinke/main/common/generator/DataDbMpGenerator.java index 426ad1b..7ab588e 100644 --- a/src/main/java/mjkf/xinke/main/common/generator/DataDbMpGenerator.java +++ b/src/main/java/mjkf/xinke/main/common/generator/DataDbMpGenerator.java @@ -21,7 +21,7 @@ public class DataDbMpGenerator { private static String password = "Xxs123456"; private static String schema = "material_manage"; private static String[] tableList = { - "LOCAL_MATERIAL", + "ASPHALT_MODIFIER", }; diff --git a/src/main/java/mjkf/xinke/main/constant/MaterialTaskType.java b/src/main/java/mjkf/xinke/main/constant/MaterialTaskType.java index 40c1f23..e2b96da 100644 --- a/src/main/java/mjkf/xinke/main/constant/MaterialTaskType.java +++ b/src/main/java/mjkf/xinke/main/constant/MaterialTaskType.java @@ -35,6 +35,8 @@ public class MaterialTaskType { public static final Integer LOCAL_FINE_AGGREGATE = 905; // 细料石 public static final Integer LOCAL_COARSE_AGGREGATE = 906; // 粗料石 public static final Integer LOCAL_CLAY = 907; // 粘土 + // 辅材 + public static final Integer ASPHALT_MODIFIER = 1001; // 改性剂 public static final List list = List.of( MY_STEEL_REBAR, diff --git a/src/main/java/mjkf/xinke/main/dao/AsphaltModifierMapper.java b/src/main/java/mjkf/xinke/main/dao/AsphaltModifierMapper.java new file mode 100644 index 0000000..2638294 --- /dev/null +++ b/src/main/java/mjkf/xinke/main/dao/AsphaltModifierMapper.java @@ -0,0 +1,16 @@ +package mjkf.xinke.main.dao; + +import mjkf.xinke.main.model.db.AsphaltModifier; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 沥青改性剂 Mapper 接口 + *

+ * + * @author han0 + * @since 2023-12-14 + */ +public interface AsphaltModifierMapper extends BaseMapper { + +} diff --git a/src/main/java/mjkf/xinke/main/model/db/AsphaltModifier.java b/src/main/java/mjkf/xinke/main/model/db/AsphaltModifier.java new file mode 100644 index 0000000..77718b4 --- /dev/null +++ b/src/main/java/mjkf/xinke/main/model/db/AsphaltModifier.java @@ -0,0 +1,73 @@ +package mjkf.xinke.main.model.db; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDate; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; +import org.apache.poi.ss.usermodel.Row; + +/** + *

+ * 沥青改性剂 + *

+ * + * @author han0 + * @since 2023-12-14 + */ +@Getter +@Setter +@TableName("ASPHALT_MODIFIER") +@ApiModel(value = "AsphaltModifier对象", description = "沥青改性剂") +public class AsphaltModifier extends Model { + + private static final long serialVersionUID = 1L; + + @TableId(value = "ID", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("名称") + @TableField("`NAME`") + private String name; + + @ApiModelProperty("规格") + @TableField("SPEC") + private String spec; + + @ApiModelProperty("价格") + @TableField("PRICE") + private BigDecimal price; + + @ApiModelProperty("日期") + @TableField("`DATE`") + private LocalDate date; + + @Override + public Serializable pkVal() { + return this.id; + } + + public AsphaltModifier() {} + + public AsphaltModifier (Row row) { + this.setName(row.getCell(0).getStringCellValue()); + this.setSpec(""); + this.setPrice(BigDecimal.valueOf(row.getCell(1).getNumericCellValue())); + this.setDate(row.getCell(2).getLocalDateTimeCellValue().toLocalDate()); + } + + public AsphaltModifier update(AsphaltModifier item) { + this.setName(item.getName()); + this.setSpec(item.getSpec()); + this.setPrice(item.getPrice()); + this.setDate(item.getDate()); + return this; + } +} diff --git a/src/main/java/mjkf/xinke/main/service/AsphaltModifierService.java b/src/main/java/mjkf/xinke/main/service/AsphaltModifierService.java new file mode 100644 index 0000000..170a920 --- /dev/null +++ b/src/main/java/mjkf/xinke/main/service/AsphaltModifierService.java @@ -0,0 +1,64 @@ +package mjkf.xinke.main.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import mjkf.xinke.main.model.db.AsphaltModifier; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Service; + +import java.time.LocalDate; +import java.util.Map; + +@Service +public class AsphaltModifierService extends DataService, AsphaltModifier> { + public LambdaQueryWrapper indexQuery(AsphaltModifier data) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(AsphaltModifier::getName, data.getName()); + query.eq(AsphaltModifier::getSpec, data.getSpec()); + query.eq(AsphaltModifier::getDate, data.getDate()); + return query; + } + + public LambdaQueryWrapper trendQuery(Object obj, Integer year, Integer month) { + var data = (AsphaltModifier) obj; + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(AsphaltModifier::getName, data.getName()); + var date = LocalDate.of(year, month, 1); + query.between(AsphaltModifier::getDate, date, date.minusMonths(1)); + return query; + } + + public LambdaQueryWrapper getQuery(String keyWord, Integer year, Integer month, String materialId, String name) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + if (keyWord != null) { + query.and(e -> e + .like(AsphaltModifier::getName, keyWord) + ); + } + if (year != null) { + var date = LocalDate.of(year, month, 1); + query.between(AsphaltModifier::getDate, date, date.plusYears(1)); + } + if (month != null) { + var date = LocalDate.of(year, month, 1); + query.between(AsphaltModifier::getDate, date, date.plusMonths(1)); + } + if (name != null) { + query.like(AsphaltModifier::getName, name); + } + if (materialId != null) { +// query.eq(AsphaltModifier::getMaterialId, materialId); + } + return query; + } + + public LambdaQueryWrapper filterQuery(LambdaQueryWrapper query) { + return query; + } + + public AsphaltModifier getMapGroupingBy(Map item) { + var o = new AsphaltModifier(); + o.setName(item.get("name").toString()); + return o; + } +} + diff --git a/src/main/java/mjkf/xinke/main/service/MaterialTaskService.java b/src/main/java/mjkf/xinke/main/service/MaterialTaskService.java index 979b167..6e7fe16 100644 --- a/src/main/java/mjkf/xinke/main/service/MaterialTaskService.java +++ b/src/main/java/mjkf/xinke/main/service/MaterialTaskService.java @@ -50,6 +50,8 @@ public class MaterialTaskService extends ServiceImpl, M FujianSurveyService fujianSurveyService; @Resource LocalMaterialService localMaterialService; + @Resource + AsphaltModifierService asphaltModifierService; @Override public boolean save(MaterialTask data) { @@ -108,6 +110,8 @@ public class MaterialTaskService extends ServiceImpl, M list = fujianSurveyService.saveOrUpdateByIndexBatch(rows); } else if (MaterialTaskType.isLocalMaterial(data.getType())) { list = localMaterialService.saveOrUpdateByIndexBatch(rows); + } else if (data.getType().equals(MaterialTaskType.ASPHALT_MODIFIER)) { + list = asphaltModifierService.saveOrUpdateByIndexBatch(rows); } else { // todo 异常处理:未识别的类型 return false;