Browse Source

pda 成品卷添加有有效期

master
rui_li 4 years ago
parent
commit
5a476116f7
  1. 9
      src/main/java/com/gaotao/modules/pda/dao/QaDao.java
  2. 24
      src/main/java/com/gaotao/modules/pda/dao/impl/QaDaoImpl.java
  3. 333
      src/main/java/com/gaotao/modules/pda/data/QaRollInData.java
  4. 204
      src/main/java/com/gaotao/modules/pda/data/QaRollOutData.java
  5. 28
      src/main/java/com/gaotao/modules/pda/service/impl/QaServiceImpl.java

9
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<QaRollOutData> 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<java.lang.String, java.lang.String>
**/
Map<String, Object> getPartDataByPartNo(String site, String partNo);
}

24
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<String, Object> getPartDataByPartNo(String site, String partNo) {
StringBuilder sql = new StringBuilder();
Map<String, Object> 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<Map<String, Object>> resultList = parameterJdbcTemplate.queryForList(sql.toString(), paramMap);
//判断是否存在结果集
if(resultList.size() > 0){
return resultList.get(0);
}else{
return null;
}
}
}

333
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;
}
}

204
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;
}
}

28
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<QaRollOutData> scanedRolls = (List<QaRollOutData>) session.getAttribute("scanedRolls");
//获取参数
String site = "1";
String partNo = scanedRolls.get(0).getPartNo();
//获取当前物料的有效期信息
Map<String, Object> 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");

Loading…
Cancel
Save