From e011e3415512137e83c9c4533cb792ae1cf90ef9 Mon Sep 17 00:00:00 2001
From: bluejay <253316343@qq.com>
Date: 星期四, 10 四月 2025 15:38:34 +0800
Subject: [PATCH] 资源池管理

---
 aps-modules/aps-core/pom.xml                                                                      |    5 
 aps-modules/aps-core/src/main/resources/mapper/core/ApsResourceGroupTempMapper.xml                |  116 ++++
 aps-modules/aps-core/src/main/java/com/aps/core/param/ApsResourceGroupParam.java                  |   12 
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsResourceGroupTempServiceImpl.java |   97 ++++
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsResourceGroupServiceImpl.java     |  151 ++++++
 aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsResourceGroupTempMapper.java            |   63 ++
 aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsResourceGroupTempController.java    |   98 ++++
 aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsResourceGroup.java                      |  162 ++++++
 aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsResourceGroupController.java        |  136 +++++
 aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanController.java            |   23 
 aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsResourceGroupTemp.java                  |  192 ++++++++
 aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsResourceGroupMapper.java                |   73 +++
 aps-modules/aps-core/src/main/java/com/aps/core/service/IApsResourceGroupService.java             |   69 ++
 aps-modules/aps-core/src/main/resources/mapper/core/ApsResourceGroupMapper.xml                    |  123 +++++
 aps-modules/aps-core/src/main/java/com/aps/core/service/IApsResourceGroupTempService.java         |   61 ++
 15 files changed, 1,375 insertions(+), 6 deletions(-)

diff --git a/aps-modules/aps-core/pom.xml b/aps-modules/aps-core/pom.xml
index 15c683a..94e3d67 100644
--- a/aps-modules/aps-core/pom.xml
+++ b/aps-modules/aps-core/pom.xml
@@ -90,6 +90,11 @@
             <groupId>com.aps</groupId>
             <artifactId>aps-common-swagger</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <scope>provided</scope>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanController.java
index 27b6162..308fb5e 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanController.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanController.java
@@ -12,6 +12,7 @@
 import com.aps.core.domain.ApsPlatePlan;
 import com.aps.core.domain.ApsPlatePlanTemp;
 import com.aps.core.service.IApsPlatePlanService;
