From 5a476116f7d72787953f0265a587e5bbd80efbbc Mon Sep 17 00:00:00 2001 From: rui_li <877258667@qq.com> Date: Tue, 26 Apr 2022 15:23:38 +0800 Subject: [PATCH] =?UTF-8?q?pda=20=E6=88=90=E5=93=81=E5=8D=B7=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=9C=89=E6=9C=89=E6=95=88=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/gaotao/modules/pda/dao/QaDao.java | 9 + .../modules/pda/dao/impl/QaDaoImpl.java | 24 +- .../gaotao/modules/pda/data/QaRollInData.java | 333 +++++++++--------- .../modules/pda/data/QaRollOutData.java | 204 +++++------ .../pda/service/impl/QaServiceImpl.java | 28 +- 5 files changed, 331 insertions(+), 267 deletions(-) diff --git a/src/main/java/com/gaotao/modules/pda/dao/QaDao.java b/src/main/java/com/gaotao/modules/pda/dao/QaDao.java index b900074..5f08fd7 100644 --- a/src/main/java/com/gaotao/modules/pda/dao/QaDao.java +++ b/src/main/java/com/gaotao/modules/pda/dao/QaDao.java @@ -4,6 +4,7 @@ import com.gaotao.modules.pda.data.QaRollOutData; import java.text.ParseException; import java.util.List; +import java.util.Map; /** * @@ -94,4 +95,12 @@ public interface QaDao { */ List getIntervalRollsByRollNo(String site, String orderNo, String startRollNo, String endRollNo); + /** + * TODO 获取part的相关信息 + * @author LR + * @date 2022/4/26 14:03 + * @Param [site, partNo] + * @return java.util.Map + **/ + Map getPartDataByPartNo(String site, String partNo); } diff --git a/src/main/java/com/gaotao/modules/pda/dao/impl/QaDaoImpl.java b/src/main/java/com/gaotao/modules/pda/dao/impl/QaDaoImpl.java index e03cc13..5ac676b 100644 --- a/src/main/java/com/gaotao/modules/pda/dao/impl/QaDaoImpl.java +++ b/src/main/java/com/gaotao/modules/pda/dao/impl/QaDaoImpl.java @@ -100,11 +100,14 @@ public class QaDaoImpl implements QaDao { currentRoll.setParttypeFlag("F"); currentRoll.setOrderref2(outRoll.getOrderref2()); currentRoll.setOrderref3(outRoll.getOrderref3()); + currentRoll.setExpiredDate(outRoll.getExpiredDate()); paramArgs.add(currentRoll); } - sql.append("INSERT INTO C_RollInfo (Site, RollNo, RollDate, PartNo, rolltype, rolltype_db, Status_DB, Status,"); + sql.append("INSERT INTO C_RollInfo (Site, RollNo, RollDate, PartNo, rolltype, rolltype_db, Status_DB, Status,"); + sql.append(" ExpiredDate,");//2022-04-26添加 sql.append(" RollQty, CreatedDate, CreatedBy, SourceType, OrderRef1, OriginalRollNo, firstlevelrollno, parttype_flag, OrderRef2, OrderRef3)"); - sql.append(" VALUES(:site, :rollNo, :rollDate, :partNo, :rollType, :rollTypeDb, :statusDb, :status,"); + sql.append(" VALUES(:site, :rollNo, :rollDate, :partNo, :rollType, :rollTypeDb, :statusDb, :status,"); + sql.append(" :expiredDate,");//2022-04-26添加 sql.append(" :rollQty, :createdDate, :createdBy, :orderRefType, :orderNo, :oriRollNo, :firstLevelRollNo, :parttypeFlag, :orderref2, :orderref3)"); parameterJdbcTemplate.batchUpdate(sql.toString(), SqlParameterSourceUtils.createBatch(paramArgs.toArray())); } @@ -147,4 +150,21 @@ public class QaDaoImpl implements QaDao { return parameterJdbcTemplate.query(sql.toString(), paramMap, new BeanPropertyRowMapper<>(QaRollOutData.class)); } + @Override + public Map getPartDataByPartNo(String site, String partNo) { + StringBuilder sql = new StringBuilder(); + Map paramMap = new HashMap<>(); + sql.append("SELECT ExpireDateControlFlag controlFlag, FLOOR(ISNULL(ToExpireDays, 0)) expiredDays"); + sql.append(" FROM Part pt WHERE pt.Site = :site AND pt.PartNo = :partNo"); + paramMap.put("site", site); + paramMap.put("partNo", partNo); + List> resultList = parameterJdbcTemplate.queryForList(sql.toString(), paramMap); + //判断是否存在结果集 + if(resultList.size() > 0){ + return resultList.get(0); + }else{ + return null; + } + } + } diff --git a/src/main/java/com/gaotao/modules/pda/data/QaRollInData.java b/src/main/java/com/gaotao/modules/pda/data/QaRollInData.java index 0e8ac17..6dee3d0 100644 --- a/src/main/java/com/gaotao/modules/pda/data/QaRollInData.java +++ b/src/main/java/com/gaotao/modules/pda/data/QaRollInData.java @@ -3,188 +3,195 @@ package com.gaotao.modules.pda.data; import java.util.Date; /** - * + * @author lirui * @ClassName: QaRollOutData * @Description: qa卷输出类 - * @author lirui * @date 2018年11月14日 - * */ public class QaRollInData { - private String site;// 厂商编号 - private String rollNo;// 卷号 - private Date rollDate;// 卷日期 yyyy-MM-dd - private String partNo;// 物料编号 - private String rollType;// 卷类型 - private String rollTypeDb;// 卷类型区分 - private String statusDb;// 状态编号 - private String status;// 状态 - private String partDes;// 物料描述 - private double rollQty;// 卷数量 - private Date createdDate;// 创建日期 - private String createdBy;// 创建人 - private String orderRefType;// 订单类型说明 - private String orderNo;// 订单号 - private String oriRollNo;// 原始卷号 - private String firstLevelRollNo;// 顶级卷号 - private String parttypeFlag;// 判断是成品还是材料 或者半成品 - private Float orderref2;// 工序号 - private Float orderref3;// 派工单号 - - public QaRollInData() { - // TODO Auto-generated constructor stub - } - - public String getSite() { - return site; - } - - public void setSite(String site) { - this.site = site; - } - - public String getRollNo() { - return rollNo; - } - - public void setRollNo(String rollNo) { - this.rollNo = rollNo; - } - - public Date getRollDate() { - return rollDate; - } - - public void setRollDate(Date rollDate) { - this.rollDate = rollDate; - } - - public String getPartNo() { - return partNo; - } - - public void setPartNo(String partNo) { - this.partNo = partNo; - } - - public String getRollType() { - return rollType; - } - - public void setRollType(String rollType) { - this.rollType = rollType; - } - - public String getRollTypeDb() { - return rollTypeDb; - } - - public void setRollTypeDb(String rollTypeDb) { - this.rollTypeDb = rollTypeDb; - } - - public String getStatusDb() { - return statusDb; - } - - public void setStatusDb(String statusDb) { - this.statusDb = statusDb; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public String getPartDes() { - return partDes; - } - - public void setPartDes(String partDes) { - this.partDes = partDes; - } - - public double getRollQty() { - return rollQty; - } - - public void setRollQty(double rollQty) { - this.rollQty = rollQty; - } - - public Date getCreatedDate() { - return createdDate; - } - - public void setCreatedDate(Date createdDate) { - this.createdDate = createdDate; - } - - public String getCreatedBy() { - return createdBy; - } + private String site;// 厂商编号 + private String rollNo;// 卷号 + private Date rollDate;// 卷日期 yyyy-MM-dd + private String partNo;// 物料编号 + private String rollType;// 卷类型 + private String rollTypeDb;// 卷类型区分 + private String statusDb;// 状态编号 + private String status;// 状态 + private String partDes;// 物料描述 + private double rollQty;// 卷数量 + private Date createdDate;// 创建日期 + private String createdBy;// 创建人 + private String orderRefType;// 订单类型说明 + private String orderNo;// 订单号 + private String oriRollNo;// 原始卷号 + private String firstLevelRollNo;// 顶级卷号 + private String parttypeFlag;// 判断是成品还是材料 或者半成品 + private Float orderref2;// 工序号 + private Float orderref3;// 派工单号 + //过期日期 + private Date expiredDate;//过期日期 + + public QaRollInData() { + // TODO Auto-generated constructor stub + } + + public String getSite() { + return site; + } + + public void setSite(String site) { + this.site = site; + } + + public String getRollNo() { + return rollNo; + } + + public void setRollNo(String rollNo) { + this.rollNo = rollNo; + } + + public Date getRollDate() { + return rollDate; + } + + public void setRollDate(Date rollDate) { + this.rollDate = rollDate; + } + + public String getPartNo() { + return partNo; + } + + public void setPartNo(String partNo) { + this.partNo = partNo; + } + + public String getRollType() { + return rollType; + } + + public void setRollType(String rollType) { + this.rollType = rollType; + } + + public String getRollTypeDb() { + return rollTypeDb; + } + + public void setRollTypeDb(String rollTypeDb) { + this.rollTypeDb = rollTypeDb; + } + + public String getStatusDb() { + return statusDb; + } + + public void setStatusDb(String statusDb) { + this.statusDb = statusDb; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getPartDes() { + return partDes; + } + + public void setPartDes(String partDes) { + this.partDes = partDes; + } + + public double getRollQty() { + return rollQty; + } + + public void setRollQty(double rollQty) { + this.rollQty = rollQty; + } + + public Date getCreatedDate() { + return createdDate; + } + + public void setCreatedDate(Date createdDate) { + this.createdDate = createdDate; + } + + public String getCreatedBy() { + return createdBy; + } + + public void setCreatedBy(String createdBy) { + this.createdBy = createdBy; + } - public void setCreatedBy(String createdBy) { - this.createdBy = createdBy; - } + public String getOrderRefType() { + return orderRefType; + } - public String getOrderRefType() { - return orderRefType; - } + public void setOrderRefType(String orderRefType) { + this.orderRefType = orderRefType; + } - public void setOrderRefType(String orderRefType) { - this.orderRefType = orderRefType; - } + public String getOrderNo() { + return orderNo; + } - public String getOrderNo() { - return orderNo; - } + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } - public void setOrderNo(String orderNo) { - this.orderNo = orderNo; - } + public String getOriRollNo() { + return oriRollNo; + } - public String getOriRollNo() { - return oriRollNo; - } + public void setOriRollNo(String oriRollNo) { + this.oriRollNo = oriRollNo; + } - public void setOriRollNo(String oriRollNo) { - this.oriRollNo = oriRollNo; - } + public String getFirstLevelRollNo() { + return firstLevelRollNo; + } - public String getFirstLevelRollNo() { - return firstLevelRollNo; - } + public void setFirstLevelRollNo(String firstLevelRollNo) { + this.firstLevelRollNo = firstLevelRollNo; + } - public void setFirstLevelRollNo(String firstLevelRollNo) { - this.firstLevelRollNo = firstLevelRollNo; - } + public String getParttypeFlag() { + return parttypeFlag; + } - public String getParttypeFlag() { - return parttypeFlag; - } + public void setParttypeFlag(String parttypeFlag) { + this.parttypeFlag = parttypeFlag; + } - public void setParttypeFlag(String parttypeFlag) { - this.parttypeFlag = parttypeFlag; - } + public Float getOrderref2() { + return orderref2; + } - public Float getOrderref2() { - return orderref2; - } + public void setOrderref2(Float orderref2) { + this.orderref2 = orderref2; + } - public void setOrderref2(Float orderref2) { - this.orderref2 = orderref2; - } + public Float getOrderref3() { + return orderref3; + } - public Float getOrderref3() { - return orderref3; - } + public void setOrderref3(Float orderref3) { + this.orderref3 = orderref3; + } - public void setOrderref3(Float orderref3) { - this.orderref3 = orderref3; - } + public Date getExpiredDate() { + return expiredDate; + } + public void setExpiredDate(Date expiredDate) { + this.expiredDate = expiredDate; + } } diff --git a/src/main/java/com/gaotao/modules/pda/data/QaRollOutData.java b/src/main/java/com/gaotao/modules/pda/data/QaRollOutData.java index cceb745..852b625 100644 --- a/src/main/java/com/gaotao/modules/pda/data/QaRollOutData.java +++ b/src/main/java/com/gaotao/modules/pda/data/QaRollOutData.java @@ -1,107 +1,115 @@ package com.gaotao.modules.pda.data; +import java.util.Date; + /** - * + * @author lirui * @ClassName: QaRollOutData * @Description: qa卷输出类 - * @author lirui * @date 2018年11月14日 - * */ public class QaRollOutData { - private String site;// 厂商编号 - private String rollNo;// 卷号 - private String partNo;// 物料编号 - private String partDes;// 物料描述 - private double rollQty;// 卷数量 - private String orderNo;// 订单号 - private String oriRollNo;// 原始卷号 - private String firstLevelRollNo;// 顶级卷号 - private Float orderref2;// 工序号 - private Float orderref3;// 派工单号 - - public QaRollOutData() { - // TODO Auto-generated constructor stub - } - - public String getSite() { - return site; - } - - public void setSite(String site) { - this.site = site; - } - - public String getRollNo() { - return rollNo; - } - - public void setRollNo(String rollNo) { - this.rollNo = rollNo; - } - - public String getPartNo() { - return partNo; - } - - public void setPartNo(String partNo) { - this.partNo = partNo; - } - - public String getPartDes() { - return partDes; - } - - public void setPartDes(String partDes) { - this.partDes = partDes; - } - - public double getRollQty() { - return rollQty; - } - - public void setRollQty(double rollQty) { - this.rollQty = rollQty; - } - - public String getOrderNo() { - return orderNo; - } - - public void setOrderNo(String orderNo) { - this.orderNo = orderNo; - } - - public String getOriRollNo() { - return oriRollNo; - } - - public void setOriRollNo(String oriRollNo) { - this.oriRollNo = oriRollNo; - } - - public String getFirstLevelRollNo() { - return firstLevelRollNo; - } - - public void setFirstLevelRollNo(String firstLevelRollNo) { - this.firstLevelRollNo = firstLevelRollNo; - } - - public Float getOrderref2() { - return orderref2; - } - - public void setOrderref2(Float orderref2) { - this.orderref2 = orderref2; - } - - public Float getOrderref3() { - return orderref3; - } - - public void setOrderref3(Float orderref3) { - this.orderref3 = orderref3; - } - + private String site;// 厂商编号 + private String rollNo;// 卷号 + private String partNo;// 物料编号 + private String partDes;// 物料描述 + private double rollQty;// 卷数量 + private String orderNo;// 订单号 + private String oriRollNo;// 原始卷号 + private String firstLevelRollNo;// 顶级卷号 + private Float orderref2;// 工序号 + private Float orderref3;// 派工单号 + private Date expiredDate;//过期日期 + + public QaRollOutData() { + // TODO Auto-generated constructor stub + } + + public String getSite() { + return site; + } + + public void setSite(String site) { + this.site = site; + } + + public String getRollNo() { + return rollNo; + } + + public void setRollNo(String rollNo) { + this.rollNo = rollNo; + } + + public String getPartNo() { + return partNo; + } + + public void setPartNo(String partNo) { + this.partNo = partNo; + } + + public String getPartDes() { + return partDes; + } + + public void setPartDes(String partDes) { + this.partDes = partDes; + } + + public double getRollQty() { + return rollQty; + } + + public void setRollQty(double rollQty) { + this.rollQty = rollQty; + } + + public String getOrderNo() { + return orderNo; + } + + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } + + public String getOriRollNo() { + return oriRollNo; + } + + public void setOriRollNo(String oriRollNo) { + this.oriRollNo = oriRollNo; + } + + public String getFirstLevelRollNo() { + return firstLevelRollNo; + } + + public void setFirstLevelRollNo(String firstLevelRollNo) { + this.firstLevelRollNo = firstLevelRollNo; + } + + public Float getOrderref2() { + return orderref2; + } + + public void setOrderref2(Float orderref2) { + this.orderref2 = orderref2; + } + + public Float getOrderref3() { + return orderref3; + } + + public void setOrderref3(Float orderref3) { + this.orderref3 = orderref3; + } + + public Date getExpiredDate() { + return expiredDate; + } + + public void setExpiredDate(Date expiredDate) { + this.expiredDate = expiredDate; + } } diff --git a/src/main/java/com/gaotao/modules/pda/service/impl/QaServiceImpl.java b/src/main/java/com/gaotao/modules/pda/service/impl/QaServiceImpl.java index d484c46..cab2150 100644 --- a/src/main/java/com/gaotao/modules/pda/service/impl/QaServiceImpl.java +++ b/src/main/java/com/gaotao/modules/pda/service/impl/QaServiceImpl.java @@ -1,6 +1,7 @@ package com.gaotao.modules.pda.service.impl; +import com.gaotao.common.utils.DateUtil; import com.gaotao.modules.pda.dao.QaDao; import com.gaotao.modules.pda.data.QaRollOutData; import com.gaotao.modules.pda.service.QaService; @@ -12,10 +13,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import java.text.ParseException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @@ -312,9 +310,31 @@ public class QaServiceImpl implements QaService { //检测是否现在的卷是否可以参与CQC检验 //已扫描缓存的卷信息数据 List scanedRolls = (List) session.getAttribute("scanedRolls"); + //获取参数 + String site = "1"; + String partNo = scanedRolls.get(0).getPartNo(); + //获取当前物料的有效期信息 + Map partMap = qaDao.getPartDataByPartNo(site, partNo); + //获取是否管控物料 + String controlFlag = String.valueOf(partMap.get("controlFlag")); + Date expiredDate = null; + //判断是否管控 + if ("Y".equalsIgnoreCase(controlFlag)){ + String strExpiredDays = String.valueOf(partMap.get("expiredDays")); + Integer expiredDays = Integer.parseInt(strExpiredDays.substring(0, strExpiredDays.indexOf("."))); + //获取当前N天后的日期 + //获取当前的年月日 + String currentTime = DateUtil.getStringDate(new Date(), "yyyy-MM-dd"); + Date currentDate = DateUtil.getDateByParten(currentTime, "yyyy-MM-dd"); + //判断是否大于零 + if(expiredDays > 0){ + expiredDate = DateUtil.getAddDate(currentDate, expiredDays); + } + } //判断是否可以参与计算(有一个不行就提示失败) for(int i = 0; i < scanedRolls.size(); i++){ QaRollOutData currentRoll = scanedRolls.get(i); + currentRoll.setExpiredDate(expiredDate); String currentRollNo = currentRoll.getRollNo(); if(!rollMap.containsKey(currentRollNo)){ responseData.setCode("200");