From 62f0eb6e3296fa3ef589e48bca06198ed26f9893 Mon Sep 17 00:00:00 2001 From: shiyunteng <shiyunteng@example.com> Date: 星期二, 25 三月 2025 17:32:40 +0800 Subject: [PATCH] 设备技术协议 --- platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceTechnicalAgreementServiceImpl.java | 23 +++ platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/DeviceTechnicalAgreemntQueryDTO.java | 11 + platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceTechnicalAgreementController.java | 120 +++++++++++++++++ platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceTechnicalAgreementMapper.java | 17 ++ platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceTechnicalAgreemnt.java | 121 +++++++++++++++++ platformx-device-biz/src/main/resources/mapper/DeviceTechnicalAgreementMapper.xml | 53 +++++++ platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/DeviceTechnicalAgreementPageVo.java | 28 ++++ platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceTechnicalAgreementService.java | 12 + 8 files changed, 385 insertions(+), 0 deletions(-) diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/DeviceTechnicalAgreemntQueryDTO.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/DeviceTechnicalAgreemntQueryDTO.java new file mode 100644 index 0000000..265c127 --- /dev/null +++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/DeviceTechnicalAgreemntQueryDTO.java @@ -0,0 +1,11 @@ +package com.by4cloud.platformx.device.dto; + +import lombok.Data; + +@Data +public class DeviceTechnicalAgreemntQueryDTO { + + private String contractName; + + private String deviceName; +} diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceTechnicalAgreemnt.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceTechnicalAgreemnt.java new file mode 100644 index 0000000..6b2c54a --- /dev/null +++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceTechnicalAgreemnt.java @@ -0,0 +1,121 @@ +package com.by4cloud.platformx.device.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.by4cloud.platformx.common.data.mybatis.BaseModel; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.hibernate.annotations.Table; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.persistence.Column; +import javax.persistence.Entity; +import java.util.Date; + +@Data +@Entity +@TableName("device_technical_agreement") +@javax.persistence.Table(name = "device_technical_agreement") +@Table(appliesTo = "device_technical_agreement", comment = "璁惧鎶�鏈崗璁�") +public class DeviceTechnicalAgreemnt extends BaseModel<DeviceTechnicalAgreemnt> { + + /** + * 鐢叉柟 + */ + @Schema(description = "鐢叉柟") + @Column(columnDefinition="VARCHAR(64) comment '鐢叉柟'") + private String partya; + + /** + * 涔欐柟 + */ + @Schema(description = "涔欐柟") + @Column(columnDefinition="VARCHAR(64) comment '涔欐柟'") + private String partyb; + + /** + * 涓夋柟 + */ + @Schema(description = "涓夋柟") + @Column(columnDefinition="VARCHAR(64) comment '涓夋柟'") + private String partyc; + + /** + * 鍏宠仈璁惧 + */ + @Schema(description = "鍏宠仈璁惧") + @Column(columnDefinition="long comment '鍏宠仈璁惧'") + private Long deviceId; + + /** + * 璁惧缂栫爜 + */ + @Schema(description="璁惧缂栫爜") + @Column(columnDefinition="VARCHAR(256) comment '璁惧缂栫爜'") + private String deviceCode; + + /** + * 璁惧鍚嶇О + */ + @Schema(description="璁惧鍚嶇О") + @Column(columnDefinition="VARCHAR(256) comment '璁惧鍚嶇О'") + private String deviceName; + + /** + * 瑙勬牸鍨嬪彿 + */ + @Schema(description="瑙勬牸鍨嬪彿") + @Column(columnDefinition="VARCHAR(256) comment '瑙勬牸鍨嬪彿'") + private String deviceModels; + + /** + * 鍏抽敭鍙傛暟 + */ + @Schema(description="鍏抽敭鍙傛暟") + @Column(columnDefinition="VARCHAR(256) comment '鍏抽敭鍙傛暟'") + private String keyParameter; + + /** + * 鍒拌揣鏈堜唤 + */ + @Schema(description="鍒拌揣鏈堜唤") + @Column(columnDefinition="Integer comment '鍒拌揣鏈堜唤'") + private Integer arrivalMonth; + + /** + * 鏁伴噺 + */ + @Schema(description="鏁伴噺") + @Column(columnDefinition="Integer comment '鏁伴噺'") + private Integer quantity; + + /** + * 鍗曚綅 + */ + @Schema(description="鍗曚綅") + @Column(columnDefinition="VARCHAR(256) comment '鍗曚綅'") + private String unit; + + /** + * 鏉℃鍐呭 + */ + @Schema(description="鏉℃鍐呭") + @Column(columnDefinition="TEXT comment '鏉℃鍐呭'") + private String termContent; + + /** + * 绛捐鏃ユ湡 + */ + @Schema(description="绛捐鏃ユ湡") + @Column(columnDefinition="datetime comment '绛捐鏃ユ湡'") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date signDate; + + /** + * 鍏宠仈鍚堝悓 + */ + @Schema(description="鍏宠仈鍚堝悓") + @Column(columnDefinition="long comment '鍏宠仈鍚堝悓'") + private Long contractId; +} diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/DeviceTechnicalAgreementPageVo.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/DeviceTechnicalAgreementPageVo.java new file mode 100644 index 0000000..6b371fa --- /dev/null +++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/DeviceTechnicalAgreementPageVo.java @@ -0,0 +1,28 @@ +package com.by4cloud.platformx.device.entity.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + + +import java.util.Date; + +@Data +public class DeviceTechnicalAgreementPageVo { + + private Long id; + + private String contractName; + + private String partya; + + private String partyb; + + private String partyc; + + @JsonFormat(pattern = "yyyy-MM-dd") + private Date signDate; + + private String deviceName; + + private String deviceCode; +} diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceTechnicalAgreementController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceTechnicalAgreementController.java new file mode 100644 index 0000000..1d8ca5c --- /dev/null +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceTechnicalAgreementController.java @@ -0,0 +1,120 @@ +package com.by4cloud.platformx.device.controller; + +import cn.hutool.core.util.StrUtil; +import cn.hutool.core.util.ArrayUtil; +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.by4cloud.platformx.common.core.util.R; +import com.by4cloud.platformx.common.log.annotation.SysLog; +import com.by4cloud.platformx.device.dto.DeviceTechnicalAgreemntQueryDTO; +import com.by4cloud.platformx.device.entity.DeviceTechnicalAgreemnt; +import com.by4cloud.platformx.device.service.DeviceTechnicalAgreementService; +import org.springframework.security.access.prepost.PreAuthorize; +import com.by4cloud.platformx.common.excel.annotation.ResponseExcel; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import org.springdoc.api.annotations.ParameterObject; +import org.springframework.http.HttpHeaders; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Objects; + +/** + * 璁惧鎶�鏈崗璁� + * + * @author syt + * @date 2025-03-25 15:48:53 + */ +@RestController +@RequiredArgsConstructor +@RequestMapping("/deviceTechnicalAgreement" ) +@Tag(description = "deviceTechnicalAgreement" , name = "璁惧鎶�鏈崗璁鐞�" ) +@SecurityRequirement(name = HttpHeaders.AUTHORIZATION) +public class DeviceTechnicalAgreementController { + + private final DeviceTechnicalAgreementService deviceTechnicalAgreementService; + + /** + * 鍒嗛〉鏌ヨ + * @param page 鍒嗛〉瀵硅薄 + * @param queryDTO 璁惧鎶�鏈崗璁� + * @return + */ + @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" ) + @GetMapping("/page" ) + @PreAuthorize("@pms.hasPermission('device_deviceTechnicalAgreement_view')" ) + public R getDeviceTechnicalAgreementPage(@ParameterObject Page page, @ParameterObject DeviceTechnicalAgreemntQueryDTO queryDTO) { + return R.ok(deviceTechnicalAgreementService.pageNew(page, queryDTO)); + } + + + /** + * 閫氳繃id鏌ヨ璁惧鎶�鏈崗璁� + * @param id id + * @return R + */ + @Operation(summary = "閫氳繃id鏌ヨ" , description = "閫氳繃id鏌ヨ" ) + @GetMapping("/{id}" ) + @PreAuthorize("@pms.hasPermission('device_deviceTechnicalAgreement_view')" ) + public R getById(@PathVariable("id" ) Long id) { + return R.ok(deviceTechnicalAgreementService.getById(id)); + } + + /** + * 鏂板璁惧鎶�鏈崗璁� + * @param deviceTechnicalAgreement 璁惧鎶�鏈崗璁� + * @return R + */ + @Operation(summary = "鏂板璁惧鎶�鏈崗璁�" , description = "鏂板璁惧鎶�鏈崗璁�" ) + @SysLog("鏂板璁惧鎶�鏈崗璁�" ) + @PostMapping + @PreAuthorize("@pms.hasPermission('device_deviceTechnicalAgreement_add')" ) + public R save(@RequestBody DeviceTechnicalAgreemnt deviceTechnicalAgreement) { + return R.ok(deviceTechnicalAgreementService.save(deviceTechnicalAgreement)); + } + + /** + * 淇敼璁惧鎶�鏈崗璁� + * @param deviceTechnicalAgreement 璁惧鎶�鏈崗璁� + * @return R + */ + @Operation(summary = "淇敼璁惧鎶�鏈崗璁�" , description = "淇敼璁惧鎶�鏈崗璁�" ) + @SysLog("淇敼璁惧鎶�鏈崗璁�" ) + @PutMapping + @PreAuthorize("@pms.hasPermission('device_deviceTechnicalAgreement_edit')" ) + public R updateById(@RequestBody DeviceTechnicalAgreemnt deviceTechnicalAgreement) { + return R.ok(deviceTechnicalAgreementService.updateById(deviceTechnicalAgreement)); + } + + /** + * 閫氳繃id鍒犻櫎璁惧鎶�鏈崗璁� + * @param ids id鍒楄〃 + * @return R + */ + @Operation(summary = "閫氳繃id鍒犻櫎璁惧鎶�鏈崗璁�" , description = "閫氳繃id鍒犻櫎璁惧鎶�鏈崗璁�" ) + @SysLog("閫氳繃id鍒犻櫎璁惧鎶�鏈崗璁�" ) + @DeleteMapping + @PreAuthorize("@pms.hasPermission('device_deviceTechnicalAgreement_del')" ) + public R removeById(@RequestBody Long[] ids) { + return R.ok(deviceTechnicalAgreementService.removeBatchByIds(CollUtil.toList(ids))); + } + + + /** + * 瀵煎嚭excel 琛ㄦ牸 + * @param deviceTechnicalAgreement 鏌ヨ鏉′欢 + * @param ids 瀵煎嚭鎸囧畾ID + * @return excel 鏂囦欢娴� + */ + @ResponseExcel + @GetMapping("/export") + @PreAuthorize("@pms.hasPermission('device_deviceTechnicalAgreement_export')" ) + public List<DeviceTechnicalAgreemnt> export(DeviceTechnicalAgreemnt deviceTechnicalAgreement,Long[] ids) { + return deviceTechnicalAgreementService.list(Wrappers.lambdaQuery(deviceTechnicalAgreement).in(ArrayUtil.isNotEmpty(ids), DeviceTechnicalAgreemnt::getId, ids)); + } +} \ No newline at end of file diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceTechnicalAgreementMapper.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceTechnicalAgreementMapper.java new file mode 100644 index 0000000..a8caed3 --- /dev/null +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceTechnicalAgreementMapper.java @@ -0,0 +1,17 @@ +package com.by4cloud.platformx.device.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper; +import com.by4cloud.platformx.device.dto.DeviceTechnicalAgreemntQueryDTO; +import com.by4cloud.platformx.device.entity.DeviceTechnicalAgreemnt; +import com.by4cloud.platformx.device.entity.vo.DeviceTechnicalAgreementPageVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface DeviceTechnicalAgreementMapper extends PlatformxBaseMapper<DeviceTechnicalAgreemnt> { + + + IPage<DeviceTechnicalAgreementPageVo> page(Page page, @Param("queryDTO") DeviceTechnicalAgreemntQueryDTO queryDTO); +} \ No newline at end of file diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceTechnicalAgreementService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceTechnicalAgreementService.java new file mode 100644 index 0000000..9e528a2 --- /dev/null +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceTechnicalAgreementService.java @@ -0,0 +1,12 @@ +package com.by4cloud.platformx.device.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.by4cloud.platformx.device.dto.DeviceTechnicalAgreemntQueryDTO; +import com.by4cloud.platformx.device.entity.DeviceTechnicalAgreemnt; + +public interface DeviceTechnicalAgreementService extends IService<DeviceTechnicalAgreemnt> { + + IPage pageNew(Page page, DeviceTechnicalAgreemntQueryDTO queryDTO); +} \ No newline at end of file diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceTechnicalAgreementServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceTechnicalAgreementServiceImpl.java new file mode 100644 index 0000000..3ac6361 --- /dev/null +++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceTechnicalAgreementServiceImpl.java @@ -0,0 +1,23 @@ +package com.by4cloud.platformx.device.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.by4cloud.platformx.device.dto.DeviceTechnicalAgreemntQueryDTO; +import com.by4cloud.platformx.device.entity.DeviceTechnicalAgreemnt; +import com.by4cloud.platformx.device.mapper.DeviceTechnicalAgreementMapper; +import com.by4cloud.platformx.device.service.DeviceTechnicalAgreementService; +import org.springframework.stereotype.Service; +/** + * 璁惧鎶�鏈崗璁� + * + * @author syt + * @date 2025-03-25 15:48:53 + */ +@Service +public class DeviceTechnicalAgreementServiceImpl extends ServiceImpl<DeviceTechnicalAgreementMapper, DeviceTechnicalAgreemnt> implements DeviceTechnicalAgreementService { + @Override + public IPage pageNew(Page page, DeviceTechnicalAgreemntQueryDTO queryDTO) { + return baseMapper.page(page,queryDTO); + } +} \ No newline at end of file diff --git a/platformx-device-biz/src/main/resources/mapper/DeviceTechnicalAgreementMapper.xml b/platformx-device-biz/src/main/resources/mapper/DeviceTechnicalAgreementMapper.xml new file mode 100644 index 0000000..c7df52c --- /dev/null +++ b/platformx-device-biz/src/main/resources/mapper/DeviceTechnicalAgreementMapper.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + +<mapper namespace="com.by4cloud.platformx.device.mapper.DeviceTechnicalAgreementMapper"> + + <resultMap id="deviceTechnicalAgreementMap" type="com.by4cloud.platformx.device.entity.DeviceTechnicalAgreemnt"> + <id property="id" column="id"/> + <result property="compId" column="comp_id"/> + <result property="arrivalMonth" column="arrival_month"/> + <result property="contractId" column="contract_id"/> + <result property="deviceCode" column="device_code"/> + <result property="deviceId" column="device_id"/> + <result property="deviceModels" column="device_models"/> + <result property="deviceName" column="device_name"/> + <result property="keyParameter" column="key_parameter"/> + <result property="partya" column="partya"/> + <result property="partyb" column="partyb"/> + <result property="partyc" column="partyc"/> + <result property="quantity" column="quantity"/> + <result property="signDate" column="sign_date"/> + <result property="termContent" column="term_content"/> + <result property="unit" column="unit"/> + <result property="createBy" column="create_by"/> + <result property="createTime" column="create_time"/> + <result property="updateBy" column="update_by"/> + <result property="updateTime" column="update_time"/> + <result property="delFlag" column="del_flag"/> + </resultMap> + <select id="page" resultType="com.by4cloud.platformx.device.entity.vo.DeviceTechnicalAgreementPageVo"> + select + dta.id, + c.name contractName, + dta.partya , + dta.partyb , + dta.partyc , + dta.sign_date , + d.name deviceName, + d.`number` deviceCode + from + device_technical_agreement dta + join contract c on dta.contract_id = c.id + join device d on d.id = dta.device_id + where + dta.del_flag = '0' + <if test="queryDTO.contractName != null and queryDTO.contractName !=''"> + and c.name like CONCAT('%', #{queryDTO.contractName}, '%') + </if> + <if test="queryDTO.deviceName != null and queryDTO.deviceName !=''"> + and d.name like CONCAT('%', #{queryDTO.deviceName}, '%') + </if> + </select> + +</mapper> \ No newline at end of file -- Gitblit v1.9.1