From bc630b002529dbb6bb0d55a5cfd9908f389ce5ec Mon Sep 17 00:00:00 2001 From: jiangc <12345678> Date: Thu, 5 Dec 2024 14:38:30 +0800 Subject: [PATCH] =?UTF-8?q?2024=E5=B9=B412=E6=9C=885=E6=97=A514:38:23?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CbamCountryDictController.java | 1 + .../controller/CbamFactorDictController.java | 81 +++++++++++++++++++ .../cbam/dict/dto/CbamCountryDictDTO.java | 5 +- .../cbam/dict/dto/CbamFactorDictDTO.java | 34 ++++++++ .../dict/entity/CbamCountryDictEntity.java | 4 +- .../dict/entity/CbamFactorDictEntity.java | 43 ++++++++++ .../dict/mapper/CbamFactorDictMapper.java | 9 +++ .../dict/service/CbamFactorDictService.java | 7 ++ .../impl/CbamFactorDictServiceImpl.java | 19 +++++ .../CbamElectricityToolController.java | 45 ++++------- .../dto/CbamElectricityToolDTO.java | 28 ++++++- .../entity/CbamElectricityToolEntity.java | 46 ++++++++++- .../service/CbamElectricityToolService.java | 6 ++ .../Impl/CbamElectricityToolServiceImpl.java | 35 +++++++- .../CbamMaterialConsumptionController.java | 73 +++++++++++++++++ .../CbamMaterialSpecificController.java | 76 +++++++++++++++++ .../dto/CbamMaterialConsumptionDTO.java | 42 ++++++++++ .../material/dto/CbamMaterialSpecificDTO.java | 50 ++++++++++++ .../entity/CbamMaterialConsumptionEntity.java | 59 ++++++++++++++ .../entity/CbamMaterialSpecificEntity.java | 76 +++++++++++++++++ .../mapper/CbamMaterialConsumptionMapper.java | 9 +++ .../mapper/CbamMaterialSpecificMapper.java | 11 +++ .../CbamMaterialConsumptionService.java | 9 +++ .../service/CbamMaterialSpecificService.java | 11 +++ .../CbamMaterialConsumptionServiceImpl.java | 23 ++++++ .../Impl/CbamMaterialSpecificServiceImpl.java | 33 ++++++++ 26 files changed, 794 insertions(+), 41 deletions(-) create mode 100644 modules/cbam/src/main/java/com/thing/cbam/dict/controller/CbamFactorDictController.java create mode 100644 modules/cbam/src/main/java/com/thing/cbam/dict/dto/CbamFactorDictDTO.java create mode 100644 modules/cbam/src/main/java/com/thing/cbam/dict/entity/CbamFactorDictEntity.java create mode 100644 modules/cbam/src/main/java/com/thing/cbam/dict/mapper/CbamFactorDictMapper.java create mode 100644 modules/cbam/src/main/java/com/thing/cbam/dict/service/CbamFactorDictService.java create mode 100644 modules/cbam/src/main/java/com/thing/cbam/dict/service/impl/CbamFactorDictServiceImpl.java create mode 100644 modules/cbam/src/main/java/com/thing/cbam/material/controller/CbamMaterialConsumptionController.java create mode 100644 modules/cbam/src/main/java/com/thing/cbam/material/controller/CbamMaterialSpecificController.java create mode 100644 modules/cbam/src/main/java/com/thing/cbam/material/dto/CbamMaterialConsumptionDTO.java create mode 100644 modules/cbam/src/main/java/com/thing/cbam/material/dto/CbamMaterialSpecificDTO.java create mode 100644 modules/cbam/src/main/java/com/thing/cbam/material/entity/CbamMaterialConsumptionEntity.java create mode 100644 modules/cbam/src/main/java/com/thing/cbam/material/entity/CbamMaterialSpecificEntity.java create mode 100644 modules/cbam/src/main/java/com/thing/cbam/material/mapper/CbamMaterialConsumptionMapper.java create mode 100644 modules/cbam/src/main/java/com/thing/cbam/material/mapper/CbamMaterialSpecificMapper.java create mode 100644 modules/cbam/src/main/java/com/thing/cbam/material/service/CbamMaterialConsumptionService.java create mode 100644 modules/cbam/src/main/java/com/thing/cbam/material/service/CbamMaterialSpecificService.java create mode 100644 modules/cbam/src/main/java/com/thing/cbam/material/service/Impl/CbamMaterialConsumptionServiceImpl.java create mode 100644 modules/cbam/src/main/java/com/thing/cbam/material/service/Impl/CbamMaterialSpecificServiceImpl.java diff --git a/modules/cbam/src/main/java/com/thing/cbam/dict/controller/CbamCountryDictController.java b/modules/cbam/src/main/java/com/thing/cbam/dict/controller/CbamCountryDictController.java index ccc15cc..6406910 100644 --- a/modules/cbam/src/main/java/com/thing/cbam/dict/controller/CbamCountryDictController.java +++ b/modules/cbam/src/main/java/com/thing/cbam/dict/controller/CbamCountryDictController.java @@ -81,4 +81,5 @@ public class CbamCountryDictController { List list = cbamCountryDictService.listAs(params, CbamCountryDictDTO.class); return new Result>().ok(list); } + } diff --git a/modules/cbam/src/main/java/com/thing/cbam/dict/controller/CbamFactorDictController.java b/modules/cbam/src/main/java/com/thing/cbam/dict/controller/CbamFactorDictController.java new file mode 100644 index 0000000..e7bc4f8 --- /dev/null +++ b/modules/cbam/src/main/java/com/thing/cbam/dict/controller/CbamFactorDictController.java @@ -0,0 +1,81 @@ +package com.thing.cbam.dict.controller; + +import com.thing.cbam.dict.dto.CbamFactorDictDTO; +import com.thing.cbam.dict.service.CbamFactorDictService; +import com.thing.common.core.annotation.LogOperation; +import com.thing.common.core.constants.Constant; +import com.thing.common.core.validator.AssertUtils; +import com.thing.common.core.web.response.PageData; +import com.thing.common.core.web.response.Result; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("v2/cbam/factor/dict") +@Tag(name = "电力排放因子来源") +@RequiredArgsConstructor +public class CbamFactorDictController { + private final CbamFactorDictService cbamFactorDictService; + + @GetMapping("page") + @Operation(summary = "分页") + @Parameters({ + @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", required = true), + @Parameter(name = Constant.LIMIT, description = "每页显示记录数", required = true), + @Parameter(name = Constant.ORDER_FIELD, description = "排序字段"), + @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)") + }) + public Result> page(@Parameter(hidden = true) @RequestParam Map param) { + PageData pageList = cbamFactorDictService.getPageData(param, CbamFactorDictDTO.class); + return new Result>().ok(pageList); + } + + @GetMapping("{id}") + @Operation(summary = "信息") + public Result get(@PathVariable("id") Long id) { + CbamFactorDictDTO dto = cbamFactorDictService.getByIdAs(id, CbamFactorDictDTO.class); + return new Result().ok(dto); + } + + @PostMapping + @Operation(summary = "save") + @LogOperation("保存") + public Result save(@RequestBody CbamFactorDictDTO dto) { + cbamFactorDictService.saveDto(dto); + return new Result<>(); + } + @PutMapping + @Operation(summary = "update") + @LogOperation("修改") + public Result update(@RequestBody CbamFactorDictDTO dto) { + cbamFactorDictService.updateDto(dto); + return new Result<>(); + } + @DeleteMapping + @Operation(summary = "delete") + @LogOperation("删除") + public Result update(@RequestBody Long[] ids) { + AssertUtils.isArrayEmpty(ids,"id"); + cbamFactorDictService.batchDelete(ids); + return new Result<>(); + } + + + @GetMapping("list") + @Operation(summary = "电力排放因子来源") + @Parameters({ + @Parameter(name = Constant.ORDER_FIELD, description = "排序字段") , + @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)") + }) + public Result> list(@Parameter(hidden = true) @RequestParam Map params){ + List list = cbamFactorDictService.listAs(params, CbamFactorDictDTO.class); + return new Result>().ok(list); + } +} diff --git a/modules/cbam/src/main/java/com/thing/cbam/dict/dto/CbamCountryDictDTO.java b/modules/cbam/src/main/java/com/thing/cbam/dict/dto/CbamCountryDictDTO.java index c777548..ff94feb 100644 --- a/modules/cbam/src/main/java/com/thing/cbam/dict/dto/CbamCountryDictDTO.java +++ b/modules/cbam/src/main/java/com/thing/cbam/dict/dto/CbamCountryDictDTO.java @@ -1,5 +1,8 @@ package com.thing.cbam.dict.dto; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.core.keygen.KeyGenerators; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -19,7 +22,7 @@ public class CbamCountryDictDTO implements Serializable { @Serial private static final long serialVersionUID = 1L; - @Schema(description = "主键") + @Id(keyType = KeyType.Generator,value = KeyGenerators.snowFlakeId) private Long id; @Schema(description = "国家名称") private String name; diff --git a/modules/cbam/src/main/java/com/thing/cbam/dict/dto/CbamFactorDictDTO.java b/modules/cbam/src/main/java/com/thing/cbam/dict/dto/CbamFactorDictDTO.java new file mode 100644 index 0000000..717d429 --- /dev/null +++ b/modules/cbam/src/main/java/com/thing/cbam/dict/dto/CbamFactorDictDTO.java @@ -0,0 +1,34 @@ +package com.thing.cbam.dict.dto; + +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.core.keygen.KeyGenerators; +import io.swagger.v3.oas.annotations.media.Schema; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** +* 电力排放因子来源字典表 +* +* @author xc +* @since 3.0 2024-12-05 +*/ +@Data +@Schema(description = "电力排放因子来源字典表") +public class CbamFactorDictDTO implements Serializable { + @Serial + private static final long serialVersionUID = 1L; + + @Id(keyType = KeyType.Generator,value = KeyGenerators.snowFlakeId) + private Long id; + @Schema(description = "名称") + private String name; + @Schema(description = "说明") + private String description; + @Schema(description = "排序") + private String sort; + +} \ No newline at end of file diff --git a/modules/cbam/src/main/java/com/thing/cbam/dict/entity/CbamCountryDictEntity.java b/modules/cbam/src/main/java/com/thing/cbam/dict/entity/CbamCountryDictEntity.java index c77eda4..e454e06 100644 --- a/modules/cbam/src/main/java/com/thing/cbam/dict/entity/CbamCountryDictEntity.java +++ b/modules/cbam/src/main/java/com/thing/cbam/dict/entity/CbamCountryDictEntity.java @@ -1,8 +1,10 @@ package com.thing.cbam.dict.entity; import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; import com.mybatisflex.annotation.Table; +import com.mybatisflex.core.keygen.KeyGenerators; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -27,7 +29,7 @@ public class CbamCountryDictEntity implements Serializable { /** * 主键 */ - @Id + @Id(keyType = KeyType.Generator,value = KeyGenerators.snowFlakeId) private Long id; /** * 国家名称 diff --git a/modules/cbam/src/main/java/com/thing/cbam/dict/entity/CbamFactorDictEntity.java b/modules/cbam/src/main/java/com/thing/cbam/dict/entity/CbamFactorDictEntity.java new file mode 100644 index 0000000..021554a --- /dev/null +++ b/modules/cbam/src/main/java/com/thing/cbam/dict/entity/CbamFactorDictEntity.java @@ -0,0 +1,43 @@ +package com.thing.cbam.dict.entity; + +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.annotation.Table; + +import com.mybatisflex.core.keygen.KeyGenerators; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 电力排放因子来源字典表 + * + * @author xc + * @since 3.0 2024-12-05 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper=false) +@Table("cbam_factor_dict") +public class CbamFactorDictEntity implements Serializable { + @Serial + private static final long serialVersionUID = 1L; + + @Id(keyType = KeyType.Generator,value = KeyGenerators.snowFlakeId) + private Long id; + /** + * 名称 + */ + private String name; + /** + * 说明 + */ + private String description; + /** + * 排序 + */ + private String sort; +} \ No newline at end of file diff --git a/modules/cbam/src/main/java/com/thing/cbam/dict/mapper/CbamFactorDictMapper.java b/modules/cbam/src/main/java/com/thing/cbam/dict/mapper/CbamFactorDictMapper.java new file mode 100644 index 0000000..ef01f74 --- /dev/null +++ b/modules/cbam/src/main/java/com/thing/cbam/dict/mapper/CbamFactorDictMapper.java @@ -0,0 +1,9 @@ +package com.thing.cbam.dict.mapper; + +import com.thing.cbam.dict.entity.CbamFactorDictEntity; +import com.thing.common.orm.mapper.PowerBaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface CbamFactorDictMapper extends PowerBaseMapper { +} diff --git a/modules/cbam/src/main/java/com/thing/cbam/dict/service/CbamFactorDictService.java b/modules/cbam/src/main/java/com/thing/cbam/dict/service/CbamFactorDictService.java new file mode 100644 index 0000000..d23279d --- /dev/null +++ b/modules/cbam/src/main/java/com/thing/cbam/dict/service/CbamFactorDictService.java @@ -0,0 +1,7 @@ +package com.thing.cbam.dict.service; + +import com.thing.cbam.dict.entity.CbamFactorDictEntity; +import com.thing.common.orm.service.IBaseService; + +public interface CbamFactorDictService extends IBaseService { +} diff --git a/modules/cbam/src/main/java/com/thing/cbam/dict/service/impl/CbamFactorDictServiceImpl.java b/modules/cbam/src/main/java/com/thing/cbam/dict/service/impl/CbamFactorDictServiceImpl.java new file mode 100644 index 0000000..6f0cb2e --- /dev/null +++ b/modules/cbam/src/main/java/com/thing/cbam/dict/service/impl/CbamFactorDictServiceImpl.java @@ -0,0 +1,19 @@ +package com.thing.cbam.dict.service.impl; + +import com.mybatisflex.core.query.QueryWrapper; +import com.thing.cbam.dict.entity.CbamFactorDictEntity; +import com.thing.cbam.dict.mapper.CbamFactorDictMapper; +import com.thing.cbam.dict.service.CbamFactorDictService; +import com.thing.common.orm.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.Map; + +@Service +public class CbamFactorDictServiceImpl extends BaseServiceImpl implements CbamFactorDictService { + @Override + public QueryWrapper getWrapper(Map params) { + QueryWrapper wrapper = new QueryWrapper(); + return wrapper; + } +} diff --git a/modules/cbam/src/main/java/com/thing/cbam/electricity/controller/CbamElectricityToolController.java b/modules/cbam/src/main/java/com/thing/cbam/electricity/controller/CbamElectricityToolController.java index fdda4f7..d7f5ec5 100644 --- a/modules/cbam/src/main/java/com/thing/cbam/electricity/controller/CbamElectricityToolController.java +++ b/modules/cbam/src/main/java/com/thing/cbam/electricity/controller/CbamElectricityToolController.java @@ -5,9 +5,6 @@ import com.thing.cbam.electricity.service.CbamElectricityToolService; import com.thing.common.core.annotation.LogOperation; import com.thing.common.core.constants.Constant; import com.thing.common.core.validator.AssertUtils; -import com.thing.common.core.validator.ValidatorUtils; -import com.thing.common.core.validator.group.DefaultGroup; -import com.thing.common.core.validator.group.UpdateGroup; import com.thing.common.core.web.response.PageData; import com.thing.common.core.web.response.Result; import io.swagger.v3.oas.annotations.Operation; @@ -20,12 +17,11 @@ import org.springframework.web.bind.annotation.*; import java.util.Map; @RestController -@RequestMapping("v2/electricity/tool") -@Tag(name = "热电联产工具") +@RequestMapping("v2/cbam/electricity/tool") +@Tag(name="热电联产工具") @RequiredArgsConstructor public class CbamElectricityToolController { private final CbamElectricityToolService cbamElectricityToolService; - @GetMapping("page") @Operation(summary = "分页") @Parameters({ @@ -34,16 +30,16 @@ public class CbamElectricityToolController { @Parameter(name = Constant.ORDER_FIELD, description = "排序字段"), @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)") }) - public Result> page(@Parameter(hidden = true) @RequestParam Map params) { - PageData page = cbamElectricityToolService.getPageData(params, CbamElectricityToolDTO.class); - return new Result>().ok(page); + public Result> page(@Parameter(hidden = true) @RequestParam Map param) { + PageData pageList = cbamElectricityToolService.getPageData(param,CbamElectricityToolDTO.class); + return new Result>().ok(pageList); } @GetMapping("{id}") @Operation(summary = "信息") - public Result info(@PathVariable("id") String id) { - CbamElectricityToolDTO data=cbamElectricityToolService.getByIdAs(id, CbamElectricityToolDTO.class); - return new Result().ok(data); + public Result info(@PathVariable("id") Long id) { + CbamElectricityToolDTO dto = cbamElectricityToolService.getByIdAs(id,CbamElectricityToolDTO.class); + return new Result().ok(dto); } @PostMapping @Operation(summary = "保存") @@ -53,31 +49,18 @@ public class CbamElectricityToolController { return new Result<>(); } @PutMapping - @Operation(summary="修改") + @Operation(summary = "修改") @LogOperation("修改") - public Result update(@RequestBody CbamElectricityToolDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + public Result update(@RequestBody CbamElectricityToolDTO dto) { cbamElectricityToolService.updateDto(dto); return new Result<>(); } @DeleteMapping - @Operation(summary="删除") + @Operation(summary = "删除") @LogOperation("删除") - public Result delete(@RequestBody Long[] ids){ - //效验数据 - AssertUtils.isArrayEmpty(ids, "id"); + public Result delete(@RequestBody Long[] ids) { + AssertUtils.isArrayEmpty(ids,"id"); cbamElectricityToolService.batchDelete(ids); return new Result<>(); } - /** - *@GetMapping("export") - *@Operation(summary="导出") - *@LogOperation("导出") - *public void export(@Parameter(hidden = true) @RequestParam Map params, HttpServletResponse response) throws Exception { - * List list = cbamProductInfoService.listAs(params, CbamProductInfoDTO.class); - * //ExcelUtils.exportExcelToTarget(response, null, "综合商品类别和相关生产过程", list, CbamProductInfoExcel.class); - *} - */ - -} \ No newline at end of file +} diff --git a/modules/cbam/src/main/java/com/thing/cbam/electricity/dto/CbamElectricityToolDTO.java b/modules/cbam/src/main/java/com/thing/cbam/electricity/dto/CbamElectricityToolDTO.java index b8f3d55..ce45c27 100644 --- a/modules/cbam/src/main/java/com/thing/cbam/electricity/dto/CbamElectricityToolDTO.java +++ b/modules/cbam/src/main/java/com/thing/cbam/electricity/dto/CbamElectricityToolDTO.java @@ -1,5 +1,8 @@ package com.thing.cbam.electricity.dto; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.core.keygen.KeyGenerators; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -11,7 +14,7 @@ import java.io.Serializable; * 热电联产工具 * * @author xc -* @since 3.0 2024-11-28 +* @since 3.0 2024-12-03 */ @Data @Schema(description = "热电联产工具") @@ -19,6 +22,7 @@ public class CbamElectricityToolDTO implements Serializable { @Serial private static final long serialVersionUID = 1L; + @Id(keyType = KeyType.Generator,value = KeyGenerators.snowFlakeId) private Long id; @Schema(description = "CHP的燃料投入") private String fuelInput; @@ -31,10 +35,28 @@ public class CbamElectricityToolDTO implements Serializable { @Schema(description = "来自烟气净化过程的燃料投入量") private String gasProcess; @Schema(description = "发热量生产") - private String heatProduction; + private String heatProd; @Schema(description = "电力生产") - private String electProduction; + private String electProd; @Schema(description = "关联cbam_industry_information的主键id") private Long industryId; + @Schema(description = "CHP发电量计算值") + private String calcuPower; + @Schema(description = "排放总量") + private String totalEmiss; + @Schema(description = "发热量电力合计") + private String totalSum; + @Schema(description = "发热量产出引起的排放量") + private String emissHeat; + @Schema(description = "排放因子,发热量") + private String factorHeat; + @Schema(description = "电力排放") + private String electEmiss; + @Schema(description = "排放因子,电力") + private String factorElect; + @Schema(description = "发热量的燃料投入") + private String inputHeat; + @Schema(description = "电力的燃料投入") + private String inputElect; } \ No newline at end of file diff --git a/modules/cbam/src/main/java/com/thing/cbam/electricity/entity/CbamElectricityToolEntity.java b/modules/cbam/src/main/java/com/thing/cbam/electricity/entity/CbamElectricityToolEntity.java index 4a29312..a3b9a3e 100644 --- a/modules/cbam/src/main/java/com/thing/cbam/electricity/entity/CbamElectricityToolEntity.java +++ b/modules/cbam/src/main/java/com/thing/cbam/electricity/entity/CbamElectricityToolEntity.java @@ -1,8 +1,10 @@ package com.thing.cbam.electricity.entity; import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; import com.mybatisflex.annotation.Table; +import com.mybatisflex.core.keygen.KeyGenerators; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -14,7 +16,7 @@ import java.io.Serializable; * 热电联产工具 * * @author xc - * @since 3.0 2024-11-28 + * @since 3.0 2024-12-03 */ @Data @Accessors(chain = true) @@ -24,7 +26,7 @@ public class CbamElectricityToolEntity implements Serializable { @Serial private static final long serialVersionUID = 1L; - @Id + @Id(keyType = KeyType.Generator,value = KeyGenerators.snowFlakeId) private Long id; /** * CHP的燃料投入 @@ -49,13 +51,49 @@ public class CbamElectricityToolEntity implements Serializable { /** * 发热量生产 */ - private String heatProduction; + private String heatProd; /** * 电力生产 */ - private String electProduction; + private String electProd; /** * 关联cbam_industry_information的主键id */ private Long industryId; + /** + * CHP发电量计算值 + */ + private String calcuPower; + /** + * 排放总量 + */ + private String totalEmiss; + /** + * 发热量电力合计 + */ + private String totalSum; + /** + * 发热量产出引起的排放量 + */ + private String emissHeat; + /** + * 排放因子,发热量 + */ + private String factorHeat; + /** + * 电力排放 + */ + private String electEmiss; + /** + * 排放因子,电力 + */ + private String factorElect; + /** + * 发热量的燃料投入 + */ + private String inputHeat; + /** + * 电力的燃料投入 + */ + private String inputElect; } \ No newline at end of file diff --git a/modules/cbam/src/main/java/com/thing/cbam/electricity/service/CbamElectricityToolService.java b/modules/cbam/src/main/java/com/thing/cbam/electricity/service/CbamElectricityToolService.java index e49cd23..d14b18d 100644 --- a/modules/cbam/src/main/java/com/thing/cbam/electricity/service/CbamElectricityToolService.java +++ b/modules/cbam/src/main/java/com/thing/cbam/electricity/service/CbamElectricityToolService.java @@ -1,7 +1,13 @@ package com.thing.cbam.electricity.service; + +import com.thing.cbam.electricity.dto.CbamElectricityToolDTO; import com.thing.cbam.electricity.entity.CbamElectricityToolEntity; import com.thing.common.orm.service.IBaseService; +import java.util.LinkedHashMap; + public interface CbamElectricityToolService extends IBaseService { + + LinkedHashMap validateMsg(CbamElectricityToolDTO cbamElectricityToolDTO); } diff --git a/modules/cbam/src/main/java/com/thing/cbam/electricity/service/Impl/CbamElectricityToolServiceImpl.java b/modules/cbam/src/main/java/com/thing/cbam/electricity/service/Impl/CbamElectricityToolServiceImpl.java index 5ae500c..a5e162e 100644 --- a/modules/cbam/src/main/java/com/thing/cbam/electricity/service/Impl/CbamElectricityToolServiceImpl.java +++ b/modules/cbam/src/main/java/com/thing/cbam/electricity/service/Impl/CbamElectricityToolServiceImpl.java @@ -1,19 +1,52 @@ package com.thing.cbam.electricity.service.Impl; import com.mybatisflex.core.query.QueryWrapper; +import com.thing.cbam.electricity.dto.CbamElectricityToolDTO; import com.thing.cbam.electricity.entity.CbamElectricityToolEntity; import com.thing.cbam.electricity.mapper.CbamElectricityToolMapper; import com.thing.cbam.electricity.service.CbamElectricityToolService; import com.thing.common.orm.service.impl.BaseServiceImpl; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import java.util.LinkedHashMap; import java.util.Map; @Service -public class CbamElectricityToolServiceImpl extends BaseServiceImplimplements CbamElectricityToolService { +public class CbamElectricityToolServiceImpl extends BaseServiceImpl implements CbamElectricityToolService { + @Override public QueryWrapper getWrapper(Map params) { QueryWrapper wrapper = new QueryWrapper(); return wrapper; } + + + @Override + public LinkedHashMap validateMsg(CbamElectricityToolDTO cbamElectricityToolDTO) { + LinkedHashMap resMap = new LinkedHashMap<>(); + if (StringUtils.isBlank(cbamElectricityToolDTO.getFuelInput())){ + resMap.put("fuelInput","CHP的燃料投入不能为空"); + } + if (StringUtils.isBlank(cbamElectricityToolDTO.getHeatingOutput())){ + resMap.put("heatingOutput","CHP的发热量产出不能为空"); + } + if (StringUtils.isBlank(cbamElectricityToolDTO.getPowerGener())){ + resMap.put("powerGener","CHP发电量不能为空"); + } + if (StringUtils.isBlank(cbamElectricityToolDTO.getFuelUnit())){ + resMap.put("fuelUnit","来自CHP机组的燃料投入量不能为空"); + } + if (StringUtils.isBlank(cbamElectricityToolDTO.getGasProcess())){ + resMap.put("gasProcess","来自烟气净化过程的燃料投入量不能为空"); + } + if (StringUtils.isBlank(cbamElectricityToolDTO.getHeatProd())){ + resMap.put("heatProd","发热量生产不能为空"); + } + if (StringUtils.isBlank(cbamElectricityToolDTO.getElectProd())){ + resMap.put("electProd","电力生产不能为空"); + } + + return resMap; + } } diff --git a/modules/cbam/src/main/java/com/thing/cbam/material/controller/CbamMaterialConsumptionController.java b/modules/cbam/src/main/java/com/thing/cbam/material/controller/CbamMaterialConsumptionController.java new file mode 100644 index 0000000..4ea045f --- /dev/null +++ b/modules/cbam/src/main/java/com/thing/cbam/material/controller/CbamMaterialConsumptionController.java @@ -0,0 +1,73 @@ +package com.thing.cbam.material.controller; + + +import com.thing.cbam.material.dto.CbamMaterialConsumptionDTO; +import com.thing.cbam.material.service.CbamMaterialConsumptionService; +import com.thing.common.core.annotation.LogOperation; +import com.thing.common.core.constants.Constant; +import com.thing.common.core.validator.AssertUtils; +import com.thing.common.core.web.response.PageData; +import com.thing.common.core.web.response.Result; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +@RestController +@RequestMapping +@Tag(name = "原材料消耗量") +@RequiredArgsConstructor +public class CbamMaterialConsumptionController { + private final CbamMaterialConsumptionService cbamMaterialConsumptionService; + @GetMapping("page") + @Operation(summary = "分页") + @Parameters({ + @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", required = true), + @Parameter(name = Constant.LIMIT, description = "每页显示记录数", required = true), + @Parameter(name = Constant.ORDER_FIELD, description = "排序字段"), + @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)") + }) + public Result> page(@Parameter(hidden = true) @RequestParam Map param) { + PageData pageList = cbamMaterialConsumptionService.getPageData(param,CbamMaterialConsumptionDTO.class); + return new Result>().ok(pageList); + } + @GetMapping("{id}") + @Operation(summary = "信息") + public Result get(@PathVariable("id") Long id) { + CbamMaterialConsumptionDTO dto = cbamMaterialConsumptionService.getByIdAs(id,CbamMaterialConsumptionDTO.class); + return new Result().ok(dto); + } + + @PostMapping + @Operation(summary = "保存") + @LogOperation("保存") + public Result save(@RequestBody CbamMaterialConsumptionDTO dto) { + cbamMaterialConsumptionService.saveDto(dto); + return new Result<>(); + } + + @PutMapping + @Operation(summary = "修改") + @LogOperation("修改") + public Result update(@RequestBody CbamMaterialConsumptionDTO dto) { + //效验数据 + //ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + cbamMaterialConsumptionService.updateDto(dto); + return new Result<>(); + } + + @DeleteMapping + @Operation(summary = "删除") + @LogOperation("删除") + public Result delete(@RequestBody Long[] ids) { + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + cbamMaterialConsumptionService.batchDelete(ids); + return new Result<>(); + } + +} diff --git a/modules/cbam/src/main/java/com/thing/cbam/material/controller/CbamMaterialSpecificController.java b/modules/cbam/src/main/java/com/thing/cbam/material/controller/CbamMaterialSpecificController.java new file mode 100644 index 0000000..ca40c95 --- /dev/null +++ b/modules/cbam/src/main/java/com/thing/cbam/material/controller/CbamMaterialSpecificController.java @@ -0,0 +1,76 @@ +package com.thing.cbam.material.controller; + + +import com.thing.cbam.baesInfoExcel.dto.CbamIndustryDTO; +import com.thing.cbam.material.dto.CbamMaterialSpecificDTO; +import com.thing.cbam.material.service.CbamMaterialSpecificService; +import com.thing.common.core.annotation.LogOperation; +import com.thing.common.core.constants.Constant; +import com.thing.common.core.validator.AssertUtils; +import com.thing.common.core.web.response.PageData; +import com.thing.common.core.web.response.Result; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +@RestController +@RequestMapping("v2/cbam/material/specific") +@Tag(name = "原材料特定") +@RequiredArgsConstructor +public class CbamMaterialSpecificController { + private final CbamMaterialSpecificService cbamMaterialSpecificService; + + @GetMapping("page") + @Operation(summary = "分页") + @Parameters({ + @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", required = true), + @Parameter(name = Constant.LIMIT, description = "每页显示记录数", required = true), + @Parameter(name = Constant.ORDER_FIELD, description = "排序字段"), + @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)") + }) + public Result> page(@Parameter(hidden = true) @RequestParam Map param) { + PageData pageList = cbamMaterialSpecificService.getPageData(param,CbamMaterialSpecificDTO.class); + return new Result>().ok(pageList); + } + @GetMapping("{id}") + @Operation(summary = "信息") + public Result get(@PathVariable("id") Long id) { + CbamMaterialSpecificDTO dto = cbamMaterialSpecificService.getByIdAs(id,CbamMaterialSpecificDTO.class); + return new Result().ok(dto); + } + + @PostMapping + @Operation(summary = "保存") + @LogOperation("保存") + public Result save(@RequestBody CbamMaterialSpecificDTO dto) { + cbamMaterialSpecificService.saveDto(dto); + return new Result<>(); + } + + @PutMapping + @Operation(summary = "修改") + @LogOperation("修改") + public Result update(@RequestBody CbamMaterialSpecificDTO dto) { + //效验数据 + //ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + cbamMaterialSpecificService.updateDto(dto); + return new Result<>(); + } + + @DeleteMapping + @Operation(summary = "删除") + @LogOperation("删除") + public Result delete(@RequestBody Long[] ids) { + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + cbamMaterialSpecificService.batchDelete(ids); + return new Result<>(); + } + + +} diff --git a/modules/cbam/src/main/java/com/thing/cbam/material/dto/CbamMaterialConsumptionDTO.java b/modules/cbam/src/main/java/com/thing/cbam/material/dto/CbamMaterialConsumptionDTO.java new file mode 100644 index 0000000..ff81521 --- /dev/null +++ b/modules/cbam/src/main/java/com/thing/cbam/material/dto/CbamMaterialConsumptionDTO.java @@ -0,0 +1,42 @@ +package com.thing.cbam.material.dto; + +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.core.keygen.KeyGenerators; +import io.swagger.v3.oas.annotations.media.Schema; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** +* 原材料消耗量 +* +* @author xc +* @since 3.0 2024-12-03 +*/ +@Data +@Schema(description = "原材料消耗量") +public class CbamMaterialConsumptionDTO implements Serializable { + @Serial + private static final long serialVersionUID = 1L; + + @Id(keyType = KeyType.Generator,value = KeyGenerators.snowFlakeId) + private Long id; + @Schema(description = "采购量") + private String purchaseQuantity; + @Schema(description = "消耗量") + private String consumAmount; + @Schema(description = "非欧盟商品消耗量") + private String consumGoods; + @Schema(description = "关联cbam_industry_information的主键id") + private Long industryId; + @Schema(description = "产品名称|生产过程") + private String prodNameProcess; + @Schema(description = "剩余消耗量") + private String remainConsum; + @Schema(description = "关联cbam_process_material的原材料") + private Long materialId; + +} \ No newline at end of file diff --git a/modules/cbam/src/main/java/com/thing/cbam/material/dto/CbamMaterialSpecificDTO.java b/modules/cbam/src/main/java/com/thing/cbam/material/dto/CbamMaterialSpecificDTO.java new file mode 100644 index 0000000..d1d70b8 --- /dev/null +++ b/modules/cbam/src/main/java/com/thing/cbam/material/dto/CbamMaterialSpecificDTO.java @@ -0,0 +1,50 @@ +package com.thing.cbam.material.dto; + +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.core.keygen.KeyGenerators; +import io.swagger.v3.oas.annotations.media.Schema; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** +* 购买的原材料 +* +* @author xc +* @since 3.0 2024-12-03 +*/ +@Data +@Schema(description = "原材料特定") +public class CbamMaterialSpecificDTO implements Serializable { + @Serial + private static final long serialVersionUID = 1L; + + @Id(keyType = KeyType.Generator,value = KeyGenerators.snowFlakeId) + private Long id; + @Schema(description = "SEE(直接) tCO₂e/t") + private String seeDirect; + @Schema(description = "SEE(直接)来源") + private String seeSource; + @Schema(description = "单位耗电量") + private String unitPowerConsum; + @Schema(description = "单位耗电量来源") + private String consumSource; + @Schema(description = "电力排放因子") + private String electEmissionFactor; + @Schema(description = "电力排放因子来源") + private String factorSource; + @Schema(description = "关联cbam_industry_information的主键id") + private Long industryId; + @Schema(description = "生产路线") + private String prodRoute; + @Schema(description = "产品名称|生产过程") + private String prodNameProcess; + @Schema(description = "SEE(间接) tCO₂e/t") + private String seeIndirect; + @Schema(description = "关联cbam_process_material的原材料") + private Long materialId; + +} \ No newline at end of file diff --git a/modules/cbam/src/main/java/com/thing/cbam/material/entity/CbamMaterialConsumptionEntity.java b/modules/cbam/src/main/java/com/thing/cbam/material/entity/CbamMaterialConsumptionEntity.java new file mode 100644 index 0000000..653aed9 --- /dev/null +++ b/modules/cbam/src/main/java/com/thing/cbam/material/entity/CbamMaterialConsumptionEntity.java @@ -0,0 +1,59 @@ +package com.thing.cbam.material.entity; + +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.annotation.Table; + +import com.mybatisflex.core.keygen.KeyGenerators; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 原材料消耗量 + * + * @author xc + * @since 3.0 2024-12-03 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper=false) +@Table("cbam_material_consumption") +public class CbamMaterialConsumptionEntity implements Serializable { + @Serial + private static final long serialVersionUID = 1L; + + @Id(keyType = KeyType.Generator,value = KeyGenerators.snowFlakeId) + private Long id; + /** + * 采购量 + */ + private String purchaseQuantity; + /** + * 消耗量 + */ + private String consumAmount; + /** + * 非欧盟商品消耗量 + */ + private String consumGoods; + /** + * 关联cbam_industry_information的主键id + */ + private Long industryId; + /** + * 产品名称|生产过程 + */ + private String prodNameProcess; + /** + * 剩余消耗量 + */ + private String remainConsum; + /** + * 关联cbam_process_material的原材料 + */ + private Long materialId; +} \ No newline at end of file diff --git a/modules/cbam/src/main/java/com/thing/cbam/material/entity/CbamMaterialSpecificEntity.java b/modules/cbam/src/main/java/com/thing/cbam/material/entity/CbamMaterialSpecificEntity.java new file mode 100644 index 0000000..e5fa3e6 --- /dev/null +++ b/modules/cbam/src/main/java/com/thing/cbam/material/entity/CbamMaterialSpecificEntity.java @@ -0,0 +1,76 @@ +package com.thing.cbam.material.entity; + +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.annotation.Table; + +import com.mybatisflex.core.keygen.KeyGenerators; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 购买的原材料 + * + * @author xc + * @since 3.0 2024-12-03 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper=false) +@Table("cbam_material_specific") +public class CbamMaterialSpecificEntity implements Serializable { + @Serial + private static final long serialVersionUID = 1L; + + @Id(keyType = KeyType.Generator,value = KeyGenerators.snowFlakeId) + private Long id; + /** + * SEE(直接) tCO₂e/t + */ + private String seeDirect; + /** + * SEE(直接)来源 + */ + private String seeSource; + /** + * 单位耗电量 + */ + private String unitPowerConsum; + /** + * 单位耗电量来源 + */ + private String consumSource; + /** + * 电力排放因子 + */ + private String electEmissionFactor; + /** + * 电力排放因子来源 + */ + private String factorSource; + /** + * 关联cbam_industry_information的主键id + */ + private Long industryId; + /** + * 生产路线 + */ + private String prodRoute; + /** + * 产品名称|生产过程 + */ + private String prodNameProcess; + /** + * SEE(间接) tCO₂e/t + */ + private String seeIndirect; + /** + * 关联cbam_process_material的原材料 + */ + private Long materialId; + +} \ No newline at end of file diff --git a/modules/cbam/src/main/java/com/thing/cbam/material/mapper/CbamMaterialConsumptionMapper.java b/modules/cbam/src/main/java/com/thing/cbam/material/mapper/CbamMaterialConsumptionMapper.java new file mode 100644 index 0000000..fe37bc4 --- /dev/null +++ b/modules/cbam/src/main/java/com/thing/cbam/material/mapper/CbamMaterialConsumptionMapper.java @@ -0,0 +1,9 @@ +package com.thing.cbam.material.mapper; + +import com.thing.cbam.material.entity.CbamMaterialConsumptionEntity; +import com.thing.common.orm.mapper.PowerBaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface CbamMaterialConsumptionMapper extends PowerBaseMapper { +} diff --git a/modules/cbam/src/main/java/com/thing/cbam/material/mapper/CbamMaterialSpecificMapper.java b/modules/cbam/src/main/java/com/thing/cbam/material/mapper/CbamMaterialSpecificMapper.java new file mode 100644 index 0000000..f326255 --- /dev/null +++ b/modules/cbam/src/main/java/com/thing/cbam/material/mapper/CbamMaterialSpecificMapper.java @@ -0,0 +1,11 @@ +package com.thing.cbam.material.mapper; + +import com.thing.cbam.material.entity.CbamMaterialSpecificEntity; +import com.thing.common.orm.mapper.PowerBaseMapper; +import org.apache.ibatis.annotations.Mapper; + + +@Mapper +public interface CbamMaterialSpecificMapper extends PowerBaseMapper { + +} diff --git a/modules/cbam/src/main/java/com/thing/cbam/material/service/CbamMaterialConsumptionService.java b/modules/cbam/src/main/java/com/thing/cbam/material/service/CbamMaterialConsumptionService.java new file mode 100644 index 0000000..1d00f1d --- /dev/null +++ b/modules/cbam/src/main/java/com/thing/cbam/material/service/CbamMaterialConsumptionService.java @@ -0,0 +1,9 @@ +package com.thing.cbam.material.service; + +import com.thing.cbam.material.dto.CbamMaterialConsumptionDTO; +import com.thing.cbam.material.entity.CbamMaterialConsumptionEntity; +import com.thing.common.orm.service.IBaseService; + +public interface CbamMaterialConsumptionService extends IBaseService { + +} diff --git a/modules/cbam/src/main/java/com/thing/cbam/material/service/CbamMaterialSpecificService.java b/modules/cbam/src/main/java/com/thing/cbam/material/service/CbamMaterialSpecificService.java new file mode 100644 index 0000000..cd541b5 --- /dev/null +++ b/modules/cbam/src/main/java/com/thing/cbam/material/service/CbamMaterialSpecificService.java @@ -0,0 +1,11 @@ +package com.thing.cbam.material.service; + +import com.thing.cbam.material.dto.CbamMaterialSpecificDTO; +import com.thing.cbam.material.entity.CbamMaterialSpecificEntity; +import com.thing.common.orm.service.IBaseService; + +import java.util.LinkedHashMap; + +public interface CbamMaterialSpecificService extends IBaseService { + LinkedHashMap validateMsg(CbamMaterialSpecificDTO cbamMaterialSpecificDTO); +} diff --git a/modules/cbam/src/main/java/com/thing/cbam/material/service/Impl/CbamMaterialConsumptionServiceImpl.java b/modules/cbam/src/main/java/com/thing/cbam/material/service/Impl/CbamMaterialConsumptionServiceImpl.java new file mode 100644 index 0000000..360bdf7 --- /dev/null +++ b/modules/cbam/src/main/java/com/thing/cbam/material/service/Impl/CbamMaterialConsumptionServiceImpl.java @@ -0,0 +1,23 @@ +package com.thing.cbam.material.service.Impl; + +import com.mybatisflex.core.query.QueryWrapper; +import com.thing.cbam.material.dto.CbamMaterialConsumptionDTO; +import com.thing.cbam.material.entity.CbamMaterialConsumptionEntity; +import com.thing.cbam.material.entity.CbamMaterialSpecificEntity; +import com.thing.cbam.material.mapper.CbamMaterialConsumptionMapper; +import com.thing.cbam.material.mapper.CbamMaterialSpecificMapper; +import com.thing.cbam.material.service.CbamMaterialConsumptionService; +import com.thing.common.orm.service.impl.BaseServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.Map; + +@Service +public class CbamMaterialConsumptionServiceImpl extends BaseServiceImpl implements CbamMaterialConsumptionService { + @Override + public QueryWrapper getWrapper(Map params) { + QueryWrapper wrapper = new QueryWrapper(); + return wrapper; + } + +} diff --git a/modules/cbam/src/main/java/com/thing/cbam/material/service/Impl/CbamMaterialSpecificServiceImpl.java b/modules/cbam/src/main/java/com/thing/cbam/material/service/Impl/CbamMaterialSpecificServiceImpl.java new file mode 100644 index 0000000..4ad22b1 --- /dev/null +++ b/modules/cbam/src/main/java/com/thing/cbam/material/service/Impl/CbamMaterialSpecificServiceImpl.java @@ -0,0 +1,33 @@ +package com.thing.cbam.material.service.Impl; + +import com.mybatisflex.core.query.QueryWrapper; +import com.thing.cbam.electricity.mapper.CbamElectricityToolMapper; +import com.thing.cbam.material.dto.CbamMaterialSpecificDTO; +import com.thing.cbam.material.entity.CbamMaterialSpecificEntity; +import com.thing.cbam.material.mapper.CbamMaterialSpecificMapper; +import com.thing.cbam.material.service.CbamMaterialSpecificService; +import com.thing.common.orm.service.impl.BaseServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.LinkedHashMap; +import java.util.Map; + +@Service +public class CbamMaterialSpecificServiceImpl extends BaseServiceImpl implements CbamMaterialSpecificService { + @Override + public QueryWrapper getWrapper(Map params) { + QueryWrapper wrapper = new QueryWrapper(); + return wrapper; + } + + @Override + public LinkedHashMap validateMsg(CbamMaterialSpecificDTO cbamMaterialSpecificDTO) { + LinkedHashMap resultMap = new LinkedHashMap<>(); + if (StringUtils.isBlank(cbamMaterialSpecificDTO.getSeeDirect())){ + resultMap.put("seeDirect","SEE(直接)不能为空"); + } + + return resultMap; + } +}