shiyunteng
2025-03-26 a45f6c10be2177ccb7f654d1ed2ae208ebb13919
验收单及明细 生成厂商
9个文件已修改
6个文件已添加
412 ■■■■■ 已修改文件
platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ReceivingNoteItemQueryDTO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ReceivingNoteQueryDTO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceManufacturer.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNote.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNoteItem.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/ReceivingNoteItemPageVo.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/ReceivingNotePageVo.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceManufacturerController.java 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceManufacturerMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceManufacturerService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceManufacturerServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/resources/mapper/DeviceManufacturerMapper.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/resources/mapper/ReceivingNoteItemMapper.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platformx-device-biz/src/main/resources/mapper/ReceivingNoteMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>