Эх сурвалжийг харах

完成在设备验收时,对于库存台账、入库管理的维护

lingpeng.li 2 долоо хоног өмнө
parent
commit
a5c990633f
30 өөрчлөгдсөн 1480 нэмэгдсэн , 35 устгасан
  1. 19 18
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/equipmentDisposal/deviceDisposal/vo/DeviceDisposalPage.java
  2. 188 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/controller/InboundManagementController.java
  3. 163 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/controller/InventoryLedgerController.java
  4. 38 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/dto/InboundItemsQueryDTO.java
  5. 43 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/dto/InventoryLedgerQueryDTO.java
  6. 85 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/entity/InboundManagement.java
  7. 163 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/entity/InventoryLedger.java
  8. 28 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/mapper/InboundManagementMapper.java
  9. 16 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/mapper/InventoryLedgerMapper.java
  10. 95 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/mapper/xml/InboundManagementMapper.xml
  11. 5 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/mapper/xml/InventoryLedgerMapper.xml
  12. 22 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/service/IInboundManagementService.java
  13. 19 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/service/IInventoryLedgerService.java
  14. 35 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/service/impl/InboundManagementServiceImpl.java
  15. 91 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/service/impl/InventoryLedgerServiceImpl.java
  16. 26 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/vo/InboundManagementItemsVO.java
  17. 2 2
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/controller/SpecialDeviceCategoryController.java
  18. 163 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/controller/SpecialDeviceController.java
  19. 1 1
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/dto/CategoryQueryDTO.java
  20. 213 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/entity/SpecialDevice.java
  21. 1 1
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/entity/SpecialDeviceCategory.java
  22. 2 2
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/mapper/SpecialDeviceCategoryMapper.java
  23. 14 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/mapper/SpecialDeviceMapper.java
  24. 5 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/mapper/xml/SpecialDeviceCategoryMapper.xml
  25. 1 1
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/mapper/xml/SpecialDeviceMapper.xml
  26. 4 4
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/service/ISpecialDeviceCategoryService.java
  27. 14 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/service/ISpecialDeviceService.java
  28. 3 3
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/service/impl/SpecialDeviceCategoryServiceImpl.java
  29. 19 0
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/service/impl/SpecialDeviceServiceImpl.java
  30. 2 3
      zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/vo/SpecialDeviceCategoryVO.java

+ 19 - 18
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/equipmentDisposal/deviceDisposal/vo/DeviceDisposalPage.java

@@ -10,6 +10,7 @@ import org.jeecgframework.poi.excel.annotation.Excel;
 import org.jeecgframework.poi.excel.annotation.ExcelCollection;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -26,36 +27,36 @@ public class DeviceDisposalPage {
      * id
      */
     @ApiModelProperty(value = "id")
-    private java.lang.String id;
+    private String id;
     /**
      * 创建人
      */
     @ApiModelProperty(value = "创建人")
-    private java.lang.String createBy;
+    private String createBy;
     /**
      * 创建时间
      */
     @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "创建时间")
-    private java.util.Date createTime;
+    private Date createTime;
     /**
      * 更新人
      */
     @ApiModelProperty(value = "更新人")
-    private java.lang.String updateBy;
+    private String updateBy;
     /**
      * 更新时间
      */
     @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "更新时间")
-    private java.util.Date updateTime;
+    private Date updateTime;
     /**
      * 所属部门
      */
     @ApiModelProperty(value = "所属部门")
-    private java.lang.String sysOrgCode;
+    private String sysOrgCode;
     /**
      * 日期
      */
@@ -63,37 +64,37 @@ public class DeviceDisposalPage {
     @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "日期")
-    private java.util.Date createDate;
+    private Date createDate;
     /**
      * 处置单号
      */
     @Excel(name = "处置单号", width = 15)
     @ApiModelProperty(value = "处置单号")
-    private java.lang.String disposalNumber;
+    private String disposalNumber;
     /**
      * 涉及设备编号
      */
     @Excel(name = "涉及设备编号", width = 15)
     @ApiModelProperty(value = "涉及设备编号")
-    private java.lang.String deviceNumber;
+    private String deviceNumber;
     /**
      * 涉及设备名称
      */
     @Excel(name = "涉及设备名称", width = 15)
     @ApiModelProperty(value = "涉及设备名称")
-    private java.lang.String deviceName;
+    private String deviceName;
     /**
      * 处置方式,如出租、闲置、禁用等
      */
     @Excel(name = "处置方式,如出租、闲置、禁用等", width = 15)
     @ApiModelProperty(value = "处置方式,如出租、闲置、禁用等")
-    private java.lang.String disposalMethod;
+    private String disposalMethod;
     /**
      * 说明
      */
     @Excel(name = "说明", width = 15)
     @ApiModelProperty(value = "说明")
-    private java.lang.String description;
+    private String description;
     /**
      * 申请时间
      */
@@ -101,31 +102,31 @@ public class DeviceDisposalPage {
     @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "申请时间")
-    private java.util.Date applicationTime;
+    private Date applicationTime;
     /**
      * 申请人
      */
     @Excel(name = "申请人", width = 15)
     @ApiModelProperty(value = "申请人")
-    private java.lang.String applicant;
+    private String applicant;
     /**
      * 填单人
      */
     @Excel(name = "填单人", width = 15)
     @ApiModelProperty(value = "填单人")
-    private java.lang.String formFiller;
+    private String formFiller;
     /**
      * 当前节点
      */
     @Excel(name = "当前节点", width = 15)
     @ApiModelProperty(value = "当前节点")
-    private java.lang.String currentNode;
+    private String currentNode;
     /**
      * 审批状态,如进行中、已结束、已打回
      */
     @Excel(name = "审批状态,如进行中、已结束、已打回", width = 15)
     @ApiModelProperty(value = "审批状态,如进行中、已结束、已打回")
-    private java.lang.String approvalStatus;
+    private String approvalStatus;
     /**
      * 审批结束时间
      */
@@ -133,7 +134,7 @@ public class DeviceDisposalPage {
     @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "审批结束时间")
-    private java.util.Date approvalEndTime;
+    private Date approvalEndTime;
 
     @ExcelCollection(name = "设备处置--相关附件")
     @ApiModelProperty(value = "设备处置--相关附件")