+import com.aps.core.service.IApsPlatePlanTempService;
 import com.aps.system.api.domain.SysDictData;
 import jakarta.servlet.http.HttpServletResponse;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -32,7 +33,8 @@
 public class ApsPlatePlanController extends BaseController {
     @Autowired
     private IApsPlatePlanService apsPlatePlanService;
-
+    @Autowired
+    private IApsPlatePlanTempService apsPlatePlanTempService;
     /**
      * 鏌ヨ閽i噾璁″垝绠$悊鍒楄〃
      */
@@ -61,7 +63,7 @@
     /**
      * 瀵煎嚭閽i噾璁″垝绠$悊鍒楄〃
      */
-    @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:export")
+//    @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:export")
     @Log(title = "閽i噾璁″垝绠$悊", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, ApsPlatePlan apsPlatePlan) {
@@ -102,7 +104,7 @@
     /**
      * 鑾峰彇閽i噾璁″垝绠$悊璇︾粏淇℃伅
      */
-    @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:query")
+//    @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:query")
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") String id) {
         return success(apsPlatePlanService.selectApsPlatePlanById(id));
@@ -111,7 +113,7 @@
     /**
      * 鏂板閽i噾璁″垝绠$悊
      */
-    @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:add")
+//    @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:add")
     @Log(title = "閽i噾璁″垝绠$悊", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody ApsPlatePlan apsPlatePlan) {
@@ -121,7 +123,7 @@
     /**
      * 淇敼閽i噾璁″垝绠$悊
      */
-    @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:edit")
+//    @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:edit")
     @Log(title = "閽i噾璁″垝绠$悊", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody ApsPlatePlan apsPlatePlan) {
@@ -131,7 +133,7 @@
     /**
      * 鍒犻櫎閽i噾璁″垝绠$悊
      */
-    @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:remove")
+//    @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:remove")
     @Log(title = "閽i噾璁″垝绠$悊", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable String[] ids) {
@@ -165,4 +167,13 @@
     public AjaxResult confirmPart(ApsPlatePlanTemp planTemp) {
         return toAjax(apsPlatePlanService.confirmPlan(planTemp));
     }
+    /**
+     * 鏌ヨ閽i噾璁″垝涓存椂琛ㄥ垪琛�
+     */
+    @GetMapping("/queryTempPlan")
+    public TableDataInfo list(ApsPlatePlanTemp apsPlatePlanTemp)
+    {
+        List<ApsPlatePlanTemp> list = apsPlatePlanTempService.selectApsPlatePlanTempList(apsPlatePlanTemp);
+        return getDataTable(list);
+    }
 }
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsResourceGroupController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsResourceGroupController.java
new file mode 100644
index 0000000..5162575
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsResourceGroupController.java
@@ -0,0 +1,136 @@
+package com.aps.core.controller;
+
+import com.aps.common.core.utils.poi.ExcelUtil;
+import com.aps.common.core.web.controller.BaseController;
+import com.aps.common.core.web.domain.AjaxResult;
+import com.aps.common.core.web.page.TableDataInfo;
+import com.aps.common.log.annotation.Log;
+import com.aps.common.log.enums.BusinessType;
+import com.aps.core.domain.ApsResourceGroup;
+import com.aps.core.domain.ApsResourceGroupTemp;
+import com.aps.core.param.ApsResourceGroupParam;
+import com.aps.core.service.IApsResourceGroupService;
+import com.aps.core.service.IApsResourceGroupTempService;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+
+/**
+ * 璧勬簮缁凜ontroller
+ * 
+ * @author ruoyi
+ * &#064;date  2025-04-10
+ */
+@RestController
+@RequestMapping("/ApsResourceGroup")
+public class ApsResourceGroupController extends BaseController
+{
+    @Resource
+    private IApsResourceGroupService apsResourceGroupService;
+    @Resource
+    private IApsResourceGroupTempService apsResourceGroupTempService;
+
+    /**
+     * 鏌ヨ璧勬簮缁勫垪琛�
+     */
+    /*@RequiresPermissions("ApsResourceGroup:list")*/
+    @GetMapping("/list")
+    public TableDataInfo list(ApsResourceGroupParam apsResourceGroup)
+    {
+        //startPage();
+        List<ApsResourceGroup> list = apsResourceGroupService.selectApsResourceGroupList(apsResourceGroup);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭璧勬簮缁勫垪琛�
+     */
+    /*@RequiresPermissions("ApsResourceGroup:ApsResourceGroup:export")*/
+    @Log(title = "璧勬簮缁�", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ApsResourceGroupParam apsResourceGroup)
+    {
+        List<ApsResourceGroup> list = apsResourceGroupService.selectApsResourceGroupList(apsResourceGroup);
+        ExcelUtil<ApsResourceGroup> util = new ExcelUtil<>(ApsResourceGroup.class);
+        util.exportExcel(response, list, "璧勬簮缁勬暟鎹�");
+    }
+
+    /**
+     * 鑾峰彇璧勬簮缁勮缁嗕俊鎭�
+     */
+   /* @RequiresPermissions("ApsResourceGroup:ApsResourceGroup:query")*/
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return success(apsResourceGroupService.selectApsResourceGroupById(id));
+    }
+
+    /**
+     * 鏂板璧勬簮缁�
+     */
+   /* @RequiresPermissions("ApsResourceGroup:ApsResourceGroup:add")*/
+    @Log(title = "璧勬簮缁�", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ApsResourceGroup apsResourceGroup)
+    {
+        return toAjax(apsResourceGroupService.insertApsResourceGroup(apsResourceGroup));
+    }
+
+    /**
+     * 淇敼璧勬簮缁�
+     */
+    /*@RequiresPermissions("ApsResourceGroup:ApsResourceGroup:edit")*/
+    @Log(title = "璧勬簮缁�", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ApsResourceGroup apsResourceGroup)
+    {
+        return toAjax(apsResourceGroupService.updateApsResourceGroup(apsResourceGroup));
+    }
+
+    /**
+     * 鍒犻櫎璧勬簮缁�
+     */
+    /*@RequiresPermissions("ApsResourceGroup:ApsResourceGroup:remove")*/
+    @Log(title = "璧勬簮缁�", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(apsResourceGroupService.deleteApsResourceGroupByIds(ids));
+    }
+    @GetMapping("/tempList")
+    public TableDataInfo tempList(ApsResourceGroupTemp apsResourceGroupTemp)
+    {
+        //startPage();
+        apsResourceGroupTemp.setDelFlag("1");
+        List<ApsResourceGroupTemp> list = apsResourceGroupTempService.selectApsResourceGroupTempList(apsResourceGroupTemp);
+        return getDataTable(list);
+    }
+    /**
+     * 瀵煎叆璧勬簮缁�
+     */
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file) throws Exception {
+        ExcelUtil<ApsResourceGroupTemp> util = new ExcelUtil<>(ApsResourceGroupTemp.class);
+        List<ApsResourceGroupTemp> tempList = util.importExcel(file.getInputStream());
+        //鍒ゆ柇瀵煎叆鏁版嵁鏄惁涓虹┖
+        if (!tempList.isEmpty()) {
+            String batchNum = apsResourceGroupService.importData(tempList);
+            return AjaxResult.success("瀵煎叆鎴愬姛锛�",batchNum);
+        } else {
+            return AjaxResult.error("妯℃澘鍐呭涓虹┖");
+        }
+    }
+    /**
+     * 纭鏁版嵁
+     */
+    @PostMapping("/confirmData")
+    public AjaxResult confirmData(@RequestBody ApsResourceGroupTemp temp) {
+
+        apsResourceGroupService.confirmData(temp.getBatchNumber(),temp.getRequestDate());
+        return AjaxResult.success("纭鎴愬姛锛�");
+    }
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsResourceGroupTempController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsResourceGroupTempController.java
new file mode 100644
index 0000000..72bfaf7
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsResourceGroupTempController.java
@@ -0,0 +1,98 @@
+package com.aps.core.controller;
+
+import com.aps.common.core.utils.poi.ExcelUtil;
+import com.aps.common.core.web.controller.BaseController;
+import com.aps.common.core.web.domain.AjaxResult;
+import com.aps.common.core.web.page.TableDataInfo;
+import com.aps.common.log.annotation.Log;
+import com.aps.common.log.enums.BusinessType;
+import com.aps.common.security.annotation.RequiresPermissions;
+import com.aps.core.domain.ApsResourceGroupTemp;
+import com.aps.core.service.IApsResourceGroupTempService;
+import jakarta.servlet.http.HttpServletResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 璧勬簮缁勪复鏃朵笂浼燙ontroller
+ * 
+ * @author ruoyi
+ * @date 2025-04-10
+ */
+@RestController
+@RequestMapping("/ApsResourceGroupTemp")
+public class ApsResourceGroupTempController extends BaseController
+{
+    @Autowired
+    private IApsResourceGroupTempService apsResourceGroupTempService;
+
+    /**
+     * 鏌ヨ璧勬簮缁勪复鏃朵笂浼犲垪琛�
+     */
+//    @RequiresPermissions("ApsResourceGroupTemp:ApsResourceGroupTemp:list")
+    @GetMapping("/list")
+    public TableDataInfo list(ApsResourceGroupTemp apsResourceGroupTemp)
+    {
+        startPage();
+        List<ApsResourceGroupTemp> list = apsResourceGroupTempService.selectApsResourceGroupTempList(apsResourceGroupTemp);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭璧勬簮缁勪复鏃朵笂浼犲垪琛�
+     */
+//    @RequiresPermissions("ApsResourceGroupTemp:ApsResourceGroupTemp:export")
+    @Log(title = "璧勬簮缁勪复鏃朵笂浼�", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ApsResourceGroupTemp apsResourceGroupTemp)
+    {
+        List<ApsResourceGroupTemp> list = apsResourceGroupTempService.selectApsResourceGroupTempList(apsResourceGroupTemp);
+        ExcelUtil<ApsResourceGroupTemp> util = new ExcelUtil<ApsResourceGroupTemp>(ApsResourceGroupTemp.class);
+        util.exportExcel(response, list, "璧勬簮缁勪复鏃朵笂浼犳暟鎹�");
+    }
+
+    /**
+     * 鑾峰彇璧勬簮缁勪复鏃朵笂浼犺缁嗕俊鎭�
+     */
+//    @RequiresPermissions("ApsResourceGroupTemp:ApsResourceGroupTemp:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return success(apsResourceGroupTempService.selectApsResourceGroupTempById(id));
+    }
+
+    /**
+     * 鏂板璧勬簮缁勪复鏃朵笂浼�
+     */
+//    @RequiresPermissions("ApsResourceGroupTemp:ApsResourceGroupTemp:add")
+    @Log(title = "璧勬簮缁勪复鏃朵笂浼�", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ApsResourceGroupTemp apsResourceGroupTemp)
+    {
+        return toAjax(apsResourceGroupTempService.insertApsResourceGroupTemp(apsResourceGroupTemp));
+    }
+
+    /**
+     * 淇敼璧勬簮缁勪复鏃朵笂浼�
+     */
+//    @RequiresPermissions("ApsResourceGroupTemp:ApsResourceGroupTemp:edit")
+    @Log(title = "璧勬簮缁勪复鏃朵笂浼�", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ApsResourceGroupTemp apsResourceGroupTemp)
+    {
+        return toAjax(apsResourceGroupTempService.updateApsResourceGroupTemp(apsResourceGroupTemp));
+    }
+
+    /**
+     * 鍒犻櫎璧勬簮缁勪复鏃朵笂浼�
+     */
+//    @RequiresPermissions("ApsResourceGroupTemp:ApsResourceGroupTemp:remove")
+    @Log(title = "璧勬簮缁勪复鏃跺垹闄�", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(apsResourceGroupTempService.deleteApsResourceGroupTempByIds(ids));
+    }
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsResourceGroup.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsResourceGroup.java
new file mode 100644
index 0000000..5b20f9b
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsResourceGroup.java
@@ -0,0 +1,162 @@
+package com.aps.core.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.aps.common.core.annotation.Excel;
+import com.aps.common.core.web.domain.BaseEntity;
+
+import java.time.LocalDateTime;
+
+/**
+ * 璧勬簮缁勫璞� aps_resource_group
+ * 
+ * @author ruoyi
+ * @date 2025-04-10
+ */
+public class ApsResourceGroup extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 涓婚敭 */
+    private String id;
+
+    /** 璧勬簮缁勫悕绉� */
+    @Excel(name = "璧勬簮缁勫悕绉�")
+    private String resourceGroupName;
+
+    /** 璁惧鏁伴噺 */
+    @Excel(name = "璁惧鏁伴噺")
+    private Long devicesQuantity;
+
+    /** 姣忔棩鐞嗚鏃堕棿 */
+    @Excel(name = "姣忔棩鐞嗚鏃堕棿")
+    private Long theoryHours;
+
+    /** 鎴闇�姹傛棩鍓╀綑澶╂暟  */
+    @Excel(name = "鎴闇�姹傛棩鍓╀綑澶╂暟 ")
+    private Long restDays;
+
+    /** 鐞嗚浜ц兘 */
+    @Excel(name = "鐞嗚浜ц兘")
+    private Long theoryCapacity;
+
+    /** 鏈哄姞闇�姹傛棩鏈� */
+    @Excel(name = "鏈哄姞闇�姹傛棩鏈�")
+    private LocalDateTime requestDate;
+
+    /** 鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛� */
+    private String delFlag;
+
+    /** 宸ュ巶 */
+    @Excel(name = "宸ュ巶")
+    private String plant;
+
+    public void setId(String id) 
+    {
+        this.id = id;
+    }
+
+    public String getId() 
+    {
+        return id;
+    }
+
+    public void setResourceGroupName(String resourceGroupName) 
+    {
+        this.resourceGroupName = resourceGroupName;
+    }
+
+    public String getResourceGroupName() 
+    {
+        return resourceGroupName;
+    }
+
+    public void setDevicesQuantity(Long devicesQuantity) 
+    {
+        this.devicesQuantity = devicesQuantity;
+    }
+
+    public Long getDevicesQuantity() 
+    {
+        return devicesQuantity;
+    }
+
+    public void setTheoryHours(Long theoryHours) 
+    {
+        this.theoryHours = theoryHours;
+    }
+
+    public Long getTheoryHours() 
+    {
+        return theoryHours;
+    }
+
+    public void setRestDays(Long restDays) 
+    {
+        this.restDays = restDays;
+    }
+
+    public Long getRestDays() 
+    {
+        return restDays;
+    }
+
+    public void setTheoryCapacity(Long theoryCapacity) 
+    {
+        this.theoryCapacity = theoryCapacity;
+    }
+
+    public Long getTheoryCapacity() 
+    {
+        return theoryCapacity;
+    }
+
+    public void setRequestDate(LocalDateTime requestDate)
+    {
+        this.requestDate = requestDate;
+    }
+
+    public LocalDateTime getRequestDate()
+    {
+        return requestDate;
+    }
+
+    public void setDelFlag(String delFlag) 
+    {
+        this.delFlag = delFlag;
+    }
+
+    public String getDelFlag() 
+    {
+        return delFlag;
+    }
+
+    public void setPlant(String plant) 
+    {
+        this.plant = plant;
+    }
+
+    public String getPlant() 
+    {
+        return plant;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("resourceGroupName", getResourceGroupName())
+            .append("devicesQuantity", getDevicesQuantity())
+            .append("theoryHours", getTheoryHours())
+            .append("restDays", getRestDays())
+            .append("theoryCapacity", getTheoryCapacity())
+            .append("requestDate", getRequestDate())
+            .append("delFlag", getDelFlag())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("plant", getPlant())
+            .toString();
+    }
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsResourceGroupTemp.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsResourceGroupTemp.java
new file mode 100644
index 0000000..e4ef04b
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsResourceGroupTemp.java
@@ -0,0 +1,192 @@
+package com.aps.core.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.aps.common.core.annotation.Excel;
+import com.aps.common.core.web.domain.BaseEntity;
+
+import java.time.LocalDateTime;
+
+/**
+ * 璧勬簮缁勪复鏃朵笂浼犲璞� aps_resource_group_temp
+ * 
+ * @author ruoyi
+ * @date 2025-04-10
+ */
+
+public class ApsResourceGroupTemp extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 涓婚敭 */
+    private String id;
+
+    /** 璧勬簮缁勫悕绉� */
+    @Excel(name = "璧勬簮缁�")
+    private String resourceGroupName;
+
+    /** 璁惧鏁伴噺 */
+    @Excel(name = "璁惧鏁伴噺")
+    private Long devicesQuantity;
+
+    /** 姣忔棩鐞嗚鏃堕棿 */
+    @Excel(name = "姣忔棩鐞嗚鏃堕棿")
+    private Long theoryHours;
+
+    /** 鎴闇�姹傛棩鍓╀綑澶╂暟  */
+    @Excel(name = "鎴闇�姹傛棩鍓╀綑澶╂暟")
+    private Long restDays;
+
+    /** 鐞嗚浜ц兘 */
+    @Excel(name = "鐞嗚浜ц兘")
+    private Long theoryCapacity;
+
+    /** 鏈哄姞闇�姹傛棩鏈� */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "鏈哄姞闇�姹傛棩鏈�")
+    private LocalDateTime requestDate;
+
+    /** 鎵规鍙� */
+    @Excel(name = "鎵规鍙�")
+    private String batchNumber;
+    /** 鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛� */
+    private String delFlag;
+
+    /** 宸ュ巶 */
+    //@Excel(name = "宸ュ巶")
+    private String plant;
+
+    public void setId(String id) 
+    {
+        this.id = id;
+    }
+
+    public String getId() 
+    {
+        return id;
+    }
+
+    public void setResourceGroupName(String resourceGroupName) 
+    {
+        this.resourceGroupName = resourceGroupName;
+    }
+
+    public String getResourceGroupName() 
+    {
+        return resourceGroupName;
+    }
+
+    public void setDevicesQuantity(Long devicesQuantity) 
+    {
+        this.devicesQuantity = devicesQuantity;
+    }
+
+    public Long getDevicesQuantity() 
+    {
+        return devicesQuantity;
+    }
+
+    public void setTheoryHours(Long theoryHours) 
+    {
+        this.theoryHours = theoryHours;
+    }
+
+    public Long getTheoryHours() 
+    {
+        return theoryHours;
+    }
+
+    public void setRestDays(Long restDays) 
+    {
+        this.restDays = restDays;
+    }
+
+    public Long getRestDays() 
+    {
+        return restDays;
+    }
+
+    public void setTheoryCapacity(Long theoryCapacity) 
+    {
+        this.theoryCapacity = theoryCapacity;
+    }
+
+    public Long getTheoryCapacity() 
+    {
+        return theoryCapacity;
+    }
+
+    public void setRequestDate(LocalDateTime requestDate)
+    {
+        this.requestDate = requestDate;
+    }
+
+    public LocalDateTime getRequestDate()
+    {
+        return requestDate;
+    }
+
+    public void setDelFlag(String delFlag) 
+    {
+        this.delFlag = delFlag;
+    }
+
+    public String getDelFlag() 
+    {
+        return delFlag;
+    }
+
+    public void setBatchNumber(String batchNumber) 
+    {
+        this.batchNumber = batchNumber;
+    }
+
+    public String getBatchNumber() 
+    {
+        return batchNumber;
+    }
+
+    public void setPlant(String plant) 
+    {
+        this.plant = plant;
+    }
+
+    public String getPlant() 
+    {
+        return plant;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("resourceGroupName", getResourceGroupName())
+            .append("devicesQuantity", getDevicesQuantity())
+            .append("theoryHours", getTheoryHours())
+            .append("restDays", getRestDays())
+            .append("theoryCapacity", getTheoryCapacity())
+            .append("requestDate", getRequestDate())
+            .append("delFlag", getDelFlag())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("batchNumber", getBatchNumber())
+            .append("plant", getPlant())
+            .toString();
+    }
+
+    /**閫氳繃ApsResourceGroupTemp 鑾峰彇 閫氳繃ApsResourceGroup */
+    public ApsResourceGroup getApsResourceGroup() {
+        ApsResourceGroup apsResourceGroup = new ApsResourceGroup();
+        apsResourceGroup.setId(this.getId());
+        apsResourceGroup.setResourceGroupName(this.getResourceGroupName());
+        apsResourceGroup.setDevicesQuantity(this.getDevicesQuantity());
+        apsResourceGroup.setTheoryHours(this.getTheoryHours());
+        apsResourceGroup.setRestDays(this.getRestDays());
+        apsResourceGroup.setTheoryCapacity(this.getTheoryCapacity());
+        apsResourceGroup.setRequestDate(this.getRequestDate());
+        return apsResourceGroup;
+    }
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsResourceGroupMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsResourceGroupMapper.java
new file mode 100644
index 0000000..4c39d53
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsResourceGroupMapper.java
@@ -0,0 +1,73 @@
+package com.aps.core.mapper;
+
+import java.util.List;
+import com.aps.core.domain.ApsResourceGroup;
+import com.aps.core.param.ApsResourceGroupParam;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 璧勬簮缁凪apper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2025-04-10
+ */
+@Mapper
+public interface ApsResourceGroupMapper 
+{
+    /**
+     * 鏌ヨ璧勬簮缁�
+     * 
+     * @param id 璧勬簮缁勪富閿�
+     * @return 璧勬簮缁�
+     */
+    public ApsResourceGroup selectApsResourceGroupById(String id);
+
+    /**
+     * 鏌ヨ璧勬簮缁勫垪琛�
+     * 
+     * @param params 璧勬簮缁�
+     * @return 璧勬簮缁勯泦鍚�
+     */
+    public List<ApsResourceGroup> selectApsResourceGroupList(ApsResourceGroupParam params);
+
+    /**
+     * 鏂板璧勬簮缁�
+     * 
+     * @param apsResourceGroup 璧勬簮缁�
+     * @return 缁撴灉
+     */
+    public int insertApsResourceGroup(ApsResourceGroup apsResourceGroup);
+
+    /**
+     * 淇敼璧勬簮缁�
+     * 
+     * @param apsResourceGroup 璧勬簮缁�
+     * @return 缁撴灉
+     */
+    public int updateApsResourceGroup(ApsResourceGroup apsResourceGroup);
+
+    /**
+     * 鍒犻櫎璧勬簮缁�
+     * 
+     * @param id 璧勬簮缁勪富閿�
+     * @return 缁撴灉
+     */
+    public int deleteApsResourceGroupById(String id);
+
+    /**
+     * 鎵归噺鍒犻櫎璧勬簮缁�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteApsResourceGroupByIds(String[] ids);
+
+    /**
+     * 鏍规嵁璧勬簮缁勫悕绉版壒閲忓垹闄よ祫婧愮粍
+     * @param groupName
+     * @return 缁撴灉
+     */
+    public int deleteResourceGroupByNames(String[]  groupName);
+
+    public int deleteApsResourceGroupTempByBatchNumber(String batchNum);
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsResourceGroupTempMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsResourceGroupTempMapper.java
new file mode 100644
index 0000000..bf0a11f
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsResourceGroupTempMapper.java
@@ -0,0 +1,63 @@
+package com.aps.core.mapper;
+
+import java.util.List;
+import com.aps.core.domain.ApsResourceGroupTemp;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 璧勬簮缁勪复鏃朵笂浼燤apper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2025-04-10
+ */
+@Mapper
+public interface ApsResourceGroupTempMapper 
+{
+    /**
+     * 鏌ヨ璧勬簮缁勪复鏃朵笂浼�
+     * 
+     * @param id 璧勬簮缁勪复鏃朵笂浼犱富閿�
+     * @return 璧勬簮缁勪复鏃朵笂浼�
+     */
+    public ApsResourceGroupTemp selectApsResourceGroupTempById(String id);
+
+    /**
+     * 鏌ヨ璧勬簮缁勪复鏃朵笂浼犲垪琛�
+     * 
+     * @param apsResourceGroupTemp 璧勬簮缁勪复鏃朵笂浼�
+     * @return 璧勬簮缁勪复鏃朵笂浼犻泦鍚�
+     */
+    public List<ApsResourceGroupTemp> selectApsResourceGroupTempList(ApsResourceGroupTemp apsResourceGroupTemp);
+
+    /**
+     * 鏂板璧勬簮缁勪复鏃朵笂浼�
+     * 
+     * @param apsResourceGroupTemp 璧勬簮缁勪复鏃朵笂浼�
+     * @return 缁撴灉
+     */
+    public int insertApsResourceGroupTemp(ApsResourceGroupTemp apsResourceGroupTemp);
+
+    /**
+     * 淇敼璧勬簮缁勪复鏃朵笂浼�
+     * 
+     * @param apsResourceGroupTemp 璧勬簮缁勪复鏃朵笂浼�
+     * @return 缁撴灉
+     */
+    public int updateApsResourceGroupTemp(ApsResourceGroupTemp apsResourceGroupTemp);
+
+    /**
+     * 鍒犻櫎璧勬簮缁勪复鏃朵笂浼�
+     * 
+     * @param id 璧勬簮缁勪复鏃朵笂浼犱富閿�
+     * @return 缁撴灉
+     */
+    public int deleteApsResourceGroupTempById(String id);
+
+    /**
+     * 鎵归噺鍒犻櫎璧勬簮缁勪复鏃朵笂浼�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteApsResourceGroupTempByIds(String[] ids);
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/param/ApsResourceGroupParam.java b/aps-modules/aps-core/src/main/java/com/aps/core/param/ApsResourceGroupParam.java
new file mode 100644
index 0000000..77cd484
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/param/ApsResourceGroupParam.java
@@ -0,0 +1,12 @@
+package com.aps.core.param;
+
+import lombok.Data;
+
+@Data
+public class ApsResourceGroupParam   {
+
+    private String resourceGroupName;
+    private String beginRequestDate;
+    private String endRequestDate;
+
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsResourceGroupService.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsResourceGroupService.java
new file mode 100644
index 0000000..5bcea9b
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsResourceGroupService.java
@@ -0,0 +1,69 @@
+package com.aps.core.service;
+
+import com.aps.core.domain.ApsResourceGroup;
+import com.aps.core.domain.ApsResourceGroupTemp;
+import com.aps.core.param.ApsResourceGroupParam;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 璧勬簮缁凷ervice鎺ュ彛
+ * 
+ * @author ruoyi
+ * &#064;date  2025-04-10
+ */
+public interface IApsResourceGroupService 
+{
+    /**
+     * 鏌ヨ璧勬簮缁�
+     * 
+     * @param id 璧勬簮缁勪富閿�
+     * @return 璧勬簮缁�
+     */
+    ApsResourceGroup selectApsResourceGroupById(String id);
+
+    /**
+     * 鏌ヨ璧勬簮缁勫垪琛�
+     * 
+     * @param apsResourceGroup 璧勬簮缁�
+     * @return 璧勬簮缁勯泦鍚�
+     */
+    List<ApsResourceGroup> selectApsResourceGroupList(ApsResourceGroupParam apsResourceGroup);
+
+    /**
+     * 鏂板璧勬簮缁�
+     * 
+     * @param apsResourceGroup 璧勬簮缁�
+     * @return 缁撴灉
+     */
+    int insertApsResourceGroup(ApsResourceGroup apsResourceGroup);
+
+    /**
+     * 淇敼璧勬簮缁�
+     * 
+     * @param apsResourceGroup 璧勬簮缁�
+     * @return 缁撴灉
+     */
+    int updateApsResourceGroup(ApsResourceGroup apsResourceGroup);
+
+    /**
+     * 鎵归噺鍒犻櫎璧勬簮缁�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑璧勬簮缁勪富閿泦鍚�
+     * @return 缁撴灉
+     */
+    int deleteApsResourceGroupByIds(String[] ids);
+
+    /**
+     * 鍒犻櫎璧勬簮缁勪俊鎭�
+     * 
+     * @param id 璧勬簮缁勪富閿�
+     * @return 缁撴灉
+     */
+    int deleteApsResourceGroupById(String id);
+
+    String importData(List<ApsResourceGroupTemp> tempList);
+
+    void confirmData(String batchNum, LocalDateTime requestDate);
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsResourceGroupTempService.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsResourceGroupTempService.java
new file mode 100644
index 0000000..db1cbc8
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsResourceGroupTempService.java
@@ -0,0 +1,61 @@
+package com.aps.core.service;
+
+import java.util.List;
+import com.aps.core.domain.ApsResourceGroupTemp;
+
+/**
+ * 璧勬簮缁勪复鏃朵笂浼燬ervice鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2025-04-10
+ */
+public interface IApsResourceGroupTempService 
+{
+    /**
+     * 鏌ヨ璧勬簮缁勪复鏃朵笂浼�
+     * 
+     * @param id 璧勬簮缁勪复鏃朵笂浼犱富閿�
+     * @return 璧勬簮缁勪复鏃朵笂浼�
+     */
+    public ApsResourceGroupTemp selectApsResourceGroupTempById(String id);
+
+    /**
+     * 鏌ヨ璧勬簮缁勪复鏃朵笂浼犲垪琛�
+     * 
+     * @param apsResourceGroupTemp 璧勬簮缁勪复鏃朵笂浼�
+     * @return 璧勬簮缁勪复鏃朵笂浼犻泦鍚�
+     */
+    public List<ApsResourceGroupTemp> selectApsResourceGroupTempList(ApsResourceGroupTemp apsResourceGroupTemp);
+
+    /**
+     * 鏂板璧勬簮缁勪复鏃朵笂浼�
+     * 
+     * @param apsResourceGroupTemp 璧勬簮缁勪复鏃朵笂浼�
+     * @return 缁撴灉
+     */
+    public int insertApsResourceGroupTemp(ApsResourceGroupTemp apsResourceGroupTemp);
+
+    /**
+     * 淇敼璧勬簮缁勪复鏃朵笂浼�
+     * 
+     * @param apsResourceGroupTemp 璧勬簮缁勪复鏃朵笂浼�
+     * @return 缁撴灉
+     */
+    public int updateApsResourceGroupTemp(ApsResourceGroupTemp apsResourceGroupTemp);
+
+    /**
+     * 鎵归噺鍒犻櫎璧勬簮缁勪复鏃朵笂浼�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑璧勬簮缁勪复鏃朵笂浼犱富閿泦鍚�
+     * @return 缁撴灉
+     */
+    public int deleteApsResourceGroupTempByIds(String[] ids);
+
+    /**
+     * 鍒犻櫎璧勬簮缁勪复鏃朵笂浼犱俊鎭�
+     * 
+     * @param id 璧勬簮缁勪复鏃朵笂浼犱富閿�
+     * @return 缁撴灉
+     */
+    public int deleteApsResourceGroupTempById(String id);
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsResourceGroupServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsResourceGroupServiceImpl.java
new file mode 100644
index 0000000..dfb3c28
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsResourceGroupServiceImpl.java
@@ -0,0 +1,151 @@
+package com.aps.core.service.impl;
+
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.stream.Stream;
+
+import com.aps.common.core.utils.DateUtils;
+import com.aps.common.core.utils.uuid.IdUtils;
+import com.aps.core.domain.ApsResourceGroupTemp;
+import com.aps.core.mapper.ApsResourceGroupTempMapper;
+import com.aps.core.param.ApsResourceGroupParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.aps.core.mapper.ApsResourceGroupMapper;
+import com.aps.core.domain.ApsResourceGroup;
+import com.aps.core.service.IApsResourceGroupService;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 璧勬簮缁凷ervice涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2025-04-10
+ */
+@Service
+public class ApsResourceGroupServiceImpl implements IApsResourceGroupService 
+{
+    @Autowired
+    private ApsResourceGroupMapper apsResourceGroupMapper;
+    @Autowired
+    private ApsResourceGroupTempMapper apsResourceGroupTempMapper;
+
+    /**
+     * 鏌ヨ璧勬簮缁�
+     * 
+     * @param id 璧勬簮缁勪富閿�
+     * @return 璧勬簮缁�
+     */
+    @Override
+    public ApsResourceGroup selectApsResourceGroupById(String id)
+    {
+        return apsResourceGroupMapper.selectApsResourceGroupById(id);
+    }
+
+    /**
+     * 鏌ヨ璧勬簮缁勫垪琛�
+     * 
+     * @param apsResourceGroup 璧勬簮缁�
+     * @return 璧勬簮缁�
+     */
+    @Override
+    public List<ApsResourceGroup> selectApsResourceGroupList(ApsResourceGroupParam apsResourceGroup)
+    {
+        return apsResourceGroupMapper.selectApsResourceGroupList(apsResourceGroup);
+    }
+
+    /**
+     * 鏂板璧勬簮缁�
+     * 
+     * @param apsResourceGroup 璧勬簮缁�
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertApsResourceGroup(ApsResourceGroup apsResourceGroup)
+    {
+        apsResourceGroup.setCreateTime(DateUtils.getNowDate());
+        return apsResourceGroupMapper.insertApsResourceGroup(apsResourceGroup);
+    }
+
+    /**
+     * 淇敼璧勬簮缁�
+     * 
+     * @param apsResourceGroup 璧勬簮缁�
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateApsResourceGroup(ApsResourceGroup apsResourceGroup)
+    {
+        apsResourceGroup.setUpdateTime(DateUtils.getNowDate());
+        return apsResourceGroupMapper.updateApsResourceGroup(apsResourceGroup);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎璧勬簮缁�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑璧勬簮缁勪富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteApsResourceGroupByIds(String[] ids)
+    {
+        return apsResourceGroupMapper.deleteApsResourceGroupByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎璧勬簮缁勪俊鎭�
+     * 
+     * @param id 璧勬簮缁勪富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteApsResourceGroupById(String id)
+    {
+        return apsResourceGroupMapper.deleteApsResourceGroupById(id);
+    }
+
+    /**
+     * 瀵煎叆鏁版嵁
+     * @param tempList
+     * @return 鎵规鍙�
+     */
+    @Override
+    public String importData(List<ApsResourceGroupTemp> tempList) {
+        String batchNum= IdUtils.fastUUID();
+        if (!tempList.isEmpty()) {
+            tempList.forEach(temp->{
+                temp.setId(IdUtils.simpleUUID());
+                //璁$畻閫昏緫锛氱悊璁轰骇鑳�=璁惧鏁伴噺x姣忔棩鐞嗚鏃堕棿x鎴闇�姹傛棩鍓╀綑澶╂暟
+                temp.setTheoryCapacity(temp.getDevicesQuantity()*temp.getTheoryHours()*temp.getRestDays());
+                temp.setBatchNumber(batchNum);
+                temp.setCreateTime(DateUtils.getNowDate());
+                apsResourceGroupTempMapper.insertApsResourceGroupTemp(temp);
+            });
+        }
+        return batchNum;
+    }
+    /**
+     * 纭鏁版嵁
+     * @param batchNum
+     * @param requestDate
+     */
+    @Transactional
+    public void confirmData(String batchNum, LocalDateTime requestDate){
+        ApsResourceGroupTemp param = new ApsResourceGroupTemp();
+        param.setBatchNumber(batchNum);
+        List<ApsResourceGroupTemp> tempList = apsResourceGroupTempMapper.selectApsResourceGroupTempList(param);
+        List<String> groupName = tempList.stream().map(x -> x.getResourceGroupName()).distinct().toList();
+        if (!tempList.isEmpty()) {
+            /*鏍规嵁璧勬簮缁勫悕绉板垹闄ゆ棫鐨勬暟鎹�*/
+            apsResourceGroupMapper.deleteResourceGroupByNames(groupName.toArray(new String[0]));
+            Stream<ApsResourceGroup> apsResourceGroupStream = tempList.stream().map(x -> x.getApsResourceGroup());
+            apsResourceGroupStream.forEach(x->{
+                x.setRequestDate(requestDate);
+                x.setCreateTime(DateUtils.getNowDate());
+                apsResourceGroupMapper.insertApsResourceGroup(x);
+            });
+            apsResourceGroupMapper.deleteApsResourceGroupTempByBatchNumber(batchNum);
+
+        }
+    }
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsResourceGroupTempServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsResourceGroupTempServiceImpl.java
new file mode 100644
index 0000000..81c3531
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsResourceGroupTempServiceImpl.java
@@ -0,0 +1,97 @@
+package com.aps.core.service.impl;
+
+import com.aps.common.core.utils.DateUtils;
+import com.aps.core.domain.ApsResourceGroupTemp;
+import com.aps.core.mapper.ApsResourceGroupTempMapper;
+import com.aps.core.service.IApsResourceGroupTempService;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 璧勬簮缁勪复鏃朵笂浼燬ervice涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * &#064;date  2025-04-10
+ */
+@Service
+public class ApsResourceGroupTempServiceImpl implements IApsResourceGroupTempService 
+{
+    @Resource
+    private ApsResourceGroupTempMapper apsResourceGroupTempMapper;
+
+    /**
+     * 鏌ヨ璧勬簮缁勪复鏃朵笂浼�
+     * 
+     * @param id 璧勬簮缁勪复鏃朵笂浼犱富閿�
+     * @return 璧勬簮缁勪复鏃朵笂浼�
+     */
+    @Override
+    public ApsResourceGroupTemp selectApsResourceGroupTempById(String id)
+    {
+        return apsResourceGroupTempMapper.selectApsResourceGroupTempById(id);
+    }
+
+    /**
+     * 鏌ヨ璧勬簮缁勪复鏃朵笂浼犲垪琛�
+     * 
+     * @param apsResourceGroupTemp 璧勬簮缁勪复鏃朵笂浼�
+     * @return 璧勬簮缁勪复鏃朵笂浼�
+     */
+    @Override
+    public List<ApsResourceGroupTemp> selectApsResourceGroupTempList(ApsResourceGroupTemp apsResourceGroupTemp)
+    {
+        return apsResourceGroupTempMapper.selectApsResourceGroupTempList(apsResourceGroupTemp);
+    }
+
+    /**
+     * 鏂板璧勬簮缁勪复鏃朵笂浼�
+     * 
+     * @param apsResourceGroupTemp 璧勬簮缁勪复鏃朵笂浼�
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertApsResourceGroupTemp(ApsResourceGroupTemp apsResourceGroupTemp)
+    {
+        apsResourceGroupTemp.setCreateTime(DateUtils.getNowDate());
+        return apsResourceGroupTempMapper.insertApsResourceGroupTemp(apsResourceGroupTemp);
+    }
+
+    /**
+     * 淇敼璧勬簮缁勪复鏃朵笂浼�
+     * 
+     * @param apsResourceGroupTemp 璧勬簮缁勪复鏃朵笂浼�
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateApsResourceGroupTemp(ApsResourceGroupTemp apsResourceGroupTemp)
+    {
+        apsResourceGroupTemp.setUpdateTime(DateUtils.getNowDate());
+        return apsResourceGroupTempMapper.updateApsResourceGroupTemp(apsResourceGroupTemp);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎璧勬簮缁勪复鏃朵笂浼�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑璧勬簮缁勪复鏃朵笂浼犱富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteApsResourceGroupTempByIds(String[] ids)
+    {
+        return apsResourceGroupTempMapper.deleteApsResourceGroupTempByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎璧勬簮缁勪复鏃朵笂浼犱俊鎭�
+     * 
+     * @param id 璧勬簮缁勪复鏃朵笂浼犱富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteApsResourceGroupTempById(String id)
+    {
+        return apsResourceGroupTempMapper.deleteApsResourceGroupTempById(id);
+    }
+}
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsResourceGroupMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsResourceGroupMapper.xml
new file mode 100644
index 0000000..213f945
--- /dev/null
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsResourceGroupMapper.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.aps.core.mapper.ApsResourceGroupMapper">
+    
+    <resultMap type="ApsResourceGroup" id="ApsResourceGroupResult">
+        <result property="id"    column="id"    />
+        <result property="resourceGroupName"    column="resource_group_name"    />
+        <result property="devicesQuantity"    column="devices_quantity"    />
+        <result property="theoryHours"    column="theory_hours"    />
+        <result property="restDays"    column="rest_days"    />
+        <result property="theoryCapacity"    column="theory_capacity"    />
+        <result property="requestDate"    column="request_date"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="plant"    column="plant"    />
+    </resultMap>
+
+    <sql id="selectApsResourceGroupVo">
+        select id, resource_group_name, devices_quantity, theory_hours, rest_days, theory_capacity, request_date, del_flag, create_by, create_time, update_by, update_time, plant from aps_resource_group
+    </sql>
+
+    <select id="selectApsResourceGroupList" parameterType="ApsResourceGroupParam" resultMap="ApsResourceGroupResult">
+        <include refid="selectApsResourceGroupVo"/>
+        <where>  
+            <if test="resourceGroupName != null  and resourceGroupName != ''"> and resource_group_name like '%' || #{resourceGroupName|| '%')</if>
+
+            <if test="beginRequestDate != null and beginRequestDate != '' and endRequestDate != null and endRequestDate != ''"> and request_date between #{beginRequestDate} and #{endRequestDate}</if>
+            <!--<if test="plant != null  and plant != ''"> and plant = #{plant}</if>
+            <if test="devicesQuantity != null "> and devices_quantity = #{devicesQuantity}</if>
+            <if test="theoryHours != null "> and theory_hours = #{theoryHours}</if>
+            <if test="restDays != null "> and rest_days = #{restDays}</if>
+            <if test="theoryCapacity != null "> and theory_capacity = #{theoryCapacity}</if>-->
+            and del_flag = '0'
+        </where>
+    </select>
+    
+    <select id="selectApsResourceGroupById" parameterType="String" resultMap="ApsResourceGroupResult">
+        <include refid="selectApsResourceGroupVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertApsResourceGroup" parameterType="ApsResourceGroup">
+        insert into aps_resource_group
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="resourceGroupName != null">resource_group_name,</if>
+            <if test="devicesQuantity != null">devices_quantity,</if>
+            <if test="theoryHours != null">theory_hours,</if>
+            <if test="restDays != null">rest_days,</if>
+            <if test="theoryCapacity != null">theory_capacity,</if>
+            <if test="requestDate != null">request_date,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="plant != null">plant,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="resourceGroupName != null">#{resourceGroupName},</if>
+            <if test="devicesQuantity != null">#{devicesQuantity},</if>
+            <if test="theoryHours != null">#{theoryHours},</if>
+            <if test="restDays != null">#{restDays},</if>
+            <if test="theoryCapacity != null">#{theoryCapacity},</if>
+            <if test="requestDate != null">#{requestDate},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="plant != null">#{plant},</if>
+         </trim>
+    </insert>
+
+    <update id="updateApsResourceGroup" parameterType="ApsResourceGroup">
+        update aps_resource_group
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="resourceGroupName != null">resource_group_name = #{resourceGroupName},</if>
+            <if test="devicesQuantity != null">devices_quantity = #{devicesQuantity},</if>
+            <if test="theoryHours != null">theory_hours = #{theoryHours},</if>
+            <if test="restDays != null">rest_days = #{restDays},</if>
+            <if test="theoryCapacity != null">theory_capacity = #{theoryCapacity},</if>
+            <if test="requestDate != null">request_date = #{requestDate},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="plant != null">plant = #{plant},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteApsResourceGroupById" parameterType="String">
+        delete from aps_resource_group where id = #{id}
+    </delete>
+
+    <delete id="deleteApsResourceGroupByIds" parameterType="String">
+        delete from aps_resource_group where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+    <!--鏍规嵁璧勬簮鍚嶇О杩涜鎵归噺鍒犻櫎-->
+    <update id="deleteResourceGroupByNames" parameterType="String">
+        update  aps_resource_group
+        set del_flag = 1
+        where resource_group_name in
+        <foreach item="groupName" collection="array" open="(" separator="," close=")">
+            #{groupName}
+        </foreach>
+    </update>
+    <delete id="deleteApsResourceGroupTempByBatchNumber" parameterType="String">
+        delete from aps_resource_group_temp where batch_number = #{batch_number}
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsResourceGroupTempMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsResourceGroupTempMapper.xml
new file mode 100644
index 0000000..931d88b
--- /dev/null
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsResourceGroupTempMapper.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.aps.core.mapper.ApsResourceGroupTempMapper">
+    
+    <resultMap type="ApsResourceGroupTemp" id="ApsResourceGroupTempResult">
+        <result property="id"    column="id"    />
+        <result property="resourceGroupName"    column="resource_group_name"    />
+        <result property="devicesQuantity"    column="devices_quantity"    />
+        <result property="theoryHours"    column="theory_hours"    />
+        <result property="restDays"    column="rest_days"    />
+        <result property="theoryCapacity"    column="theory_capacity"    />
+        <result property="requestDate"    column="request_date"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="batchNumber"    column="batch_number"    />
+        <result property="plant"    column="plant"    />
+    </resultMap>
+
+    <sql id="selectApsResourceGroupTempVo">
+        select id, resource_group_name, devices_quantity, theory_hours, rest_days, theory_capacity, request_date, del_flag, create_by, create_time, update_by, update_time, batch_number, plant from aps_resource_group_temp
+    </sql>
+
+    <select id="selectApsResourceGroupTempList" parameterType="ApsResourceGroupTemp" resultMap="ApsResourceGroupTempResult">
+        <include refid="selectApsResourceGroupTempVo"/>
+        <where>  
+            <if test="resourceGroupName != null  and resourceGroupName != ''"> and resource_group_name like concat('%', #{resourceGroupName}, '%')</if>
+            <if test="devicesQuantity != null "> and devices_quantity = #{devicesQuantity}</if>
+            <if test="theoryHours != null "> and theory_hours = #{theoryHours}</if>
+            <if test="restDays != null "> and rest_days = #{restDays}</if>
+            <if test="theoryCapacity != null "> and theory_capacity = #{theoryCapacity}</if>
+            <if test="params.beginRequestDate != null and params.beginRequestDate != '' and params.endRequestDate != null and params.endRequestDate != ''"> and request_date between #{params.beginRequestDate} and #{params.endRequestDate}</if>
+            <if test="batchNumber != null  and batchNumber != ''"> and batch_number = #{batchNumber}</if>
+            <if test="plant != null  and plant != ''"> and plant = #{plant}</if>
+            and del_flag = '0'
+        </where>
+    </select>
+    
+    <select id="selectApsResourceGroupTempById" parameterType="String" resultMap="ApsResourceGroupTempResult">
+        <include refid="selectApsResourceGroupTempVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertApsResourceGroupTemp" parameterType="ApsResourceGroupTemp">
+        insert into aps_resource_group_temp
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="resourceGroupName != null">resource_group_name,</if>
+            <if test="devicesQuantity != null">devices_quantity,</if>
+            <if test="theoryHours != null">theory_hours,</if>
+            <if test="restDays != null">rest_days,</if>
+            <if test="theoryCapacity != null">theory_capacity,</if>
+            <if test="requestDate != null">request_date,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="batchNumber != null">batch_number,</if>
+            <if test="plant != null">plant,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="resourceGroupName != null">#{resourceGroupName},</if>
+            <if test="devicesQuantity != null">#{devicesQuantity},</if>
+            <if test="theoryHours != null">#{theoryHours},</if>
+            <if test="restDays != null">#{restDays},</if>
+            <if test="theoryCapacity != null">#{theoryCapacity},</if>
+            <if test="requestDate != null">#{requestDate},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="batchNumber != null">#{batchNumber},</if>
+            <if test="plant != null">#{plant},</if>
+         </trim>
+    </insert>
+
+    <update id="updateApsResourceGroupTemp" parameterType="ApsResourceGroupTemp">
+        update aps_resource_group_temp
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="resourceGroupName != null">resource_group_name = #{resourceGroupName},</if>
+            <if test="devicesQuantity != null">devices_quantity = #{devicesQuantity},</if>
+            <if test="theoryHours != null">theory_hours = #{theoryHours},</if>
+            <if test="restDays != null">rest_days = #{restDays},</if>
+            <if test="theoryCapacity != null">theory_capacity = #{theoryCapacity},</if>
+            <if test="requestDate != null">request_date = #{requestDate},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="batchNumber != null">batch_number = #{batchNumber},</if>
+            <if test="plant != null">plant = #{plant},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteApsResourceGroupTempById" parameterType="String">
+        delete from aps_resource_group_temp where id = #{id}
+    </delete>
+
+    <delete id="deleteApsResourceGroupTempByIds" parameterType="String">
+        delete from aps_resource_group_temp where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3