From 27478d0e43742dfb8dffe445ff62a6fb824e36c0 Mon Sep 17 00:00:00 2001
From: huangjiayang <5265313@qq.com>
Date: 星期四, 17 四月 2025 15:46:58 +0800
Subject: [PATCH] 【ADD】查询U9接口获取工单工序数据
---
aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderProcessMapper.java | 70 +++++
aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderProcessService.java | 69 +++++
aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsWorkOrderProcess.java | 239 +++++++++++++++++++
aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderProcessMapper.xml | 126 ++++++++++
aps-modules/aps-job/src/main/java/com/aps/job/service/ApsWorkOrderProcessServiceImpl.java | 175 ++++++++++++++
5 files changed, 679 insertions(+), 0 deletions(-)
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsWorkOrderProcess.java b/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsWorkOrderProcess.java
new file mode 100644
index 0000000..330ad8f
--- /dev/null
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/domain/ApsWorkOrderProcess.java
@@ -0,0 +1,239 @@
+package com.aps.job.domain;
+
+import com.aps.common.core.annotation.Excel;
+import com.aps.common.core.web.domain.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.io.Serial;
+import java.util.Date;
+
+/**
+ * 宸ュ崟宸ュ簭瀵硅薄 aps_work_order_process
+ *
+ * @author hjy
+ * @date 2025-04-17
+ */
+public class ApsWorkOrderProcess extends BaseEntity
+{
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /** 涓婚敭鑷 */
+ private Long id;
+
+ /** 鏂欏彿 */
+ @Excel(name = "鏂欏彿")
+ private String itemCode;
+
+ /** 宸ュ崟鍙� */
+ @Excel(name = "宸ュ崟鍙�")
+ private String docNo;
+
+ /** 宸ュ簭搴忓彿 */
+ @Excel(name = "宸ュ簭搴忓彿")
+ private String opNum;
+
+ /** 宸ュ簭id */
+ @Excel(name = "宸ュ簭id")
+ private String opId;
+
+ /** 宸ュ簭鍚嶇О-U9-WorkCenter */
+ @Excel(name = "宸ュ簭鍚嶇О-U9-WorkCenter")
+ private String processName;
+
+ /** 鏍囧噯宸ユ椂-灏忔暟 */
+ @Excel(name = "鏍囧噯宸ユ椂-灏忔暟")
+ private Float standardTime;
+
+ /** 宸ュ簭璁″垝寮�濮嬫椂闂� */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "宸ュ簭璁″垝寮�濮嬫椂闂�", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date palnStartDate;
+
+ /** 宸ュ簭璁″垝瀹屾垚鏃ユ湡 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "宸ュ簭璁″垝瀹屾垚鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date planCompleteDate;
+
+ /** 鍔犲伐鏁伴噺-灏忔暟 */
+ @Excel(name = "鍔犲伐鏁伴噺-灏忔暟")
+ private Float processQty;
+
+ /** 搴熷純鏁伴噺 */
+ @Excel(name = "搴熷純鏁伴噺")
+ private Float scrapQty;
+
+ /** 宸ュ簭鐘舵�� */
+ @Excel(name = "宸ュ簭鐘舵��")
+ private String opStatus;
+
+ /** 璐﹀ */
+ @Excel(name = "璐﹀")
+ private String org;
+
+ /** 璐﹀缂栫爜 */
+ @Excel(name = "璐﹀缂栫爜")
+ private String orgCode;
+
+ public void setId(Long id)
+ {
+ this.id = id;
+ }
+
+ public Long getId()
+ {
+ return id;
+ }
+
+ public void setItemCode(String itemCode)
+ {
+ this.itemCode = itemCode;
+ }
+
+ public String getItemCode()
+ {
+ return itemCode;
+ }
+
+ public void setDocNo(String docNo)
+ {
+ this.docNo = docNo;
+ }
+
+ public String getDocNo()
+ {
+ return docNo;
+ }
+
+ public void setOpNum(String opNum)
+ {
+ this.opNum = opNum;
+ }
+
+ public String getOpNum()
+ {
+ return opNum;
+ }
+
+ public void setOpId(String opId)
+ {
+ this.opId = opId;
+ }
+
+ public String getOpId()
+ {
+ return opId;
+ }
+
+ public void setProcessName(String processName)
+ {
+ this.processName = processName;
+ }
+
+ public String getProcessName()
+ {
+ return processName;
+ }
+
+ public void setStandardTime(Float standardTime)
+ {
+ this.standardTime = standardTime;
+ }
+
+ public Float getStandardTime()
+ {
+ return standardTime;
+ }
+
+ public void setPalnStartDate(Date palnStartDate)
+ {
+ this.palnStartDate = palnStartDate;
+ }
+
+ public Date getPalnStartDate()
+ {
+ return palnStartDate;
+ }
+
+ public void setPlanCompleteDate(Date planCompleteDate)
+ {
+ this.planCompleteDate = planCompleteDate;
+ }
+
+ public Date getPlanCompleteDate()
+ {
+ return planCompleteDate;
+ }
+
+ public void setProcessQty(Float processQty)
+ {
+ this.processQty = processQty;
+ }
+
+ public Float getProcessQty()
+ {
+ return processQty;
+ }
+
+ public void setScrapQty(Float scrapQty)
+ {
+ this.scrapQty = scrapQty;
+ }
+
+ public Float getScrapQty()
+ {
+ return scrapQty;
+ }
+
+ public void setOpStatus(String opStatus)
+ {
+ this.opStatus = opStatus;
+ }
+
+ public String getOpStatus()
+ {
+ return opStatus;
+ }
+
+ public void setOrg(String org)
+ {
+ this.org = org;
+ }
+
+ public String getOrg()
+ {
+ return org;
+ }
+
+ public void setOrgCode(String orgCode)
+ {
+ this.orgCode = orgCode;
+ }
+
+ public String getOrgCode()
+ {
+ return orgCode;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("id", getId())
+ .append("itemCode", getItemCode())
+ .append("docNo", getDocNo())
+ .append("opNum", getOpNum())
+ .append("opId", getOpId())
+ .append("processName", getProcessName())
+ .append("standardTime", getStandardTime())
+ .append("palnStartDate", getPalnStartDate())
+ .append("planCompleteDate", getPlanCompleteDate())
+ .append("processQty", getProcessQty())
+ .append("scrapQty", getScrapQty())
+ .append("opStatus", getOpStatus())
+ .append("org", getOrg())
+ .append("orgCode", getOrgCode())
+ .toString();
+ }
+}
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderProcessMapper.java b/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderProcessMapper.java
new file mode 100644
index 0000000..6d1122c
--- /dev/null
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderProcessMapper.java
@@ -0,0 +1,70 @@
+package com.aps.job.mapper;
+
+import com.aps.job.domain.ApsWorkOrderProcess;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 宸ュ崟宸ュ簭Mapper鎺ュ彛
+ *
+ * @author hjy
+ * @date 2025-04-17
+ */
+public interface ApsWorkOrderProcessMapper
+{
+ /**
+ * 鏌ヨ宸ュ崟宸ュ簭
+ *
+ * @param id 宸ュ崟宸ュ簭涓婚敭
+ * @return 宸ュ崟宸ュ簭
+ */
+ public ApsWorkOrderProcess selectApsWorkOrderProcessById(Long id);
+
+ /**
+ * 鏌ヨ宸ュ崟宸ュ簭鍒楄〃
+ *
+ * @param apsWorkOrderProcess 宸ュ崟宸ュ簭
+ * @return 宸ュ崟宸ュ簭闆嗗悎
+ */
+ public List<ApsWorkOrderProcess> selectApsWorkOrderProcessList(ApsWorkOrderProcess apsWorkOrderProcess);
+
+ /**
+ * 鏂板宸ュ崟宸ュ簭
+ *
+ * @param apsWorkOrderProcess 宸ュ崟宸ュ簭
+ * @return 缁撴灉
+ */
+ public int insertApsWorkOrderProcess(ApsWorkOrderProcess apsWorkOrderProcess);
+
+ /**
+ * 淇敼宸ュ崟宸ュ簭
+ *
+ * @param apsWorkOrderProcess 宸ュ崟宸ュ簭
+ * @return 缁撴灉
+ */
+ public int updateApsWorkOrderProcess(ApsWorkOrderProcess apsWorkOrderProcess);
+
+ /**
+ * 鍒犻櫎宸ュ崟宸ュ簭
+ *
+ * @param id 宸ュ崟宸ュ簭涓婚敭
+ * @return 缁撴灉
+ */
+ public int deleteApsWorkOrderProcessById(Long id);
+
+ /**
+ * 鎵归噺鍒犻櫎宸ュ崟宸ュ簭
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ public int deleteApsWorkOrderProcessByIds(Long[] ids);
+
+ /**
+ * 鏍规嵁宸ュ崟鍙峰拰宸ュ崟宸ュ簭鍙锋煡璇㈠伐鍗曞伐搴�
+ * @param map
+ * @return
+ */
+ public Long existsByDocNoOpNumOpId(Map map);
+}
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/ApsWorkOrderProcessServiceImpl.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/ApsWorkOrderProcessServiceImpl.java
new file mode 100644
index 0000000..7fa388b
--- /dev/null
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/ApsWorkOrderProcessServiceImpl.java
@@ -0,0 +1,175 @@
+package com.aps.job.service;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.aps.common.core.utils.StringUtils;
+import com.aps.job.domain.ApsWorkOrderProcess;
+import com.aps.job.mapper.ApsWorkOrderProcessMapper;
+import jakarta.annotation.Resource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 宸ュ崟宸ュ簭Service涓氬姟灞傚鐞�
+ *
+ * @author hjy
+ * @date 2025-04-17
+ */
+@Service
+public class ApsWorkOrderProcessServiceImpl implements IApsWorkOrderProcessService
+{
+ @Value("${u9.workOrderProcessUrl}")
+ private String u9WorkOrderProcessUrl;
+
+ private final Logger logger = LoggerFactory.getLogger(ApsWorkOrderProcessServiceImpl.class);
+
+ @Resource
+ private RestTemplate restTemplate;
+
+ @Resource
+ private ApsWorkOrderProcessMapper apsWorkOrderProcessMapper;
+
+ /**
+ * 鏌ヨ宸ュ崟宸ュ簭
+ *
+ * @param id 宸ュ崟宸ュ簭涓婚敭
+ * @return 宸ュ崟宸ュ簭
+ */
+ @Override
+ public ApsWorkOrderProcess selectApsWorkOrderProcessById(Long id)
+ {
+ return apsWorkOrderProcessMapper.selectApsWorkOrderProcessById(id);
+ }
+
+ /**
+ * 鏌ヨ宸ュ崟宸ュ簭鍒楄〃
+ *
+ * @param apsWorkOrderProcess 宸ュ崟宸ュ簭
+ * @return 宸ュ崟宸ュ簭
+ */
+ @Override
+ public List<ApsWorkOrderProcess> selectApsWorkOrderProcessList(ApsWorkOrderProcess apsWorkOrderProcess)
+ {
+ return apsWorkOrderProcessMapper.selectApsWorkOrderProcessList(apsWorkOrderProcess);
+ }
+
+ /**
+ * 鏂板宸ュ崟宸ュ簭
+ *
+ * @param apsWorkOrderProcess 宸ュ崟宸ュ簭
+ * @return 缁撴灉
+ */
+ @Override
+ public int insertApsWorkOrderProcess(ApsWorkOrderProcess apsWorkOrderProcess)
+ {
+ return apsWorkOrderProcessMapper.insertApsWorkOrderProcess(apsWorkOrderProcess);
+ }
+
+ /**
+ * 淇敼宸ュ崟宸ュ簭
+ *
+ * @param apsWorkOrderProcess 宸ュ崟宸ュ簭
+ * @return 缁撴灉
+ */
+ @Override
+ public int updateApsWorkOrderProcess(ApsWorkOrderProcess apsWorkOrderProcess)
+ {
+ return apsWorkOrderProcessMapper.updateApsWorkOrderProcess(apsWorkOrderProcess);
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎宸ュ崟宸ュ簭
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑宸ュ崟宸ュ簭涓婚敭
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteApsWorkOrderProcessByIds(Long[] ids)
+ {
+ return apsWorkOrderProcessMapper.deleteApsWorkOrderProcessByIds(ids);
+ }
+
+ /**
+ * 鍒犻櫎宸ュ崟宸ュ簭淇℃伅
+ *
+ * @param id 宸ュ崟宸ュ簭涓婚敭
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteApsWorkOrderProcessById(Long id)
+ {
+ return apsWorkOrderProcessMapper.deleteApsWorkOrderProcessById(id);
+ }
+
+ @Override
+ public void getWorkOrderProcessFromU9(List<String> docNos) throws Exception {
+ // 璁剧疆璇锋眰澶�
+ HttpHeaders headers = new HttpHeaders();
+ headers.setContentType(MediaType.APPLICATION_JSON);
+ // 璁剧疆璇锋眰浣�
+ JSONObject requestBody = new JSONObject();
+ requestBody.put("DocList", docNos);
+ // 鍒涘缓HttpEntity瀵硅薄
+ HttpEntity<String> request = new HttpEntity<>(requestBody.toJSONString(), headers);
+ // 鍙戦�丳OST璇锋眰
+ ResponseEntity<String> response = restTemplate.postForEntity(u9WorkOrderProcessUrl, request, String.class);
+ if (response.getStatusCode().is2xxSuccessful()) {
+ String responseBody = response.getBody();
+ if(StringUtils.isEmpty(responseBody)){
+ JSONObject responseBodyJson = JSONObject.parseObject(responseBody);
+ if(!"200".equals(responseBodyJson.getString("status"))){
+ JSONArray jsonArray = responseBodyJson.getJSONArray("data");
+ if (jsonArray != null) {
+ jsonArray.forEach(jsonObject -> {
+ JSONObject process = (JSONObject) jsonObject;
+ Map<String, Object> params = new HashMap<>();
+ params.put("docNo", process.getString("DocNo"));
+ params.put("opNum", process.getString("OpNum"));
+ params.put("opId", process.getString("OpID"));
+ Long existsId = apsWorkOrderProcessMapper.existsByDocNoOpNumOpId(params);
+ ApsWorkOrderProcess apsWorkOrderProcess = new ApsWorkOrderProcess();
+ apsWorkOrderProcess.setItemCode(process.getString("ItemCode"));
+ apsWorkOrderProcess.setDocNo(process.getString("DocNo"));
+ apsWorkOrderProcess.setOpNum(process.getString("OpNum"));
+ apsWorkOrderProcess.setOpId(process.getString("OpID"));
+ apsWorkOrderProcess.setProcessName(process.getString("WorkCenter"));
+ apsWorkOrderProcess.setStandardTime(process.getFloat("StandardTime"));
+ apsWorkOrderProcess.setPalnStartDate(process.getDate("PlanStartDate"));
+ apsWorkOrderProcess.setPlanCompleteDate(process.getDate("PlanCompleteDate"));
+ apsWorkOrderProcess.setProcessQty(process.getFloat("ProcessQty"));
+ apsWorkOrderProcess.setScrapQty(process.getFloat("ScrapQty"));
+ apsWorkOrderProcess.setOpStatus(process.getString("OpStatus"));
+ apsWorkOrderProcess.setOrg(process.getString("Org"));
+ apsWorkOrderProcess.setOrgCode(process.getString("OrgCode"));
+ if(existsId!=null){
+ apsWorkOrderProcess.setId(existsId);
+ apsWorkOrderProcessMapper.updateApsWorkOrderProcess(apsWorkOrderProcess);
+ logger.info("銆怳PDATE銆戣幏鍙栧苟鏇存柊U9宸ュ簭鎴愬姛锛併�愬伐鍗曞彿锛歿}锛屽伐搴忓彿锛歿}銆�", docNos, apsWorkOrderProcess.getOpNum());
+ }else{
+ apsWorkOrderProcessMapper.insertApsWorkOrderProcess(apsWorkOrderProcess);
+ logger.info("銆怚NSERT銆戣幏鍙栧苟鎻掑叆U9宸ュ簭鎴愬姛锛併�愬伐鍗曞彿锛歿}, 宸ュ簭鍙凤細{}銆�", docNos, apsWorkOrderProcess.getOpNum());
+ }
+ });
+ }
+ }else{
+ logger.error("銆怑RROR銆戞煡璇9宸ュ簭澶辫触锛併�愬伐鍗曞彿锛歿}, 閿欒鐮侊細{}锛岄敊璇俊鎭細{}銆�", docNos, responseBodyJson.getString("status"), responseBodyJson.getString("message"));
+ }
+ }else{
+ logger.warn("銆怶ARNING銆戞湭鏌ヨ鍒癠9宸ュ簭锛併�愬伐鍗曞彿锛歿}銆�", docNos);
+ }
+ } else {
+ throw new Exception("銆怑RROR銆戣幏鍙朥9宸ュ簭澶辫触锛併�愬伐鍗曞彿锛�"+ docNos +"銆�");
+ }
+ }
+}
diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderProcessService.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderProcessService.java
new file mode 100644
index 0000000..17047aa
--- /dev/null
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderProcessService.java
@@ -0,0 +1,69 @@
+package com.aps.job.service;
+
+import com.aps.job.domain.ApsWorkOrderProcess;
+
+import java.util.List;
+
+/**
+ * 宸ュ崟宸ュ簭Service鎺ュ彛
+ *
+ * @author hjy
+ * @date 2025-04-17
+ */
+public interface IApsWorkOrderProcessService
+{
+ /**
+ * 鏌ヨ宸ュ崟宸ュ簭
+ *
+ * @param id 宸ュ崟宸ュ簭涓婚敭
+ * @return 宸ュ崟宸ュ簭
+ */
+ public ApsWorkOrderProcess selectApsWorkOrderProcessById(Long id);
+
+ /**
+ * 鏌ヨ宸ュ崟宸ュ簭鍒楄〃
+ *
+ * @param apsWorkOrderProcess 宸ュ崟宸ュ簭
+ * @return 宸ュ崟宸ュ簭闆嗗悎
+ */
+ public List<ApsWorkOrderProcess> selectApsWorkOrderProcessList(ApsWorkOrderProcess apsWorkOrderProcess);
+
+ /**
+ * 鏂板宸ュ崟宸ュ簭
+ *
+ * @param apsWorkOrderProcess 宸ュ崟宸ュ簭
+ * @return 缁撴灉
+ */
+ public int insertApsWorkOrderProcess(ApsWorkOrderProcess apsWorkOrderProcess);
+
+ /**
+ * 淇敼宸ュ崟宸ュ簭
+ *
+ * @param apsWorkOrderProcess 宸ュ崟宸ュ簭
+ * @return 缁撴灉
+ */
+ public int updateApsWorkOrderProcess(ApsWorkOrderProcess apsWorkOrderProcess);
+
+ /**
+ * 鎵归噺鍒犻櫎宸ュ崟宸ュ簭
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑宸ュ崟宸ュ簭涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ public int deleteApsWorkOrderProcessByIds(Long[] ids);
+
+ /**
+ * 鍒犻櫎宸ュ崟宸ュ簭淇℃伅
+ *
+ * @param id 宸ュ崟宸ュ簭涓婚敭
+ * @return 缁撴灉
+ */
+ public int deleteApsWorkOrderProcessById(Long id);
+
+ /**
+ * 浠嶶9鑾峰彇宸ュ崟宸ュ簭淇℃伅
+ * @param docNo
+ * @return
+ */
+ public void getWorkOrderProcessFromU9(List<String> docNos) throws Exception;
+}
diff --git a/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderProcessMapper.xml b/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderProcessMapper.xml
new file mode 100644
index 0000000..bbdb439
--- /dev/null
+++ b/aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderProcessMapper.xml
@@ -0,0 +1,126 @@
+<?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.job.mapper.ApsWorkOrderProcessMapper">
+
+ <resultMap type="ApsWorkOrderProcess" id="ApsWorkOrderProcessResult">
+ <result property="id" column="id" />
+ <result property="itemCode" column="item_code" />
+ <result property="docNo" column="doc_no" />
+ <result property="opNum" column="op_num" />
+ <result property="opId" column="op_id" />
+ <result property="processName" column="process_name" />
+ <result property="standardTime" column="standard_time" />
+ <result property="palnStartDate" column="paln_start_date" />
+ <result property="planCompleteDate" column="plan_complete_date" />
+ <result property="processQty" column="process_qty" />
+ <result property="scrapQty" column="scrap_qty" />
+ <result property="opStatus" column="op_status" />
+ <result property="org" column="org" />
+ <result property="org_code" column="org_code" />
+ </resultMap>
+
+ <sql id="selectApsWorkOrderProcessVo">
+ select id, item_code, doc_no, op_num, op_id, process_name, standard_time, paln_start_date, plan_complete_date, process_qty, scrap_qty, op_status, org, org_code from aps_work_order_process
+ </sql>
+
+ <select id="selectApsWorkOrderProcessList" parameterType="ApsWorkOrderProcess" resultMap="ApsWorkOrderProcessResult">
+ <include refid="selectApsWorkOrderProcessVo"/>
+ <where>
+ <if test="itemCode != null and itemCode != ''"> and item_code = #{itemCode}</if>
+ <if test="docNo != null and docNo != ''"> and doc_no = #{docNo}</if>
+ <if test="opNum != null and opNum != ''"> and op_num = #{opNum}</if>
+ <if test="opId != null and opId != ''"> and op_id = #{opId}</if>
+ <if test="processName != null and processName != ''"> and process_name like concat('%', #{processName}, '%')</if>
+ <if test="standardTime != null and standardTime != ''"> and standard_time = #{standardTime}</if>
+ <if test="palnStartDate != null "> and paln_start_date = #{palnStartDate}</if>
+ <if test="planCompleteDate != null "> and plan_complete_date = #{planCompleteDate}</if>
+ <if test="processQty != null "> and process_qty = #{processQty}</if>
+ <if test="scrapQty != null "> and scrap_qty = #{scrapQty}</if>
+ <if test="opStatus != null and opStatus != ''"> and op_status = #{opStatus}</if>
+ <if test="org != null and org != ''"> and org = #{org}</if>
+ <if test="org_code != null and opStatus != ''"> and op_status = #{opStatus}</if>
+ </where>
+ </select>
+
+ <select id="selectApsWorkOrderProcessById" parameterType="Long" resultMap="ApsWorkOrderProcessResult">
+ <include refid="selectApsWorkOrderProcessVo"/>
+ where id = #{id}
+ </select>
+
+ <insert id="insertApsWorkOrderProcess" parameterType="ApsWorkOrderProcess">
+ insert into aps_work_order_process
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="id != null">id,</if>
+ <if test="itemCode != null">item_code,</if>
+ <if test="docNo != null">doc_no,</if>
+ <if test="opNum != null">op_num,</if>
+ <if test="opId != null">op_id,</if>
+ <if test="processName != null">process_name,</if>
+ <if test="standardTime != null">standard_time,</if>
+ <if test="palnStartDate != null">paln_start_date,</if>
+ <if test="planCompleteDate != null">plan_complete_date,</if>
+ <if test="processQty != null">process_qty,</if>
+ <if test="scrapQty != null">scrap_qty,</if>
+ <if test="opStatus != null">op_status,</if>
+ <if test="org != null">org,</if>
+ <if test="orgCode != null">org_code,</if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="id != null">#{id},</if>
+ <if test="itemCode != null">#{itemCode},</if>
+ <if test="docNo != null">#{docNo},</if>
+ <if test="opNum != null">#{opNum},</if>
+ <if test="opId != null">#{opId},</if>
+ <if test="processName != null">#{processName},</if>
+ <if test="standardTime != null">#{standardTime},</if>
+ <if test="palnStartDate != null">#{palnStartDate},</if>
+ <if test="planCompleteDate != null">#{planCompleteDate},</if>
+ <if test="processQty != null">#{processQty},</if>
+ <if test="scrapQty != null">#{scrapQty},</if>
+ <if test="opStatus != null">#{opStatus},</if>
+ <if test="org != null">#{org},</if>
+ <if test="orgCode != null">#{orgCode},</if>
+ </trim>
+ </insert>
+
+ <update id="updateApsWorkOrderProcess" parameterType="ApsWorkOrderProcess">
+ update aps_work_order_process
+ <trim prefix="SET" suffixOverrides=",">
+ <if test="itemCode != null">item_code = #{itemCode},</if>
+ <if test="docNo != null">doc_no = #{docNo},</if>
+ <if test="opNum != null">op_num = #{opNum},</if>
+ <if test="opId != null">op_id = #{opId},</if>
+ <if test="processName != null">process_name = #{processName},</if>
+ <if test="standardTime != null">standard_time = #{standardTime},</if>
+ <if test="palnStartDate != null">paln_start_date = #{palnStartDate},</if>
+ <if test="planCompleteDate != null">plan_complete_date = #{planCompleteDate},</if>
+ <if test="processQty != null">process_qty = #{processQty},</if>
+ <if test="scrapQty != null">scrap_qty = #{scrapQty},</if>
+ <if test="opStatus != null">op_status = #{opStatus},</if>
+ <if test="org != null">org = #{org},</if>
+ <if test="orgCode != null">org_code = #{orgCode},</if>
+ </trim>
+ where id = #{id}
+ </update>
+
+ <delete id="deleteApsWorkOrderProcessById" parameterType="Long">
+ delete from aps_work_order_process where id = #{id}
+ </delete>
+
+ <delete id="deleteApsWorkOrderProcessByIds" parameterType="String">
+ delete from aps_work_order_process where id in
+ <foreach item="id" collection="array" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ </delete>
+
+ <select id="existsByDocNoOpNumOpId" parameterType="map" resultMap="Long">
+ select id from aps_work_order_process
+ where doc_no = #{docNo}
+ and op_num = #{opNum}
+ and op_id = #{opId}
+ </select>
+
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.3