+ 188 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/controller/InboundManagementController.java

@@ -0,0 +1,188 @@
+package org.jeecg.modules.sparePartsConsumables.inventoryManagement.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.dto.InboundItemsQueryDTO;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.entity.InboundManagement;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.service.IInboundManagementService;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.vo.InboundManagementItemsVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+/**
+ * @Description: 入库管理
+ * @Author: jeecg-boot
+ * @Date: 2025-05-19
+ * @Version: V1.0
+ */
+@Api(tags = "入库管理")
+@RestController
+@RequestMapping("/sparePartsConsumables/inboundManagement")
+@Slf4j
+public class InboundManagementController extends JeecgController<InboundManagement, IInboundManagementService> {
+    @Autowired
+    private IInboundManagementService inboundManagementService;
+
+    /**
+     * 分页列表查询
+     *
+     * @param inboundManagement
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    //@AutoLog(value = "入库管理-分页列表查询")
+    @ApiOperation(value = "入库管理-分页列表查询", notes = "入库管理-分页列表查询")
+    @GetMapping(value = "/list")
+    public Result<IPage<InboundManagement>> queryPageList(InboundManagement inboundManagement,
+                                                          @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                          @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                          HttpServletRequest req) {
+        QueryWrapper<InboundManagement> queryWrapper = QueryGenerator.initQueryWrapper(inboundManagement, req.getParameterMap());
+        Page<InboundManagement> page = new Page<InboundManagement>(pageNo, pageSize);
+        IPage<InboundManagement> pageList = inboundManagementService.page(page, queryWrapper);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 添加
+     *
+     * @param inboundManagement
+     * @return
+     */
+    @AutoLog(value = "入库管理-添加")
+    @ApiOperation(value = "入库管理-添加", notes = "入库管理-添加")
+    @RequiresPermissions("sparePartsConsumables:sbsmzq_inbound_management:add")
+    @PostMapping(value = "/add")
+    public Result<String> add(@RequestBody InboundManagement inboundManagement) {
+        inboundManagementService.save(inboundManagement);
+        return Result.OK("添加成功!");
+    }
+
+    /**
+     * 编辑
+     *
+     * @param inboundManagement
+     * @return
+     */
+    @AutoLog(value = "入库管理-编辑")
+    @ApiOperation(value = "入库管理-编辑", notes = "入库管理-编辑")
+    @RequiresPermissions("sparePartsConsumables:sbsmzq_inbound_management:edit")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<String> edit(@RequestBody InboundManagement inboundManagement) {
+        inboundManagementService.updateById(inboundManagement);
+        return Result.OK("编辑成功!");
+    }
+
+    /**
+     * 通过id删除
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "入库管理-通过id删除")
+    @ApiOperation(value = "入库管理-通过id删除", notes = "入库管理-通过id删除")
+    @RequiresPermissions("sparePartsConsumables:sbsmzq_inbound_management:delete")
+    @DeleteMapping(value = "/delete")
+    public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
+        inboundManagementService.removeById(id);
+        return Result.OK("删除成功!");
+    }
+
+    /**
+     * 批量删除
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "入库管理-批量删除")
+    @ApiOperation(value = "入库管理-批量删除", notes = "入库管理-批量删除")
+    @RequiresPermissions("sparePartsConsumables:sbsmzq_inbound_management:deleteBatch")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        this.inboundManagementService.removeByIds(Arrays.asList(ids.split(",")));
+        return Result.OK("批量删除成功!");
+    }
+
+    /**
+     * 通过id查询
+     *
+     * @param id
+     * @return
+     */
+    //@AutoLog(value = "入库管理-通过id查询")
+    @ApiOperation(value = "入库管理-通过id查询", notes = "入库管理-通过id查询")
+    @GetMapping(value = "/queryById")
+    public Result<InboundManagement> queryById(@RequestParam(name = "id", required = true) String id) {
+        InboundManagement inboundManagement = inboundManagementService.getById(id);
+        if (inboundManagement == null) {
+            return Result.error("未找到对应数据");
+        }
+        return Result.OK(inboundManagement);
+    }
+
+    /**
+     * 导出excel
+     *
+     * @param request
+     * @param inboundManagement
+     */
+    @RequiresPermissions("sparePartsConsumables:sbsmzq_inbound_management:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, InboundManagement inboundManagement) {
+        return super.exportXls(request, inboundManagement, InboundManagement.class, "入库管理");
+    }
+
+    /**
+     * 通过excel导入数据
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequiresPermissions("sparePartsConsumables:sbsmzq_inbound_management:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, InboundManagement.class);
+    }
+
+
+    @ApiOperation(value = "入库记录-入库管理信息与库存台账信息组合查询", notes = "入库记录-入库管理信息与库存台账信息组合查询")
+    @GetMapping("/listInboundItems")
+    public Result<IPage<InboundManagementItemsVO>> listInboundItems(
+            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+            InboundItemsQueryDTO queryDTO) {
+
+        // 禁用自动 searchCount
+        Page<InboundManagementItemsVO> page = new Page<>(pageNo, pageSize, false); // false 表示不自动 count
+
+        // 查询当前页数据
+        IPage<InboundManagementItemsVO> pagedInboundItems = inboundManagementService.queryInboundItemsPage(page, queryDTO);
+
+        // 手动查询总数
+        long total = inboundManagementService.countInboundItems(queryDTO);
+
+        // 设置数据与总数
+        page.setRecords(pagedInboundItems.getRecords());
+        page.setTotal(total);
+
+        return Result.OK(page);
+    }
+
+}

+ 163 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/controller/InventoryLedgerController.java

@@ -0,0 +1,163 @@
+package org.jeecg.modules.sparePartsConsumables.inventoryManagement.controller;
+
+import java.util.Arrays;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.entity.InventoryLedger;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.service.IInventoryLedgerService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+
+ /**
+ * @Description: 库存台账
+ * @Author: jeecg-boot
+ * @Date:   2025-05-16
+ * @Version: V1.0
+ */
+@Api(tags="库存台账")
+@RestController
+@RequestMapping("/sparePartsConsumables/inventoryLedger")
+@Slf4j
+public class InventoryLedgerController extends JeecgController<InventoryLedger, IInventoryLedgerService> {
+	@Autowired
+	private IInventoryLedgerService inventoryLedgerService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param inventoryLedger
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "库存台账-分页列表查询")
+	@ApiOperation(value="库存台账-分页列表查询", notes="库存台账-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<InventoryLedger>> queryPageList(InventoryLedger inventoryLedger,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+        QueryWrapper<InventoryLedger> queryWrapper = QueryGenerator.initQueryWrapper(inventoryLedger, req.getParameterMap());
+		Page<InventoryLedger> page = new Page<InventoryLedger>(pageNo, pageSize);
+		IPage<InventoryLedger> pageList = inventoryLedgerService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param inventoryLedger
+	 * @return
+	 */
+	@AutoLog(value = "库存台账-添加")
+	@ApiOperation(value="库存台账-添加", notes="库存台账-添加")
+	@RequiresPermissions("sparePartsConsumables:sbsmzq_inventory_ledger:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody InventoryLedger inventoryLedger) {
+		inventoryLedgerService.save(inventoryLedger);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param inventoryLedger
+	 * @return
+	 */
+	@AutoLog(value = "库存台账-编辑")
+	@ApiOperation(value="库存台账-编辑", notes="库存台账-编辑")
+	@RequiresPermissions("sparePartsConsumables:sbsmzq_inventory_ledger:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody InventoryLedger inventoryLedger) {
+		inventoryLedgerService.updateById(inventoryLedger);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "库存台账-通过id删除")
+	@ApiOperation(value="库存台账-通过id删除", notes="库存台账-通过id删除")
+	@RequiresPermissions("sparePartsConsumables:sbsmzq_inventory_ledger:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		inventoryLedgerService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "库存台账-批量删除")
+	@ApiOperation(value="库存台账-批量删除", notes="库存台账-批量删除")
+	@RequiresPermissions("sparePartsConsumables:sbsmzq_inventory_ledger:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.inventoryLedgerService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "库存台账-通过id查询")
+	@ApiOperation(value="库存台账-通过id查询", notes="库存台账-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<InventoryLedger> queryById(@RequestParam(name="id",required=true) String id) {
+		InventoryLedger inventoryLedger = inventoryLedgerService.getById(id);
+		if(inventoryLedger==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(inventoryLedger);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param inventoryLedger
+    */
+    @RequiresPermissions("sparePartsConsumables:sbsmzq_inventory_ledger:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, InventoryLedger inventoryLedger) {
+        return super.exportXls(request, inventoryLedger, InventoryLedger.class, "库存台账");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    @RequiresPermissions("sparePartsConsumables:sbsmzq_inventory_ledger:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, InventoryLedger.class);
+    }
+
+}

+ 38 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/dto/InboundItemsQueryDTO.java

@@ -0,0 +1,38 @@
+package org.jeecg.modules.sparePartsConsumables.inventoryManagement.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@Data
+public class InboundItemsQueryDTO {
+
+    @ApiModelProperty(value = "入库单号")
+    private String inboundOrderNo;
+
+    @ApiModelProperty(value = "入库人")
+    private String inboundPerson;
+
+    @ApiModelProperty(value = "入库类型")
+    private Integer inboundType;
+
+    @ApiModelProperty(value = "入库仓库")
+    private String inboundWarehouse;
+
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "入库时间")
+    private Date inboundDate;
+
+    @ApiModelProperty(value = "物料编号")
+    private String materialCode;
+
+    @ApiModelProperty(value = "物料名称")
+    private String materialName;
+
+    @ApiModelProperty(value = "规格型号")
+    private String spec;
+}

+ 43 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/dto/InventoryLedgerQueryDTO.java

@@ -0,0 +1,43 @@
+package org.jeecg.modules.sparePartsConsumables.inventoryManagement.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class InventoryLedgerQueryDTO {
+
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "入库时间")
+    private Date inboundDate;
+
+    @ApiModelProperty(value = "入库人")
+    private String inboundPerson;
+
+    @ApiModelProperty(value = "入库类型")
+    private Integer inboundType;
+
+    @ApiModelProperty(value = "入库仓库")
+    private String inboundWarehouse;
+
+    @ApiModelProperty(value = "关联单号")
+    private String relatedOrderNo;
+
+    @ApiModelProperty(value = "返库人")
+    private String returnPerson;
+
+    private List<InventoryLedgerSingle> inventoryLedgerList;
+
+    @Data
+    public static class InventoryLedgerSingle {
+
+        private String materialId;
+
+        private Integer count;
+    }
+}

+ 85 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/entity/InboundManagement.java

@@ -0,0 +1,85 @@
+package org.jeecg.modules.sparePartsConsumables.inventoryManagement.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: 入库管理
+ * @Author: jeecg-boot
+ * @Date:   2025-05-19
+ * @Version: V1.0
+ */
+@Data
+@TableName("sbsmzq_inbound_management")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="sbsmzq_inbound_management对象", description="入库管理")
+public class InboundManagement implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "id")
+    private String id;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+	/**创建日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private Date updateTime;
+	/**所属部门*/
+    @ApiModelProperty(value = "所属部门")
+    private String sysOrgCode;
+	/**入库单号*/
+	@Excel(name = "入库单号", width = 15)
+    @ApiModelProperty(value = "入库单号")
+    private String inboundOrderNo;
+	/**入库时间*/
+	@Excel(name = "入库时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "入库时间")
+    private Date inboundDate;
+	/**入库人*/
+	@Excel(name = "入库人", width = 15)
+    @ApiModelProperty(value = "入库人")
+    private String inboundPerson;
+	/**入库类型*/
+	@Excel(name = "入库类型", width = 15)
+    @ApiModelProperty(value = "入库类型")
+    private Integer inboundType;
+	/**入库仓库*/
+	@Excel(name = "入库仓库", width = 15)
+    @ApiModelProperty(value = "入库仓库")
+    private String inboundWarehouse;
+	/**关联单号*/
+	@Excel(name = "关联单号", width = 15)
+    @ApiModelProperty(value = "关联单号")
+    private String relatedOrderNo;
+	/**返库人*/
+	@Excel(name = "返库人", width = 15)
+    @ApiModelProperty(value = "返库人")
+    private String returnPerson;
+}

+ 163 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/entity/InventoryLedger.java

@@ -0,0 +1,163 @@
+package org.jeecg.modules.sparePartsConsumables.inventoryManagement.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description: 库存台账
+ * @Author: jeecg-boot
+ * @Date: 2025-05-16
+ * @Version: V1.0
+ */
+@Data
+@TableName("sbsmzq_inventory_ledger")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value = "sbsmzq_inventory_ledger对象", description = "库存台账")
+public class InventoryLedger implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+    /**
+     * 创建人
+     */
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+    /**
+     * 创建日期
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private Date createTime;
+    /**
+     * 更新人
+     */
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+    /**
+     * 更新日期
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private Date updateTime;
+    /**
+     * 所属部门
+     */
+    @ApiModelProperty(value = "所属部门")
+    private String sysOrgCode;
+    /**
+     * 图片
+     */
+    @Excel(name = "图片", width = 15)
+    @ApiModelProperty(value = "图片")
+    private String materialImage;
+    /**
+     * 物料编号
+     */
+    @Excel(name = "物料编号", width = 15)
+    @ApiModelProperty(value = "物料编号")
+    private String materialCode;
+    /**
+     * 物料名称
+     */
+    @Excel(name = "物料名称", width = 15)
+    @ApiModelProperty(value = "物料名称")
+    private String materialName;
+    /**
+     * 分类
+     */
+    @Excel(name = "分类", width = 15)
+    @ApiModelProperty(value = "分类")
+    private String category;
+    /**
+     * 等级
+     */
+    @Excel(name = "等级", width = 15)
+    @ApiModelProperty(value = "等级")
+    private String grade;
+    /**
+     * 品牌
+     */
+    @Excel(name = "品牌", width = 15)
+    @ApiModelProperty(value = "品牌")
+    private String brand;
+    /**
+     * 规格型号
+     */
+    @Excel(name = "规格型号", width = 15)
+    @ApiModelProperty(value = "规格型号")
+    private String spec;
+    /**
+     * 单位
+     */
+    @Excel(name = "单位", width = 15)
+    @ApiModelProperty(value = "单位")
+    private Integer unit;
+    /**
+     * 所在仓库
+     */
+    @Excel(name = "所在仓库", width = 15)
+    @ApiModelProperty(value = "所在仓库")
+    private String warehouseName;
+    /**
+     * 库位
+     */
+    @Excel(name = "库位", width = 15)
+    @ApiModelProperty(value = "库位")
+    private String location;
+    /**
+     * 数量
+     */
+    @Excel(name = "数量", width = 15)
+    @ApiModelProperty(value = "数量")
+    private Integer quantity;
+    /**
+     * 库存下限
+     */
+    @Excel(name = "库存下限", width = 15)
+    @ApiModelProperty(value = "库存下限")
+    private Integer minStock;
+    /**
+     * 库存上限
+     */
+    @Excel(name = "库存上限", width = 15)
+    @ApiModelProperty(value = "库存上限")
+    private Integer maxStock;
+    /**
+     * 基准价
+     */
+    @Excel(name = "基准价", width = 15)
+    @ApiModelProperty(value = "基准价")
+    private BigDecimal benchmarkPrice;
+    /**
+     * 平均价
+     */
+    @Excel(name = "平均价", width = 15)
+    @ApiModelProperty(value = "平均价")
+    private BigDecimal averagePrice;
+    /**
+     * 入库管理id
+     */
+    @ApiModelProperty(value = "入库管理id")
+    private String inboundId;
+}

+ 28 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/mapper/InboundManagementMapper.java

@@ -0,0 +1,28 @@
+package org.jeecg.modules.sparePartsConsumables.inventoryManagement.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.dto.InboundItemsQueryDTO;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.entity.InboundManagement;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.vo.InboundManagementItemsVO;
+
+/**
+ * @Description: 入库管理
+ * @Author: jeecg-boot
+ * @Date: 2025-05-19
+ * @Version: V1.0
+ */
+@Mapper
+public interface InboundManagementMapper extends BaseMapper<InboundManagement> {
+
+    boolean existsByCode(@Param("code") String code);
+
+    IPage<InboundManagementItemsVO> queryInboundItemsPage(Page<InboundManagementItemsVO> page, @Param("query") InboundItemsQueryDTO query);
+
+    long countInboundItems(@Param("query") InboundItemsQueryDTO query);
+
+
+}

+ 16 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/mapper/InventoryLedgerMapper.java

@@ -0,0 +1,16 @@
+package org.jeecg.modules.sparePartsConsumables.inventoryManagement.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.entity.InventoryLedger;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 库存台账
+ * @Author: jeecg-boot
+ * @Date:   2025-05-16
+ * @Version: V1.0
+ */
+@Mapper
+public interface InventoryLedgerMapper extends BaseMapper<InventoryLedger> {
+
+}

+ 95 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/mapper/xml/InboundManagementMapper.xml

@@ -0,0 +1,95 @@
+<?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="org.jeecg.modules.sparePartsConsumables.inventoryManagement.mapper.InboundManagementMapper">
+
+
+    <select id="existsByCode" resultType="boolean" parameterType="string">
+        SELECT COUNT(1) > 0
+        FROM sbsmzq_inbound_management
+        WHERE inbound_order_no = #{code}
+    </select>
+
+    <select id="queryInboundItemsPage"
+            resultType="org.jeecg.modules.sparePartsConsumables.inventoryManagement.vo.InboundManagementItemsVO">
+        SELECT
+        ds.id AS inboundId,
+        ds.inbound_order_no,
+        ds.inbound_date,
+        ds.inbound_person,
+        ds.inbound_type,
+        ds.inbound_warehouse,
+        ds.return_person,
+        ti.id AS inventoryId,
+        ti.material_code,
+        ti.material_name,
+        ti.spec,
+        ti.location,
+        ti.quantity
+        FROM sbsmzq_inbound_management ds
+        LEFT JOIN sbsmzq_inventory_ledger ti
+        ON ds.id COLLATE utf8mb4_general_ci = ti.inbound_id COLLATE utf8mb4_general_ci
+        <where>
+            <if test="query.inboundOrderNo != null and query.inboundOrderNo != ''">
+                AND ds.inbound_order_no LIKE CONCAT('%', #{query.inboundOrderNo}, '%')
+            </if>
+            <if test="query.inboundPerson != null and query.inboundPerson != ''">
+                AND ds.inbound_person = #{query.inboundPerson}
+            </if>
+            <if test="query.inboundType != null and query.inboundType != ''">
+                AND ds.inbound_type = #{query.inboundType}
+            </if>
+            <if test="query.inboundWarehouse != null and query.inboundWarehouse != ''">
+                AND ds.inbound_warehouse LIKE CONCAT('%', #{query.inboundWarehouse}, '%')
+            </if>
+            <if test="query.inboundDate != null">
+                AND ds.inbound_date = #{query.inboundDate}
+            </if>
+            <if test="query.materialCode != null and query.materialCode != ''">
+                AND ti.material_code LIKE CONCAT('%', #{query.materialCode}, '%')
+            </if>
+            <if test="query.materialName != null and query.materialName != ''">
+                AND ti.material_name LIKE CONCAT('%', #{query.materialName}, '%')
+            </if>
+            <if test="query.spec != null and query.spec != ''">
+                AND ti.spec LIKE CONCAT('%', #{query.spec}, '%')
+            </if>
+        </where>
+        ORDER BY ds.create_time DESC
+    </select>
+
+
+    <select id="countInboundItems" resultType="java.lang.Long">
+        SELECT COUNT(1)
+        FROM sbsmzq_inbound_management ds
+        LEFT JOIN sbsmzq_inventory_ledger ti
+        ON ds.id COLLATE utf8mb4_general_ci = ti.inbound_id COLLATE utf8mb4_general_ci
+        <where>
+            <if test="query.inboundOrderNo != null and query.inboundOrderNo != ''">
+                AND ds.inbound_order_no LIKE CONCAT('%', #{query.inboundOrderNo}, '%')
+            </if>
+            <if test="query.inboundPerson != null and query.inboundPerson != ''">
+                AND ds.inbound_person = #{query.inboundPerson}
+            </if>
+            <if test="query.inboundType != null and query.inboundType != ''">
+                AND ds.inbound_type = #{query.inboundType}
+            </if>
+            <if test="query.inboundWarehouse != null and query.inboundWarehouse != ''">
+                AND ds.inbound_warehouse LIKE CONCAT('%', #{query.inboundWarehouse}, '%')
+            </if>
+            <if test="query.inboundDate != null">
+                AND ds.inbound_date = #{query.inboundDate}
+            </if>
+            <if test="query.materialCode != null and query.materialCode != ''">
+                AND ti.material_code LIKE CONCAT('%', #{query.materialCode}, '%')
+            </if>
+            <if test="query.materialName != null and query.materialName != ''">
+                AND ti.material_name LIKE CONCAT('%', #{query.materialName}, '%')
+            </if>
+            <if test="query.spec != null and query.spec != ''">
+                AND ti.spec LIKE CONCAT('%', #{query.spec}, '%')
+            </if>
+        </where>
+        ORDER BY ds.create_time DESC
+    </select>
+
+</mapper>

+ 5 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/mapper/xml/InventoryLedgerMapper.xml

@@ -0,0 +1,5 @@
+<?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="org.jeecg.modules.sparePartsConsumables.inventoryManagement.mapper.InventoryLedgerMapper">
+
+</mapper>

+ 22 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/service/IInboundManagementService.java

@@ -0,0 +1,22 @@
+package org.jeecg.modules.sparePartsConsumables.inventoryManagement.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.dto.InboundItemsQueryDTO;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.entity.InboundManagement;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.vo.InboundManagementItemsVO;
+
+/**
+ * @Description: 入库管理
+ * @Author: jeecg-boot
+ * @Date: 2025-05-19
+ * @Version: V1.0
+ */
+public interface IInboundManagementService extends IService<InboundManagement> {
+
+    IPage<InboundManagementItemsVO> queryInboundItemsPage(Page<InboundManagementItemsVO> page, InboundItemsQueryDTO query);
+
+    long countInboundItems(InboundItemsQueryDTO query);
+
+}

+ 19 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/service/IInventoryLedgerService.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.sparePartsConsumables.inventoryManagement.service;
+
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.dto.InventoryLedgerQueryDTO;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.entity.InventoryLedger;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * @Description: 库存台账
+ * @Author: jeecg-boot
+ * @Date:   2025-05-16
+ * @Version: V1.0
+ */
+public interface IInventoryLedgerService extends IService<InventoryLedger> {
+
+    void addInventoryLedgers(InventoryLedgerQueryDTO inventoryLedgerQueryDTO);
+
+}

+ 35 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/service/impl/InboundManagementServiceImpl.java

@@ -0,0 +1,35 @@
+package org.jeecg.modules.sparePartsConsumables.inventoryManagement.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 org.jeecg.modules.sparePartsConsumables.inventoryManagement.dto.InboundItemsQueryDTO;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.entity.InboundManagement;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.mapper.InboundManagementMapper;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.service.IInboundManagementService;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.vo.InboundManagementItemsVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Description: 入库管理
+ * @Author: jeecg-boot
+ * @Date: 2025-05-19
+ * @Version: V1.0
+ */
+@Service
+public class InboundManagementServiceImpl extends ServiceImpl<InboundManagementMapper, InboundManagement> implements IInboundManagementService {
+
+    @Autowired
+    private InboundManagementMapper inboundManagementMapper;
+
+    @Override
+    public IPage<InboundManagementItemsVO> queryInboundItemsPage(Page<InboundManagementItemsVO> page, InboundItemsQueryDTO query) {
+        return inboundManagementMapper.queryInboundItemsPage(page, query);
+    }
+
+    @Override
+    public long countInboundItems(InboundItemsQueryDTO query) {
+        return inboundManagementMapper.countInboundItems(query);
+    }
+}

+ 91 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/service/impl/InventoryLedgerServiceImpl.java

@@ -0,0 +1,91 @@
+package org.jeecg.modules.sparePartsConsumables.inventoryManagement.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.dto.InventoryLedgerQueryDTO;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.entity.InboundManagement;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.entity.InventoryLedger;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.mapper.InboundManagementMapper;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.mapper.InventoryLedgerMapper;
+import org.jeecg.modules.sparePartsConsumables.inventoryManagement.service.IInventoryLedgerService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+
+/**
+ * @Description: 库存台账
+ * @Author: jeecg-boot
+ * @Date: 2025-05-16
+ * @Version: V1.0
+ */
+@Slf4j
+@Service
+public class InventoryLedgerServiceImpl extends ServiceImpl<InventoryLedgerMapper, InventoryLedger> implements IInventoryLedgerService {
+
+    @Autowired
+    private InventoryLedgerMapper inventoryLedgerMapper;
+
+    @Autowired
+    private InboundManagementMapper inboundManagementMapper;
+
+    @Override
+    public void addInventoryLedgers(InventoryLedgerQueryDTO inventoryLedgerQueryDTO) {
+
+        if (oConvertUtils.listIsNotEmpty(inventoryLedgerQueryDTO.getInventoryLedgerList())) {
+
+            InboundManagement inboundManagement = new InboundManagement();
+
+            inboundManagement.setInboundDate(inventoryLedgerQueryDTO.getInboundDate());
+            inboundManagement.setInboundPerson(inventoryLedgerQueryDTO.getInboundPerson());
+            inboundManagement.setInboundType(inventoryLedgerQueryDTO.getInboundType());
+            inboundManagement.setInboundWarehouse(inventoryLedgerQueryDTO.getInboundWarehouse());
+            inboundManagement.setRelatedOrderNo(inventoryLedgerQueryDTO.getRelatedOrderNo());
+            inboundManagement.setReturnPerson(inventoryLedgerQueryDTO.getReturnPerson());
+
+            // 入库单号生成
+            String prefix = "RK";
+            String datePart = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
+            String baseCode = prefix + datePart;
+
+            String inboundOrderNo = null;
+            int maxRetries = 10;
+            for (int i = 1; i <= maxRetries; i++) {
+                String serial = String.format("%04d", i);
+                String fullCode = baseCode + serial;
+                boolean exists = inboundManagementMapper.existsByCode(fullCode);
+                if (!exists) {
+                    inboundOrderNo = fullCode;
+                    break;
+                }
+            }
+
+            if (inboundOrderNo == null) {
+                throw new RuntimeException("生成唯一入库单号失败,请稍后重试");
+            }
+
+            inboundManagement.setInboundOrderNo(inboundOrderNo);
+            inboundManagementMapper.insert(inboundManagement);
+
+            for (InventoryLedgerQueryDTO.InventoryLedgerSingle inventoryLedgerSingle : inventoryLedgerQueryDTO.getInventoryLedgerList()) {
+
+                LambdaQueryWrapper<InventoryLedger> queryWrapper = new LambdaQueryWrapper<>();
+                queryWrapper.eq(InventoryLedger::getId, inventoryLedgerSingle.getMaterialId()).last("limit 1");
+
+                InventoryLedger inventoryLedger = inventoryLedgerMapper.selectOne(queryWrapper);
+
+                if (inventoryLedger != null) {
+                    inventoryLedger.setQuantity(inventoryLedgerSingle.getCount());
+                    inventoryLedger.setInboundId(inboundManagement.getId());
+
+                    inventoryLedgerMapper.updateById(inventoryLedger);
+                } else {
+                    log.warn("未找到物料ID为 {} 的库存记录", inventoryLedgerSingle.getMaterialId());
+                }
+            }
+        }
+    }
+}

+ 26 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/sparePartsConsumables/inventoryManagement/vo/InboundManagementItemsVO.java

@@ -0,0 +1,26 @@
+package org.jeecg.modules.sparePartsConsumables.inventoryManagement.vo;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class InboundManagementItemsVO {
+
+    //InboundManagement 字段
+    private String inboundId;       //入库管理id
+    private String inboundOrderNo;  //入库单号
+    private Date inboundDate;       //入库单号
+    private String inboundPerson;   //入库人
+    private Integer inboundType;    //入库类型
+    private String inboundWarehouse; //入库仓库
+    private String returnPerson;     //返库人
+
+    //InventoryLedger 字段
+    private String inventoryId;  //库存id
+    private String materialCode; // 物料编号
+    private String materialName;  // 物料名称
+    private String spec;     // 规格型号
+    private String location; // 库位
+    private Integer quantity; // 入库数量 or 实际数量
+}

+ 2 - 2
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialDevice/controller/SpecialDeviceCategoryController.java → zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/controller/SpecialDeviceCategoryController.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.specialDevice.controller;
+package org.jeecg.modules.specialEquipment.controller;
 
 import java.util.Arrays;
 import javax.servlet.http.HttpServletRequest;
@@ -6,7 +6,7 @@ import javax.servlet.http.HttpServletResponse;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.modules.specialDevice.dto.CategoryQueryDTO;
-import org.jeecg.modules.specialDevice.entity.SpecialDeviceCategory;
+import org.jeecg.modules.specialEquipment.entity.SpecialDeviceCategory;
 import org.jeecg.modules.specialDevice.service.ISpecialDeviceCategoryService;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

+ 163 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/controller/SpecialDeviceController.java

@@ -0,0 +1,163 @@
+package org.jeecg.modules.specialEquipment.controller;
+
+import java.util.Arrays;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.specialEquipment.entity.SpecialDevice;
+import org.jeecg.modules.specialEquipment.service.ISpecialDeviceService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+
+ /**
+ * @Description: 特种设备
+ * @Author: jeecg-boot
+ * @Date:   2025-05-16
+ * @Version: V1.0
+ */
+@Api(tags="特种设备")
+@RestController
+@RequestMapping("/specialEquipment/specialDevice")
+@Slf4j
+public class SpecialDeviceController extends JeecgController<SpecialDevice, ISpecialDeviceService> {
+	@Autowired
+	private ISpecialDeviceService specialDeviceService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param specialDevice
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "特种设备-分页列表查询")
+	@ApiOperation(value="特种设备-分页列表查询", notes="特种设备-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<SpecialDevice>> queryPageList(SpecialDevice specialDevice,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+        QueryWrapper<SpecialDevice> queryWrapper = QueryGenerator.initQueryWrapper(specialDevice, req.getParameterMap());
+		Page<SpecialDevice> page = new Page<SpecialDevice>(pageNo, pageSize);
+		IPage<SpecialDevice> pageList = specialDeviceService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param specialDevice
+	 * @return
+	 */
+	@AutoLog(value = "特种设备-添加")
+	@ApiOperation(value="特种设备-添加", notes="特种设备-添加")
+	@RequiresPermissions("specialEquipment:sbsmzq_special_device:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody SpecialDevice specialDevice) {
+		specialDeviceService.save(specialDevice);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param specialDevice
+	 * @return
+	 */
+	@AutoLog(value = "特种设备-编辑")
+	@ApiOperation(value="特种设备-编辑", notes="特种设备-编辑")
+	@RequiresPermissions("specialEquipment:sbsmzq_special_device:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody SpecialDevice specialDevice) {
+		specialDeviceService.updateById(specialDevice);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "特种设备-通过id删除")
+	@ApiOperation(value="特种设备-通过id删除", notes="特种设备-通过id删除")
+	@RequiresPermissions("specialEquipment:sbsmzq_special_device:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		specialDeviceService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "特种设备-批量删除")
+	@ApiOperation(value="特种设备-批量删除", notes="特种设备-批量删除")
+	@RequiresPermissions("specialEquipment:sbsmzq_special_device:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.specialDeviceService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "特种设备-通过id查询")
+	@ApiOperation(value="特种设备-通过id查询", notes="特种设备-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<SpecialDevice> queryById(@RequestParam(name="id",required=true) String id) {
+		SpecialDevice specialDevice = specialDeviceService.getById(id);
+		if(specialDevice==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(specialDevice);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param specialDevice
+    */
+    @RequiresPermissions("specialEquipment:sbsmzq_special_device:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, SpecialDevice specialDevice) {
+        return super.exportXls(request, specialDevice, SpecialDevice.class, "特种设备");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    @RequiresPermissions("specialEquipment:sbsmzq_special_device:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, SpecialDevice.class);
+    }
+
+}

+ 1 - 1
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialDevice/dto/CategoryQueryDTO.java → zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/dto/CategoryQueryDTO.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.specialDevice.dto;
+package org.jeecg.modules.specialEquipment.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;

+ 213 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/entity/SpecialDevice.java

@@ -0,0 +1,213 @@
+package org.jeecg.modules.specialEquipment.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: 特种设备
+ * @Author: jeecg-boot
+ * @Date: 2025-05-16
+ * @Version: V1.0
+ */
+@Data
+@TableName("sbsmzq_special_device")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value = "sbsmzq_special_device对象", description = "特种设备")
+public class SpecialDevice implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+    /**
+     * 创建人
+     */
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+    /**
+     * 创建日期
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private Date createTime;
+    /**
+     * 更新人
+     */
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+    /**
+     * 更新日期
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private Date updateTime;
+    /**
+     * 所属部门
+     */
+    @ApiModelProperty(value = "所属部门")
+    private String sysOrgCode;
+    /**
+     * 编号
+     */
+    @Excel(name = "编号", width = 15)
+    @ApiModelProperty(value = "编号")
+    private String number;
+    /**
+     * 设备名称
+     */
+    @Excel(name = "设备名称", width = 15)
+    @ApiModelProperty(value = "设备名称")
+    private String deviceName;
+    /**
+     * 规格型号
+     */
+    @Excel(name = "规格型号", width = 15)
+    @ApiModelProperty(value = "规格型号")
+    private String spec;
+    /**
+     * 出厂编号
+     */
+    @Excel(name = "出厂编号", width = 15)
+    @ApiModelProperty(value = "出厂编号")
+    private String factoryNumber;
+    /**
+     * 使用登记证号
+     */
+    @Excel(name = "使用登记证号", width = 15)
+    @ApiModelProperty(value = "使用登记证号")
+    private String registrationNumber;
+    /**
+     * 特种设备类别
+     */
+    @Excel(name = "特种设备类别", width = 15)
+    @ApiModelProperty(value = "特种设备类别")
+    private String category;
+    /**
+     * 生产厂家
+     */
+    @Excel(name = "生产厂家", width = 15)
+    @ApiModelProperty(value = "生产厂家")
+    private String manufacturer;
+    /**
+     * 出厂日期
+     */
+    @Excel(name = "出厂日期", width = 15, format = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty(value = "出厂日期")
+    private Date productionDate;
+    /**
+     * 使用年限
+     */
+    @Excel(name = "使用年限", width = 15)
+    @ApiModelProperty(value = "使用年限")
+    private Integer serviceLife;
+    /**
+     * 预计报废日期
+     */
+    @Excel(name = "预计报废日期", width = 15, format = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty(value = "预计报废日期")
+    private Date expectedDiscardDate;
+    /**
+     * 负责人
+     */
+    @Excel(name = "负责人", width = 15)
+    @ApiModelProperty(value = "负责人")
+    private String director;
+    /**
+     * 使用状态
+     */
+    @Excel(name = "使用状态", width = 15)
+    @ApiModelProperty(value = "使用状态")
+    private Integer usageStatus;
+    /**
+     * 位置
+     */
+    @Excel(name = "位置", width = 15)
+    @ApiModelProperty(value = "位置")
+    private String location;
+    /**
+     * 上次检验日期
+     */
+    @Excel(name = "上次检验日期", width = 15, format = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty(value = "上次检验日期")
+    private Date lastInspectionDate;
+    /**
+     * 下次检验日期
+     */
+    @Excel(name = "下次检验日期", width = 15, format = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty(value = "下次检验日期")
+    private Date nextInspectionDate;
+    /**
+     * 关联台账
+     */
+    @Excel(name = "关联台账", width = 15)
+    @ApiModelProperty(value = "关联台账")
+    private Integer associatedAccounts;
+    /**
+     * 是否有爆破片
+     */
+    @Excel(name = "是否有爆破片", width = 15)
+    @ApiModelProperty(value = "是否有爆破片")
+    private Integer hasBurstDisc;
+    /**
+     * 爆破片上次更换时间
+     */
+    @Excel(name = "爆破片上次更换时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "爆破片上次更换时间")
+    private Date lastBurstDiscReplacementDate;
+    /**
+     * 爆破片下次更换时间
+     */
+    @Excel(name = "爆破片下次更换时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "爆破片下次更换时间")
+    private Date nextBurstDiscReplacementDate;
+    /**
+     * 报废时间
+     */
+    @Excel(name = "报废时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "报废时间")
+    private Date scrapTime;
+    /**
+     * 报废原因
+     */
+    @Excel(name = "报废原因", width = 15)
+    @ApiModelProperty(value = "报废原因")
+    private String scrapReason;
+    /**
+     * 备注
+     */
+    @Excel(name = "备注", width = 15)
+    @ApiModelProperty(value = "备注")
+    private String remark;
+}

+ 1 - 1
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialDevice/entity/SpecialDeviceCategory.java → zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/entity/SpecialDeviceCategory.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.specialDevice.entity;
+package org.jeecg.modules.specialEquipment.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;

+ 2 - 2
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialDevice/mapper/SpecialDeviceCategoryMapper.java → zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/mapper/SpecialDeviceCategoryMapper.java

@@ -1,7 +1,7 @@
-package org.jeecg.modules.specialDevice.mapper;
+package org.jeecg.modules.specialEquipment.mapper;
 
 import org.apache.ibatis.annotations.Mapper;
-import org.jeecg.modules.specialDevice.entity.SpecialDeviceCategory;
+import org.jeecg.modules.specialEquipment.entity.SpecialDeviceCategory;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**

+ 14 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/mapper/SpecialDeviceMapper.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.specialEquipment.mapper;
+
+import org.jeecg.modules.specialEquipment.entity.SpecialDevice;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 特种设备
+ * @Author: jeecg-boot
+ * @Date:   2025-05-16
+ * @Version: V1.0
+ */
+public interface SpecialDeviceMapper extends BaseMapper<SpecialDevice> {
+
+}

+ 5 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/mapper/xml/SpecialDeviceCategoryMapper.xml

@@ -0,0 +1,5 @@
+<?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="org.jeecg.modules.specialEquipment.mapper.SpecialDeviceCategoryMapper">
+
+</mapper>

+ 1 - 1
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialDevice/mapper/xml/SpecialDeviceCategoryMapper.xml → zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/mapper/xml/SpecialDeviceMapper.xml

@@ -1,5 +1,5 @@
 <?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="org.jeecg.modules.specialDevice.mapper.SpecialDeviceCategoryMapper">
+<mapper namespace="org.jeecg.modules.specialEquipment.mapper.SpecialDeviceMapper">
 
 </mapper>

+ 4 - 4
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialDevice/service/ISpecialDeviceCategoryService.java → zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/service/ISpecialDeviceCategoryService.java

@@ -1,9 +1,9 @@
-package org.jeecg.modules.specialDevice.service;
+package org.jeecg.modules.specialEquipment.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import org.jeecg.modules.specialDevice.dto.CategoryQueryDTO;
-import org.jeecg.modules.specialDevice.entity.SpecialDeviceCategory;
-import org.jeecg.modules.specialDevice.vo.SpecialDeviceCategoryVO;
+import org.jeecg.modules.specialEquipment.dto.CategoryQueryDTO;
+import org.jeecg.modules.specialEquipment.entity.SpecialDeviceCategory;
+import org.jeecg.modules.specialEquipment.vo.SpecialDeviceCategoryVO;
 
 import java.util.List;
 

+ 14 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/service/ISpecialDeviceService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.specialEquipment.service;
+
+import org.jeecg.modules.specialEquipment.entity.SpecialDevice;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 特种设备
+ * @Author: jeecg-boot
+ * @Date:   2025-05-16
+ * @Version: V1.0
+ */
+public interface ISpecialDeviceService extends IService<SpecialDevice> {
+
+}

+ 3 - 3
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialDevice/service/impl/SpecialDeviceCategoryServiceImpl.java → zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/service/impl/SpecialDeviceCategoryServiceImpl.java

@@ -1,10 +1,10 @@
-package org.jeecg.modules.specialDevice.service.impl;
+package org.jeecg.modules.specialEquipment.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.jeecg.modules.specialDevice.dto.CategoryQueryDTO;
-import org.jeecg.modules.specialDevice.entity.SpecialDeviceCategory;
-import org.jeecg.modules.specialDevice.mapper.SpecialDeviceCategoryMapper;
+import org.jeecg.modules.specialEquipment.entity.SpecialDeviceCategory;
+import org.jeecg.modules.specialEquipment.mapper.SpecialDeviceCategoryMapper;
 import org.jeecg.modules.specialDevice.service.ISpecialDeviceCategoryService;
 import org.jeecg.modules.specialDevice.vo.SpecialDeviceCategoryVO;
 import org.jeecg.modules.utils.TreeUtils;

+ 19 - 0
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/service/impl/SpecialDeviceServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.specialEquipment.service.impl;
+
+import org.jeecg.modules.specialEquipment.entity.SpecialDevice;
+import org.jeecg.modules.specialEquipment.mapper.SpecialDeviceMapper;
+import org.jeecg.modules.specialEquipment.service.ISpecialDeviceService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 特种设备
+ * @Author: jeecg-boot
+ * @Date:   2025-05-16
+ * @Version: V1.0
+ */
+@Service
+public class SpecialDeviceServiceImpl extends ServiceImpl<SpecialDeviceMapper, SpecialDevice> implements ISpecialDeviceService {
+
+}

+ 2 - 3
zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialDevice/vo/SpecialDeviceCategoryVO.java → zgzt-sbsmzq/jeecg-module-lifecycle/src/main/java/org/jeecg/modules/specialEquipment/vo/SpecialDeviceCategoryVO.java

@@ -1,11 +1,11 @@
-package org.jeecg.modules.specialDevice.vo;
+package org.jeecg.modules.specialEquipment.vo;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.jeecg.modules.specialDevice.entity.SpecialDeviceCategory;
+import org.jeecg.modules.specialEquipment.entity.SpecialDeviceCategory;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.util.Date;
@@ -76,7 +76,6 @@ public class SpecialDeviceCategoryVO {
         vo.setNumber(specialDeviceCategory.getNumber());
         vo.setPid(specialDeviceCategory.getPid());
         vo.setType(specialDeviceCategory.getType());
-        vo.setType(specialDeviceCategory.getType());
         vo.setIcon(specialDeviceCategory.getIcon());
         vo.setOpen(specialDeviceCategory.getOpen());
         vo.setSortOrder(specialDeviceCategory.getSortOrder());