Compare commits
10 Commits
8880308998
...
5d2770f4de
Author | SHA1 | Date | |
---|---|---|---|
![]() |
5d2770f4de | ||
![]() |
179a14f26b | ||
![]() |
cf954a0a43 | ||
![]() |
62fb1dc3ce | ||
![]() |
080a5480b7 | ||
![]() |
1ac7bbfe4d | ||
![]() |
26f02dfa80 | ||
![]() |
659bb50ad1 | ||
![]() |
8b2c6db242 | ||
![]() |
04e6021156 |
41
.gitea/.m2/settings.xml
Normal file
41
.gitea/.m2/settings.xml
Normal file
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
|
||||
<localRepository>.m2/repository</localRepository>
|
||||
<pluginGroups>
|
||||
</pluginGroups>
|
||||
|
||||
<proxies>
|
||||
</proxies>
|
||||
|
||||
<mirrors>
|
||||
<mirror>
|
||||
<id>maven-public</id>
|
||||
<mirrorOf>*</mirrorOf>
|
||||
<name>maven-public</name>
|
||||
<url>https://maven.aliyun.com/repository/public</url>
|
||||
</mirror>
|
||||
</mirrors>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>jdk-8</id>
|
||||
<activation>
|
||||
<activeByDefault>true</activeByDefault>
|
||||
<jdk>8</jdk>
|
||||
</activation>
|
||||
<properties>
|
||||
<maven.compiler.source>8</maven.compiler.source>
|
||||
<maven.compiler.target>8</maven.compiler.target>
|
||||
<maven.compiler.compilerVersion>8</maven.compiler.compilerVersion>
|
||||
</properties>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<activeProfiles>
|
||||
<activeProfile>jdk-8</activeProfile>
|
||||
</activeProfiles>
|
||||
|
||||
</settings>
|
51
.gitea/workflows/ci.yaml
Normal file
51
.gitea/workflows/ci.yaml
Normal file
@@ -0,0 +1,51 @@
|
||||
name: ci
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- test
|
||||
|
||||
env:
|
||||
MAVEN_OPTS: >-
|
||||
-Dhttps.protocols=TLSv1.2
|
||||
-Dmaven.repo.local=${{ github.workspace }}/.m2/repository
|
||||
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN
|
||||
-Dorg.slf4j.simpleLogger.showDateTime=true
|
||||
-Djava.awt.headless=true
|
||||
MAVEN_CLI_OPTS: >-
|
||||
--batch-mode --errors --fail-at-end --show-version
|
||||
--settings ${{ github.workspace }}/.gitea/.m2/settings.xml
|
||||
-DinstallAtEnd=true -DdeployAtEnd=true
|
||||
DEPLOY_PATH: /home/opt/app/material-manage-service
|
||||
DEPLOY_TEST_HOST_IP: 172.17.0.1
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: python:3.7.16
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
run: |
|
||||
git clone --depth 1 "http://test:89085111dd6939710a992d6404bd61a50e420685@8.138.239.222:20300/${GITHUB_REPOSITORY}.git" .
|
||||
git checkout "${GITHUB_SHA}"
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
mvn $MAVEN_CLI_OPTS clean compile package -Dmaven.test.skip=true $MAVEN_OPTS
|
||||
|
||||
- name: Deploy
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
chmod 700 ~/.ssh
|
||||
echo "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
|
||||
echo "${{ secrets.DEPLOY_SSH_KEY }}" > ~/.ssh/id_rsa
|
||||
chmod 600 ~/.ssh/id_rsa
|
||||
ssh -o StrictHostKeyChecking=no root@$DEPLOY_TEST_HOST_IP "mkdir -p $DEPLOY_PATH"
|
||||
ssh root@$DEPLOY_TEST_HOST_IP "rm -f $DEPLOY_PATH/*.jar"
|
||||
scp target/material-manage-service-*-SNAPSHOT.jar root@$DEPLOY_TEST_HOST_IP:$DEPLOY_PATH/
|
||||
ssh root@$DEPLOY_TEST_HOST_IP "mv $DEPLOY_PATH/material-manage-service-*-SNAPSHOT.jar $DEPLOY_PATH/app.jar"
|
||||
scp docker-compose.test.yml root@$DEPLOY_TEST_HOST_IP:$DEPLOY_PATH/
|
||||
ssh root@$DEPLOY_TEST_HOST_IP "mv $DEPLOY_PATH/docker-compose.test.yml $DEPLOY_PATH/docker-compose.yml"
|
||||
ssh root@$DEPLOY_TEST_HOST_IP "cd $DEPLOY_PATH && docker compose up -d --force-recreate"
|
@@ -14,3 +14,9 @@ services:
|
||||
environment:
|
||||
- TZ="Asia/Shanghai"
|
||||
entrypoint: java -server -Xms256m -Xmx256m -jar app.jar --spring.profiles.active=test
|
||||
networks:
|
||||
- server
|
||||
|
||||
networks:
|
||||
server:
|
||||
external: true
|
||||
|
@@ -21,6 +21,7 @@ public interface DataToolApi {
|
||||
@GET("/data/collect")
|
||||
Call<NcHttpResponse<String>> collect(
|
||||
@Query(value = "year") Integer year,
|
||||
@Query(value = "month") Integer month
|
||||
@Query(value = "month") Integer month,
|
||||
@Query(value = "only_avg") Integer onlyAvg
|
||||
);
|
||||
}
|
||||
|
@@ -32,8 +32,8 @@ public class DataToolService implements ApiService<DataToolApi> {
|
||||
return response;
|
||||
}
|
||||
|
||||
public NcHttpResponse<String> collect (Integer year, Integer month) throws Exception {
|
||||
var call = this.api.collect(year, month);
|
||||
public NcHttpResponse<String> collect (Integer year, Integer month, Integer onlyAvg) throws Exception {
|
||||
var call = this.api.collect(year, month, onlyAvg);
|
||||
var response = this.getResponse(call).body();
|
||||
return response;
|
||||
}
|
||||
|
@@ -237,14 +237,17 @@ public class MaterialTaskType {
|
||||
*/
|
||||
public static boolean isNetworkPrice(Integer type) {
|
||||
var types = List.of(
|
||||
FUZHOU_NETWORK,
|
||||
LONGYAN_NETWORK,
|
||||
NANPING_NETWORK,
|
||||
NINGDE_NETWORK,
|
||||
PINTAN_NETWORK,
|
||||
PUTIAN_NETWORK,
|
||||
QUANZHOU_NETWORK,
|
||||
SANMING_NETWORK
|
||||
FUZHOU_NETWORK,
|
||||
LONGYAN_NETWORK,
|
||||
NANPING_NETWORK,
|
||||
NINGDE_NETWORK,
|
||||
PINTAN_NETWORK,
|
||||
PUTIAN_NETWORK,
|
||||
QUANZHOU_NETWORK,
|
||||
SANMING_NETWORK,
|
||||
XIAMEN_NETWORK,
|
||||
ZHANGZHOU_NETWORK,
|
||||
ZHANGZHOUKFQ_NETWORK
|
||||
);
|
||||
return types.contains(type);
|
||||
}
|
||||
|
@@ -1,5 +1,6 @@
|
||||
package mjkf.xinke.main.controller;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.jgy.xxs.core.http.resp.HttpResponse;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
@@ -11,9 +12,11 @@ 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.format.annotation.DateTimeFormat;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -33,13 +36,20 @@ public class DataShowingController {
|
||||
@Resource
|
||||
DataAdjacentService dataAdjacentService;
|
||||
|
||||
|
||||
@ApiOperation("钢材")
|
||||
@GetMapping("/steel")
|
||||
public HttpResponse steel (
|
||||
@ApiParam(value = "材料编号") @RequestParam(value="materialId", required = false) String materialId
|
||||
@ApiParam(value = "材料编号") @RequestParam(value="materialId", required = false) String materialId,
|
||||
@ApiParam(value = "起始日期") @RequestParam(value="startDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate,
|
||||
@ApiParam(value = "结束日期") @RequestParam(value="endDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate
|
||||
) throws Exception {
|
||||
var query = priceResultService.getQueryByMaterialId(materialId);
|
||||
query = priceResultService.queryLastYear(query);
|
||||
if (ObjectUtil.isNotEmpty(startDate) || ObjectUtil.isNotEmpty(endDate)) {
|
||||
|
||||
} else {
|
||||
query = priceResultService.queryLastYear(query);
|
||||
}
|
||||
var result = priceResultService.list(query);
|
||||
return FuHttpResponse.Builder().dataResponse(result).build();
|
||||
}
|
||||
|
@@ -1,5 +1,6 @@
|
||||
package mjkf.xinke.main.controller;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.jgy.xxs.core.http.exp.NcHttpException;
|
||||
import com.jgy.xxs.core.http.resp.HttpResponse;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@@ -12,6 +13,7 @@ import mjkf.xinke.main.constant.HttpErrorResponseEnum;
|
||||
import mjkf.xinke.main.constant.PricePublishStatus;
|
||||
import mjkf.xinke.main.model.db.PricePublish;
|
||||
import mjkf.xinke.main.model.vo.PricePublishEditRequest;
|
||||
import mjkf.xinke.main.service.MaterialService;
|
||||
import mjkf.xinke.main.service.PricePublishService;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@@ -32,6 +34,8 @@ public class PricePublishController {
|
||||
|
||||
@Resource
|
||||
PricePublishService pricePublishService;
|
||||
@Resource
|
||||
MaterialService materialService;
|
||||
|
||||
@ApiOperation("获取发布价格数据列表")
|
||||
@GetMapping("/")
|
||||
@@ -52,9 +56,15 @@ public class PricePublishController {
|
||||
year = date.getYear();
|
||||
month = date.getMonthValue();
|
||||
}
|
||||
|
||||
var query = pricePublishService.getQuery(year, month, materialId, name, spec, type);
|
||||
var materialMap = materialService.mapCode();
|
||||
var result = pricePublishService.list(query);
|
||||
for (var item: result) {
|
||||
var meterial = materialMap.get(item.getMaterialId());
|
||||
if (ObjectUtil.isNotEmpty(meterial)) {
|
||||
item.setRoundBit(meterial.getRoundBit());
|
||||
}
|
||||
}
|
||||
|
||||
return FuHttpResponse.Builder().dataResponse(result).build();
|
||||
}
|
||||
@@ -148,9 +158,10 @@ public class PricePublishController {
|
||||
@GetMapping("/collect")
|
||||
public HttpResponse collect(
|
||||
@ApiParam("年份") @RequestParam("year") Integer year,
|
||||
@ApiParam("月份") @RequestParam(value = "month") Integer month
|
||||
@ApiParam("月份") @RequestParam(value = "month") Integer month,
|
||||
@ApiParam("仅计算半年均价") @RequestParam(value = "onlyAvg", required = false, defaultValue = "0") Integer onlyAvg
|
||||
) throws Exception {
|
||||
var result = dataToolService.collect(year, month);
|
||||
var result = dataToolService.collect(year, month, onlyAvg);
|
||||
return FuHttpResponse.Builder().dataResponse(result).build();
|
||||
}
|
||||
}
|
||||
|
@@ -91,6 +91,9 @@ public class DataFujian extends Model<DataFujian> {
|
||||
public DataFujian (Row row, MaterialTask task) {
|
||||
var policy = Row.MissingCellPolicy.CREATE_NULL_AS_BLANK;
|
||||
row.getCell(0, policy).setCellType(CellType.STRING);
|
||||
row.getCell(1, policy).setCellType(CellType.STRING);
|
||||
row.getCell(2, policy).setCellType(CellType.STRING);
|
||||
row.getCell(3, policy).setCellType(CellType.STRING);
|
||||
row.getCell(5, policy).setCellType(CellType.NUMERIC);
|
||||
this.setNumber(row.getCell(0, policy).getStringCellValue());
|
||||
this.setName(row.getCell(1, policy).getStringCellValue().replace(" ", ""));
|
||||
|
@@ -102,6 +102,10 @@ public class LocalMaterial extends Model<LocalMaterial> {
|
||||
public LocalMaterial (Row row, MaterialTask task) {
|
||||
var policy = Row.MissingCellPolicy.CREATE_NULL_AS_BLANK;
|
||||
row.getCell(0).setCellType(CellType.STRING);
|
||||
row.getCell(6).setCellType(CellType.NUMERIC);
|
||||
row.getCell(7).setCellType(CellType.NUMERIC);
|
||||
row.getCell(8).setCellType(CellType.STRING);
|
||||
row.getCell(9).setCellType(CellType.STRING);
|
||||
this.setMaterialId(row.getCell(0, policy).getStringCellValue());
|
||||
this.setCity(row.getCell(1, policy).getStringCellValue());
|
||||
this.setCounty(row.getCell(2, policy).getStringCellValue());
|
||||
@@ -109,13 +113,16 @@ public class LocalMaterial extends Model<LocalMaterial> {
|
||||
this.setSpec(row.getCell(4, policy).getStringCellValue().replace(" ", ""));
|
||||
this.setUnit(row.getCell(5, policy).getStringCellValue());
|
||||
this.setPrice(BigDecimal.valueOf(row.getCell(6, policy).getNumericCellValue()));
|
||||
this.setPriceWithoutTax(BigDecimal.valueOf(row.getCell(7, policy).getNumericCellValue()));
|
||||
this.setPriceWithoutTax(BigDecimal.valueOf(row.getCell(7, policy).getNumericCellValue()));
|
||||
this.setPosition(row.getCell(8, policy).getStringCellValue());
|
||||
this.setRemark(row.getCell(9, policy).getStringCellValue());
|
||||
this.setRemark(row.getCell(9, policy).getStringCellValue());
|
||||
this.setDate(LocalDate.of(task.getYear(), task.getMonth(), 1)); // 从任务获取日期
|
||||
if (this.getMaterialId().isEmpty()) {
|
||||
throw new IllegalArgumentException("材料编码为空");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(this.getCounty())) {
|
||||
throw new IllegalArgumentException("缺少区县");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(this.getPrice())) {
|
||||
throw new IllegalArgumentException("缺少价格");
|
||||
}
|
||||
|
@@ -196,6 +196,10 @@ public class PricePublish extends Model<PricePublish> {
|
||||
@TableField("DISPLAY_DIGIT")
|
||||
private Integer displayDigit;
|
||||
|
||||
@ApiModelProperty("计算小数位数")
|
||||
@TableField(exist = false)
|
||||
private Integer roundBit;
|
||||
|
||||
@Override
|
||||
public Serializable pkVal() {
|
||||
return this.id;
|
||||
|
@@ -193,15 +193,20 @@ public class PriceResult extends Model<PriceResult> {
|
||||
}
|
||||
|
||||
public void refreshWeight() {
|
||||
// 浮动
|
||||
var fluctuatingSum = fluctuatingFtb * weightFtb + fluctuatingSs * weightSs + fluctuatingFhb * weightFhb + fluctuatingNetwork * weightNetwork + fluctuatingSurvey * weightSurvey;
|
||||
var weight = weightFtb + weightSs + weightFhb + weightNetwork + weightSurvey;
|
||||
var fluctuatingWeightedMean = fluctuatingSum / weight;
|
||||
|
||||
fluctuatingRecommend = fluctuatingWeightedMean;
|
||||
// 计算价
|
||||
var priceSum = priceFtb * weightFtb + priceSs * weightSs + priceFhb * weightFhb + priceNetwork * weightNetwork + priceSurvey * weightSurvey;
|
||||
var priceWeightedMean = priceSum / weight;
|
||||
this.priceCalculate = priceWeightedMean;
|
||||
// 推荐价
|
||||
this.fluctuatingRecommend = fluctuatingWeightedMean;
|
||||
if (priceLastMonth.equals(0f) || ObjectUtil.isEmpty(priceLastMonth)) {
|
||||
priceRecommend = priceCalculate + fluctuatingRecommend;
|
||||
this.priceRecommend = priceCalculate + fluctuatingRecommend;
|
||||
} else {
|
||||
priceRecommend = priceLastMonth + fluctuatingRecommend;
|
||||
this.priceRecommend = priceLastMonth + fluctuatingRecommend;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,9 +1,12 @@
|
||||
package mjkf.xinke.main.model.vo;
|
||||
|
||||
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||
public class MaterialEditRequest {
|
||||
|
||||
// @ApiModelProperty("分类1")
|
||||
|
@@ -6,6 +6,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class MaterialService extends ServiceImpl<BaseMapper<Material>, Material> {
|
||||
@Deprecated
|
||||
@@ -49,5 +52,11 @@ public class MaterialService extends ServiceImpl<BaseMapper<Material>, Material>
|
||||
query.eq(Material::getCode, code);
|
||||
return this.getOne(query, false);
|
||||
}
|
||||
|
||||
public Map<String, Material> mapCode() {
|
||||
var list = this.list();
|
||||
var result = list.stream().collect(Collectors.toMap(i->i.getCode(), i->i));
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -49,7 +49,7 @@ public class DataNetworkService extends DataService<BaseMapper<DataNetwork>, Dat
|
||||
|
||||
public DataNetwork getMapGroupingBy(Map item) {
|
||||
var o = new DataNetwork();
|
||||
o.setMaterialId(item.get("Material_id").toString());
|
||||
o.setMaterialId(item.get("material_id").toString());
|
||||
return o;
|
||||
}
|
||||
|
||||
|
@@ -35,8 +35,7 @@ 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::getMaterialId, data.getMaterialId());
|
||||
query.eq(LocalMaterial::getCity, data.getCity());
|
||||
query.eq(LocalMaterial::getCounty, data.getCounty());
|
||||
query.eq(LocalMaterial::getDate, data.getDate());
|
||||
@@ -46,8 +45,7 @@ public class LocalMaterialService extends DataService<BaseMapper<LocalMaterial>,
|
||||
public LambdaQueryWrapper<LocalMaterial> trendQuery(Object obj, Integer year, Integer month) {
|
||||
var data = (LocalMaterial) obj;
|
||||
LambdaQueryWrapper<LocalMaterial> query = new LambdaQueryWrapper<>();
|
||||
query.eq(LocalMaterial::getName, data.getName());
|
||||
query.eq(LocalMaterial::getSpec, data.getSpec());
|
||||
query.eq(LocalMaterial::getMaterialId, data.getMaterialId());
|
||||
query.eq(LocalMaterial::getCounty, data.getCounty());
|
||||
var date = LocalDate.of(year, month, 1);
|
||||
query.between(LocalMaterial::getDate, date.minusYears(1), date.plusMonths(1));
|
||||
|
@@ -0,0 +1,357 @@
|
||||
CREATE TABLE material_manage.asphalt_domestic
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
NAME varchar(128) COMMENT '名称',
|
||||
PRICE decimal(16,4) COMMENT '价格',
|
||||
DATE date COMMENT '日期',
|
||||
`FROM` date COMMENT '数据来源'
|
||||
);
|
||||
CREATE UNIQUE INDEX Idx_key ON material_manage.asphalt_domestic (NAME, DATE, `FROM`);
|
||||
CREATE TABLE material_manage.asphalt_imported
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
NAME varchar(128) COMMENT '名称',
|
||||
PRICE decimal(16,4) COMMENT '价格',
|
||||
DATE date COMMENT '日期'
|
||||
);
|
||||
CREATE UNIQUE INDEX Idx_key ON material_manage.asphalt_imported (NAME, DATE);
|
||||
CREATE TABLE material_manage.asphalt_modifier
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
NAME varchar(128) COMMENT '名称',
|
||||
SPEC varchar(128) COMMENT '规格',
|
||||
PRICE decimal(16,4) COMMENT '价格',
|
||||
DATE date COMMENT '日期'
|
||||
);
|
||||
CREATE UNIQUE INDEX Idx_key ON material_manage.asphalt_modifier (NAME, SPEC, DATE);
|
||||
CREATE TABLE material_manage.budget
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
NAME varchar(128) COMMENT '名称',
|
||||
AMOUNT int(11) COMMENT '总数',
|
||||
MIN_AMOUNT int(11) COMMENT '最小值',
|
||||
MAX_AMOUNT int(11) COMMENT '最大值',
|
||||
YEAR int(11) COMMENT '年份',
|
||||
MONTHS text COMMENT '月份',
|
||||
DATE date COMMENT '日期'
|
||||
);
|
||||
CREATE TABLE material_manage.budget_item
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
BUDGET_ID int(11) COMMENT '预算id',
|
||||
NAME varchar(128) COMMENT '名称',
|
||||
META text COMMENT '数据',
|
||||
QUANTITY int(11) COMMENT '数量',
|
||||
UNIT text COMMENT '单位',
|
||||
UNIT_PRICE int(11) COMMENT '单价',
|
||||
TOTAL_PRICE int(11) COMMENT '总价'
|
||||
);
|
||||
CREATE TABLE material_manage.cement
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
NAME varchar(128) COMMENT '名称',
|
||||
SPEC varchar(128) COMMENT '规格',
|
||||
PACK varchar(64) COMMENT '包装',
|
||||
SOURCE varchar(64) COMMENT '产地',
|
||||
PRICE decimal(16,4) COMMENT '价格',
|
||||
FLUCTUATING decimal(16,4) COMMENT '浮动',
|
||||
DATE date COMMENT '日期'
|
||||
);
|
||||
CREATE UNIQUE INDEX Idx_key ON material_manage.cement (NAME, SPEC, PACK, SOURCE, DATE);
|
||||
CREATE TABLE material_manage.data_fujian
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
NUMBER varchar(128) COMMENT '编码',
|
||||
NAME varchar(128) COMMENT '名称',
|
||||
SPEC varchar(128) COMMENT '规格',
|
||||
UNIT varchar(128) COMMENT '单位',
|
||||
PRICE_WITHOUT_TAX decimal(16,4) COMMENT '除价格',
|
||||
PRICE decimal(16,4) COMMENT '含税价',
|
||||
CATEGORY varchar(128) COMMENT '分类',
|
||||
YEAR int(11) COMMENT '年份',
|
||||
MONTH int(11) COMMENT '月份',
|
||||
CITY varchar(128) COMMENT '地市',
|
||||
DATE date COMMENT '日期'
|
||||
);
|
||||
CREATE UNIQUE INDEX Idx_key ON material_manage.data_fujian (YEAR, MONTH, CITY, NAME, SPEC);
|
||||
CREATE TABLE material_manage.data_guangdong
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
URL varchar(512) COMMENT '下载地址',
|
||||
NAME varchar(128) COMMENT '名称',
|
||||
SOURCE varchar(128) COMMENT '来源',
|
||||
DATE date COMMENT '日期'
|
||||
);
|
||||
CREATE UNIQUE INDEX Idx_key ON material_manage.data_guangdong (NAME, DATE);
|
||||
CREATE TABLE material_manage.data_network
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
MATERIAL_ID varchar(128),
|
||||
SPEC varchar(128),
|
||||
UNIT varchar(128),
|
||||
BRAND varchar(128),
|
||||
NAME varchar(128),
|
||||
PRICE decimal(16,4),
|
||||
SOURCE varchar(128),
|
||||
REMARK text,
|
||||
DATE date,
|
||||
REGION varchar(64)
|
||||
);
|
||||
CREATE UNIQUE INDEX Idx_key ON material_manage.data_network (NAME, SPEC, REGION, DATE);
|
||||
CREATE TABLE material_manage.data_zhejiang
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
URL varchar(512) COMMENT '下载地址',
|
||||
NAME varchar(128) COMMENT '名称',
|
||||
SOURCE varchar(128) COMMENT '来源',
|
||||
DATE date COMMENT '日期'
|
||||
);
|
||||
CREATE UNIQUE INDEX Idx_key ON material_manage.data_zhejiang (NAME, DATE);
|
||||
CREATE TABLE material_manage.fujian_survey
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
NAME varchar(128) COMMENT '名称',
|
||||
SPEC varchar(128) COMMENT '规格',
|
||||
PRICE decimal(16,4) COMMENT '价格',
|
||||
DATE date COMMENT '日期',
|
||||
MATERIAL_ID varchar(128) COMMENT '材料id',
|
||||
UNIT varchar(128) COMMENT '单位',
|
||||
BRAND varchar(128) COMMENT '品牌',
|
||||
TAX int(11) COMMENT '税率',
|
||||
REGION varchar(128) COMMENT '地区'
|
||||
);
|
||||
CREATE UNIQUE INDEX Idx_key ON material_manage.fujian_survey (NAME, SPEC, DATE, REGION);
|
||||
CREATE TABLE material_manage.fuzhou_highway_bureau
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
NAME varchar(128) COMMENT '名称',
|
||||
SPEC varchar(128) COMMENT '规格',
|
||||
PRICE decimal(16,4) COMMENT '价格',
|
||||
DATE date COMMENT '日期',
|
||||
MATERIAL_ID varchar(128) COMMENT '材料id',
|
||||
UNIT varchar(128) COMMENT '单位',
|
||||
BRAND varchar(128) COMMENT '品牌',
|
||||
REGION varchar(128) COMMENT '地区'
|
||||
);
|
||||
CREATE UNIQUE INDEX Idx_key ON material_manage.fuzhou_highway_bureau (NAME, SPEC, DATE, REGION);
|
||||
CREATE TABLE material_manage.fuzhou_transportation_bureau
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
NAME varchar(128) COMMENT '名称',
|
||||
SPEC varchar(128) COMMENT '规格',
|
||||
PRICE decimal(16,4) COMMENT '价格',
|
||||
DATE date COMMENT '日期',
|
||||
MATERIAL_ID varchar(128) COMMENT '材料id',
|
||||
UNIT varchar(128) COMMENT '单位',
|
||||
BRAND varchar(128) COMMENT '品牌',
|
||||
REGION varchar(128) COMMENT '地区'
|
||||
);
|
||||
CREATE UNIQUE INDEX Idx_key ON material_manage.fuzhou_transportation_bureau (NAME, SPEC, DATE, REGION);
|
||||
CREATE TABLE material_manage.local_material
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
NAME varchar(128) COMMENT '名称',
|
||||
CITY varchar(128) COMMENT '地市',
|
||||
COUNTY varchar(128) COMMENT '区县',
|
||||
MATERIAL_ID varchar(128) COMMENT '材料id',
|
||||
SPEC varchar(128) COMMENT '规格',
|
||||
UNIT varchar(128) COMMENT '单位',
|
||||
PRICE decimal(16,4) COMMENT '价格',
|
||||
PRICE_WITHOUT_TAX decimal(16,4) COMMENT '除税价',
|
||||
DATE date COMMENT '日期',
|
||||
POSITION varchar(256) COMMENT '位置',
|
||||
REMARK text COMMENT '备注'
|
||||
);
|
||||
CREATE UNIQUE INDEX Idx_key ON material_manage.local_material (NAME, SPEC, CITY, COUNTY, DATE);
|
||||
CREATE TABLE material_manage.material
|
||||
(
|
||||
ID varchar(128) PRIMARY KEY NOT NULL,
|
||||
PARENT_ID varchar(128),
|
||||
CATEGORY1 varchar(128) COMMENT '分类1',
|
||||
CATEGORY2 varchar(128) COMMENT '分类2',
|
||||
CATEGORY3 varchar(128) COMMENT '分类3',
|
||||
CATEGORY4 varchar(128) COMMENT '分类4',
|
||||
NAME varchar(128) COMMENT '名称',
|
||||
UNIT varchar(128) COMMENT '单位',
|
||||
SPEC varchar(128) COMMENT '规格',
|
||||
TAX int(11) COMMENT '税率(%)',
|
||||
IS_BUILTIN int(11) COMMENT '是否初始内建类型(不允许删除)',
|
||||
TYPE int(11) COMMENT '材料类别(主材、地材)',
|
||||
IS_TREE int(11) COMMENT '是否树',
|
||||
SORT int(11) COMMENT '排序',
|
||||
CODE varchar(20) COMMENT '材料编码',
|
||||
ROUND_BIT int(11) COMMENT '保留小数位数',
|
||||
ROUND_METHOD varchar(20) COMMENT '保留小数具体方法',
|
||||
update_user_id varchar(64) COMMENT '最后更新人id',
|
||||
update_user_name varchar(64) COMMENT '最后更新人名称',
|
||||
update_time datetime COMMENT '最后更新时间',
|
||||
create_user_id varchar(64) COMMENT '创建人id',
|
||||
create_user_name varchar(64) COMMENT '创建人名称',
|
||||
create_time datetime COMMENT '创建时间',
|
||||
delete_user_id varchar(64) COMMENT '删除人id',
|
||||
delete_user_name varchar(64) COMMENT '删除人名称',
|
||||
delete_time datetime COMMENT '删除时间'
|
||||
);
|
||||
CREATE TABLE material_manage.material_task
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
NAME varchar(128) COMMENT '任务名称',
|
||||
STATUS int(11) COMMENT '状态(待采集、已采集、采集中)',
|
||||
FILE varchar(256) COMMENT '文件路径',
|
||||
TYPE int(11) COMMENT '类型(网络爬取、文件上传)',
|
||||
YEAR int(11) COMMENT '采集年份',
|
||||
MONTH int(11) COMMENT '采集月份',
|
||||
CONTENT mediumtext COMMENT '数据内容',
|
||||
update_user_id varchar(64) COMMENT '最后更新人id',
|
||||
update_user_name varchar(64) COMMENT '最后更新人名称',
|
||||
update_time datetime COMMENT '最后更新时间',
|
||||
create_user_id varchar(64) COMMENT '创建人id',
|
||||
create_user_name varchar(64) COMMENT '创建人名称',
|
||||
create_time datetime COMMENT '创建时间',
|
||||
delete_user_id varchar(64) COMMENT '删除人id',
|
||||
delete_user_name varchar(64) COMMENT '删除人名称',
|
||||
delete_time datetime COMMENT '删除时间'
|
||||
);
|
||||
CREATE TABLE material_manage.oil
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
NAME varchar(128) COMMENT '名称',
|
||||
PRICE decimal(16,4) COMMENT '价格',
|
||||
DATE date COMMENT '日期'
|
||||
);
|
||||
CREATE UNIQUE INDEX Idx_key ON material_manage.oil (NAME, DATE);
|
||||
CREATE TABLE material_manage.price_publish
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
YEAR int(11) COMMENT '统计年份',
|
||||
MONTH int(11) COMMENT '统计月份',
|
||||
MATERIAL_ID varchar(128) COMMENT '编号',
|
||||
NAME varchar(128) COMMENT '材料名称',
|
||||
SPEC varchar(128) COMMENT '规格',
|
||||
PRICE decimal(16,4) COMMENT '价格',
|
||||
PRICE_FUZHOU decimal(16,4) COMMENT '福州价格',
|
||||
PRICE_XIAMEN decimal(16,4) COMMENT '厦门价格',
|
||||
PRICE_PUTIAN decimal(16,4) COMMENT '莆田价格',
|
||||
PRICE_SANMING decimal(16,4) COMMENT '三明价格',
|
||||
PRICE_QUANZHOU decimal(16,4) COMMENT '泉州价格',
|
||||
PRICE_ZHANGZHOU decimal(16,4) COMMENT '漳州价格',
|
||||
PRICE_NANPIN decimal(16,4) COMMENT '南平价格',
|
||||
PRICE_LONGYAN decimal(16,4) COMMENT '龙岩价格',
|
||||
PRICE_NINGDE decimal(16,4) COMMENT '宁德价格',
|
||||
PRICE_PINTAN decimal(16,4) COMMENT '平潭价格',
|
||||
PRICE_ZHANGZHOUKFQ decimal(16,4) COMMENT '漳州开发区价格',
|
||||
TAX decimal(4,2) COMMENT '税率',
|
||||
STATUS int(11) COMMENT '状态',
|
||||
TYPE int(11) COMMENT '类型',
|
||||
UNIT varchar(128) COMMENT '单位',
|
||||
DISPLAY_DIGIT int(11) COMMENT '显示小数位数',
|
||||
update_user_id varchar(64) COMMENT '最后更新人id',
|
||||
update_user_name varchar(64) COMMENT '最后更新人名称',
|
||||
update_time datetime COMMENT '最后更新时间',
|
||||
create_user_id varchar(64) COMMENT '创建人id',
|
||||
create_user_name varchar(64) COMMENT '创建人名称',
|
||||
create_time datetime COMMENT '创建时间',
|
||||
delete_user_id varchar(64) COMMENT '删除人id',
|
||||
delete_user_name varchar(64) COMMENT '删除人名称',
|
||||
delete_time datetime COMMENT '删除时间'
|
||||
);
|
||||
CREATE TABLE material_manage.price_result
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
MATERIAL_ID varchar(128) COMMENT '编号',
|
||||
NAME varchar(128) COMMENT '材料名称',
|
||||
YEAR int(11) COMMENT '统计年份',
|
||||
MONTH int(11) COMMENT '统计月份',
|
||||
PRICE_FTB decimal(16,4) COMMENT '福州交通局价格',
|
||||
FLUCTUATING_FTB decimal(16,4) COMMENT '福州交通局浮动',
|
||||
PRICE_SS decimal(16,4) COMMENT '三明钢铁价格',
|
||||
FLUCTUATING_SS decimal(16,4) COMMENT '三明钢铁浮动',
|
||||
PRICE_FHB decimal(16,4) COMMENT '福州公路局价格',
|
||||
FLUCTUATING_FHB decimal(16,4) COMMENT '福州公路局浮动',
|
||||
PRICE_NETWORK decimal(16,4) COMMENT '网络价格',
|
||||
FLUCTUATING_NETWORK decimal(16,4) COMMENT '网络浮动',
|
||||
PRICE_SURVEY decimal(16,4) COMMENT '调查价格',
|
||||
FLUCTUATING_SURVEY decimal(16,4) COMMENT '调查浮动',
|
||||
PRICE_LAST_MONTH decimal(16,4) COMMENT '上月发布价格',
|
||||
PRICE_CALCULATE decimal(16,4) COMMENT '计算价格',
|
||||
PRICE_RECOMMEND decimal(16,4) COMMENT '推荐价格',
|
||||
FLUCTUATING_RECOMMEND decimal(16,4) COMMENT '推荐浮动',
|
||||
PRICE_FUJIAN decimal(16,4) COMMENT '住建厅价格',
|
||||
FLUCTUATING_FUJIAN decimal(16,4) COMMENT '住建厅浮动',
|
||||
WEIGHT_FTB decimal(16,4),
|
||||
WEIGHT_SS decimal(16,4),
|
||||
WEIGHT_FHB decimal(16,4),
|
||||
WEIGHT_NETWORK decimal(16,4),
|
||||
WEIGHT_SURVEY decimal(16,4),
|
||||
SPEC varchar(128) COMMENT '规格',
|
||||
UNIT varchar(128) COMMENT '单位',
|
||||
DISPLAY_DIGIT int(11) COMMENT '显示小数位数',
|
||||
update_user_id varchar(64) COMMENT '最后更新人id',
|
||||
update_user_name varchar(64) COMMENT '最后更新人名称',
|
||||
update_time datetime COMMENT '最后更新时间',
|
||||
create_user_id varchar(64) COMMENT '创建人id',
|
||||
create_user_name varchar(64) COMMENT '创建人名称',
|
||||
create_time datetime COMMENT '创建时间',
|
||||
delete_user_id varchar(64) COMMENT '删除人id',
|
||||
delete_user_name varchar(64) COMMENT '删除人名称',
|
||||
delete_time datetime COMMENT '删除时间'
|
||||
);
|
||||
CREATE TABLE material_manage.sanming_steel
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
NAME varchar(128) COMMENT '名称',
|
||||
SPEC varchar(128) COMMENT '规格',
|
||||
MATERIAL varchar(64) COMMENT '材质',
|
||||
PRICE decimal(16,4) COMMENT '价格',
|
||||
FLUCTUATING decimal(16,4) COMMENT '浮动',
|
||||
DATE date COMMENT '日期'
|
||||
);
|
||||
CREATE UNIQUE INDEX Idx_key ON material_manage.sanming_steel (NAME, SPEC, DATE);
|
||||
CREATE TABLE material_manage.steel_plate
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
NAME varchar(128) COMMENT '名称',
|
||||
SPEC varchar(128) COMMENT '规格',
|
||||
MATERIAL varchar(64) COMMENT '材质',
|
||||
SOURCE varchar(64) COMMENT '产地',
|
||||
PRICE decimal(16,4) COMMENT '价格',
|
||||
FLUCTUATING decimal(16,4) COMMENT '浮动',
|
||||
DATE date COMMENT '日期'
|
||||
);
|
||||
CREATE UNIQUE INDEX Idx_key ON material_manage.steel_plate (NAME, SPEC, MATERIAL, SOURCE, DATE);
|
||||
CREATE TABLE material_manage.steel_rebar
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
NAME varchar(128) COMMENT '名称',
|
||||
SPEC varchar(128) COMMENT '规格',
|
||||
MATERIAL varchar(64) COMMENT '材质',
|
||||
SOURCE varchar(64) COMMENT '产地',
|
||||
PRICE decimal(16,4) COMMENT '价格',
|
||||
FLUCTUATING decimal(16,4) COMMENT '浮动',
|
||||
DATE date COMMENT '日期'
|
||||
);
|
||||
CREATE UNIQUE INDEX Idx_key ON material_manage.steel_rebar (NAME, SPEC, MATERIAL, SOURCE, DATE);
|
||||
CREATE TABLE material_manage.steel_section
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
NAME varchar(128) COMMENT '名称',
|
||||
SPEC varchar(128) COMMENT '规格',
|
||||
MATERIAL varchar(64) COMMENT '材质',
|
||||
SOURCE varchar(64) COMMENT '产地',
|
||||
PRICE decimal(16,4) COMMENT '价格',
|
||||
FLUCTUATING decimal(16,4) COMMENT '浮动',
|
||||
DATE date COMMENT '日期'
|
||||
);
|
||||
CREATE UNIQUE INDEX Idx_key ON material_manage.steel_section (NAME, SPEC, MATERIAL, SOURCE, DATE);
|
||||
CREATE TABLE material_manage.steel_strand
|
||||
(
|
||||
ID int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
|
||||
NAME varchar(128) COMMENT '名称',
|
||||
SPEC varchar(128) COMMENT '规格',
|
||||
MATERIAL varchar(64) COMMENT '材质',
|
||||
SOURCE varchar(64) COMMENT '产地',
|
||||
PRICE decimal(16,4) COMMENT '价格',
|
||||
FLUCTUATING decimal(16,4) COMMENT '浮动',
|
||||
DATE date COMMENT '日期'
|
||||
);
|
||||
CREATE UNIQUE INDEX Idx_key ON material_manage.steel_strand (NAME, SPEC, MATERIAL, SOURCE, DATE);
|
@@ -4,3 +4,6 @@ UPDATE MATERIAL SET ROUND_BIT = 1, ROUND_METHOD = 'none' WHERE ID IN ('2005002',
|
||||
|
||||
DROP INDEX Idx_key ON data_fujian;
|
||||
DROP INDEX Idx_key ON fuzhou_highway_bureau;
|
||||
DROP INDEX Idx_key ON fujian_survey;
|
||||
ALTER TABLE material ALTER COLUMN ROUND_BIT SET DEFAULT 1;
|
||||
ALTER TABLE material ALTER COLUMN ROUND_METHOD SET DEFAULT 'normal';
|
@@ -4,17 +4,18 @@ spring:
|
||||
datasource:
|
||||
master:
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
password: Xxs123456
|
||||
url: jdbc:mysql://192.168.1.3:4306/material_manage?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&useInformationSchema=true
|
||||
username: root
|
||||
# password: XKKFB123456!
|
||||
# url: jdbc:mysql://60.204.172.162:9306/material_manage?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&useInformationSchema=true
|
||||
# password: Xxs123456
|
||||
# url: jdbc:mysql://192.168.1.3:4306/material_manage?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&useInformationSchema=true
|
||||
# username: root
|
||||
password: XKKFB123456!
|
||||
url: jdbc:mysql://8.138.239.222:20306/material_manage?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&useInformationSchema=true
|
||||
username: root
|
||||
redis:
|
||||
database: 4
|
||||
host: 127.0.0.1
|
||||
password: ''
|
||||
host: 192.168.1.3
|
||||
password: Xxs123456
|
||||
port: 6379
|
||||
timeout: 10s
|
||||
|
||||
server:
|
||||
port: 19882
|
||||
@@ -25,7 +26,8 @@ main:
|
||||
|
||||
api:
|
||||
host:
|
||||
data-tool: http://localhost:7778
|
||||
data-tool: http://localhost:17778
|
||||
stirling-pdf: http://localhost:20081
|
||||
|
||||
path:
|
||||
predict-file-dir: C:\Users\Administrator\Documents\WeChat Files\wslshanlin\FileStorage\File\2024-07
|
@@ -19,7 +19,7 @@ main:
|
||||
|
||||
api:
|
||||
host:
|
||||
data-tool: http://material_api:7072
|
||||
data-tool: http://material-api:7778
|
||||
stirling-pdf: http://stirling-pdf:8080
|
||||
|
||||
path:
|
||||
|
Reference in New Issue
Block a user