From d5696a71fbb1a03e09c0b59c415abb573b8fa04a Mon Sep 17 00:00:00 2001
From: wenwj <‘1106994300@qq.com>
Date: 星期二, 08 四月 2025 17:58:38 +0800
Subject: [PATCH] Merge branch 'dev' of http://192.168.50.149:8085/r/aps-backend into dev

---
 aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml                    |  223 ++++++
 aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanController.java        |  128 +++
 aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlatePlanMapper.java                |   63 +
 aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanTempMapper.xml                |  205 +++++
 aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlatePlanTempService.java         |   61 +
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanTempServiceImpl.java |   93 ++
 aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanTempController.java    |  105 ++
 aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlatePlan.java                      |  553 ++++++++++++++
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java     |   93 ++
 aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlatePlanTemp.java                  |  568 +++++++++++++++
 aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlatePlanService.java             |   61 +
 aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlatePlanTempMapper.java            |   63 +
 12 files changed, 2,216 insertions(+), 0 deletions(-)

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
new file mode 100644
index 0000000..557fd43
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanController.java
@@ -0,0 +1,128 @@
+package com.aps.core.controller;
+
+import java.util.List;
+import java.io.IOException;
+
+import com.aps.common.core.domain.R;
+import com.aps.common.core.utils.file.FileUtils;
+import com.aps.system.api.domain.SysFile;
+import jakarta.servlet.http.HttpServletResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+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.ApsPlatePlan;
+import  com.aps.core.service.IApsPlatePlanService;
+import com.aps.common.core.web.controller.BaseController;
+import com.aps.common.core.web.domain.AjaxResult;
+import com.aps.common.core.utils.poi.ExcelUtil;
+import com.aps.common.core.web.page.TableDataInfo;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * 閽i噾璁″垝绠$悊Controller
+ * 
+ * @author ruoyi
+ * @date 2025-04-08
+ */
+@RestController
+@RequestMapping("/ApsPlatePlan")
+public class ApsPlatePlanController extends BaseController
+{
+    @Autowired
+    private IApsPlatePlanService apsPlatePlanService;
+
+    /**
+     * 鏌ヨ閽i噾璁″垝绠$悊鍒楄〃
+     */
+    @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:list")
+    @GetMapping("/list")
+    public TableDataInfo list(ApsPlatePlan apsPlatePlan)
+    {
+        startPage();
+        List<ApsPlatePlan> list = apsPlatePlanService.selectApsPlatePlanList(apsPlatePlan);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭閽i噾璁″垝绠$悊鍒楄〃
+     */
+    @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:export")
+    @Log(title = "閽i噾璁″垝绠$悊", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ApsPlatePlan apsPlatePlan)
+    {
+        List<ApsPlatePlan> list = apsPlatePlanService.selectApsPlatePlanList(apsPlatePlan);
+        ExcelUtil<ApsPlatePlan> util = new ExcelUtil<ApsPlatePlan>(ApsPlatePlan.class);
+        util.exportExcel(response, list, "閽i噾璁″垝绠$悊鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇閽i噾璁″垝绠$悊璇︾粏淇℃伅
+     */
+    @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return success(apsPlatePlanService.selectApsPlatePlanById(id));
+    }
+
+    /**
+     * 鏂板閽i噾璁″垝绠$悊
+     */
+    @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:add")
+    @Log(title = "閽i噾璁″垝绠$悊", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ApsPlatePlan apsPlatePlan)
+    {
+        return toAjax(apsPlatePlanService.insertApsPlatePlan(apsPlatePlan));
+    }
+
+    /**
+     * 淇敼閽i噾璁″垝绠$悊
+     */
+    @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:edit")
+    @Log(title = "閽i噾璁″垝绠$悊", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ApsPlatePlan apsPlatePlan)
+    {
+        return toAjax(apsPlatePlanService.updateApsPlatePlan(apsPlatePlan));
+    }
+
+    /**
+     * 鍒犻櫎閽i噾璁″垝绠$悊
+     */
+    @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:remove")
+    @Log(title = "閽i噾璁″垝绠$悊", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(apsPlatePlanService.deleteApsPlatePlanByIds(ids));
+    }
+
+    @PostMapping("/upload")
+    public AjaxResult upload(MultipartFile file)
+    {
+        try
+        {
+            // 涓婁紶骞惰繑鍥炶闂湴鍧�
+            ExcelUtil<ApsPlatePlan> util = new ExcelUtil<ApsPlatePlan>(ApsPlatePlan.class);
+            List<ApsPlatePlan> userList = util.importExcel(file.getInputStream());
+            System.out.println(userList.size());
+
+        }
+        catch (Exception e)
+        {
+
+        }
+        return toAjax(true);
+    }
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanTempController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanTempController.java
new file mode 100644
index 0000000..ed6c1b6
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanTempController.java
@@ -0,0 +1,105 @@
+package com.aps.core.controller;
+
+import java.util.List;
+import java.io.IOException;
+import jakarta.servlet.http.HttpServletResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+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.ApsPlatePlanTemp;
+import com.aps.core.service.IApsPlatePlanTempService;
+import com.aps.common.core.web.controller.BaseController;
+import com.aps.common.core.web.domain.AjaxResult;
+import com.aps.common.core.utils.poi.ExcelUtil;
+import com.aps.common.core.web.page.TableDataInfo;
+
+/**
+ * 閽i噾璁″垝涓存椂琛–ontroller
+ * 
+ * @author ruoyi
+ * @date 2025-04-08
+ */
+@RestController
+@RequestMapping("/ApsPlatePlanTemp")
+public class ApsPlatePlanTempController extends BaseController
+{
+    @Autowired
+    private IApsPlatePlanTempService apsPlatePlanTempService;
+
+    /**
+     * 鏌ヨ閽i噾璁″垝涓存椂琛ㄥ垪琛�
+     */
+    @RequiresPermissions("ApsPlatePlan:ApsPlatePlanTemp:list")
+    @GetMapping("/list")
+    public TableDataInfo list(ApsPlatePlanTemp apsPlatePlanTemp)
+    {
+        startPage();
+        List<ApsPlatePlanTemp> list = apsPlatePlanTempService.selectApsPlatePlanTempList(apsPlatePlanTemp);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭閽i噾璁″垝涓存椂琛ㄥ垪琛�
+     */
+    @RequiresPermissions("ApsPlatePlan:ApsPlatePlanTemp:export")
+    @Log(title = "閽i噾璁″垝涓存椂琛�", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ApsPlatePlanTemp apsPlatePlanTemp)
+    {
+        List<ApsPlatePlanTemp> list = apsPlatePlanTempService.selectApsPlatePlanTempList(apsPlatePlanTemp);
+        ExcelUtil<ApsPlatePlanTemp> util = new ExcelUtil<ApsPlatePlanTemp>(ApsPlatePlanTemp.class);
+        util.exportExcel(response, list, "閽i噾璁″垝涓存椂琛ㄦ暟鎹�");
+    }
+
+    /**
+     * 鑾峰彇閽i噾璁″垝涓存椂琛ㄨ缁嗕俊鎭�
+     */
+    @RequiresPermissions("ApsPlatePlan:ApsPlatePlanTemp:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return success(apsPlatePlanTempService.selectApsPlatePlanTempById(id));
+    }
+
+    /**
+     * 鏂板閽i噾璁″垝涓存椂琛�
+     */
+    @RequiresPermissions("ApsPlatePlan:ApsPlatePlanTemp:add")
+    @Log(title = "閽i噾璁″垝涓存椂琛�", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ApsPlatePlanTemp apsPlatePlanTemp)
+    {
+        return toAjax(apsPlatePlanTempService.insertApsPlatePlanTemp(apsPlatePlanTemp));
+    }
+
+    /**
+     * 淇敼閽i噾璁″垝涓存椂琛�
+     */
+    @RequiresPermissions("ApsPlatePlan:ApsPlatePlanTemp:edit")
+    @Log(title = "閽i噾璁″垝涓存椂琛�", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ApsPlatePlanTemp apsPlatePlanTemp)
+    {
+        return toAjax(apsPlatePlanTempService.updateApsPlatePlanTemp(apsPlatePlanTemp));
+    }
+
+    /**
+     * 鍒犻櫎閽i噾璁″垝涓存椂琛�
+     */
+    @RequiresPermissions("ApsPlatePlan:ApsPlatePlanTemp:remove")
+    @Log(title = "閽i噾璁″垝涓存椂琛�", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(apsPlatePlanTempService.deleteApsPlatePlanTempByIds(ids));
+    }
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlatePlan.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlatePlan.java
new file mode 100644
index 0000000..f722fd0
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlatePlan.java
@@ -0,0 +1,553 @@
+package com.aps.core.domain;
+
+import java.util.Date;
+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;
+
+/**
+ * 閽i噾璁″垝绠$悊瀵硅薄 aps_plate_plan
+ * 
+ * @author ruoyi
+ * @date 2025-04-08
+ */
+public class ApsPlatePlan extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 涓婚敭id */
+    private String id;
+
+    /** 涓昏鍒掑憳 */
+    @Excel(name = "涓昏鍒掑憳")
+    private String masterPlanner;
+
+    /** 鍛ㄦ棩 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "鍛ㄦ棩", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date weekDay;
+
+    /** 鍛ㄥ害 */
+    @Excel(name = "鍛ㄥ害")
+    private String weekCycle;
+
+    /** 涓讳欢鏂欏彿 */
+    @Excel(name = "涓讳欢鏂欏彿")
+    private String mainPartNumber;
+
+    /** 涓讳欢鍥惧彿 */
+    @Excel(name = "涓讳欢鍥惧彿")
+    private String mainPartDrawingNumber;
+
+    /** 瀹㈡埛鍚嶇О */
+    @Excel(name = "瀹㈡埛鍚嶇О")
+    private String customer;
+
+    /** 涓氬姟绫诲瀷 */
+    @Excel(name = "涓氬姟绫诲瀷")
+    private String businessType;
+
+    /** 鍗曟嵁鍙� */
+    @Excel(name = "鍗曟嵁鍙�")
+    private String documentNumber;
+
+    /** 闇�姹傚垎绫� */
+    @Excel(name = "闇�姹傚垎绫�")
+    private String requirementType;
+
+    /** 鍗曟嵁鐘舵�� */
+    @Excel(name = "鍗曟嵁鐘舵��")
+    private String documentStatus;
+
+    /** 鏂欏彿 */
+    @Excel(name = "鏂欏彿")
+    private String itemNumber;
+
+    /** 鍥惧彿 */
+    @Excel(name = "鍥惧彿")
+    private String drawingNo;
+
+    /** 鐗堟湰鍙� */
+    @Excel(name = "鐗堟湰鍙�")
+    private String versionNumber;
+
+    /** 鐢熶骇鏁伴噺 */
+    @Excel(name = "鐢熶骇鏁伴噺")
+    private Integer productionQuantity;
+
+    /** 鑹搧鏁伴噺 */
+    @Excel(name = "鑹搧鏁伴噺")
+    private Integer goodProductsQuantity;
+
+    /** 宸ュ簭鍙� */
+    @Excel(name = "宸ュ簭鍙�")
+    private String processNumber;
+
+    /** 宸ヤ綔涓績 */
+    @Excel(name = "宸ヤ綔涓績")
+    private String workCenter;
+
+    /** 鎵�灞為儴闂� */
+    @Excel(name = "鎵�灞為儴闂�")
+    private String department;
+
+    /** 璁″垝寮�宸ユ棩 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "璁″垝寮�宸ユ棩", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date planStartDay;
+
+    /** 璁″垝瀹屽伐鏃� */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "璁″垝瀹屽伐鏃�", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date planEndDay;
+
+    /** 澶囨枡鏂欏彿 */
+    @Excel(name = "澶囨枡鏂欏彿")
+    private String standbyNumber;
+
+    /** 澶囨枡鍚嶇О */
+    @Excel(name = "澶囨枡鍚嶇О")
+    private String standbyName;
+
+    /** 澶囨枡搴撳瓨 */
+    @Excel(name = "澶囨枡搴撳瓨")
+    private Integer standbyStock;
+
+    /** 涓嬮亾宸ュ簭鎵�灞為儴闂� */
+    @Excel(name = "涓嬮亾宸ュ簭鎵�灞為儴闂�")
+    private String nextProcessDeparment;
+
+    /** 鏄惁鎸傝捣 */
+    @Excel(name = "鏄惁鎸傝捣")
+    private Boolean isSuspended;
+
+    /** 澶栧崗鏍囪瘑 */
+    @Excel(name = "澶栧崗鏍囪瘑")
+    private String isOutsourcing;
+
+    /** 璐﹀ */
+    @Excel(name = "璐﹀")
+    private String account;
+
+    /** 涓婇樁鐗╂枡 */
+    @Excel(name = "涓婇樁鐗╂枡")
+    private String advancedMaterials;
+
+    /** 涓婇樁鍗曟嵁鍙� */
+    @Excel(name = "涓婇樁鍗曟嵁鍙�")
+    private String advancedDocumentNumber;
+
+    /** 涓婇樁闇�姹傛棩鏈� */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "涓婇樁闇�姹傛棩鏈�", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date advancedRequirementDay;
+
+    /** 璁″垝榻愬 */
+    @Excel(name = "璁″垝榻愬")
+    private Boolean isPlanComplete;
+
+    /** 搴撳瓨榻愬 */
+    @Excel(name = "搴撳瓨榻愬")
+    private Boolean isStockComplete;
+
+    /** 鏄惁鏈夋姌杩斿伐搴� */
+    @Excel(name = "鏄惁鏈夋姌杩斿伐搴�")
+    private Boolean hasTurnback;
+
+    /** 椋庨櫓鏍囪瘑 */
+    @Excel(name = "椋庨櫓鏍囪瘑")
+    private Boolean hasRisk;
+
+    public void setId(String id) 
+    {
+        this.id = id;
+    }
+
+    public String getId() 
+    {
+        return id;
+    }
+
+    public void setMasterPlanner(String masterPlanner) 
+    {
+        this.masterPlanner = masterPlanner;
+    }
+
+    public String getMasterPlanner() 
+    {
+        return masterPlanner;
+    }
+
+    public void setWeekDay(Date weekDay) 
+    {
+        this.weekDay = weekDay;
+    }
+
+    public Date getWeekDay() 
+    {
+        return weekDay;
+    }
+
+    public void setWeekCycle(String weekCycle) 
+    {
+        this.weekCycle = weekCycle;
+    }
+
+    public String getWeekCycle() 
+    {
+        return weekCycle;
+    }
+
+    public void setMainPartNumber(String mainPartNumber) 
+    {
+        this.mainPartNumber = mainPartNumber;
+    }
+
+    public String getMainPartNumber() 
+    {
+        return mainPartNumber;
+    }
+
+    public void setMainPartDrawingNumber(String mainPartDrawingNumber) 
+    {
+        this.mainPartDrawingNumber = mainPartDrawingNumber;
+    }
+
+    public String getMainPartDrawingNumber() 
+    {
+        return mainPartDrawingNumber;
+    }
+
+    public void setCustomer(String customer) 
+    {
+        this.customer = customer;
+    }
+
+    public String getCustomer() 
+    {
+        return customer;
+    }
+
+    public void setBusinessType(String businessType) 
+    {
+        this.businessType = businessType;
+    }
+
+    public String getBusinessType() 
+    {
+        return businessType;
+    }
+
+    public void setDocumentNumber(String documentNumber) 
+    {
+        this.documentNumber = documentNumber;
+    }
+
+    public String getDocumentNumber() 
+    {
+        return documentNumber;
+    }
+
+    public void setRequirementType(String requirementType) 
+    {
+        this.requirementType = requirementType;
+    }
+
+    public String getRequirementType() 
+    {
+        return requirementType;
+    }
+
+    public void setDocumentStatus(String documentStatus) 
+    {
+        this.documentStatus = documentStatus;
+    }
+
+    public String getDocumentStatus() 
+    {
+        return documentStatus;
+    }
+
+    public void setItemNumber(String itemNumber) 
+    {
+        this.itemNumber = itemNumber;
+    }
+
+    public String getItemNumber() 
+    {
+        return itemNumber;
+    }
+
+    public void setDrawingNo(String drawingNo) 
+    {
+        this.drawingNo = drawingNo;
+    }
+
+    public String getDrawingNo() 
+    {
+        return drawingNo;
+    }
+
+    public void setVersionNumber(String versionNumber) 
+    {
+        this.versionNumber = versionNumber;
+    }
+
+    public String getVersionNumber() 
+    {
+        return versionNumber;
+    }
+
+    public void setProductionQuantity(Integer productionQuantity) 
+    {
+        this.productionQuantity = productionQuantity;
+    }
+
+    public Integer getProductionQuantity() 
+    {
+        return productionQuantity;
+    }
+
+    public void setGoodProductsQuantity(Integer goodProductsQuantity) 
+    {
+        this.goodProductsQuantity = goodProductsQuantity;
+    }
+
+    public Integer getGoodProductsQuantity() 
+    {
+        return goodProductsQuantity;
+    }
+
+    public void setProcessNumber(String processNumber) 
+    {
+        this.processNumber = processNumber;
+    }
+
+    public String getProcessNumber() 
+    {
+        return processNumber;
+    }
+
+    public void setWorkCenter(String workCenter) 
+    {
+        this.workCenter = workCenter;
+    }
+
+    public String getWorkCenter() 
+    {
+        return workCenter;
+    }
+
+    public void setDepartment(String department) 
+    {
+        this.department = department;
+    }
+
+    public String getDepartment() 
+    {
+        return department;
+    }
+
+    public void setPlanStartDay(Date planStartDay) 
+    {
+        this.planStartDay = planStartDay;
+    }
+
+    public Date getPlanStartDay() 
+    {
+        return planStartDay;
+    }
+
+    public void setPlanEndDay(Date planEndDay) 
+    {
+        this.planEndDay = planEndDay;
+    }
+
+    public Date getPlanEndDay() 
+    {
+        return planEndDay;
+    }
+
+    public void setStandbyNumber(String standbyNumber) 
+    {
+        this.standbyNumber = standbyNumber;
+    }
+
+    public String getStandbyNumber() 
+    {
+        return standbyNumber;
+    }
+
+    public void setStandbyName(String standbyName) 
+    {
+        this.standbyName = standbyName;
+    }
+
+    public String getStandbyName() 
+    {
+        return standbyName;
+    }
+
+    public void setStandbyStock(Integer standbyStock) 
+    {
+        this.standbyStock = standbyStock;
+    }
+
+    public Integer getStandbyStock() 
+    {
+        return standbyStock;
+    }
+
+    public void setNextProcessDeparment(String nextProcessDeparment) 
+    {
+        this.nextProcessDeparment = nextProcessDeparment;
+    }
+
+    public String getNextProcessDeparment() 
+    {
+        return nextProcessDeparment;
+    }
+
+    public void setIsSuspended(Boolean isSuspended) 
+    {
+        this.isSuspended = isSuspended;
+    }
+
+    public Boolean getIsSuspended() 
+    {
+        return isSuspended;
+    }
+
+    public void setIsOutsourcing(String isOutsourcing) 
+    {
+        this.isOutsourcing = isOutsourcing;
+    }
+
+    public String getIsOutsourcing() 
+    {
+        return isOutsourcing;
+    }
+
+    public void setAccount(String account) 
+    {
+        this.account = account;
+    }
+
+    public String getAccount() 
+    {
+        return account;
+    }
+
+    public void setAdvancedMaterials(String advancedMaterials) 
+    {
+        this.advancedMaterials = advancedMaterials;
+    }
+
+    public String getAdvancedMaterials() 
+    {
+        return advancedMaterials;
+    }
+
+    public void setAdvancedDocumentNumber(String advancedDocumentNumber) 
+    {
+        this.advancedDocumentNumber = advancedDocumentNumber;
+    }
+
+    public String getAdvancedDocumentNumber() 
+    {
+        return advancedDocumentNumber;
+    }
+
+    public void setAdvancedRequirementDay(Date advancedRequirementDay) 
+    {
+        this.advancedRequirementDay = advancedRequirementDay;
+    }
+
+    public Date getAdvancedRequirementDay() 
+    {
+        return advancedRequirementDay;
+    }
+
+    public void setIsPlanComplete(Boolean isPlanComplete) 
+    {
+        this.isPlanComplete = isPlanComplete;
+    }
+
+    public Boolean getIsPlanComplete() 
+    {
+        return isPlanComplete;
+    }
+
+    public void setIsStockComplete(Boolean isStockComplete) 
+    {
+        this.isStockComplete = isStockComplete;
+    }
+
+    public Boolean getIsStockComplete() 
+    {
+        return isStockComplete;
+    }
+
+    public void setHasTurnback(Boolean hasTurnback) 
+    {
+        this.hasTurnback = hasTurnback;
+    }
+
+    public Boolean getHasTurnback() 
+    {
+        return hasTurnback;
+    }
+
+    public void setHasRisk(Boolean hasRisk) 
+    {
+        this.hasRisk = hasRisk;
+    }
+
+    public Boolean getHasRisk() 
+    {
+        return hasRisk;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("masterPlanner", getMasterPlanner())
+            .append("weekDay", getWeekDay())
+            .append("weekCycle", getWeekCycle())
+            .append("mainPartNumber", getMainPartNumber())
+            .append("mainPartDrawingNumber", getMainPartDrawingNumber())
+            .append("customer", getCustomer())
+            .append("businessType", getBusinessType())
+            .append("documentNumber", getDocumentNumber())
+            .append("requirementType", getRequirementType())
+            .append("documentStatus", getDocumentStatus())
+            .append("itemNumber", getItemNumber())
+            .append("drawingNo", getDrawingNo())
+            .append("versionNumber", getVersionNumber())
+            .append("productionQuantity", getProductionQuantity())
+            .append("goodProductsQuantity", getGoodProductsQuantity())
+            .append("processNumber", getProcessNumber())
+            .append("workCenter", getWorkCenter())
+            .append("department", getDepartment())
+            .append("planStartDay", getPlanStartDay())
+            .append("planEndDay", getPlanEndDay())
+            .append("standbyNumber", getStandbyNumber())
+            .append("standbyName", getStandbyName())
+            .append("standbyStock", getStandbyStock())
+            .append("nextProcessDeparment", getNextProcessDeparment())
+            .append("isSuspended", getIsSuspended())
+            .append("isOutsourcing", getIsOutsourcing())
+            .append("account", getAccount())
+            .append("advancedMaterials", getAdvancedMaterials())
+            .append("advancedDocumentNumber", getAdvancedDocumentNumber())
+            .append("advancedRequirementDay", getAdvancedRequirementDay())
+            .append("isPlanComplete", getIsPlanComplete())
+            .append("isStockComplete", getIsStockComplete())
+            .append("hasTurnback", getHasTurnback())
+            .append("hasRisk", getHasRisk())
+            .toString();
+    }
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlatePlanTemp.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlatePlanTemp.java
new file mode 100644
index 0000000..c134035
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlatePlanTemp.java
@@ -0,0 +1,568 @@
+package com.aps.core.domain;
+
+import java.util.Date;
+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;
+
+/**
+ * 閽i噾璁″垝涓存椂琛ㄥ璞� aps_plate_plan_temp
+ * 
+ * @author ruoyi
+ * @date 2025-04-08
+ */
+public class ApsPlatePlanTemp extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 涓婚敭id */
+    private String id;
+
+    /** 涓昏鍒掑憳 */
+    @Excel(name = "涓昏鍒掑憳")
+    private String masterPlanner;
+
+    /** 鍛ㄦ棩 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "鍛ㄦ棩", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date weekDay;
+
+    /** 鍛ㄥ害 */
+    @Excel(name = "鍛ㄥ害")
+    private String weekCycle;
+
+    /** 涓讳欢鏂欏彿 */
+    @Excel(name = "涓讳欢鏂欏彿")
+    private String mainPartNumber;
+
+    /** 涓讳欢鍥惧彿 */
+    @Excel(name = "涓讳欢鍥惧彿")
+    private String mainPartDrawingNumber;
+
+    /** 瀹㈡埛鍚嶇О */
+    @Excel(name = "瀹㈡埛鍚嶇О")
+    private String customer;
+
+    /** 涓氬姟绫诲瀷 */
+    @Excel(name = "涓氬姟绫诲瀷")
+    private String businessType;
+
+    /** 鍗曟嵁鍙� */
+    @Excel(name = "鍗曟嵁鍙�")
+    private String documentNumber;
+
+    /** 闇�姹傚垎绫� */
+    @Excel(name = "闇�姹傚垎绫�")
+    private String requirementType;
+
+    /** 鍗曟嵁鐘舵�� */
+    @Excel(name = "鍗曟嵁鐘舵��")
+    private String documentStatus;
+
+    /** 鏂欏彿 */
+    @Excel(name = "鏂欏彿")
+    private String itemNumber;
+
+    /** 鍥惧彿 */
+    @Excel(name = "鍥惧彿")
+    private String drawingNo;
+
+    /** 鐗堟湰鍙� */
+    @Excel(name = "鐗堟湰鍙�")
+    private String versionNumber;
+
+    /** 鐢熶骇鏁伴噺 */
+    @Excel(name = "鐢熶骇鏁伴噺")
+    private Long productionQuantity;
+
+    /** 鑹搧鏁伴噺 */
+    @Excel(name = "鑹搧鏁伴噺")
+    private Long goodProductsQuantity;
+
+    /** 宸ュ簭鍙� */
+    @Excel(name = "宸ュ簭鍙�")
+    private String processNumber;
+
+    /** 宸ヤ綔涓績 */
+    @Excel(name = "宸ヤ綔涓績")
+    private String workCenter;
+
+    /** 鎵�灞為儴闂� */
+    @Excel(name = "鎵�灞為儴闂�")
+    private String department;
+
+    /** 璁″垝寮�宸ユ棩 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "璁″垝寮�宸ユ棩", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date planStartDay;
+
+    /** 璁″垝瀹屽伐鏃� */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "璁″垝瀹屽伐鏃�", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date planEndDay;
+
+    /** 澶囨枡鏂欏彿 */
+    @Excel(name = "澶囨枡鏂欏彿")
+    private String standbyNumber;
+
+    /** 澶囨枡鍚嶇О */
+    @Excel(name = "澶囨枡鍚嶇О")
+    private String standbyName;
+
+    /** 澶囨枡搴撳瓨 */
+    @Excel(name = "澶囨枡搴撳瓨")
+    private Long standbyStock;
+
+    /** 涓嬮亾宸ュ簭鎵�灞為儴闂� */
+    @Excel(name = "涓嬮亾宸ュ簭鎵�灞為儴闂�")
+    private String nextProcessDeparment;
+
+    /** 鏄惁鎸傝捣 */
+    @Excel(name = "鏄惁鎸傝捣")
+    private Integer isSuspended;
+
+    /** 澶栧崗鏍囪瘑 */
+    @Excel(name = "澶栧崗鏍囪瘑")
+    private String isOutsourcing;
+
+    /** 璐﹀ */
+    @Excel(name = "璐﹀")
+    private String account;
+
+    /** 涓婇樁鐗╂枡 */
+    @Excel(name = "涓婇樁鐗╂枡")
+    private String advancedMaterials;
+
+    /** 涓婇樁鍗曟嵁鍙� */
+    @Excel(name = "涓婇樁鍗曟嵁鍙�")
+    private String advancedDocumentNumber;
+
+    /** 涓婇樁闇�姹傛棩鏈� */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "涓婇樁闇�姹傛棩鏈�", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date advancedRequirementDay;
+
+    /** 璁″垝榻愬 */
+    @Excel(name = "璁″垝榻愬")
+    private Boolean isPlanComplete;
+
+    /** 搴撳瓨榻愬 */
+    @Excel(name = "搴撳瓨榻愬")
+    private Boolean isStockComplete;
+
+    /** 鏄惁鏈夋姌杩斿伐搴� */
+    @Excel(name = "鏄惁鏈夋姌杩斿伐搴�")
+    private Boolean hasTurnback;
+
+    /** 椋庨櫓鏍囪瘑 */
+    @Excel(name = "椋庨櫓鏍囪瘑")
+    private Boolean hasRisk;
+
+    /** 鎵规鍙� */
+    @Excel(name = "鎵规鍙�")
+    private String batchNumber;
+
+    public void setId(String id) 
+    {
+        this.id = id;
+    }
+
+    public String getId() 
+    {
+        return id;
+    }
+
+    public void setMasterPlanner(String masterPlanner) 
+    {
+        this.masterPlanner = masterPlanner;
+    }
+
+    public String getMasterPlanner() 
+    {
+        return masterPlanner;
+    }
+
+    public void setWeekDay(Date weekDay) 
+    {
+        this.weekDay = weekDay;
+    }
+
+    public Date getWeekDay() 
+    {
+        return weekDay;
+    }
+
+    public void setWeekCycle(String weekCycle) 
+    {
+        this.weekCycle = weekCycle;
+    }
+
+    public String getWeekCycle() 
+    {
+        return weekCycle;
+    }
+
+    public void setMainPartNumber(String mainPartNumber) 
+    {
+        this.mainPartNumber = mainPartNumber;
+    }
+
+    public String getMainPartNumber() 
+    {
+        return mainPartNumber;
+    }
+
+    public void setMainPartDrawingNumber(String mainPartDrawingNumber) 
+    {
+        this.mainPartDrawingNumber = mainPartDrawingNumber;
+    }
+
+    public String getMainPartDrawingNumber() 
+    {
+        return mainPartDrawingNumber;
+    }
+
+    public void setCustomer(String customer) 
+    {
+        this.customer = customer;
+    }
+
+    public String getCustomer() 
+    {
+        return customer;
+    }
+
+    public void setBusinessType(String businessType) 
+    {
+        this.businessType = businessType;
+    }
+
+    public String getBusinessType() 
+    {
+        return businessType;
+    }
+
+    public void setDocumentNumber(String documentNumber) 
+    {
+        this.documentNumber = documentNumber;
+    }
+
+    public String getDocumentNumber() 
+    {
+        return documentNumber;
+    }
+
+    public void setRequirementType(String requirementType) 
+    {
+        this.requirementType = requirementType;
+    }
+
+    public String getRequirementType() 
+    {
+        return requirementType;
+    }
+
+    public void setDocumentStatus(String documentStatus) 
+    {
+        this.documentStatus = documentStatus;
+    }
+
+    public String getDocumentStatus() 
+    {
+        return documentStatus;
+    }
+
+    public void setItemNumber(String itemNumber) 
+    {
+        this.itemNumber = itemNumber;
+    }
+
+    public String getItemNumber() 
+    {
+        return itemNumber;
+    }
+
+    public void setDrawingNo(String drawingNo) 
+    {
+        this.drawingNo = drawingNo;
+    }
+
+    public String getDrawingNo() 
+    {
+        return drawingNo;
+    }
+
+    public void setVersionNumber(String versionNumber) 
+    {
+        this.versionNumber = versionNumber;
+    }
+
+    public String getVersionNumber() 
+    {
+        return versionNumber;
+    }
+
+    public void setProductionQuantity(Long productionQuantity) 
+    {
+        this.productionQuantity = productionQuantity;
+    }
+
+    public Long getProductionQuantity() 
+    {
+        return productionQuantity;
+    }
+
+    public void setGoodProductsQuantity(Long goodProductsQuantity) 
+    {
+        this.goodProductsQuantity = goodProductsQuantity;
+    }
+
+    public Long getGoodProductsQuantity() 
+    {
+        return goodProductsQuantity;
+    }
+
+    public void setProcessNumber(String processNumber) 
+    {
+        this.processNumber = processNumber;
+    }
+
+    public String getProcessNumber() 
+    {
+        return processNumber;
+    }
+
+    public void setWorkCenter(String workCenter) 
+    {
+        this.workCenter = workCenter;
+    }
+
+    public String getWorkCenter() 
+    {
+        return workCenter;
+    }
+
+    public void setDepartment(String department) 
+    {
+        this.department = department;
+    }
+
+    public String getDepartment() 
+    {
+        return department;
+    }
+
+    public void setPlanStartDay(Date planStartDay) 
+    {
+        this.planStartDay = planStartDay;
+    }
+
+    public Date getPlanStartDay() 
+    {
+        return planStartDay;
+    }
+
+    public void setPlanEndDay(Date planEndDay) 
+    {
+        this.planEndDay = planEndDay;
+    }
+
+    public Date getPlanEndDay() 
+    {
+        return planEndDay;
+    }
+
+    public void setStandbyNumber(String standbyNumber) 
+    {
+        this.standbyNumber = standbyNumber;
+    }
+
+    public String getStandbyNumber() 
+    {
+        return standbyNumber;
+    }
+
+    public void setStandbyName(String standbyName) 
+    {
+        this.standbyName = standbyName;
+    }
+
+    public String getStandbyName() 
+    {
+        return standbyName;
+    }
+
+    public void setStandbyStock(Long standbyStock) 
+    {
+        this.standbyStock = standbyStock;
+    }
+
+    public Long getStandbyStock() 
+    {
+        return standbyStock;
+    }
+
+    public void setNextProcessDeparment(String nextProcessDeparment) 
+    {
+        this.nextProcessDeparment = nextProcessDeparment;
+    }
+
+    public String getNextProcessDeparment() 
+    {
+        return nextProcessDeparment;
+    }
+
+    public void setIsSuspended(Integer isSuspended) 
+    {
+        this.isSuspended = isSuspended;
+    }
+
+    public Integer getIsSuspended() 
+    {
+        return isSuspended;
+    }
+
+    public void setIsOutsourcing(String isOutsourcing) 
+    {
+        this.isOutsourcing = isOutsourcing;
+    }
+
+    public String getIsOutsourcing() 
+    {
+        return isOutsourcing;
+    }
+
+    public void setAccount(String account) 
+    {
+        this.account = account;
+    }
+
+    public String getAccount() 
+    {
+        return account;
+    }
+
+    public void setAdvancedMaterials(String advancedMaterials) 
+    {
+        this.advancedMaterials = advancedMaterials;
+    }
+
+    public String getAdvancedMaterials() 
+    {
+        return advancedMaterials;
+    }
+
+    public void setAdvancedDocumentNumber(String advancedDocumentNumber) 
+    {
+        this.advancedDocumentNumber = advancedDocumentNumber;
+    }
+
+    public String getAdvancedDocumentNumber() 
+    {
+        return advancedDocumentNumber;
+    }
+
+    public void setAdvancedRequirementDay(Date advancedRequirementDay) 
+    {
+        this.advancedRequirementDay = advancedRequirementDay;
+    }
+
+    public Date getAdvancedRequirementDay() 
+    {
+        return advancedRequirementDay;
+    }
+
+    public void setIsPlanComplete(Boolean isPlanComplete) 
+    {
+        this.isPlanComplete = isPlanComplete;
+    }
+
+    public Boolean getIsPlanComplete() 
+    {
+        return isPlanComplete;
+    }
+
+    public void setIsStockComplete(Boolean isStockComplete) 
+    {
+        this.isStockComplete = isStockComplete;
+    }
+
+    public Boolean getIsStockComplete() 
+    {
+        return isStockComplete;
+    }
+
+    public void setHasTurnback(Boolean hasTurnback) 
+    {
+        this.hasTurnback = hasTurnback;
+    }
+
+    public Boolean getHasTurnback() 
+    {
+        return hasTurnback;
+    }
+
+    public void setHasRisk(Boolean hasRisk) 
+    {
+        this.hasRisk = hasRisk;
+    }
+
+    public Boolean getHasRisk() 
+    {
+        return hasRisk;
+    }
+
+    public void setBatchNumber(String batchNumber) 
+    {
+        this.batchNumber = batchNumber;
+    }
+
+    public String getBatchNumber() 
+    {
+        return batchNumber;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("masterPlanner", getMasterPlanner())
+            .append("weekDay", getWeekDay())
+            .append("weekCycle", getWeekCycle())
+            .append("mainPartNumber", getMainPartNumber())
+            .append("mainPartDrawingNumber", getMainPartDrawingNumber())
+            .append("customer", getCustomer())
+            .append("businessType", getBusinessType())
+            .append("documentNumber", getDocumentNumber())
+            .append("requirementType", getRequirementType())
+            .append("documentStatus", getDocumentStatus())
+            .append("itemNumber", getItemNumber())
+            .append("drawingNo", getDrawingNo())
+            .append("versionNumber", getVersionNumber())
+            .append("productionQuantity", getProductionQuantity())
+            .append("goodProductsQuantity", getGoodProductsQuantity())
+            .append("processNumber", getProcessNumber())
+            .append("workCenter", getWorkCenter())
+            .append("department", getDepartment())
+            .append("planStartDay", getPlanStartDay())
+            .append("planEndDay", getPlanEndDay())
+            .append("standbyNumber", getStandbyNumber())
+            .append("standbyName", getStandbyName())
+            .append("standbyStock", getStandbyStock())
+            .append("nextProcessDeparment", getNextProcessDeparment())
+            .append("isSuspended", getIsSuspended())
+            .append("isOutsourcing", getIsOutsourcing())
+            .append("account", getAccount())
+            .append("advancedMaterials", getAdvancedMaterials())
+            .append("advancedDocumentNumber", getAdvancedDocumentNumber())
+            .append("advancedRequirementDay", getAdvancedRequirementDay())
+            .append("isPlanComplete", getIsPlanComplete())
+            .append("isStockComplete", getIsStockComplete())
+            .append("hasTurnback", getHasTurnback())
+            .append("hasRisk", getHasRisk())
+            .append("batchNumber", getBatchNumber())
+            .toString();
+    }
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlatePlanMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlatePlanMapper.java
new file mode 100644
index 0000000..516bb5c
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlatePlanMapper.java
@@ -0,0 +1,63 @@
+package com.aps.core.mapper;
+
+import java.util.List;
+import  com.aps.core.domain.ApsPlatePlan;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 閽i噾璁″垝绠$悊Mapper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2025-04-08
+ */
+@Mapper
+public interface ApsPlatePlanMapper 
+{
+    /**
+     * 鏌ヨ閽i噾璁″垝绠$悊
+     * 
+     * @param id 閽i噾璁″垝绠$悊涓婚敭
+     * @return 閽i噾璁″垝绠$悊
+     */
+    public ApsPlatePlan selectApsPlatePlanById(String id);
+
+    /**
+     * 鏌ヨ閽i噾璁″垝绠$悊鍒楄〃
+     * 
+     * @param apsPlatePlan 閽i噾璁″垝绠$悊
+     * @return 閽i噾璁″垝绠$悊闆嗗悎
+     */
+    public List<ApsPlatePlan> selectApsPlatePlanList(ApsPlatePlan apsPlatePlan);
+
+    /**
+     * 鏂板閽i噾璁″垝绠$悊
+     * 
+     * @param apsPlatePlan 閽i噾璁″垝绠$悊
+     * @return 缁撴灉
+     */
+    public int insertApsPlatePlan(ApsPlatePlan apsPlatePlan);
+
+    /**
+     * 淇敼閽i噾璁″垝绠$悊
+     * 
+     * @param apsPlatePlan 閽i噾璁″垝绠$悊
+     * @return 缁撴灉
+     */
+    public int updateApsPlatePlan(ApsPlatePlan apsPlatePlan);
+
+    /**
+     * 鍒犻櫎閽i噾璁″垝绠$悊
+     * 
+     * @param id 閽i噾璁″垝绠$悊涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteApsPlatePlanById(String id);
+
+    /**
+     * 鎵归噺鍒犻櫎閽i噾璁″垝绠$悊
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteApsPlatePlanByIds(String[] ids);
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlatePlanTempMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlatePlanTempMapper.java
new file mode 100644
index 0000000..7d313b8
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlatePlanTempMapper.java
@@ -0,0 +1,63 @@
+package com.aps.core.mapper;
+
+import java.util.List;
+import com.aps.core.domain.ApsPlatePlanTemp;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 閽i噾璁″垝涓存椂琛∕apper鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2025-04-08
+ */
+@Mapper
+public interface ApsPlatePlanTempMapper 
+{
+    /**
+     * 鏌ヨ閽i噾璁″垝涓存椂琛�
+     * 
+     * @param id 閽i噾璁″垝涓存椂琛ㄤ富閿�
+     * @return 閽i噾璁″垝涓存椂琛�
+     */
+    public ApsPlatePlanTemp selectApsPlatePlanTempById(String id);
+
+    /**
+     * 鏌ヨ閽i噾璁″垝涓存椂琛ㄥ垪琛�
+     * 
+     * @param apsPlatePlanTemp 閽i噾璁″垝涓存椂琛�
+     * @return 閽i噾璁″垝涓存椂琛ㄩ泦鍚�
+     */
+    public List<ApsPlatePlanTemp> selectApsPlatePlanTempList(ApsPlatePlanTemp apsPlatePlanTemp);
+
+    /**
+     * 鏂板閽i噾璁″垝涓存椂琛�
+     * 
+     * @param apsPlatePlanTemp 閽i噾璁″垝涓存椂琛�
+     * @return 缁撴灉
+     */
+    public int insertApsPlatePlanTemp(ApsPlatePlanTemp apsPlatePlanTemp);
+
+    /**
+     * 淇敼閽i噾璁″垝涓存椂琛�
+     * 
+     * @param apsPlatePlanTemp 閽i噾璁″垝涓存椂琛�
+     * @return 缁撴灉
+     */
+    public int updateApsPlatePlanTemp(ApsPlatePlanTemp apsPlatePlanTemp);
+
+    /**
+     * 鍒犻櫎閽i噾璁″垝涓存椂琛�
+     * 
+     * @param id 閽i噾璁″垝涓存椂琛ㄤ富閿�
+     * @return 缁撴灉
+     */
+    public int deleteApsPlatePlanTempById(String id);
+
+    /**
+     * 鎵归噺鍒犻櫎閽i噾璁″垝涓存椂琛�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteApsPlatePlanTempByIds(String[] ids);
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlatePlanService.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlatePlanService.java
new file mode 100644
index 0000000..70f6532
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlatePlanService.java
@@ -0,0 +1,61 @@
+package com.aps.core.service;
+
+import java.util.List;
+import  com.aps.core.domain.ApsPlatePlan;
+
+/**
+ * 閽i噾璁″垝绠$悊Service鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2025-04-08
+ */
+public interface IApsPlatePlanService 
+{
+    /**
+     * 鏌ヨ閽i噾璁″垝绠$悊
+     * 
+     * @param id 閽i噾璁″垝绠$悊涓婚敭
+     * @return 閽i噾璁″垝绠$悊
+     */
+    public ApsPlatePlan selectApsPlatePlanById(String id);
+
+    /**
+     * 鏌ヨ閽i噾璁″垝绠$悊鍒楄〃
+     * 
+     * @param apsPlatePlan 閽i噾璁″垝绠$悊
+     * @return 閽i噾璁″垝绠$悊闆嗗悎
+     */
+    public List<ApsPlatePlan> selectApsPlatePlanList(ApsPlatePlan apsPlatePlan);
+
+    /**
+     * 鏂板閽i噾璁″垝绠$悊
+     * 
+     * @param apsPlatePlan 閽i噾璁″垝绠$悊
+     * @return 缁撴灉
+     */
+    public int insertApsPlatePlan(ApsPlatePlan apsPlatePlan);
+
+    /**
+     * 淇敼閽i噾璁″垝绠$悊
+     * 
+     * @param apsPlatePlan 閽i噾璁″垝绠$悊
+     * @return 缁撴灉
+     */
+    public int updateApsPlatePlan(ApsPlatePlan apsPlatePlan);
+
+    /**
+     * 鎵归噺鍒犻櫎閽i噾璁″垝绠$悊
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑閽i噾璁″垝绠$悊涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteApsPlatePlanByIds(String[] ids);
+
+    /**
+     * 鍒犻櫎閽i噾璁″垝绠$悊淇℃伅
+     * 
+     * @param id 閽i噾璁″垝绠$悊涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteApsPlatePlanById(String id);
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlatePlanTempService.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlatePlanTempService.java
new file mode 100644
index 0000000..4f620d6
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlatePlanTempService.java
@@ -0,0 +1,61 @@
+package com.aps.core.service;
+
+import java.util.List;
+import com.aps.core.domain.ApsPlatePlanTemp;
+
+/**
+ * 閽i噾璁″垝涓存椂琛⊿ervice鎺ュ彛
+ * 
+ * @author ruoyi
+ * @date 2025-04-08
+ */
+public interface IApsPlatePlanTempService 
+{
+    /**
+     * 鏌ヨ閽i噾璁″垝涓存椂琛�
+     * 
+     * @param id 閽i噾璁″垝涓存椂琛ㄤ富閿�
+     * @return 閽i噾璁″垝涓存椂琛�
+     */
+    public ApsPlatePlanTemp selectApsPlatePlanTempById(String id);
+
+    /**
+     * 鏌ヨ閽i噾璁″垝涓存椂琛ㄥ垪琛�
+     * 
+     * @param apsPlatePlanTemp 閽i噾璁″垝涓存椂琛�
+     * @return 閽i噾璁″垝涓存椂琛ㄩ泦鍚�
+     */
+    public List<ApsPlatePlanTemp> selectApsPlatePlanTempList(ApsPlatePlanTemp apsPlatePlanTemp);
+
+    /**
+     * 鏂板閽i噾璁″垝涓存椂琛�
+     * 
+     * @param apsPlatePlanTemp 閽i噾璁″垝涓存椂琛�
+     * @return 缁撴灉
+     */
+    public int insertApsPlatePlanTemp(ApsPlatePlanTemp apsPlatePlanTemp);
+
+    /**
+     * 淇敼閽i噾璁″垝涓存椂琛�
+     * 
+     * @param apsPlatePlanTemp 閽i噾璁″垝涓存椂琛�
+     * @return 缁撴灉
+     */
+    public int updateApsPlatePlanTemp(ApsPlatePlanTemp apsPlatePlanTemp);
+
+    /**
+     * 鎵归噺鍒犻櫎閽i噾璁″垝涓存椂琛�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑閽i噾璁″垝涓存椂琛ㄤ富閿泦鍚�
+     * @return 缁撴灉
+     */
+    public int deleteApsPlatePlanTempByIds(String[] ids);
+
+    /**
+     * 鍒犻櫎閽i噾璁″垝涓存椂琛ㄤ俊鎭�
+     * 
+     * @param id 閽i噾璁″垝涓存椂琛ㄤ富閿�
+     * @return 缁撴灉
+     */
+    public int deleteApsPlatePlanTempById(String id);
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java
new file mode 100644
index 0000000..8ef46ca
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java
@@ -0,0 +1,93 @@
+package com.aps.core.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.aps.core.mapper.ApsPlatePlanMapper;
+import com.aps.core.domain.ApsPlatePlan;
+import com.aps.core.service.IApsPlatePlanService;
+
+/**
+ * 閽i噾璁″垝绠$悊Service涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2025-04-08
+ */
+@Service
+public class ApsPlatePlanServiceImpl implements IApsPlatePlanService 
+{
+    @Autowired
+    private ApsPlatePlanMapper apsPlatePlanMapper;
+
+    /**
+     * 鏌ヨ閽i噾璁″垝绠$悊
+     * 
+     * @param id 閽i噾璁″垝绠$悊涓婚敭
+     * @return 閽i噾璁″垝绠$悊
+     */
+    @Override
+    public ApsPlatePlan selectApsPlatePlanById(String id)
+    {
+        return apsPlatePlanMapper.selectApsPlatePlanById(id);
+    }
+
+    /**
+     * 鏌ヨ閽i噾璁″垝绠$悊鍒楄〃
+     * 
+     * @param apsPlatePlan 閽i噾璁″垝绠$悊
+     * @return 閽i噾璁″垝绠$悊
+     */
+    @Override
+    public List<ApsPlatePlan> selectApsPlatePlanList(ApsPlatePlan apsPlatePlan)
+    {
+        return apsPlatePlanMapper.selectApsPlatePlanList(apsPlatePlan);
+    }
+
+    /**
+     * 鏂板閽i噾璁″垝绠$悊
+     * 
+     * @param apsPlatePlan 閽i噾璁″垝绠$悊
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertApsPlatePlan(ApsPlatePlan apsPlatePlan)
+    {
+        return apsPlatePlanMapper.insertApsPlatePlan(apsPlatePlan);
+    }
+
+    /**
+     * 淇敼閽i噾璁″垝绠$悊
+     * 
+     * @param apsPlatePlan 閽i噾璁″垝绠$悊
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateApsPlatePlan(ApsPlatePlan apsPlatePlan)
+    {
+        return apsPlatePlanMapper.updateApsPlatePlan(apsPlatePlan);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎閽i噾璁″垝绠$悊
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑閽i噾璁″垝绠$悊涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteApsPlatePlanByIds(String[] ids)
+    {
+        return apsPlatePlanMapper.deleteApsPlatePlanByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎閽i噾璁″垝绠$悊淇℃伅
+     * 
+     * @param id 閽i噾璁″垝绠$悊涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteApsPlatePlanById(String id)
+    {
+        return apsPlatePlanMapper.deleteApsPlatePlanById(id);
+    }
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanTempServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanTempServiceImpl.java
new file mode 100644
index 0000000..b9beab4
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanTempServiceImpl.java
@@ -0,0 +1,93 @@
+package com.aps.core.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.aps.core.mapper.ApsPlatePlanTempMapper;
+import com.aps.core.domain.ApsPlatePlanTemp;
+import com.aps.core.service.IApsPlatePlanTempService;
+
+/**
+ * 閽i噾璁″垝涓存椂琛⊿ervice涓氬姟灞傚鐞�
+ * 
+ * @author ruoyi
+ * @date 2025-04-08
+ */
+@Service
+public class ApsPlatePlanTempServiceImpl implements IApsPlatePlanTempService 
+{
+    @Autowired
+    private ApsPlatePlanTempMapper apsPlatePlanTempMapper;
+
+    /**
+     * 鏌ヨ閽i噾璁″垝涓存椂琛�
+     * 
+     * @param id 閽i噾璁″垝涓存椂琛ㄤ富閿�
+     * @return 閽i噾璁″垝涓存椂琛�
+     */
+    @Override
+    public ApsPlatePlanTemp selectApsPlatePlanTempById(String id)
+    {
+        return apsPlatePlanTempMapper.selectApsPlatePlanTempById(id);
+    }
+
+    /**
+     * 鏌ヨ閽i噾璁″垝涓存椂琛ㄥ垪琛�
+     * 
+     * @param apsPlatePlanTemp 閽i噾璁″垝涓存椂琛�
+     * @return 閽i噾璁″垝涓存椂琛�
+     */
+    @Override
+    public List<ApsPlatePlanTemp> selectApsPlatePlanTempList(ApsPlatePlanTemp apsPlatePlanTemp)
+    {
+        return apsPlatePlanTempMapper.selectApsPlatePlanTempList(apsPlatePlanTemp);
+    }
+
+    /**
+     * 鏂板閽i噾璁″垝涓存椂琛�
+     * 
+     * @param apsPlatePlanTemp 閽i噾璁″垝涓存椂琛�
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertApsPlatePlanTemp(ApsPlatePlanTemp apsPlatePlanTemp)
+    {
+        return apsPlatePlanTempMapper.insertApsPlatePlanTemp(apsPlatePlanTemp);
+    }
+
+    /**
+     * 淇敼閽i噾璁″垝涓存椂琛�
+     * 
+     * @param apsPlatePlanTemp 閽i噾璁″垝涓存椂琛�
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateApsPlatePlanTemp(ApsPlatePlanTemp apsPlatePlanTemp)
+    {
+        return apsPlatePlanTempMapper.updateApsPlatePlanTemp(apsPlatePlanTemp);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎閽i噾璁″垝涓存椂琛�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑閽i噾璁″垝涓存椂琛ㄤ富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteApsPlatePlanTempByIds(String[] ids)
+    {
+        return apsPlatePlanTempMapper.deleteApsPlatePlanTempByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎閽i噾璁″垝涓存椂琛ㄤ俊鎭�
+     * 
+     * @param id 閽i噾璁″垝涓存椂琛ㄤ富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteApsPlatePlanTempById(String id)
+    {
+        return apsPlatePlanTempMapper.deleteApsPlatePlanTempById(id);
+    }
+}
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml
new file mode 100644
index 0000000..c40ae57
--- /dev/null
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml
@@ -0,0 +1,223 @@
+<?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.ApsPlatePlanMapper">
+    
+    <resultMap type="ApsPlatePlan" id="ApsPlatePlanResult">
+        <result property="id"    column="id"    />
+        <result property="masterPlanner"    column="master_planner"    />
+        <result property="weekDay"    column="week_day"    />
+        <result property="weekCycle"    column="week_cycle"    />
+        <result property="mainPartNumber"    column="main_part_number"    />
+        <result property="mainPartDrawingNumber"    column="main_part_drawing_number"    />
+        <result property="customer"    column="customer"    />
+        <result property="businessType"    column="business_type"    />
+        <result property="documentNumber"    column="document_number"    />
+        <result property="requirementType"    column="requirement_type"    />
+        <result property="documentStatus"    column="document_status"    />
+        <result property="itemNumber"    column="item_number"    />
+        <result property="drawingNo"    column="drawing_no"    />
+        <result property="versionNumber"    column="version_number"    />
+        <result property="productionQuantity"    column="production_quantity"    />
+        <result property="goodProductsQuantity"    column="good_products_quantity"    />
+        <result property="processNumber"    column="process_number"    />
+        <result property="workCenter"    column="work_center"    />
+        <result property="department"    column="department"    />
+        <result property="planStartDay"    column="plan_start_day"    />
+        <result property="planEndDay"    column="plan_end_day"    />
+        <result property="standbyNumber"    column="standby_number"    />
+        <result property="standbyName"    column="standby_name"    />
+        <result property="standbyStock"    column="standby_stock"    />
+        <result property="nextProcessDeparment"    column="next_process_deparment"    />
+        <result property="isSuspended"    column="is_suspended"    />
+        <result property="isOutsourcing"    column="is_outsourcing"    />
+        <result property="account"    column="account"    />
+        <result property="advancedMaterials"    column="advanced_materials"    />
+        <result property="advancedDocumentNumber"    column="advanced_document_number"    />
+        <result property="advancedRequirementDay"    column="advanced_requirement_day"    />
+        <result property="isPlanComplete"    column="is_plan_complete"    />
+        <result property="isStockComplete"    column="is_stock_complete"    />
+        <result property="hasTurnback"    column="has_turnback"    />
+        <result property="hasRisk"    column="has_risk"    />
+    </resultMap>
+
+    <sql id="selectApsPlatePlanVo">
+        select id, master_planner, week_day, week_cycle, main_part_number, main_part_drawing_number, customer, business_type, document_number, requirement_type, document_status, item_number, drawing_no, version_number, production_quantity, good_products_quantity, process_number, work_center, department, plan_start_day, plan_end_day, standby_number, standby_name, standby_stock, next_process_deparment, is_suspended, is_outsourcing, account, advanced_materials, advanced_document_number, advanced_requirement_day, is_plan_complete, is_stock_complete, has_turnback, has_risk from aps_plate_plan
+    </sql>
+
+    <select id="selectApsPlatePlanList" parameterType="ApsPlatePlan" resultMap="ApsPlatePlanResult">
+        <include refid="selectApsPlatePlanVo"/>
+        <where>  
+            <if test="masterPlanner != null  and masterPlanner != ''"> and master_planner like concat('%', #{masterPlanner}, '%')</if>
+            <if test="weekDay != null "> and week_day = #{weekDay}</if>
+            <if test="weekCycle != null  and weekCycle != ''"> and week_cycle like concat('%', #{weekCycle}, '%')</if>
+            <if test="mainPartNumber != null  and mainPartNumber != ''"> and main_part_number like concat('%', #{mainPartNumber}, '%')</if>
+            <if test="mainPartDrawingNumber != null  and mainPartDrawingNumber != ''"> and main_part_drawing_number like concat('%', #{mainPartDrawingNumber}, '%')</if>
+            <if test="customer != null  and customer != ''"> and customer like concat('%', #{customer}, '%')</if>
+            <if test="businessType != null  and businessType != ''"> and business_type = #{businessType}</if>
+            <if test="documentNumber != null  and documentNumber != ''"> and document_number like concat('%', #{documentNumber}, '%')</if>
+            <if test="requirementType != null  and requirementType != ''"> and requirement_type like concat('%', #{requirementType}, '%')</if>
+            <if test="documentStatus != null  and documentStatus != ''"> and document_status = #{documentStatus}</if>
+            <if test="itemNumber != null  and itemNumber != ''"> and item_number like concat('%', #{itemNumber}, '%')</if>
+            <if test="drawingNo != null  and drawingNo != ''"> and drawing_no like concat('%', #{drawingNo}, '%')</if>
+            <if test="versionNumber != null  and versionNumber != ''"> and version_number like concat('%', #{versionNumber}, '%')</if>
+            <if test="productionQuantity != null "> and production_quantity = #{productionQuantity}</if>
+            <if test="goodProductsQuantity != null "> and good_products_quantity = #{goodProductsQuantity}</if>
+            <if test="processNumber != null  and processNumber != ''"> and process_number like concat('%', #{processNumber}, '%')</if>
+            <if test="workCenter != null  and workCenter != ''"> and work_center like concat('%', #{workCenter}, '%')</if>
+            <if test="department != null  and department != ''"> and department like concat('%', #{department}, '%')</if>
+            <if test="params.beginPlanStartDay != null and params.beginPlanStartDay != '' and params.endPlanStartDay != null and params.endPlanStartDay != ''"> and plan_start_day between #{params.beginPlanStartDay} and #{params.endPlanStartDay}</if>
+            <if test="params.beginPlanEndDay != null and params.beginPlanEndDay != '' and params.endPlanEndDay != null and params.endPlanEndDay != ''"> and plan_end_day between #{params.beginPlanEndDay} and #{params.endPlanEndDay}</if>
+            <if test="standbyNumber != null  and standbyNumber != ''"> and standby_number like concat('%', #{standbyNumber}, '%')</if>
+            <if test="standbyName != null  and standbyName != ''"> and standby_name like concat('%', #{standbyName}, '%')</if>
+            <if test="standbyStock != null "> and standby_stock = #{standbyStock}</if>
+            <if test="nextProcessDeparment != null  and nextProcessDeparment != ''"> and next_process_deparment like concat('%', #{nextProcessDeparment}, '%')</if>
+            <if test="isSuspended != null "> and is_suspended = #{isSuspended}</if>
+            <if test="isOutsourcing != null  and isOutsourcing != ''"> and is_outsourcing like concat('%', #{isOutsourcing}, '%')</if>
+            <if test="account != null  and account != ''"> and account like concat('%', #{account}, '%')</if>
+            <if test="advancedMaterials != null  and advancedMaterials != ''"> and advanced_materials like concat('%', #{advancedMaterials}, '%')</if>
+            <if test="advancedDocumentNumber != null  and advancedDocumentNumber != ''"> and advanced_document_number like concat('%', #{advancedDocumentNumber}, '%')</if>
+            <if test="params.beginAdvancedRequirementDay != null and params.beginAdvancedRequirementDay != '' and params.endAdvancedRequirementDay != null and params.endAdvancedRequirementDay != ''"> and advanced_requirement_day between #{params.beginAdvancedRequirementDay} and #{params.endAdvancedRequirementDay}</if>
+            <if test="isPlanComplete != null "> and is_plan_complete = #{isPlanComplete}</if>
+            <if test="isStockComplete != null "> and is_stock_complete = #{isStockComplete}</if>
+            <if test="hasTurnback != null "> and has_turnback = #{hasTurnback}</if>
+            <if test="hasRisk != null "> and has_risk = #{hasRisk}</if>
+        </where>
+    </select>
+    
+    <select id="selectApsPlatePlanById" parameterType="String" resultMap="ApsPlatePlanResult">
+        <include refid="selectApsPlatePlanVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertApsPlatePlan" parameterType="ApsPlatePlan">
+        insert into aps_plate_plan
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null and id != ''">id,</if>
+            <if test="masterPlanner != null">master_planner,</if>
+            <if test="weekDay != null">week_day,</if>
+            <if test="weekCycle != null">week_cycle,</if>
+            <if test="mainPartNumber != null">main_part_number,</if>
+            <if test="mainPartDrawingNumber != null">main_part_drawing_number,</if>
+            <if test="customer != null">customer,</if>
+            <if test="businessType != null">business_type,</if>
+            <if test="documentNumber != null">document_number,</if>
+            <if test="requirementType != null">requirement_type,</if>
+            <if test="documentStatus != null">document_status,</if>
+            <if test="itemNumber != null">item_number,</if>
+            <if test="drawingNo != null">drawing_no,</if>
+            <if test="versionNumber != null">version_number,</if>
+            <if test="productionQuantity != null">production_quantity,</if>
+            <if test="goodProductsQuantity != null">good_products_quantity,</if>
+            <if test="processNumber != null">process_number,</if>
+            <if test="workCenter != null">work_center,</if>
+            <if test="department != null">department,</if>
+            <if test="planStartDay != null">plan_start_day,</if>
+            <if test="planEndDay != null">plan_end_day,</if>
+            <if test="standbyNumber != null">standby_number,</if>
+            <if test="standbyName != null">standby_name,</if>
+            <if test="standbyStock != null">standby_stock,</if>
+            <if test="nextProcessDeparment != null">next_process_deparment,</if>
+            <if test="isSuspended != null">is_suspended,</if>
+            <if test="isOutsourcing != null">is_outsourcing,</if>
+            <if test="account != null">account,</if>
+            <if test="advancedMaterials != null">advanced_materials,</if>
+            <if test="advancedDocumentNumber != null">advanced_document_number,</if>
+            <if test="advancedRequirementDay != null">advanced_requirement_day,</if>
+            <if test="isPlanComplete != null">is_plan_complete,</if>
+            <if test="isStockComplete != null">is_stock_complete,</if>
+            <if test="hasTurnback != null">has_turnback,</if>
+            <if test="hasRisk != null">has_risk,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null and id != ''">#{id},</if>
+            <if test="masterPlanner != null">#{masterPlanner},</if>
+            <if test="weekDay != null">#{weekDay},</if>
+            <if test="weekCycle != null">#{weekCycle},</if>
+            <if test="mainPartNumber != null">#{mainPartNumber},</if>
+            <if test="mainPartDrawingNumber != null">#{mainPartDrawingNumber},</if>
+            <if test="customer != null">#{customer},</if>
+            <if test="businessType != null">#{businessType},</if>
+            <if test="documentNumber != null">#{documentNumber},</if>
+            <if test="requirementType != null">#{requirementType},</if>
+            <if test="documentStatus != null">#{documentStatus},</if>
+            <if test="itemNumber != null">#{itemNumber},</if>
+            <if test="drawingNo != null">#{drawingNo},</if>
+            <if test="versionNumber != null">#{versionNumber},</if>
+            <if test="productionQuantity != null">#{productionQuantity},</if>
+            <if test="goodProductsQuantity != null">#{goodProductsQuantity},</if>
+            <if test="processNumber != null">#{processNumber},</if>
+            <if test="workCenter != null">#{workCenter},</if>
+            <if test="department != null">#{department},</if>
+            <if test="planStartDay != null">#{planStartDay},</if>
+            <if test="planEndDay != null">#{planEndDay},</if>
+            <if test="standbyNumber != null">#{standbyNumber},</if>
+            <if test="standbyName != null">#{standbyName},</if>
+            <if test="standbyStock != null">#{standbyStock},</if>
+            <if test="nextProcessDeparment != null">#{nextProcessDeparment},</if>
+            <if test="isSuspended != null">#{isSuspended},</if>
+            <if test="isOutsourcing != null">#{isOutsourcing},</if>
+            <if test="account != null">#{account},</if>
+            <if test="advancedMaterials != null">#{advancedMaterials},</if>
+            <if test="advancedDocumentNumber != null">#{advancedDocumentNumber},</if>
+            <if test="advancedRequirementDay != null">#{advancedRequirementDay},</if>
+            <if test="isPlanComplete != null">#{isPlanComplete},</if>
+            <if test="isStockComplete != null">#{isStockComplete},</if>
+            <if test="hasTurnback != null">#{hasTurnback},</if>
+            <if test="hasRisk != null">#{hasRisk},</if>
+         </trim>
+    </insert>
+
+    <update id="updateApsPlatePlan" parameterType="ApsPlatePlan">
+        update aps_plate_plan
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="masterPlanner != null">master_planner = #{masterPlanner},</if>
+            <if test="weekDay != null">week_day = #{weekDay},</if>
+            <if test="weekCycle != null">week_cycle = #{weekCycle},</if>
+            <if test="mainPartNumber != null">main_part_number = #{mainPartNumber},</if>
+            <if test="mainPartDrawingNumber != null">main_part_drawing_number = #{mainPartDrawingNumber},</if>
+            <if test="customer != null">customer = #{customer},</if>
+            <if test="businessType != null">business_type = #{businessType},</if>
+            <if test="documentNumber != null">document_number = #{documentNumber},</if>
+            <if test="requirementType != null">requirement_type = #{requirementType},</if>
+            <if test="documentStatus != null">document_status = #{documentStatus},</if>
+            <if test="itemNumber != null">item_number = #{itemNumber},</if>
+            <if test="drawingNo != null">drawing_no = #{drawingNo},</if>
+            <if test="versionNumber != null">version_number = #{versionNumber},</if>
+            <if test="productionQuantity != null">production_quantity = #{productionQuantity},</if>
+            <if test="goodProductsQuantity != null">good_products_quantity = #{goodProductsQuantity},</if>
+            <if test="processNumber != null">process_number = #{processNumber},</if>
+            <if test="workCenter != null">work_center = #{workCenter},</if>
+            <if test="department != null">department = #{department},</if>
+            <if test="planStartDay != null">plan_start_day = #{planStartDay},</if>
+            <if test="planEndDay != null">plan_end_day = #{planEndDay},</if>
+            <if test="standbyNumber != null">standby_number = #{standbyNumber},</if>
+            <if test="standbyName != null">standby_name = #{standbyName},</if>
+            <if test="standbyStock != null">standby_stock = #{standbyStock},</if>
+            <if test="nextProcessDeparment != null">next_process_deparment = #{nextProcessDeparment},</if>
+            <if test="isSuspended != null">is_suspended = #{isSuspended},</if>
+            <if test="isOutsourcing != null">is_outsourcing = #{isOutsourcing},</if>
+            <if test="account != null">account = #{account},</if>
+            <if test="advancedMaterials != null">advanced_materials = #{advancedMaterials},</if>
+            <if test="advancedDocumentNumber != null">advanced_document_number = #{advancedDocumentNumber},</if>
+            <if test="advancedRequirementDay != null">advanced_requirement_day = #{advancedRequirementDay},</if>
+            <if test="isPlanComplete != null">is_plan_complete = #{isPlanComplete},</if>
+            <if test="isStockComplete != null">is_stock_complete = #{isStockComplete},</if>
+            <if test="hasTurnback != null">has_turnback = #{hasTurnback},</if>
+            <if test="hasRisk != null">has_risk = #{hasRisk},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteApsPlatePlanById" parameterType="String">
+        delete from aps_plate_plan where id = #{id}
+    </delete>
+
+    <delete id="deleteApsPlatePlanByIds" parameterType="String">
+        delete from aps_plate_plan where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanTempMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanTempMapper.xml
new file mode 100644
index 0000000..7f4f0cc
--- /dev/null
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanTempMapper.xml
@@ -0,0 +1,205 @@
+<?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.ApsPlatePlanTempMapper">
+    
+    <resultMap type="ApsPlatePlanTemp" id="ApsPlatePlanTempResult">
+        <result property="id"    column="id"    />
+        <result property="masterPlanner"    column="master_planner"    />
+        <result property="weekDay"    column="week_day"    />
+        <result property="weekCycle"    column="week_cycle"    />
+        <result property="mainPartNumber"    column="main_part_number"    />
+        <result property="mainPartDrawingNumber"    column="main_part_drawing_number"    />
+        <result property="customer"    column="customer"    />
+        <result property="businessType"    column="business_type"    />
+        <result property="documentNumber"    column="document_number"    />
+        <result property="requirementType"    column="requirement_type"    />
+        <result property="documentStatus"    column="document_status"    />
+        <result property="itemNumber"    column="item_number"    />
+        <result property="drawingNo"    column="drawing_no"    />
+        <result property="versionNumber"    column="version_number"    />
+        <result property="productionQuantity"    column="production_quantity"    />
+        <result property="goodProductsQuantity"    column="good_products_quantity"    />
+        <result property="processNumber"    column="process_number"    />
+        <result property="workCenter"    column="work_center"    />
+        <result property="department"    column="department"    />
+        <result property="planStartDay"    column="plan_start_day"    />
+        <result property="planEndDay"    column="plan_end_day"    />
+        <result property="standbyNumber"    column="standby_number"    />
+        <result property="standbyName"    column="standby_name"    />
+        <result property="standbyStock"    column="standby_stock"    />
+        <result property="nextProcessDeparment"    column="next_process_deparment"    />
+        <result property="isSuspended"    column="is_suspended"    />
+        <result property="isOutsourcing"    column="is_outsourcing"    />
+        <result property="account"    column="account"    />
+        <result property="advancedMaterials"    column="advanced_materials"    />
+        <result property="advancedDocumentNumber"    column="advanced_document_number"    />
+        <result property="advancedRequirementDay"    column="advanced_requirement_day"    />
+        <result property="isPlanComplete"    column="is_plan_complete"    />
+        <result property="isStockComplete"    column="is_stock_complete"    />
+        <result property="hasTurnback"    column="has_turnback"    />
+        <result property="hasRisk"    column="has_risk"    />
+        <result property="batchNumber"    column="batch_number"    />
+    </resultMap>
+
+    <sql id="selectApsPlatePlanTempVo">
+        select id, master_planner, week_day, week_cycle, main_part_number, main_part_drawing_number, customer, business_type, document_number, requirement_type, document_status, item_number, drawing_no, version_number, production_quantity, good_products_quantity, process_number, work_center, department, plan_start_day, plan_end_day, standby_number, standby_name, standby_stock, next_process_deparment, is_suspended, is_outsourcing, account, advanced_materials, advanced_document_number, advanced_requirement_day, is_plan_complete, is_stock_complete, has_turnback, has_risk, batch_number from aps_plate_plan_temp
+    </sql>
+
+    <select id="selectApsPlatePlanTempList" parameterType="ApsPlatePlanTemp" resultMap="ApsPlatePlanTempResult">
+        <include refid="selectApsPlatePlanTempVo"/>
+        <where>  
+            <if test="nextProcessDeparment != null  and nextProcessDeparment != ''"> and next_process_deparment = #{nextProcessDeparment}</if>
+            <if test="isSuspended != null "> and is_suspended = #{isSuspended}</if>
+            <if test="isOutsourcing != null  and isOutsourcing != ''"> and is_outsourcing = #{isOutsourcing}</if>
+            <if test="account != null  and account != ''"> and account = #{account}</if>
+            <if test="advancedMaterials != null  and advancedMaterials != ''"> and advanced_materials = #{advancedMaterials}</if>
+            <if test="advancedDocumentNumber != null  and advancedDocumentNumber != ''"> and advanced_document_number = #{advancedDocumentNumber}</if>
+            <if test="advancedRequirementDay != null "> and advanced_requirement_day = #{advancedRequirementDay}</if>
+            <if test="isPlanComplete != null "> and is_plan_complete = #{isPlanComplete}</if>
+            <if test="isStockComplete != null "> and is_stock_complete = #{isStockComplete}</if>
+            <if test="hasTurnback != null "> and has_turnback = #{hasTurnback}</if>
+            <if test="hasRisk != null "> and has_risk = #{hasRisk}</if>
+            <if test="batchNumber != null  and batchNumber != ''"> and batch_number = #{batchNumber}</if>
+        </where>
+    </select>
+    
+    <select id="selectApsPlatePlanTempById" parameterType="String" resultMap="ApsPlatePlanTempResult">
+        <include refid="selectApsPlatePlanTempVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertApsPlatePlanTemp" parameterType="ApsPlatePlanTemp">
+        insert into aps_plate_plan_temp
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null and id != ''">id,</if>
+            <if test="masterPlanner != null">master_planner,</if>
+            <if test="weekDay != null">week_day,</if>
+            <if test="weekCycle != null">week_cycle,</if>
+            <if test="mainPartNumber != null">main_part_number,</if>
+            <if test="mainPartDrawingNumber != null">main_part_drawing_number,</if>
+            <if test="customer != null">customer,</if>
+            <if test="businessType != null">business_type,</if>
+            <if test="documentNumber != null">document_number,</if>
+            <if test="requirementType != null">requirement_type,</if>
+            <if test="documentStatus != null">document_status,</if>
+            <if test="itemNumber != null">item_number,</if>
+            <if test="drawingNo != null">drawing_no,</if>
+            <if test="versionNumber != null">version_number,</if>
+            <if test="productionQuantity != null">production_quantity,</if>
+            <if test="goodProductsQuantity != null">good_products_quantity,</if>
+            <if test="processNumber != null">process_number,</if>
+            <if test="workCenter != null">work_center,</if>
+            <if test="department != null">department,</if>
+            <if test="planStartDay != null">plan_start_day,</if>
+            <if test="planEndDay != null">plan_end_day,</if>
+            <if test="standbyNumber != null">standby_number,</if>
+            <if test="standbyName != null">standby_name,</if>
+            <if test="standbyStock != null">standby_stock,</if>
+            <if test="nextProcessDeparment != null">next_process_deparment,</if>
+            <if test="isSuspended != null">is_suspended,</if>
+            <if test="isOutsourcing != null">is_outsourcing,</if>
+            <if test="account != null">account,</if>
+            <if test="advancedMaterials != null">advanced_materials,</if>
+            <if test="advancedDocumentNumber != null">advanced_document_number,</if>
+            <if test="advancedRequirementDay != null">advanced_requirement_day,</if>
+            <if test="isPlanComplete != null">is_plan_complete,</if>
+            <if test="isStockComplete != null">is_stock_complete,</if>
+            <if test="hasTurnback != null">has_turnback,</if>
+            <if test="hasRisk != null">has_risk,</if>
+            <if test="batchNumber != null">batch_number,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null and id != ''">#{id},</if>
+            <if test="masterPlanner != null">#{masterPlanner},</if>
+            <if test="weekDay != null">#{weekDay},</if>
+            <if test="weekCycle != null">#{weekCycle},</if>
+            <if test="mainPartNumber != null">#{mainPartNumber},</if>
+            <if test="mainPartDrawingNumber != null">#{mainPartDrawingNumber},</if>
+            <if test="customer != null">#{customer},</if>
+            <if test="businessType != null">#{businessType},</if>
+            <if test="documentNumber != null">#{documentNumber},</if>
+            <if test="requirementType != null">#{requirementType},</if>
+            <if test="documentStatus != null">#{documentStatus},</if>
+            <if test="itemNumber != null">#{itemNumber},</if>
+            <if test="drawingNo != null">#{drawingNo},</if>
+            <if test="versionNumber != null">#{versionNumber},</if>
+            <if test="productionQuantity != null">#{productionQuantity},</if>
+            <if test="goodProductsQuantity != null">#{goodProductsQuantity},</if>
+            <if test="processNumber != null">#{processNumber},</if>
+            <if test="workCenter != null">#{workCenter},</if>
+            <if test="department != null">#{department},</if>
+            <if test="planStartDay != null">#{planStartDay},</if>
+            <if test="planEndDay != null">#{planEndDay},</if>
+            <if test="standbyNumber != null">#{standbyNumber},</if>
+            <if test="standbyName != null">#{standbyName},</if>
+            <if test="standbyStock != null">#{standbyStock},</if>
+            <if test="nextProcessDeparment != null">#{nextProcessDeparment},</if>
+            <if test="isSuspended != null">#{isSuspended},</if>
+            <if test="isOutsourcing != null">#{isOutsourcing},</if>
+            <if test="account != null">#{account},</if>
+            <if test="advancedMaterials != null">#{advancedMaterials},</if>
+            <if test="advancedDocumentNumber != null">#{advancedDocumentNumber},</if>
+            <if test="advancedRequirementDay != null">#{advancedRequirementDay},</if>
+            <if test="isPlanComplete != null">#{isPlanComplete},</if>
+            <if test="isStockComplete != null">#{isStockComplete},</if>
+            <if test="hasTurnback != null">#{hasTurnback},</if>
+            <if test="hasRisk != null">#{hasRisk},</if>
+            <if test="batchNumber != null">#{batchNumber},</if>
+         </trim>
+    </insert>
+
+    <update id="updateApsPlatePlanTemp" parameterType="ApsPlatePlanTemp">
+        update aps_plate_plan_temp
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="masterPlanner != null">master_planner = #{masterPlanner},</if>
+            <if test="weekDay != null">week_day = #{weekDay},</if>
+            <if test="weekCycle != null">week_cycle = #{weekCycle},</if>
+            <if test="mainPartNumber != null">main_part_number = #{mainPartNumber},</if>
+            <if test="mainPartDrawingNumber != null">main_part_drawing_number = #{mainPartDrawingNumber},</if>
+            <if test="customer != null">customer = #{customer},</if>
+            <if test="businessType != null">business_type = #{businessType},</if>
+            <if test="documentNumber != null">document_number = #{documentNumber},</if>
+            <if test="requirementType != null">requirement_type = #{requirementType},</if>
+            <if test="documentStatus != null">document_status = #{documentStatus},</if>
+            <if test="itemNumber != null">item_number = #{itemNumber},</if>
+            <if test="drawingNo != null">drawing_no = #{drawingNo},</if>
+            <if test="versionNumber != null">version_number = #{versionNumber},</if>
+            <if test="productionQuantity != null">production_quantity = #{productionQuantity},</if>
+            <if test="goodProductsQuantity != null">good_products_quantity = #{goodProductsQuantity},</if>
+            <if test="processNumber != null">process_number = #{processNumber},</if>
+            <if test="workCenter != null">work_center = #{workCenter},</if>
+            <if test="department != null">department = #{department},</if>
+            <if test="planStartDay != null">plan_start_day = #{planStartDay},</if>
+            <if test="planEndDay != null">plan_end_day = #{planEndDay},</if>
+            <if test="standbyNumber != null">standby_number = #{standbyNumber},</if>
+            <if test="standbyName != null">standby_name = #{standbyName},</if>
+            <if test="standbyStock != null">standby_stock = #{standbyStock},</if>
+            <if test="nextProcessDeparment != null">next_process_deparment = #{nextProcessDeparment},</if>
+            <if test="isSuspended != null">is_suspended = #{isSuspended},</if>
+            <if test="isOutsourcing != null">is_outsourcing = #{isOutsourcing},</if>
+            <if test="account != null">account = #{account},</if>
+            <if test="advancedMaterials != null">advanced_materials = #{advancedMaterials},</if>
+            <if test="advancedDocumentNumber != null">advanced_document_number = #{advancedDocumentNumber},</if>
+            <if test="advancedRequirementDay != null">advanced_requirement_day = #{advancedRequirementDay},</if>
+            <if test="isPlanComplete != null">is_plan_complete = #{isPlanComplete},</if>
+            <if test="isStockComplete != null">is_stock_complete = #{isStockComplete},</if>
+            <if test="hasTurnback != null">has_turnback = #{hasTurnback},</if>
+            <if test="hasRisk != null">has_risk = #{hasRisk},</if>
+            <if test="batchNumber != null">batch_number = #{batchNumber},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteApsPlatePlanTempById" parameterType="String">
+        delete from aps_plate_plan_temp where id = #{id}
+    </delete>
+
+    <delete id="deleteApsPlatePlanTempByIds" parameterType="String">
+        delete from aps_plate_plan_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