From ca0960aeb3f9af9cf852f98ee70523ff9e85b6f9 Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期一, 21 四月 2025 13:42:01 +0800
Subject: [PATCH] 工序异常分析:更新零件统计时生成

---
 aps-modules/aps-core/src/main/resources/mapper/core/ApsAbnormalProcessAnalysisMapper.xml                      |  101 ++++++++++
 aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsAbnormalProcessAnalysisController.java |  100 ++++++++++
 aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsAbnormalProcessAnalysis.java                        |   98 +++++++++
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsAbnormalProcessAnalysisServiceImpl.java       |  113 +++++++++++
 aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsAbnormalProcessAnalysisMapper.java                  |   77 +++++++
 aps-modules/aps-core/src/main/java/com/aps/core/service/IApsAbnormalProcessAnalysisService.java               |   63 ++++++
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPartRouteStatServiceImpl.java                 |    9 
 7 files changed, 561 insertions(+), 0 deletions(-)

diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsAbnormalProcessAnalysisController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsAbnormalProcessAnalysisController.java
new file mode 100644
index 0000000..9263bc9
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsAbnormalProcessAnalysisController.java
@@ -0,0 +1,100 @@
+package com.aps.core.controller.mainPlan;
+
+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.ApsAbnormalProcessAnalysis;
+import com.aps.core.service.IApsAbnormalProcessAnalysisService;
+import jakarta.servlet.http.HttpServletResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+
+import java.util.List;
+
+/**
+ * 宸ュ簭寮傚父鍒嗘瀽Controller
+ * 
+ * @author zhl
+ * @date 2025-04-21
+ */
+@RestController
+@RequestMapping("/abnormalProcessAnalysis")
+public class ApsAbnormalProcessAnalysisController extends BaseController
+{
+    @Autowired
+    private IApsAbnormalProcessAnalysisService apsAbnormalProcessAnalysisService;
+
+    /**
+     * 鏌ヨ宸ュ簭寮傚父鍒嗘瀽鍒楄〃
+     */
+    /*@RequiresPermissions("abnormalAnalysis:list")*/
+    @GetMapping("/list")
+    public TableDataInfo list(ApsAbnormalProcessAnalysis apsAbnormalProcessAnalysis)
+    {
+        startPage();
+        List<ApsAbnormalProcessAnalysis> list = apsAbnormalProcessAnalysisService.selectApsAbnormalProcessAnalysisList(apsAbnormalProcessAnalysis);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭宸ュ簭寮傚父鍒嗘瀽鍒楄〃
+     */
+    @RequiresPermissions("abnormalAnalysis:export")
+    @Log(title = "宸ュ簭寮傚父鍒嗘瀽", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ApsAbnormalProcessAnalysis apsAbnormalProcessAnalysis)
+    {
+        List<ApsAbnormalProcessAnalysis> list = apsAbnormalProcessAnalysisService.selectApsAbnormalProcessAnalysisList(apsAbnormalProcessAnalysis);
+        ExcelUtil<ApsAbnormalProcessAnalysis> util = new ExcelUtil<ApsAbnormalProcessAnalysis>(ApsAbnormalProcessAnalysis.class);
+        util.exportExcel(response, list, "宸ュ簭寮傚父鍒嗘瀽鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇宸ュ簭寮傚父鍒嗘瀽璇︾粏淇℃伅
+     */
+    @RequiresPermissions("abnormalAnalysis:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(apsAbnormalProcessAnalysisService.selectApsAbnormalProcessAnalysisById(id));
+    }
+    /**
+     * 淇敼宸ュ簭寮傚父鍒嗘瀽
+     */
+    @RequiresPermissions("abnormalAnalysis:edit")
+    @Log(title = "宸ュ簭寮傚父鍒嗘瀽", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ApsAbnormalProcessAnalysis apsAbnormalProcessAnalysis)
+    {
+        return toAjax(apsAbnormalProcessAnalysisService.updateApsAbnormalProcessAnalysis(apsAbnormalProcessAnalysis));
+    }
+
+    /**
+     * 鍒犻櫎宸ュ簭寮傚父鍒嗘瀽
+     */
+    @RequiresPermissions("abnormalAnalysis:remove")
+    @Log(title = "宸ュ簭寮傚父鍒嗘瀽", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(apsAbnormalProcessAnalysisService.deleteApsAbnormalProcessAnalysisByIds(ids));
+    }
+
+
+    /**
+     * 鏂板宸ュ簭寮傚父鍒嗘瀽
+     */
+    /*@RequiresPermissions("abnormalAnalysis:add")*/
+    @Log(title = "宸ュ簭寮傚父鍒嗘瀽", businessType = BusinessType.INSERT)
+    @PostMapping("/generator")
+    public AjaxResult generatorAbnormalInfo()
+    {
+        apsAbnormalProcessAnalysisService.batchSaveAbnormalInfo();
+        return toAjax(true);
+    }
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsAbnormalProcessAnalysis.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsAbnormalProcessAnalysis.java
new file mode 100644
index 0000000..2b94236
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsAbnormalProcessAnalysis.java
@@ -0,0 +1,98 @@
+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;
+
+/**
+ * 宸ュ簭寮傚父鍒嗘瀽瀵硅薄 aps_abnormal_process_analysis
+ * 
+ * @author zhl
+ * @date 2025-04-21
+ */
+public class ApsAbnormalProcessAnalysis extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** id */
+    private Long id;
+
+    /** 宸ュ簭鍚嶇О */
+    @Excel(name = "宸ュ簭鍚嶇О")
+    private String processName;
+
+    /** 寮傚父鏉ユ簮 */
+    @Excel(name = "寮傚父鏉ユ簮")
+    private String source;
+
+    /** 寮傚父鎻忚堪 */
+    @Excel(name = "寮傚父鎻忚堪")
+    private String summary;
+
+    /** 鏄惁鍒犻櫎 */
+    private String delFlag;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+
+    public void setProcessName(String processName) 
+    {
+        this.processName = processName;
+    }
+
+    public String getProcessName() 
+    {
+        return processName;
+    }
+
+    public void setSource(String source) 
+    {
+        this.source = source;
+    }
+
+    public String getSource() 
+    {
+        return source;
+    }
+
+    public void setSummary(String summary) 
+    {
+        this.summary = summary;
+    }
+
+    public String getSummary() 
+    {
+        return summary;
+    }
+
+    public void setDelFlag(String delFlag) 
+    {
+        this.delFlag = delFlag;
+    }
+
+    public String getDelFlag() 
+    {
+        return delFlag;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("processName", getProcessName())
+            .append("source", getSource())
+            .append("summary", getSummary())
+            .append("createTime", getCreateTime())
+            .append("delFlag", getDelFlag())
+            .append("createBy", getCreateBy())
+            .toString();
+    }
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsAbnormalProcessAnalysisMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsAbnormalProcessAnalysisMapper.java
new file mode 100644
index 0000000..f4bcb41
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsAbnormalProcessAnalysisMapper.java
@@ -0,0 +1,77 @@
+package com.aps.core.mapper;
+
+import java.util.List;
+import com.aps.core.domain.ApsAbnormalProcessAnalysis;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 宸ュ簭寮傚父鍒嗘瀽Mapper鎺ュ彛
+ * 
+ * @author zhl
+ * @date 2025-04-21
+ */
+@Mapper
+public interface ApsAbnormalProcessAnalysisMapper 
+{
+    /**
+     * 鏌ヨ宸ュ簭寮傚父鍒嗘瀽
+     * 
+     * @param id 宸ュ簭寮傚父鍒嗘瀽涓婚敭
+     * @return 宸ュ簭寮傚父鍒嗘瀽
+     */
+    public ApsAbnormalProcessAnalysis selectApsAbnormalProcessAnalysisById(Long id);
+
+    /**
+     * 鏌ヨ宸ュ簭寮傚父鍒嗘瀽鍒楄〃
+     * 
+     * @param apsAbnormalProcessAnalysis 宸ュ簭寮傚父鍒嗘瀽
+     * @return 宸ュ簭寮傚父鍒嗘瀽闆嗗悎
+     */
+    public List<ApsAbnormalProcessAnalysis> selectApsAbnormalProcessAnalysisList(ApsAbnormalProcessAnalysis apsAbnormalProcessAnalysis);
+
+    /**
+     * 鏂板宸ュ簭寮傚父鍒嗘瀽
+     * 
+     * @param apsAbnormalProcessAnalysis 宸ュ簭寮傚父鍒嗘瀽
+     * @return 缁撴灉
+     */
+    public int insertApsAbnormalProcessAnalysis(ApsAbnormalProcessAnalysis apsAbnormalProcessAnalysis);
+
+    /**
+     * 淇敼宸ュ簭寮傚父鍒嗘瀽
+     * 
+     * @param apsAbnormalProcessAnalysis 宸ュ簭寮傚父鍒嗘瀽
+     * @return 缁撴灉
+     */
+    public int updateApsAbnormalProcessAnalysis(ApsAbnormalProcessAnalysis apsAbnormalProcessAnalysis);
+
+    /**
+     * 鍒犻櫎宸ュ簭寮傚父鍒嗘瀽
+     * 
+     * @param id 宸ュ簭寮傚父鍒嗘瀽涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteApsAbnormalProcessAnalysisById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎宸ュ簭寮傚父鍒嗘瀽
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteApsAbnormalProcessAnalysisByIds(Long[] ids);
+
+    /**
+     * 閫氳繃缁熻琛ㄨ幏鍙栧紓甯镐俊鎭�
+     * */
+    List<ApsAbnormalProcessAnalysis> selectAbnormalInfoFromStat();
+    /**
+     * 鎵归噺鎻掑叆寮傚父淇℃伅
+     * */
+    int batchSaveAbnormalInfo(List<ApsAbnormalProcessAnalysis> list);
+
+    /*
+    * 鎵归噺鍒犻櫎鏁版嵁
+    * */
+    int batchRemoveAbnormalInfo();
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsAbnormalProcessAnalysisService.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsAbnormalProcessAnalysisService.java
new file mode 100644
index 0000000..a5badcf
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsAbnormalProcessAnalysisService.java
@@ -0,0 +1,63 @@
+package com.aps.core.service;
+
+import java.util.List;
+import com.aps.core.domain.ApsAbnormalProcessAnalysis;
+
+/**
+ * 宸ュ簭寮傚父鍒嗘瀽Service鎺ュ彛
+ * 
+ * @author zhl
+ * @date 2025-04-21
+ */
+public interface IApsAbnormalProcessAnalysisService 
+{
+    /**
+     * 鏌ヨ宸ュ簭寮傚父鍒嗘瀽
+     * 
+     * @param id 宸ュ簭寮傚父鍒嗘瀽涓婚敭
+     * @return 宸ュ簭寮傚父鍒嗘瀽
+     */
+    public ApsAbnormalProcessAnalysis selectApsAbnormalProcessAnalysisById(Long id);
+
+    /**
+     * 鏌ヨ宸ュ簭寮傚父鍒嗘瀽鍒楄〃
+     * 
+     * @param apsAbnormalProcessAnalysis 宸ュ簭寮傚父鍒嗘瀽
+     * @return 宸ュ簭寮傚父鍒嗘瀽闆嗗悎
+     */
+    public List<ApsAbnormalProcessAnalysis> selectApsAbnormalProcessAnalysisList(ApsAbnormalProcessAnalysis apsAbnormalProcessAnalysis);
+
+    /**
+     * 鏂板宸ュ簭寮傚父鍒嗘瀽
+     * 
+     * @param apsAbnormalProcessAnalysis 宸ュ簭寮傚父鍒嗘瀽
+     * @return 缁撴灉
+     */
+    public int insertApsAbnormalProcessAnalysis(ApsAbnormalProcessAnalysis apsAbnormalProcessAnalysis);
+
+    /**
+     * 淇敼宸ュ簭寮傚父鍒嗘瀽
+     * 
+     * @param apsAbnormalProcessAnalysis 宸ュ簭寮傚父鍒嗘瀽
+     * @return 缁撴灉
+     */
+    public int updateApsAbnormalProcessAnalysis(ApsAbnormalProcessAnalysis apsAbnormalProcessAnalysis);
+
+    /**
+     * 鎵归噺鍒犻櫎宸ュ簭寮傚父鍒嗘瀽
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑宸ュ簭寮傚父鍒嗘瀽涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteApsAbnormalProcessAnalysisByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎宸ュ簭寮傚父鍒嗘瀽淇℃伅
+     * 
+     * @param id 宸ュ簭寮傚父鍒嗘瀽涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteApsAbnormalProcessAnalysisById(Long id);
+
+    int batchSaveAbnormalInfo();
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsAbnormalProcessAnalysisServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsAbnormalProcessAnalysisServiceImpl.java
new file mode 100644
index 0000000..c980f72
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsAbnormalProcessAnalysisServiceImpl.java
@@ -0,0 +1,113 @@
+package com.aps.core.service.impl;
+
+import java.util.List;
+
+import com.aps.common.core.utils.DateUtils;
+import com.aps.common.security.utils.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.aps.core.mapper.ApsAbnormalProcessAnalysisMapper;
+import com.aps.core.domain.ApsAbnormalProcessAnalysis;
+import com.aps.core.service.IApsAbnormalProcessAnalysisService;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 宸ュ簭寮傚父鍒嗘瀽Service涓氬姟灞傚鐞�
+ *
+ * @author zhl
+ * @date 2025-04-21
+ */
+@Service
+public class ApsAbnormalProcessAnalysisServiceImpl implements IApsAbnormalProcessAnalysisService {
+    @Autowired
+    private ApsAbnormalProcessAnalysisMapper apsAbnormalProcessAnalysisMapper;
+
+    /**
+     * 鏌ヨ宸ュ簭寮傚父鍒嗘瀽
+     *
+     * @param id 宸ュ簭寮傚父鍒嗘瀽涓婚敭
+     * @return 宸ュ簭寮傚父鍒嗘瀽
+     */
+    @Override
+    public ApsAbnormalProcessAnalysis selectApsAbnormalProcessAnalysisById(Long id) {
+        return apsAbnormalProcessAnalysisMapper.selectApsAbnormalProcessAnalysisById(id);
+    }
+
+    /**
+     * 鏌ヨ宸ュ簭寮傚父鍒嗘瀽鍒楄〃
+     *
+     * @param apsAbnormalProcessAnalysis 宸ュ簭寮傚父鍒嗘瀽
+     * @return 宸ュ簭寮傚父鍒嗘瀽
+     */
+    @Override
+    public List<ApsAbnormalProcessAnalysis> selectApsAbnormalProcessAnalysisList(ApsAbnormalProcessAnalysis apsAbnormalProcessAnalysis) {
+        return apsAbnormalProcessAnalysisMapper.selectApsAbnormalProcessAnalysisList(apsAbnormalProcessAnalysis);
+    }
+
+    /**
+     * 鏂板宸ュ簭寮傚父鍒嗘瀽
+     *
+     * @param apsAbnormalProcessAnalysis 宸ュ簭寮傚父鍒嗘瀽
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertApsAbnormalProcessAnalysis(ApsAbnormalProcessAnalysis apsAbnormalProcessAnalysis) {
+        apsAbnormalProcessAnalysis.setCreateTime(DateUtils.getNowDate());
+        return apsAbnormalProcessAnalysisMapper.insertApsAbnormalProcessAnalysis(apsAbnormalProcessAnalysis);
+    }
+
+    /**
+     * 淇敼宸ュ簭寮傚父鍒嗘瀽
+     *
+     * @param apsAbnormalProcessAnalysis 宸ュ簭寮傚父鍒嗘瀽
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateApsAbnormalProcessAnalysis(ApsAbnormalProcessAnalysis apsAbnormalProcessAnalysis) {
+        return apsAbnormalProcessAnalysisMapper.updateApsAbnormalProcessAnalysis(apsAbnormalProcessAnalysis);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎宸ュ簭寮傚父鍒嗘瀽
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑宸ュ簭寮傚父鍒嗘瀽涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteApsAbnormalProcessAnalysisByIds(Long[] ids) {
+        return apsAbnormalProcessAnalysisMapper.deleteApsAbnormalProcessAnalysisByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎宸ュ簭寮傚父鍒嗘瀽淇℃伅
+     *
+     * @param id 宸ュ簭寮傚父鍒嗘瀽涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteApsAbnormalProcessAnalysisById(Long id) {
+        return apsAbnormalProcessAnalysisMapper.deleteApsAbnormalProcessAnalysisById(id);
+    }
+
+    /**
+     * 鏈柟娉曠敤浜庝粠鏁版嵁搴撲腑閫夋嫨寮傚父淇℃伅锛屽苟鎵归噺淇濆瓨杩欎簺淇℃伅
+     * 涓昏鐩殑鏄鐞嗗紓甯镐俊鎭殑鎵归噺淇濆瓨锛屼互鎻愰珮鏁版嵁澶勭悊鏁堢巼
+     */
+    @Transactional
+    @Override
+    public int batchSaveAbnormalInfo() {
+        String username = SecurityUtils.getUsername();
+
+        /*鍏堝垹闄ゆ棫鏁版嵁*/
+        apsAbnormalProcessAnalysisMapper.batchRemoveAbnormalInfo();
+        // 閫夋嫨鏁版嵁搴撲腑鐨勫紓甯镐俊鎭�
+        List<ApsAbnormalProcessAnalysis> list = apsAbnormalProcessAnalysisMapper.selectAbnormalInfoFromStat();
+        // 鎵归噺淇濆瓨閫変腑鐨勫紓甯镐俊鎭�
+        if (!list.isEmpty()) {
+            //閬嶅巻list 鏇存柊 姣忔潯璁板綍鐨� create_by 瀛楁
+            list.forEach(item -> item.setCreateBy(username));
+            apsAbnormalProcessAnalysisMapper.batchSaveAbnormalInfo(list);
+        }
+        return list.size();
+    }
+}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPartRouteStatServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPartRouteStatServiceImpl.java
index efaf774..0cf88f2 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPartRouteStatServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPartRouteStatServiceImpl.java
@@ -15,12 +15,16 @@
 import com.aps.core.domain.ApsPartPlan;
 import com.aps.core.domain.ApsResourceDateStat;
 import com.aps.core.domain.ApsResourceGroup;
+import com.aps.core.mapper.ApsAbnormalProcessAnalysisMapper;
 import com.aps.core.mapper.ApsResourceGroupMapper;
+import com.aps.core.service.IApsAbnormalProcessAnalysisService;
+import jakarta.annotation.Resource;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.poi.ss.usermodel.*;
 import org.apache.poi.ss.util.CellRangeAddress;
 import org.apache.poi.util.IOUtils;
+import org.apache.poi.util.Removal;
 import org.apache.poi.xssf.streaming.SXSSFCell;
 import org.apache.poi.xssf.streaming.SXSSFRow;
 import org.apache.poi.xssf.streaming.SXSSFSheet;
@@ -51,6 +55,9 @@
     private ApsResourceGroupMapper resourceGroupMapper;
     @Autowired
     private ApsResourceGroupMapper apsResourceGroupMapper;
+
+    @Resource
+    private IApsAbnormalProcessAnalysisService analysisService;
 
     /**
      * 鏌ヨ闆朵欢缁熻琛�
@@ -172,6 +179,8 @@
             }
         }
         apsPartRouteStatMapper.deleteLastBatch(batchNum);
+        /*璁$畻骞朵繚瀛� 宸ュ簭寮傚父淇℃伅*/
+        analysisService.batchSaveAbnormalInfo();
     }
     /** 鏌ヨ璧勬簮鏃ュ巻琛�
      */
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsAbnormalProcessAnalysisMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsAbnormalProcessAnalysisMapper.xml
new file mode 100644
index 0000000..90511bb
--- /dev/null
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsAbnormalProcessAnalysisMapper.xml
@@ -0,0 +1,101 @@
+<?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.ApsAbnormalProcessAnalysisMapper">
+    
+    <resultMap type="ApsAbnormalProcessAnalysis" id="ApsAbnormalProcessAnalysisResult">
+        <result property="id"    column="id"    />
+        <result property="processName"    column="process_name"    />
+        <result property="source"    column="source"    />
+        <result property="summary"    column="summary"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createBy"    column="create_by"    />
+    </resultMap>
+
+    <sql id="selectApsAbnormalProcessAnalysisVo">
+        select id, process_name, source, summary, create_time, del_flag, create_by from aps_abnormal_process_analysis
+    </sql>
+
+    <select id="selectApsAbnormalProcessAnalysisList" parameterType="ApsAbnormalProcessAnalysis" resultMap="ApsAbnormalProcessAnalysisResult">
+        <include refid="selectApsAbnormalProcessAnalysisVo"/>
+        <where>
+            and del_flag = '0'
+            <if test="processName != null  and processName != ''"> and process_name like concat('%', #{processName}, '%')</if>
+            <if test="source != null  and source != ''"> and source = #{source}</if>
+            <if test="summary != null  and summary != ''"> and summary like concat('%', #{summary}, '%')</if>
+
+        </where>
+    </select>
+    
+    <select id="selectApsAbnormalProcessAnalysisById" parameterType="Long" resultMap="ApsAbnormalProcessAnalysisResult">
+        <include refid="selectApsAbnormalProcessAnalysisVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertApsAbnormalProcessAnalysis" parameterType="ApsAbnormalProcessAnalysis" useGeneratedKeys="true" keyProperty="id">
+        insert into aps_abnormal_process_analysis
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="processName != null">process_name,</if>
+            <if test="source != null">source,</if>
+            <if test="summary != null">summary,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createBy != null">create_by,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="processName != null">#{processName},</if>
+            <if test="source != null">#{source},</if>
+            <if test="summary != null">#{summary},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createBy != null">#{createBy},</if>
+         </trim>
+    </insert>
+
+    <update id="updateApsAbnormalProcessAnalysis" parameterType="ApsAbnormalProcessAnalysis">
+        update aps_abnormal_process_analysis
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="processName != null">process_name = #{processName},</if>
+            <if test="source != null">source = #{source},</if>
+            <if test="summary != null">summary = #{summary},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteApsAbnormalProcessAnalysisById" parameterType="Long">
+        delete from aps_abnormal_process_analysis where id = #{id}
+    </delete>
+
+    <delete id="deleteApsAbnormalProcessAnalysisByIds" parameterType="String">
+        delete from aps_abnormal_process_analysis where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+    <select id="selectAbnormalInfoFromStat" resultMap="ApsAbnormalProcessAnalysisResult">
+        select distinct resource_group_name as process_name, '闆朵欢' as source, '宸ュ簭涓庤祫婧愮粍涓嶅尮閰�' as summary, now() as create_time,'0' as del_flag
+        from aps_part_route_stat as aprs
+        where aprs.del_flag='0'
+          and  aprs.resource_group_name not in (select  resource_group_name from  aps_resource_group  as arg where arg.del_flag='0')
+        order by resource_group_name;
+    </select>
+    <!--鎵归噺鎻掑叆淇℃伅-->
+    <insert id="batchSaveAbnormalInfo" parameterType="ApsAbnormalProcessAnalysis">
+        insert into aps_abnormal_process_analysis(process_name,source,summary,create_time,del_flag,create_by)
+        values
+        <foreach collection="list" item="item" index="index" separator=",">
+            (#{item.processName},#{item.source},#{item.summary},#{item.createTime},#{item.delFlag},#{item.createBy})
+        </foreach>
+    </insert>
+
+    <!--鎵归噺灏哸ps_abnormal_process_analysis琛ㄥ唴del_flag=0鐨勬暟鎹洿鏂颁负 del_flag=1-->
+    <update id="batchRemoveAbnormalInfo">
+        update aps_abnormal_process_analysis set del_flag='1' where del_flag='0'
+    </update>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3