liyong
14 小时以前 fa59bd5bf64f818111b26744a3b51b936ab6f389
2025-07-01 bug修改
已修改17个文件
157 ■■■■ 文件已修改
doc/add.sql 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/device/dto/DeviceMaintenanceDto.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/device/execl/DeviceLedgerExeclDto.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/device/pojo/DeviceRepair.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/device/service/IDeviceLedgerService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/device/service/IDeviceMaintenanceService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/controller/PaymentRegistrationController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/pojo/ProductRecord.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/service/IPaymentRegistrationService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/device/DeviceMaintenanceMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
doc/add.sql
@@ -71,3 +71,6 @@
alter table ticket_registration
    add enter_date timestamp null;
alter table product_record
    add 列_name int null comment 'sale_ledger_projectI_id';
src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java
@@ -15,6 +15,7 @@
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
@@ -69,7 +70,7 @@
    @PostMapping("import")
    @ApiModelProperty("导入设备台账")
    public AjaxResult importData(MultipartFile file) {
    public AjaxResult importData(MultipartFile file) throws IOException {
        Boolean b = deviceLedgerService.importData(file);
        if (b) {
            return AjaxResult.success("导入成功");
src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java
@@ -9,14 +9,16 @@
import com.ruoyi.device.service.IDeviceMaintenanceService;
import com.ruoyi.device.service.IDeviceRepairService;
import com.ruoyi.framework.web.domain.AjaxResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.Arrays;
@Api(tags = "设备保养")
@RestController
@RequestMapping("/device/maintenance")
public class DeviceMaintenanceController {
@@ -33,8 +35,8 @@
    @PostMapping()
    @ApiModelProperty("添加设备保养")
    public AjaxResult add(@RequestBody DeviceMaintenance deviceRepair) {
        return deviceMaintenanceService.saveDeviceRepair(deviceRepair);
    public AjaxResult add(@RequestBody DeviceMaintenance deviceMaintenance) {
        return deviceMaintenanceService.saveDeviceRepair(deviceMaintenance);
    }
    @ApiModelProperty("根据id查询设备保养")
@@ -46,20 +48,21 @@
    @PutMapping ()
    @ApiModelProperty("修改设备保养")
    public AjaxResult update(@RequestBody DeviceMaintenance deviceMaintenance) {
        return deviceMaintenanceService.updateDeviceRepair(deviceMaintenance);
        return deviceMaintenanceService.updateDeviceDeviceMaintenance(deviceMaintenance);
    }
    @PostMapping ("maintenance")
    @ApiModelProperty("修改设备保养")
    public AjaxResult maintenance(@RequestBody DeviceMaintenance deviceMaintenance) {
        return deviceMaintenanceService.updateDeviceRepair(deviceMaintenance);
        deviceMaintenance.setStatus(1);
        return deviceMaintenanceService.updateDeviceDeviceMaintenance(deviceMaintenance);
    }
    @DeleteMapping("/{id}")
    @DeleteMapping("/{ida}")
    @ApiModelProperty("删除设备保养")
    public AjaxResult delete(@PathVariable ArrayList<Long> ids) {
        boolean b = deviceMaintenanceService.removeBatchByIds(ids);
    public AjaxResult delete(@PathVariable("ids") Long[] ids) {
        boolean b = deviceMaintenanceService.removeBatchByIds(Arrays.asList(ids));
        if (!b) {
            return AjaxResult.error("删除失败");
        }
src/main/java/com/ruoyi/device/dto/DeviceMaintenanceDto.java
@@ -5,6 +5,7 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.Date;
@Data
@@ -16,7 +17,7 @@
    private Long id;
    @ApiModelProperty("设备台账id")
    private String deviceLedgerId;
    private Long deviceLedgerId;
    @ApiModelProperty("设备名称")
    private String deviceName;
@@ -25,13 +26,13 @@
    private String deviceModel;
    @ApiModelProperty("计划保养日期")
    private Date maintenancePlanTime;
    private LocalDateTime maintenancePlanTime;
    @ApiModelProperty("实际保养人")
    private String maintenanceActuallyName;
    @ApiModelProperty("实际保养日期")
    private Date maintenanceActuallyTime;
    private LocalDateTime maintenanceActuallyTime;
    @ApiModelProperty("保养结果 0 维修 1 完好")
    private Integer maintenanceResult;
@@ -41,11 +42,11 @@
    @ApiModelProperty("创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    private LocalDateTime createTime;
    @ApiModelProperty("更新时间")
    @TableField(fill = FieldFill.UPDATE)
    private Date updateTime;
    private LocalDateTime updateTime;
    @ApiModelProperty("创建人")
    @TableField(fill = FieldFill.INSERT)
@@ -58,4 +59,7 @@
    @ApiModelProperty("租户id")
    @TableField(fill = FieldFill.INSERT)
    private Long tenantId;
    @ApiModelProperty("创建人名称")
    private String createUserName;
}
src/main/java/com/ruoyi/device/execl/DeviceLedgerExeclDto.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@@ -65,13 +66,14 @@
     */
    @Excel(name = "不含税总价",sort = 9)
    private BigDecimal unTaxIncludingPriceTotal;
    /**
     * 录入时间
     *
     */
    @Excel(name = "录入时间",sort = 10)
    private LocalDateTime createTime;
//
//    /**
//     * 录入时间
//     *
//     */
//    @Excel(name = "录入时间",sort = 10)
//    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    private LocalDateTime createTime;
src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java
@@ -20,16 +20,20 @@
    private Long id;
    @ApiModelProperty("设备台账id")
    private String deviceLedgerId;
    private Long deviceLedgerId;
    @ApiModelProperty("计划保养日期")
    private Date maintenancePlanTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime maintenancePlanTime;
    @ApiModelProperty("实际保养人")
    private String maintenanceActuallyName;
    @ApiModelProperty("实际保养日期")
    private Date maintenanceActuallyTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime maintenanceActuallyTime;
    @ApiModelProperty("保养结果 0 维修 1 完好")
    private Integer maintenanceResult;
src/main/java/com/ruoyi/device/pojo/DeviceRepair.java
@@ -23,7 +23,7 @@
    private Long id;
    @ApiModelProperty("设备台账id")
    private String deviceLedgerId;
    private Long deviceLedgerId;
    @ApiModelProperty("报修时间")
    private Date repairTime;
@@ -38,7 +38,9 @@
    private String maintenanceName;
    @ApiModelProperty("维修时间")
    private Date maintenanceTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime maintenanceTime;
    @ApiModelProperty("维修结果")
    private String maintenanceResult;
src/main/java/com/ruoyi/device/service/IDeviceLedgerService.java
@@ -9,6 +9,7 @@
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
public interface IDeviceLedgerService  extends IService<DeviceLedger> {
@@ -20,5 +21,5 @@
    void export(HttpServletResponse response, Long[] ids);
    Boolean importData(MultipartFile file);
    Boolean importData(MultipartFile file) throws IOException;
}
src/main/java/com/ruoyi/device/service/IDeviceMaintenanceService.java
@@ -15,7 +15,7 @@
    AjaxResult saveDeviceRepair(DeviceMaintenance deviceMaintenance);
    AjaxResult updateDeviceRepair(DeviceMaintenance deviceMaintenance);
    AjaxResult updateDeviceDeviceMaintenance(DeviceMaintenance deviceMaintenance);
    void export(HttpServletResponse response, Long[] ids);
src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
@@ -3,6 +3,7 @@
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.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.device.dto.DeviceLedgerDto;
@@ -11,6 +12,7 @@
import com.ruoyi.device.pojo.DeviceLedger;
import com.ruoyi.device.service.IDeviceLedgerService;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -19,6 +21,7 @@
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -91,7 +94,21 @@
    }
    @Override
    public Boolean importData(MultipartFile file) {
        return null;
    public Boolean importData(MultipartFile file) throws IOException {
        ExcelUtil<DeviceLedgerExeclDto> util = new ExcelUtil<DeviceLedgerExeclDto>(DeviceLedgerExeclDto.class);
        List<DeviceLedgerExeclDto> userList = util.importExcel(file.getInputStream());
        userList.forEach(c -> {
            DeviceLedger deviceLedger = new DeviceLedger();
            SysUser sysUser = sysUserMapper.selectUserByUserName(c.getCreateUser());
            if (sysUser!=null) {
                deviceLedger.setCreateUser(sysUser.getUserId().intValue());
            }else {
                deviceLedger.setCreateUser(SecurityUtils.getUserId().intValue());
            }
            BeanUtils.copyProperties(c,deviceLedger);
            deviceLedgerMapper.insert(deviceLedger);
        });
        return true;
    }
}
src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceServiceImpl.java
@@ -36,8 +36,8 @@
    }
    @Override
    public AjaxResult saveDeviceRepair(DeviceMaintenance deviceRepair) {
        boolean save = this.save(deviceRepair);
    public AjaxResult saveDeviceRepair(DeviceMaintenance deviceMaintenance) {
        boolean save = this.save(deviceMaintenance);
        if (save){
            return AjaxResult.success();
        }
@@ -45,8 +45,8 @@
    }
    @Override
    public AjaxResult updateDeviceRepair(DeviceMaintenance deviceRepair) {
        if (this.updateById(deviceRepair)) {
    public AjaxResult updateDeviceDeviceMaintenance(DeviceMaintenance deviceMaintenance) {
        if (this.updateById(deviceMaintenance)) {
            return AjaxResult.success();
        }
        return AjaxResult.error();
src/main/java/com/ruoyi/purchase/controller/PaymentRegistrationController.java
@@ -89,6 +89,15 @@
    }
    /**
     * 删除付款登记
     */
    @Log(title = "付款登记", businessType = BusinessType.DELETE)
    @DeleteMapping("/delete")
    public AjaxResult delete(@RequestBody Long[] ids) {
        return toAjax(paymentRegistrationService.delete(ids));
    }
    /**
     * 获取付款登记详细信息
     */
    @GetMapping(value = "/byPurchaseId/{id}")
src/main/java/com/ruoyi/purchase/pojo/ProductRecord.java
@@ -35,6 +35,11 @@
    private Long purchaseLedgerId;
    /**
     * 产品id
     */
    private Long saleLedgerProjectId;
    /**
     * 产品大类
     */
    private String productCategory;
src/main/java/com/ruoyi/purchase/service/IPaymentRegistrationService.java
@@ -95,4 +95,6 @@
     * @return 付款登记集合
     */
    IPage<PaymentRegistrationDto> paymentHistoryListPage(Page page, PaymentRegistrationDto paymentRegistrationDto);
    Boolean delete(Long[] ids);
}
src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java
@@ -431,6 +431,24 @@
        return paymentRegistrationMapper.paymentHistoryListPage(page, paymentRegistrationDto);
    }
    @Override
    public Boolean delete(Long[] ids) {
        for (Long id : ids) {
            List<ProductRecord> productRecords = productRecordMapper.selectList(new QueryWrapper<ProductRecord>().lambda().eq(ProductRecord::getTicketRegistrationId, id));
            for (ProductRecord productRecord : productRecords) {
                SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(productRecord.getSaleLedgerProjectId());
                salesLedgerProduct.setTicketsNum(salesLedgerProduct.getTicketsNum().subtract(productRecord.getTicketsNum()));
                salesLedgerProduct.setTicketsAmount(salesLedgerProduct.getTicketsAmount().subtract(productRecord.getTicketsAmount()));
                salesLedgerProduct.setFutureTickets(salesLedgerProduct.getFutureTickets().add(productRecord.getTicketsNum()));
                salesLedgerProduct.setFutureTicketsAmount(salesLedgerProduct.getFutureTicketsAmount().add(productRecord.getTicketsAmount()));
                salesLedgerProductMapper.updateById(salesLedgerProduct);
            }
            ticketRegistrationMapper.delete(new QueryWrapper<TicketRegistration>().lambda().eq(TicketRegistration::getId, id));
            productRecordMapper.delete(new QueryWrapper<ProductRecord>().lambda().eq(ProductRecord::getTicketRegistrationId, id));
        }
        return true;
    }
    // 批量查询采购台账(当月)
    private Map<Long, List<PurchaseLedger>> batchQueryPurchaseLedgers(List<Long> supplierIds, LocalDate startDate, LocalDate endDate) {
        LambdaQueryWrapper<PurchaseLedger> query = new LambdaQueryWrapper<>();
src/main/java/com/ruoyi/purchase/service/impl/TicketRegistrationServiceImpl.java
@@ -152,10 +152,12 @@
        if (CollectionUtils.isNotEmpty(salesLedgerProducts)) {
            for (SalesLedgerProduct salesLedgerProduct : salesLedgerProducts) {
                ProductRecord productRecord = new ProductRecord();
                productRecord.setTicketRegistrationId(ticketRegistration.getId());
                productRecord.setPurchaseLedgerId(ticketRegistrationDto.getPurchaseLedgerId());
                productRecord.setCreatedAt(DateUtils.getNowDate());
                BeanUtils.copyProperties(salesLedgerProduct, productRecord);
                productRecord.setSaleLedgerProjectId(salesLedgerProduct.getId());
                productRecord.setId(null);
                productRecord.setType("2");
                productRecordMapper.insert(productRecord);
src/main/resources/mapper/device/DeviceMaintenanceMapper.xml
@@ -8,24 +8,28 @@
    <select id="queryPage" resultType="com.ruoyi.device.dto.DeviceMaintenanceDto">
        select dm.*,
               dl.device_name,
               dl.device_model
               dl.device_model,
        su.user_name as create_user_name
        from device_maintenance dm
        left join device_ledger dl on dm.device_ledger_id = dl.id
        left join sys_user su on dm.create_user = su.user_id
        <where>
            <if test="deviceRepairDto.deviceName != null">
                and dl.device_name like concat('%',#{deviceRepairDto.deviceName},'%')
            <if test="deviceMaintenanceDto.deviceName != null">
                and dl.device_name like concat('%',#{deviceMaintenanceDto.deviceName},'%')
            </if>
            <if test="deviceRepairDto.deviceModel != null">
                and dl.device_model like concat('%',#{deviceRepairDto.deviceModel},'%')
            <if test="deviceMaintenanceDto.deviceModel != null">
                and dl.device_model like concat('%',#{deviceMaintenanceDto.deviceModel},'%')
            </if>
        </where>
    </select>
    <select id="detailById" resultType="com.ruoyi.device.dto.DeviceMaintenanceDto">
        select dm.*,
               dl.device_name,
               dl.device_model
               dl.device_model,
               su.user_name as create_user_name
        from device_maintenance dm
        left join device_ledger dl on dm.device_ledger_id = dl.id
        left join sys_user su on dm.create_user = su.user_id
        where dm.id = #{id}
    </select>