From 034ed3af594ccf1359ae12895266171398cee464 Mon Sep 17 00:00:00 2001 From: qinyulong Date: Mon, 26 Jan 2026 11:00:30 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86=E9=87=8F?= =?UTF-8?q?=E5=85=B7=E4=BF=9D=E5=85=BB=E5=85=A8=E5=8A=9F=E8=83=BD+?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86=E6=A8=A1=E5=9D=97=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/entity/MeasuringUpkeepEntity.java | 4 +- .../pojo/excel/MeasurementRecordsExcel.java | 179 ++++++++++++++++++ .../pojo/excel/MeasuringUpkeepExcel.java | 82 ++++---- .../pojo/request/MeasuringUpkeepQuery.java | 13 +- .../desk/device/pojo/vo/EquipmentVO.java | 3 + .../device/pojo/vo/MeasuringUpkeepVO.java | 47 ++++- .../org/springblade/desk/DeskApplication.java | 1 - .../MeasurementRecordsController.java | 40 ++-- .../controller/MeasuringUpkeepController.java | 74 ++++++-- .../device/mapper/MeasuringUpkeepMapper.java | 5 +- .../device/mapper/MeasuringUpkeepMapper.xml | 103 +++++++++- .../service/IMeasuringUpkeepService.java | 11 +- .../impl/MeasuringUpkeepServiceImpl.java | 113 ++++++++--- 13 files changed, 553 insertions(+), 122 deletions(-) create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/MeasurementRecordsExcel.java diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/MeasuringUpkeepEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/MeasuringUpkeepEntity.java index 5778e8ba..080913a1 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/MeasuringUpkeepEntity.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/MeasuringUpkeepEntity.java @@ -58,8 +58,8 @@ public class MeasuringUpkeepEntity extends BaseEntity { /** * 库存物料 */ - @Schema(description = "库存物料") - private Long rlsId; +// @Schema(description = "库存物料") +// private Long rlsId; /** * 新建 */ diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/MeasurementRecordsExcel.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/MeasurementRecordsExcel.java new file mode 100644 index 00000000..bbbb004f --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/MeasurementRecordsExcel.java @@ -0,0 +1,179 @@ +package org.springblade.desk.device.pojo.excel; + + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + +/** + * 计量记录 Excel实体类 + * + * @author qyl + * @since 2026-01-26 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class MeasurementRecordsExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @ColumnWidth(20) + @ExcelProperty("名称(设备名称)") + //@Column("mc_name") + private String mcName; + + @ColumnWidth(20) + @ExcelProperty("规格") + //@Column("norms") + private String norms; + + @ColumnWidth(20) + @ExcelProperty("类别(管理类别)") + //@Column("mc_class") + private String mcClass; + + @ColumnWidth(20) + @ExcelProperty("计量类型") + //@Column("label_no") + private String labelNo; + + @ColumnWidth(20) + @ExcelProperty("计量子类型") + //@Column("str2") + private String str2; + + @ColumnWidth(20) + @ExcelProperty("编号(测量设备编码)") + //@Column("mc_code") + private String mcCode; + + @ColumnWidth(20) + @ExcelProperty("使用单位(试用部门)") + //@Column("use_unit") + private String useUnit; + + @ColumnWidth(20) + @ExcelProperty("精度(精度等级)") + //@Column("accuracy") + private String accuracy; + + @ColumnWidth(20) + @ExcelProperty("出厂编号") + //@Column("oem_code") + private String oemCode; + + @ColumnWidth(20) + @ExcelProperty("生产厂家(制造厂商)") + //@Column("mc_oem") + private String mcOem; + + @ColumnWidth(20) + @ExcelProperty("启用日期") + //@Column("enable_date") + private Date enableDate; + + @ColumnWidth(20) + @ExcelProperty("检定日期") + //@Column("when_dccept") + private String whenDccept; + + @ColumnWidth(20) + @ExcelProperty("型号(型号)") + //@Column("mc_type") + private String mcType; + + @ColumnWidth(20) + @ExcelProperty("检定周期(检定周期)") + //@Column("test_cycle") + private Integer testCycle; + + @ColumnWidth(20) + @ExcelProperty("到期日期(有效日期)") + //@Column("due_date") + private Date dueDate; + + @ColumnWidth(20) + @ExcelProperty("报废日期") + //@Column("date2") + private Date date2; + + @ColumnWidth(20) + @ExcelProperty("状态") + //@Column("belong") + private String belong; + + @ColumnWidth(20) + @ExcelProperty("停用日期") + //@Column("when_buy") + private Date whenBuy; + + @ColumnWidth(20) + @ExcelProperty("检定部门") + //@Column("test_dept") + private String testDept; + + @ColumnWidth(20) + @ExcelProperty("检定/校验方法(检定校准方法)") + //@Column("test_method") + private String testMethod; + + @ColumnWidth(20) + @ExcelProperty("备注") + //@Column("str9") + private String str9; + + @ColumnWidth(20) + @ExcelProperty("备注2") + //@Column("str10") + private String str10; + + @ColumnWidth(20) + @ExcelProperty("使用人工号") + //@Column("assets_no") + private String assetsNo; + + @ColumnWidth(20) + @ExcelProperty("责任人") + //@Column("str6") + private String str6; + + @ColumnWidth(20) + @ExcelProperty("用途分类") + //@Column("purpose_class") + private String purposeClass; + + @ColumnWidth(20) + @ExcelProperty("超期情况") + //@Column("is_over_str") + private String isOverStr; + + @ColumnWidth(20) + @ExcelProperty("类型") + //@Column("cm_type") + private Short cmType; + + @ColumnWidth(20) + @ExcelProperty("是否送检") + //@Column("censorship") + private Boolean censorship; + + @ColumnWidth(20) + @ExcelProperty("检验状态") + //@Column("check_status") + private Boolean checkStatus; + + @ColumnWidth(20) + @ExcelProperty("检验结果") + //@Column("check_result") + private Boolean checkResult; +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/MeasuringUpkeepExcel.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/MeasuringUpkeepExcel.java index cfc7be09..ac5433bc 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/MeasuringUpkeepExcel.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/MeasuringUpkeepExcel.java @@ -3,9 +3,6 @@ package org.springblade.desk.device.pojo.excel; import lombok.Data; -import java.math.BigDecimal; -import java.util.Date; - import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; @@ -29,60 +26,51 @@ public class MeasuringUpkeepExcel implements Serializable { @Serial private static final long serialVersionUID = 1L; - - /** - * 流水号 - */ - @ColumnWidth(20) - @ExcelProperty("流水号") - private BigDecimal id; - /** - * - */ - @ColumnWidth(20) - @ExcelProperty("") - private String tenantId; - /** - * 删除标记;1:删除,0:正常 - */ - @ColumnWidth(20) - @ExcelProperty("删除标记;1:删除,0:正常") - private Long isDeleted; /** * 保养单号 */ @ColumnWidth(20) @ExcelProperty("保养单号") private String mmCode; - /** - * 库存物料;外键(库存物料) - */ + @ColumnWidth(20) - @ExcelProperty("库存物料;外键(库存物料)") - private Long miId; - /** - * 备注 - */ + @ExcelProperty("物料名称") + String goodsName; + @ColumnWidth(20) - @ExcelProperty("备注") - private String memo; - /** - * - */ + @ExcelProperty("物料规格") + String specifications; + @ColumnWidth(20) - @ExcelProperty("") - private Long createMan; - /** - * 审批状态;-1 - */ + @ExcelProperty("生产批次号") + String piNo; + @ColumnWidth(20) - @ExcelProperty("审批状态;-1") - private Short approvalStatus; - /** - * 库存物料 - */ + @ExcelProperty("仓库") + String shName; + + @ColumnWidth(20) + @ExcelProperty("库位号") + String location; + + @ColumnWidth(20) + @ExcelProperty("库存数量") + String quantity; + + @ColumnWidth(20) + @ExcelProperty("等级") + String quantityLevel; + + @ColumnWidth(20) + @ExcelProperty("金额") + Double balanceMoney; + + @ColumnWidth(20) + @ExcelProperty("累计使用次数") + String sumNum; + @ColumnWidth(20) - @ExcelProperty("库存物料") - private Long rlsId; + @ExcelProperty("状态名称") + String statusName; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/request/MeasuringUpkeepQuery.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/request/MeasuringUpkeepQuery.java index 1659ecd8..f2b39cdf 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/request/MeasuringUpkeepQuery.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/request/MeasuringUpkeepQuery.java @@ -16,26 +16,31 @@ public class MeasuringUpkeepQuery { * 物料名称 */ @Schema(description = "物料名称") - private String toolStatus; + private String goodsName; /** * 生产批次号 */ @Schema(description = "生产批次号") - private String toolSpec; + private String piNo; /** * 仓库 */ @Schema(description = "仓库") - private String typeName; + private String shName; /** * 库位号 */ @Schema(description = "库位号") - private String equiCode; + private String location; /** * 状态 */ @Schema(description = "状态") private Short status; + /** + * ids + */ + @Schema(description = "多个id(传1,2,3,4的字符串)") + private String ids; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/EquipmentVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/EquipmentVO.java index 21789e69..58aea2a6 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/EquipmentVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/EquipmentVO.java @@ -27,6 +27,7 @@ package org.springblade.desk.device.pojo.vo; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import org.springblade.desk.device.pojo.entity.EquipmentEntity; @@ -52,9 +53,11 @@ public class EquipmentVO extends EquipmentEntity { /** * 状态名称 */ + @Schema(description = "状态名称") String statusName; /** * 工作中心名称 */ + @Schema(description = "工作中心名称") String workCenterName; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/MeasuringUpkeepVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/MeasuringUpkeepVO.java index 5da02e02..cd88139e 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/MeasuringUpkeepVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/MeasuringUpkeepVO.java @@ -2,6 +2,7 @@ package org.springblade.desk.device.pojo.vo; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.v3.oas.annotations.media.Schema; import org.springblade.desk.device.pojo.entity.MeasuringUpkeepEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -24,8 +25,48 @@ public class MeasuringUpkeepVO extends MeasuringUpkeepEntity { */ @JsonSerialize(using = ToStringSerializer.class) private Long id; - /** - * 状态名称 - */ + + @Schema(description = "物料ID") + Long goodsId; + + @Schema(description = "仓库ID") + Long shId; + + @Schema(description = "库位ID") + Long slId; + + @Schema(description = "物料名称") + String goodsName; + + @Schema(description = "物料编码") + String goodsCode; + + @Schema(description = "物料规格") + String specifications; + + @Schema(description = "生产批次号") + String piNo; + + @Schema(description = "仓库") + String shName; + + @Schema(description = "库位号") + String location; + + @Schema(description = "库存数量") + String quantity; + + @Schema(description = "等级") + String quantityLevel; + + @Schema(description = "金额") + Double balanceMoney; + + @Schema(description = "累计使用次数") + String sumNum; + + @Schema(description = "状态名称") String statusName; + + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/DeskApplication.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/DeskApplication.java index 084debd1..ae79ff8e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/DeskApplication.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/DeskApplication.java @@ -36,7 +36,6 @@ import org.springframework.scheduling.annotation.EnableScheduling; * @author Chill */ @BladeCloudApplication -@EnableScheduling public class DeskApplication { public static void main(String[] args) { diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/MeasurementRecordsController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/MeasurementRecordsController.java index 79656976..a454800c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/MeasurementRecordsController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/MeasurementRecordsController.java @@ -1,25 +1,30 @@ package org.springblade.desk.device.controller; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.DateUtil; import org.springblade.desk.device.pojo.entity.MeasurementRecordsEntity; -import org.springblade.desk.device.pojo.request.MeasuringUsageQuery; +import org.springblade.desk.device.pojo.excel.MeasurementRecordsExcel; import org.springblade.desk.device.service.IMeasurementRecordsService; -import org.springblade.desk.device.service.IMeasuringUsageService; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.util.ArrayList; +import java.util.List; + /** * 计量记录 控制器 @@ -43,7 +48,7 @@ public class MeasurementRecordsController extends BladeController { * @return */ @GetMapping("/page") - @ApiOperationSupport(order = 3) + @ApiOperationSupport(order = 1) @Operation(summary = "分页", description = "") public R> page(@RequestParam("cmType") Integer cmType, Query query) { IPage pages = iMeasurementRecordsService.selectMeasurementRecordsPage(Condition.getPage(query), cmType); @@ -55,17 +60,20 @@ public class MeasurementRecordsController extends BladeController { * 导出数据 */ // @IsAdmin -// @GetMapping("/export-equipment") -// @ApiOperationSupport(order = 9) -// @Operation(summary = "导出数据", description = "传入equipment") -// public void exportEquipment(@Parameter(hidden = true) @RequestParam Map equipment, BladeUser bladeUser, HttpServletResponse response) { -// QueryWrapper queryWrapper = Condition.getQueryWrapper(equipment, EquipmentEntity.class); -// //if (!AuthUtil.isAdministrator()) { -// // queryWrapper.lambda().eq(Equipment::getTenantId, bladeUser.getTenantId()); -// //} -// //queryWrapper.lambda().eq(EquipmentEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); -// List list = measuringUsageService.exportEquipment(queryWrapper); -// ExcelUtil.export(response, "设备信息表数据" + DateUtil.time(), "设备信息表数据表", list, EquipmentExcel.class); -// } + @GetMapping("/export-measurementRecords") + @ApiOperationSupport(order = 2) + @Operation(summary = "导出数据", description = "") + public void exportMeasuringUpkeep(@RequestParam("cmType") Integer cmType, Query query, HttpServletResponse response) { + query.setSize(99999); + IPage pages = iMeasurementRecordsService.selectMeasurementRecordsPage(Condition.getPage(query), cmType); + List list = pages.getRecords(); + List excels = new ArrayList<>(); + for (MeasurementRecordsEntity measurementRecordsEntity : list) { + MeasurementRecordsExcel excel = new MeasurementRecordsExcel(); + BeanUtils.copyProperties(measurementRecordsEntity, excel); + excels.add(excel); + } + ExcelUtil.export(response, "量具保养数据" + DateUtil.time(), "计量记录", excels, MeasurementRecordsExcel.class); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/MeasuringUpkeepController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/MeasuringUpkeepController.java index 30315cfc..e39dfd82 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/MeasuringUpkeepController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/MeasuringUpkeepController.java @@ -1,25 +1,26 @@ package org.springblade.desk.device.controller; -import io.swagger.v3.oas.annotations.Parameters; -import io.swagger.v3.oas.annotations.enums.ParameterIn; -import io.swagger.v3.oas.annotations.media.Schema; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import jakarta.annotation.Resource; import lombok.AllArgsConstructor; import jakarta.validation.Valid; import org.springblade.core.secure.BladeUser; -import org.springblade.core.secure.annotation.IsAdmin; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.desk.device.pojo.excel.MeasuringUpkeepExcel; import org.springblade.desk.device.pojo.request.MeasuringUpkeepQuery; +import org.springblade.wms.feign.StRealtimeStockClient; +import org.springblade.wms.pojo.vo.StRealtimeStockVO; +import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.desk.device.pojo.entity.MeasuringUpkeepEntity; import org.springblade.desk.device.pojo.vo.MeasuringUpkeepVO; @@ -28,9 +29,8 @@ import org.springblade.desk.device.service.IMeasuringUpkeepService; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.excel.util.ExcelUtil; -import org.springblade.core.tool.constant.BladeConstant; -import java.util.Map; +import java.util.ArrayList; import java.util.List; import jakarta.servlet.http.HttpServletResponse; @@ -49,6 +49,9 @@ public class MeasuringUpkeepController extends BladeController { private final IMeasuringUpkeepService measuringUpkeepService; + + @Resource + private StRealtimeStockClient client; /** * 量具保养 详情 */ @@ -67,8 +70,8 @@ public class MeasuringUpkeepController extends BladeController { @ApiOperationSupport(order = 3) @Operation(summary = "分页", description = "") public R> page(@Parameter(hidden = true) MeasuringUpkeepQuery measuringUpkeep, Query query) { - IPage pages = measuringUpkeepService.selectMeasuringUpkeepPage(Condition.getPage(query), measuringUpkeep); - return R.data(MeasuringUpkeepWrapper.build().pageVO(pages)); + IPage pages = measuringUpkeepService.selectMeasuringUpkeepPage(Condition.getPage(query), measuringUpkeep); + return R.data(pages); } /** @@ -119,24 +122,65 @@ public class MeasuringUpkeepController extends BladeController { @ApiOperationSupport(order = 8) @Operation(summary = "量具保养申请", description = "传入ids") public R maintenanceAppFun(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { - return measuringUpkeepService.maintenanceAppFun(Func.toLongList(ids)); + return measuringUpkeepService.maintenanceAppFun(ids); } /** * 导出数据 */ - @IsAdmin +// @IsAdmin @GetMapping("/export-measuringUpkeep") @ApiOperationSupport(order = 9) @Operation(summary = "导出数据", description = "传入measuringUpkeep") - public void exportMeasuringUpkeep(@Parameter(hidden = true) @RequestParam Map measuringUpkeep, BladeUser bladeUser, HttpServletResponse response) { - QueryWrapper queryWrapper = Condition.getQueryWrapper(measuringUpkeep, MeasuringUpkeepEntity.class); + public void exportMeasuringUpkeep(MeasuringUpkeepQuery measuringUpkeepQuery, Query query, BladeUser bladeUser, HttpServletResponse response) { +// QueryWrapper queryWrapper = Condition.getQueryWrapper(measuringUpkeep, MeasuringUpkeepEntity.class); //if (!AuthUtil.isAdministrator()) { // queryWrapper.lambda().eq(MeasuringUpkeep::getTenantId, bladeUser.getTenantId()); //} //queryWrapper.lambda().eq(MeasuringUpkeepEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); - List list = measuringUpkeepService.exportMeasuringUpkeep(queryWrapper); - ExcelUtil.export(response, "量具保养数据" + DateUtil.time(), "量具保养数据表", list, MeasuringUpkeepExcel.class); +// List list = measuringUpkeepService.exportMeasuringUpkeep(queryWrapper); + query.setSize(99999); + IPage pages = measuringUpkeepService.selectMeasuringUpkeepPage(Condition.getPage(query), measuringUpkeepQuery); + List list = pages.getRecords(); + List excels = new ArrayList<>(); + for (MeasuringUpkeepVO measuringUpkeepVO : list) { + MeasuringUpkeepExcel excel = new MeasuringUpkeepExcel(); + BeanUtils.copyProperties(measuringUpkeepVO, excel); + excels.add(excel); + } + ExcelUtil.export(response, "量具保养数据" + DateUtil.time(), "量具保养数据表", excels, MeasuringUpkeepExcel.class); + } + + /** + * 量具保养新增页面列表 + */ + @GetMapping("/newlyAddedList") + @ApiOperationSupport(order = 3) + @Operation(summary = "量具保养新增页面列表", description = "传入stRealtimeStock,默认过滤量具类型仓库,按sumNum排序") + public R> pageToolsData(StRealtimeStockVO stRealtimeStock, Query query) { + + if (StrUtil.isBlank(query.getAscs()) && StrUtil.isBlank(query.getDescs())) { + query.setDescs("sumNum"); // 默认按sumNum降序排序 + } + R> measuringTools = client.getMeasuringTools(stRealtimeStock, query); + Page data = measuringTools.getData(); + Page pages = new Page<>(); + // 复制分页属性 + pages.setRecords(data.getRecords()); + pages.setTotal(data.getTotal()); + pages.setCurrent(data.getCurrent()); + pages.setSize(data.getSize()); + pages.setPages(data.getPages()); + return R.data(pages); } + /** + * 加入保养 + */ + @PostMapping("/addMaintenance") + @ApiOperationSupport(order = 8) + @Operation(summary = "加入保养", description = "传入ids") + public R addMaintenance(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return measuringUpkeepService.addMaintenance(Func.toLongList(ids)); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeasuringUpkeepMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeasuringUpkeepMapper.java index 49c6c7a5..80aa861e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeasuringUpkeepMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeasuringUpkeepMapper.java @@ -2,6 +2,7 @@ package org.springblade.desk.device.mapper; import org.springblade.desk.device.pojo.entity.MeasuringUpkeepEntity; import org.springblade.desk.device.pojo.excel.MeasuringUpkeepExcel; +import org.springblade.desk.device.pojo.request.MeasuringUpkeepQuery; import org.springblade.desk.device.pojo.vo.MeasuringUpkeepVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.conditions.Wrapper; @@ -22,10 +23,10 @@ public interface MeasuringUpkeepMapper extends BaseMapper * 自定义分页 * * @param page 分页参数 - * @param measuringUpkeep 查询参数 + * @param query 查询参数 * @return List */ - List selectMeasuringUpkeepPage(IPage page, MeasuringUpkeepVO measuringUpkeep); + List selectMeasuringUpkeepPage(IPage page, MeasuringUpkeepQuery query); /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeasuringUpkeepMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeasuringUpkeepMapper.xml index ba7f54f8..911aeb11 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeasuringUpkeepMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/MeasuringUpkeepMapper.xml @@ -21,11 +21,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - select * - from MES_MEASURING_UPKEEP - where is_deleted = 0 + FROM MES_MEASURING_UPKEEP mmu + LEFT JOIN ST_REALTIME_STOCK st ON mmu.mi_id = st.id + LEFT JOIN st_goods g ON st.goods_id = g.id + LEFT JOIN ST_STOREHOUSE sh ON st.sh_id = sh.id + LEFT JOIN ST_STORAGE_LOCATION sl ON st.sl_id = sl.id + + + AND mmu.status = #{query.statuss} + + + AND sl.location LIKE CONCAT('%', CONCAT(#{query.location}, '%')) + + + AND g.goods_name LIKE CONCAT('%', CONCAT(#{query.goodsName}, '%')) + + + AND st.pi_no LIKE CONCAT('%', CONCAT(#{query.piNo}, '%')) + + + AND sh.sh_name LIKE CONCAT('%', CONCAT(#{query.shName}, '%')) + + + AND mmu.ID IN + + #{id} + + + + ORDER BY mmu.create_time DESC diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IMeasuringUpkeepService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IMeasuringUpkeepService.java index e34f23ba..be469240 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IMeasuringUpkeepService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/IMeasuringUpkeepService.java @@ -25,7 +25,7 @@ public interface IMeasuringUpkeepService extends BaseService */ - IPage selectMeasuringUpkeepPage(IPage page, MeasuringUpkeepQuery measuringUpkeep); + IPage selectMeasuringUpkeepPage(IPage page, MeasuringUpkeepQuery measuringUpkeep); /** @@ -41,5 +41,12 @@ public interface IMeasuringUpkeepService extends BaseService ids); + R maintenanceAppFun(String ids); + + /** + * 加入保养 + * + * @param ids + */ + R addMaintenance(List ids); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/MeasuringUpkeepServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/MeasuringUpkeepServiceImpl.java index 32381e41..35fa9170 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/MeasuringUpkeepServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/MeasuringUpkeepServiceImpl.java @@ -4,8 +4,12 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; +import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springblade.desk.device.pojo.entity.FeiBaSetEntity; import org.springblade.desk.device.pojo.entity.MeasurementRecordsEntity; import org.springblade.desk.device.pojo.entity.MeasuringUpkeepEntity; import org.springblade.desk.device.pojo.entity.MeasuringUpkeepEntity; @@ -14,6 +18,9 @@ import org.springblade.desk.device.pojo.request.MeasuringUpkeepQuery; import org.springblade.desk.device.pojo.vo.MeasuringUpkeepVO; import org.springblade.desk.device.mapper.MeasuringUpkeepMapper; import org.springblade.desk.device.service.IMeasuringUpkeepService; +import org.springblade.desk.jobtransfer.pojo.vo.PostHandleVO; +import org.springblade.system.cache.SysCache; +import org.springblade.system.cache.UserCache; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; @@ -25,10 +32,13 @@ import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; +import java.text.SimpleDateFormat; import java.time.Duration; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Objects; +import java.util.concurrent.atomic.AtomicInteger; /** * 量具保养 服务实现类 @@ -39,6 +49,8 @@ import java.util.Objects; @Slf4j @Service public class MeasuringUpkeepServiceImpl extends BaseServiceImpl implements IMeasuringUpkeepService { + private static final AtomicInteger counter = new AtomicInteger(0); + private static String lastDate = ""; // 使用JDK 17内置的HttpClient(线程安全,可复用) private final HttpClient httpClient = HttpClient.newBuilder() .connectTimeout(Duration.ofSeconds(30)) @@ -49,17 +61,10 @@ public class MeasuringUpkeepServiceImpl extends BaseServiceImpl selectMeasuringUpkeepPage(IPage page, MeasuringUpkeepQuery measuringUpkeep) { + public IPage selectMeasuringUpkeepPage(IPage page, MeasuringUpkeepQuery measuringUpkeep) { // return page.setRecords(baseMapper.selectMeasuringUpkeepPage(page, measuringUpkeep)); - // 1. 创建条件构造器 - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - - // 2. 动态添加条件(核心!) - // 根据实体对象 entity 中字段是否为空,来动态拼接WHERE条件 - wrapper.eq(Objects.nonNull(measuringUpkeep.getStatus()), MeasuringUpkeepEntity::getStatus, measuringUpkeep.getStatus()); - - // 3. 执行分页查询 - return baseMapper.selectPage(page, wrapper); + List dataList = baseMapper.selectMeasuringUpkeepPage(page, measuringUpkeep); + return page.setRecords(dataList); } @@ -74,17 +79,27 @@ public class MeasuringUpkeepServiceImpl extends BaseServiceImpl ids) { - if (ids == null && ids.size() == 0) { + public R maintenanceAppFun(String ids) { + List longList = Func.toLongList(ids); + if (ids == null && longList.size() == 0) { return R.fail("请选择数据!"); } - for (Long id : ids) { - MeasuringUpkeepEntity measuringUpkeep = this.getById(id); - if (measuringUpkeep == null) { - continue; - } + MeasuringUpkeepQuery query = new MeasuringUpkeepQuery(); + query.setIds(ids); + IPage iPage = new Page<>(); + iPage.setSize(99999); + IPage measuringUpkeepVOIPage = this.selectMeasuringUpkeepPage(iPage, query); + if (measuringUpkeepVOIPage.getRecords() == null || measuringUpkeepVOIPage.getRecords().size() == 0) { + return R.fail("请选择数据!"); + } + List list = measuringUpkeepVOIPage.getRecords(); + for (MeasuringUpkeepVO measuringUpkeepVO : list) { +// MeasuringUpkeepEntity measuringUpkeep = this.getById(id); +// if (measuringUpkeep == null) { +// continue; +// } // 构建请求体JSON - JSONObject requestBody = buildRequestBody(measuringUpkeep); + JSONObject requestBody = buildRequestBody(measuringUpkeepVO); // 创建HTTP请求 HttpRequest request = HttpRequest.newBuilder() @@ -106,27 +121,46 @@ public class MeasuringUpkeepServiceImpl extends BaseServiceImpl ids) { + if (ids == null && ids.size() == 0) { + return R.fail("请选择数据!"); + } + List list = new ArrayList<>(); + ids.forEach(id -> { + MeasuringUpkeepEntity entity = new MeasuringUpkeepEntity(); + entity.setMiId(id); + entity.setStatus(MeasuringUpkeepEntity.CURSTATUS_NEW); + entity.setMmCode(nextCode(1)); + entity.setCreateMan(AuthUtil.getUser() != null ? AuthUtil.getUser().getUserId() : 1); + list.add(entity); + }); + + return R.status(this.saveBatch(list)); } /** * 构建请求体 */ - private JSONObject buildRequestBody(MeasuringUpkeepEntity measuringUpkeep) { + private JSONObject buildRequestBody(MeasuringUpkeepVO measuringUpkeep) { JSONObject object = new JSONObject(); -// object.put("deviceName",smm.getStRealtimeStock().getCoGoods().getGoodsName()); -// object.put("model",smm.getStRealtimeStock().getCoGoods().getSpecifications()); -// object.put("prtno",smm.getStRealtimeStock().getCoGoods().getGoodsCode()); + object.put("deviceName", measuringUpkeep.getGoodsName()); + object.put("model", measuringUpkeep.getSpecifications()); + object.put("prtno", measuringUpkeep.getGoodsCode()); object.put("idstr", measuringUpkeep.getMmCode()); -// object.put("num",smm.getStRealtimeStock().getQuantity()); + object.put("num", measuringUpkeep.getQuantity()); object.put("source", "5"); object.put("deptno", "3400"); // @@ -134,4 +168,31 @@ public class MeasuringUpkeepServiceImpl extends BaseServiceImpl