platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ReceivingNoteItemQueryDTO.java
@@ -7,4 +7,6 @@ private String contractItemName; private String releaseCode; } platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ReceivingNoteQueryDTO.java
@@ -5,6 +5,6 @@ @Data public class ReceivingNoteQueryDTO { private String contractName; private String releaseCode; } platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceManufacturer.java
New file @@ -0,0 +1,54 @@ package com.by4cloud.platformx.device.entity; import com.baomidou.mybatisplus.annotation.TableName; import com.by4cloud.platformx.common.data.mybatis.BaseModel; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.hibernate.annotations.Table; import javax.persistence.Column; import javax.persistence.Entity; @Data @Entity @TableName("device_manufacturer") @javax.persistence.Table(name = "device_manufacturer") @Table(appliesTo = "device_manufacturer", comment = "设备厂商") public class DeviceManufacturer extends BaseModel<DeviceManufacturer> { /** * 设备厂商名称 */ @Schema(description = "设备厂商名称") @Column(columnDefinition="VARCHAR(128) comment '设备厂商名称'") private String manufacturerName; /** * 设备厂商联系人 */ @Schema(description = "设备厂商联系人") @Column(columnDefinition="VARCHAR(128) comment '设备厂商联系人'") private String manufacturerContact; /** * 设备厂商联系人 */ @Schema(description = "设备厂商联系人电话") @Column(columnDefinition="VARCHAR(32) comment '设备厂商联系人电话'") private String contactPhone; /** * 设备厂商地址 */ @Schema(description = "设备厂商地址") @Column(columnDefinition="VARCHAR(32) comment '设备厂商地址'") private String contactAddress; /** * 设备厂商地址 */ @Schema(description = "设备厂商种类") @Column(columnDefinition="VARCHAR(256) comment '设备厂商种类'") private String manufacturerCategory; } platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNote.java
@@ -27,10 +27,17 @@ @Table(appliesTo = "receiving_note", comment = "验收表") public class ReceivingNote extends BaseModel<ReceivingNote> { /** * 合同Id * 承租合同Id */ @Column(columnDefinition="long comment '合同Id'") private Long contractId; @Column(columnDefinition="long comment '承租合同Id'") private Long lesseeContractId; /** * 租用合同Id */ @Column(columnDefinition="long comment '租用合同Id'") private Long rentContractId; @Schema(description = "验收公司") @Column(columnDefinition="VARCHAR(64) comment '验收公司'") private String releaseCompName; @@ -56,4 +63,68 @@ @Column(columnDefinition="VARCHAR(32) comment '验收单编号'") private String releaseCode; /** * 来源类型 */ @Schema(description = "来源类型") @Column(columnDefinition="INTEGER comment '来源类型'") private String resourceType; /** * 生产厂商 */ @Schema(description = "生产厂商") @Column(columnDefinition="long comment '生产厂商'") private Long manufacturerId; /** * 出厂日期 */ @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") @Schema(description = "出厂日期") @Column(columnDefinition = "datetime comment '出厂日期'") private Date productDate; /** * 验收情况 */ @Schema(description = "验收情况") @Column(columnDefinition="VARCHAR(1024) comment '验收情况'") private String releaseSituation; /** * 整改情况 */ @Schema(description = "整改情况") @Column(columnDefinition="VARCHAR(1024) comment '整改情况'") private String correctionSituation; /** * 验收结论 */ @Schema(description = "验收结论") @Column(columnDefinition="VARCHAR(1024) comment '验收结论'") private String releaseConclusion; /** * 检验报告 */ @Schema(description = "检验报告") @Column(columnDefinition="VARCHAR(1024) comment '检验报告'") private String inspectionReport; /** * 备注 */ @Schema(description = "备注") @Column(columnDefinition="VARCHAR(256) comment '备注'") private String remarks; /** * 使用公司 */ @Schema(description = "使用公司") @Column(columnDefinition="long comment '使用公司'") private Long deptId; } platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNoteItem.java
@@ -31,6 +31,7 @@ */ @Column(columnDefinition="long comment '验收主表Id'") private Long noteId; /** * 合同Id */ @@ -48,6 +49,40 @@ @Column(columnDefinition="double comment '验收金额'") private Double output; /** * 设备编码 */ @Schema(description="设备编码") @Column(columnDefinition="VARCHAR(16) 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="VARCHAR(32) comment '计量单位'") private String meteringUnit; } platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/ReceivingNoteItemPageVo.java
@@ -9,7 +9,15 @@ private String releaseCode; private String contractItemName; private String deviceCode; private String deviceName; private String deviceModels; private String keyParameter; private String meteringUnit; private String num; platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/ReceivingNotePageVo.java
@@ -1,18 +1,32 @@ package com.by4cloud.platformx.device.entity.vo; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.util.Date; @Data public class ReceivingNotePageVo { private Long id; private String releaseCompName; private String releasePerson; private String contractName; private String releaseCode; /** * 来源类型 */ private String resourceType; /** * 生产厂商 */ private String manufacturerName; /** * 使用公司 */ private String deptName; @JsonFormat(pattern = "yyyy-MM-dd") private Date releaseDate; } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java
@@ -3,6 +3,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -50,6 +51,7 @@ @PreAuthorize("@pms.hasPermission('platformx_contract_view')" ) public R getContractPage(@ParameterObject Page page, @ParameterObject Contract contract) { LambdaQueryWrapper<Contract> wrapper = Wrappers.lambdaQuery(); wrapper.eq(contract.getType()!=null,Contract::getType,contract.getType()); wrapper.like(StringUtils.isNotEmpty(contract.getName()),Contract::getName,contract.getName()); wrapper.like(StringUtils.isNotEmpty(contract.getNumber()),Contract::getNumber,contract.getNumber()); return R.ok(contractService.page(page, wrapper)); platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceManufacturerController.java
New file @@ -0,0 +1,122 @@ 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.entity.DeviceManufacturer; import com.by4cloud.platformx.device.service.DeviceManufacturerService; 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-26 08:46:59 */ @RestController @RequiredArgsConstructor @RequestMapping("/deviceManufacturer" ) @Tag(description = "deviceManufacturer" , name = "设备厂商管理" ) @SecurityRequirement(name = HttpHeaders.AUTHORIZATION) public class DeviceManufacturerController { private final DeviceManufacturerService deviceManufacturerService; /** * 分页查询 * @param page 分页对象 * @param deviceManufacturer 设备厂商 * @return */ @Operation(summary = "分页查询" , description = "分页查询" ) @GetMapping("/page" ) @PreAuthorize("@pms.hasPermission('device_deviceManufacturer_view')" ) public R getDeviceManufacturerPage(@ParameterObject Page page, @ParameterObject DeviceManufacturer deviceManufacturer) { LambdaQueryWrapper<DeviceManufacturer> wrapper = Wrappers.lambdaQuery(); wrapper.like(StrUtil.isNotBlank(deviceManufacturer.getManufacturerCategory()),DeviceManufacturer::getManufacturerCategory,deviceManufacturer.getManufacturerCategory()); wrapper.like(StrUtil.isNotBlank(deviceManufacturer.getManufacturerName()),DeviceManufacturer::getManufacturerName,deviceManufacturer.getManufacturerName()); return R.ok(deviceManufacturerService.page(page, wrapper)); } /** * 通过id查询设备厂商 * @param id id * @return R */ @Operation(summary = "通过id查询" , description = "通过id查询" ) @GetMapping("/{id}" ) @PreAuthorize("@pms.hasPermission('device_deviceManufacturer_view')" ) public R getById(@PathVariable("id" ) Long id) { return R.ok(deviceManufacturerService.getById(id)); } /** * 新增设备厂商 * @param deviceManufacturer 设备厂商 * @return R */ @Operation(summary = "新增设备厂商" , description = "新增设备厂商" ) @SysLog("新增设备厂商" ) @PostMapping @PreAuthorize("@pms.hasPermission('device_deviceManufacturer_add')" ) public R save(@RequestBody DeviceManufacturer deviceManufacturer) { return R.ok(deviceManufacturerService.save(deviceManufacturer)); } /** * 修改设备厂商 * @param deviceManufacturer 设备厂商 * @return R */ @Operation(summary = "修改设备厂商" , description = "修改设备厂商" ) @SysLog("修改设备厂商" ) @PutMapping @PreAuthorize("@pms.hasPermission('device_deviceManufacturer_edit')" ) public R updateById(@RequestBody DeviceManufacturer deviceManufacturer) { return R.ok(deviceManufacturerService.updateById(deviceManufacturer)); } /** * 通过id删除设备厂商 * @param ids id列表 * @return R */ @Operation(summary = "通过id删除设备厂商" , description = "通过id删除设备厂商" ) @SysLog("通过id删除设备厂商" ) @DeleteMapping @PreAuthorize("@pms.hasPermission('device_deviceManufacturer_del')" ) public R removeById(@RequestBody Long[] ids) { return R.ok(deviceManufacturerService.removeBatchByIds(CollUtil.toList(ids))); } /** * 导出excel 表格 * @param deviceManufacturer 查询条件 * @param ids 导出指定ID * @return excel 文件流 */ @ResponseExcel @GetMapping("/export") @PreAuthorize("@pms.hasPermission('device_deviceManufacturer_export')" ) public List<DeviceManufacturer> export(DeviceManufacturer deviceManufacturer,Long[] ids) { return deviceManufacturerService.list(Wrappers.lambdaQuery(deviceManufacturer).in(ArrayUtil.isNotEmpty(ids), DeviceManufacturer::getId, ids)); } } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceManufacturerMapper.java
New file @@ -0,0 +1,11 @@ package com.by4cloud.platformx.device.mapper; import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper; import com.by4cloud.platformx.device.entity.DeviceManufacturer; import org.apache.ibatis.annotations.Mapper; @Mapper public interface DeviceManufacturerMapper extends PlatformxBaseMapper<DeviceManufacturer> { } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceManufacturerService.java
New file @@ -0,0 +1,8 @@ package com.by4cloud.platformx.device.service; import com.baomidou.mybatisplus.extension.service.IService; import com.by4cloud.platformx.device.entity.DeviceManufacturer; public interface DeviceManufacturerService extends IService<DeviceManufacturer> { } platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceManufacturerServiceImpl.java
New file @@ -0,0 +1,16 @@ package com.by4cloud.platformx.device.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.by4cloud.platformx.device.entity.DeviceManufacturer; import com.by4cloud.platformx.device.mapper.DeviceManufacturerMapper; import com.by4cloud.platformx.device.service.DeviceManufacturerService; import org.springframework.stereotype.Service; /** * 设备厂商 * * @author syt * @date 2025-03-26 08:46:59 */ @Service public class DeviceManufacturerServiceImpl extends ServiceImpl<DeviceManufacturerMapper, DeviceManufacturer> implements DeviceManufacturerService { } platformx-device-biz/src/main/resources/mapper/DeviceManufacturerMapper.xml
New file @@ -0,0 +1,20 @@ <?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.DeviceManufacturerMapper"> <resultMap id="deviceManufacturerMap" type="com.by4cloud.platformx.device.entity.DeviceManufacturer"> <id property="id" column="id"/> <result property="compId" column="comp_id"/> <result property="contactAddress" column="contact_address"/> <result property="contactPhone" column="contact_phone"/> <result property="manufacturerCategory" column="manufacturer_category"/> <result property="manufacturerContact" column="manufacturer_contact"/> <result property="manufacturerName" column="manufacturer_name"/> <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> </mapper> platformx-device-biz/src/main/resources/mapper/ReceivingNoteItemMapper.xml
@@ -20,17 +20,20 @@ select rni.id, rni.num , rni.device_code, rni.device_name , rni.device_models , rni.key_parameter , rni.metering_unit , rni.`output` , ci.name contractItemName, rn.release_code from receiving_note_item rni join contract_item ci on rni.contract_item_id = ci.id join receiving_note rn on rn.id = rni.note_id where rni.del_flag = '0' <if test="queryDTO.contractItemName != null and queryDTO.contractItemName !=''"> and c.name like CONCAT('%', #{queryDTO.contractItemName}, '%') <if test="queryDTO.releaseCode != null and queryDTO.releaseCode !=''"> and rn.release_code like CONCAT('%', #{queryDTO.releaseCode}, '%') </if> </select> </mapper> platformx-device-biz/src/main/resources/mapper/ReceivingNoteMapper.xml
@@ -21,17 +21,21 @@ <select id="pageNew" resultType="com.by4cloud.platformx.device.entity.vo.ReceivingNotePageVo"> select rn.id, rn.release_comp_name , rn.release_person, rn.resource_type , rn.release_date , rn.release_code, c.name contractName dm.manufacturer_name, sd.name deptName from receiving_note rn join contract c on rn.contract_id = c.id join device_manufacturer dm on rn.manufacturer_id = dm.id join platformxx_boot.sys_dept sd on rn.dept_id = sd.dept_id where rn.del_flag = '0' <if test="queryDTO.contractName != null and queryDTO.contractName !=''"> and c.name like CONCAT('%', #{queryDTO.contractName}, '%') <if test="queryDTO.releaseCode != null and queryDTO.releaseCode !=''"> and rn.release_code like CONCAT('%', #{queryDTO.releaseCode}, '%') </if> </select> </mapper>