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. 20
      src/main/java/com/gaotao/modules/pda/dao/impl/QaDaoImpl.java
  3. 13
      src/main/java/com/gaotao/modules/pda/data/QaRollInData.java
  4. 14
      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);
}

20
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(" 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(" :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;
}
}
}

13
src/main/java/com/gaotao/modules/pda/data/QaRollInData.java

@ -3,12 +3,10 @@ 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;// 厂商编号
@ -30,6 +28,8 @@ public class QaRollInData {
private String parttypeFlag;// 判断是成品还是材料 或者半成品
private Float orderref2;// 工序号
private Float orderref3;// 派工单号
//过期日期
private Date expiredDate;//过期日期
public QaRollInData() {
// TODO Auto-generated constructor stub
@ -187,4 +187,11 @@ public class QaRollInData {
this.orderref3 = orderref3;
}
public Date getExpiredDate() {
return expiredDate;
}
public void setExpiredDate(Date expiredDate) {
this.expiredDate = expiredDate;
}
}

14
src/main/java/com/gaotao/modules/pda/data/QaRollOutData.java

@ -1,12 +1,12 @@
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;// 厂商编号
@ -19,6 +19,7 @@ public class QaRollOutData {
private String firstLevelRollNo;// 顶级卷号
private Float orderref2;// 工序号
private Float orderref3;// 派工单号
private Date expiredDate;//过期日期
public QaRollOutData() {
// TODO Auto-generated constructor stub
@ -104,4 +105,11 @@ public class QaRollOutData {
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