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