diff --git a/src/main/java/com/xujie/sys/modules/pms/data/PoOrderData.java b/src/main/java/com/xujie/sys/modules/pms/data/PoOrderData.java new file mode 100644 index 00000000..fa8c0a56 --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/pms/data/PoOrderData.java @@ -0,0 +1,139 @@ +package com.xujie.sys.modules.pms.data; + +public class PoOrderData { + private String site; + private String orderNo; + private String itemNo; + private String partNo; + private String partDesc; + private String spec; + private String supplierId; + private String supplierName; + private String orderQty; + private String createdDate; + private String status; + private String citemCode; + private String citemClass; + private String sendtoAddress; + private String orderType; + + public String getSite() { + return site; + } + + public void setSite(String site) { + this.site = site; + } + + public String getOrderNo() { + return orderNo; + } + + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } + + public String getItemNo() { + return itemNo; + } + + public void setItemNo(String itemNo) { + this.itemNo = itemNo; + } + + public String getPartNo() { + return partNo; + } + + public void setPartNo(String partNo) { + this.partNo = partNo; + } + + public String getPartDesc() { + return partDesc; + } + + public void setPartDesc(String partDesc) { + this.partDesc = partDesc; + } + + public String getSpec() { + return spec; + } + + public void setSpec(String spec) { + this.spec = spec; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getSupplierName() { + return supplierName; + } + + public void setSupplierName(String supplierName) { + this.supplierName = supplierName; + } + + public String getOrderQty() { + return orderQty; + } + + public void setOrderQty(String orderQty) { + this.orderQty = orderQty; + } + + public String getCreatedDate() { + return createdDate; + } + + public void setCreatedDate(String createdDate) { + this.createdDate = createdDate; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getCitemCode() { + return citemCode; + } + + public void setCitemCode(String citemCode) { + this.citemCode = citemCode; + } + + public String getCitemClass() { + return citemClass; + } + + public void setCitemClass(String citemClass) { + this.citemClass = citemClass; + } + + public String getSendtoAddress() { + return sendtoAddress; + } + + public void setSendtoAddress(String sendtoAddress) { + this.sendtoAddress = sendtoAddress; + } + + public String getOrderType() { + return orderType; + } + + public void setOrderType(String orderType) { + this.orderType = orderType; + } +} diff --git a/src/main/java/com/xujie/sys/modules/pms/data/QcFAIRecordData.java b/src/main/java/com/xujie/sys/modules/pms/data/QcFAIRecordData.java index bdc35362..81b3eb8d 100644 --- a/src/main/java/com/xujie/sys/modules/pms/data/QcFAIRecordData.java +++ b/src/main/java/com/xujie/sys/modules/pms/data/QcFAIRecordData.java @@ -149,6 +149,26 @@ public class QcFAIRecordData extends QueryPage { private String spec; // 特殊要求 private String specialRequirements; + // 采购订单 + private String poOrderNo; + // 行号 + private String poItemNo; + + public String getPoOrderNo() { + return poOrderNo; + } + + public void setPoOrderNo(String poOrderNo) { + this.poOrderNo = poOrderNo; + } + + public String getPoItemNo() { + return poItemNo; + } + + public void setPoItemNo(String poItemNo) { + this.poItemNo = poItemNo; + } public String getSpecialRequirements() { return specialRequirements; diff --git a/src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java b/src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java index fa021ee8..b9e3857f 100644 --- a/src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java +++ b/src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java @@ -294,7 +294,7 @@ public interface QcMapper { QcFAIRecordData selectPartDesc(QcFAIRecordData data); - List selectIQCBasicData(); + List selectIQCBasicData(QcFAIRecordData data); void saveIQCDetailedRecord(QcFAIRecordData faiRecordData); @@ -400,4 +400,8 @@ public interface QcMapper { String selectIPQCInspectionNo(QcFAIRecordData data); String selectFAIInspectionNo(QcFAIRecordData data); + + void saveReceivingTask(PoOrderData data); + + List queryDataFromViewPoOrder(QcFAIRecordData qcData); } diff --git a/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java b/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java index fa9cafe2..53c7d46e 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java @@ -1478,150 +1478,6 @@ public class QcServiceImpl implements QcService { @Override @Transactional public PageUtils qcFAIInspectionSearch(QcFAIRecordData data) { -// // 查询FAI基础数据 -// List basicData = qcMapper.selectFAIBasicData(); -// QcFAIRecordData qcFAIRecordData = new QcFAIRecordData(); -// qcFAIRecordData.setSite(data.getSite()); -// for (QcFAIRecordData recordData : basicData) { -// // 查询最大编码,自增后赋值 -// String s = qcMapper.queryLastFAIInspectionNo(qcFAIRecordData); -// if (s == null){ -// qcFAIRecordData.setInspectionNo("10001"); -// }else { -// int no = Integer.parseInt(qcMapper.queryLastFAIInspectionNo(qcFAIRecordData)); -// qcFAIRecordData.setInspectionNo(String.valueOf(++no)); -// } -// // 主记录信息赋值 -// qcFAIRecordData.setState("待检验"); // 状态 -// qcFAIRecordData.setInspectionTypeNo("102"); // 检验类型编码 -// qcFAIRecordData.setOrderNo(recordData.getOrderNo()); // 工单号 -// qcFAIRecordData.setOperationDesc(recordData.getOperationDesc()); // 工序 -// qcFAIRecordData.setResourceId(recordData.getResourceId()); // 机台号 -// qcFAIRecordData.setResourceDesc(recordData.getResourceDesc()); // 机台名 -// qcFAIRecordData.setPartNo(recordData.getPartNo()); // 物料编码 -// qcFAIRecordData.setPartDesc(recordData.getPartDesc()); // 物料名称 -// qcFAIRecordData.setRollQty(recordData.getRollQty()); // 送检数量 -// qcFAIRecordData.setSsrId(recordData.getSsrId()); // ssr的主键ID -// -// // 明细记录信息赋值 -// String partNo = recordData.getPartNo(); -// String attributeType1 = "A"; -// // 获取该物料属性下维护的FAI检验模板 -// String specialField = ""; -// List partAttribute = qcMapper.selectPartAttributeByPartNo(partNo, attributeType1, qcFAIRecordData.getInspectionTypeNo(), specialField); -// if (partAttribute != null){ -// qcFAIRecordData.setInspectionCycle(partAttribute.get(0).getInspectionCycle()); // 检验周期 -// -// // 获取抽样数量 -// QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); -// samplingInspectionProgrammeData.setSamplingProgrammeNo(partAttribute.get(0).getSamplingProgrammeNo()); -// // 获取抽样方案维护的矩阵详情 -// List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); -// // 先根据抽样方案确定抽样数 -// for (QcSamplingInspectionProgrammeData programmeData : dataList) { -// if (programmeData.getSamplingLevelNo() == partAttribute.get(0).getSamplingLevelNo() && (qcFAIRecordData.getRollQty().compareTo(programmeData.getMinQty()) == 1 || qcFAIRecordData.getRollQty().compareTo(programmeData.getMinQty()) == 0) && (qcFAIRecordData.getRollQty().compareTo(programmeData.getMaxQty()) == -1 || qcFAIRecordData.getRollQty().compareTo(programmeData.getMaxQty()) == 0) ){ -// qcFAIRecordData.setSamplingQty(programmeData.getSamplingQty()); -// } -// } -// // 再根据默认抽样数来确定 -// if (qcFAIRecordData.getSamplingQty() == null){ -// qcFAIRecordData.setSamplingQty(partAttribute.get(0).getDefaultSamplingQuantity()); -// } -// // 再根据默认抽样比例来确定 -// if (qcFAIRecordData.getSamplingQty() == null){ -// qcFAIRecordData.setSamplingQty(partAttribute.get(0).getDefaultSamplingProportion().multiply(qcFAIRecordData.getRollQty()).divide(new BigDecimal(100),3,BigDecimal.ROUND_HALF_UP)); -// } -// -// // 获取根据该检验模板下维护的检验项目 -// QcTemplateData templateData = new QcTemplateData(); -// templateData.setTemplateId(partAttribute.get(0).getTemplateId()); -// templateData.setItemType("D"); -// List itemList = qcMapper.templateDetailsSearch(templateData); -// QcFAIRecordData faiRecordData = new QcFAIRecordData(); -// faiRecordData.setInspectionNo(qcFAIRecordData.getInspectionNo()); // 检验单号 -// faiRecordData.setOrderNo(qcFAIRecordData.getOrderNo()); // 工单号 -// faiRecordData.setTemplateId(partAttribute.get(0).getTemplateId()); // 模板编码 -// faiRecordData.setSamplingLevelNo(partAttribute.get(0).getSamplingLevelNo()); // 检验水平编码 -// faiRecordData.setSamplingLevelDesc(partAttribute.get(0).getSamplingLevelDesc()); // 检验水平名称 -// faiRecordData.setSamplingProgrammeNo(partAttribute.get(0).getSamplingProgrammeNo()); // 抽样方案编码 -// faiRecordData.setSamplingProgrammeDesc(partAttribute.get(0).getSamplingProgrammeDesc()); // 抽样方案名称 -// faiRecordData.setAql(partAttribute.get(0).getAql()); // aql -// faiRecordData.setAc(partAttribute.get(0).getAc()); // ac -// faiRecordData.setRe(partAttribute.get(0).getRe()); // re -// for (QcTemplateData itemData : itemList) { -// faiRecordData.setItemNo(itemData.getItemNo()); // 项目编码 -// faiRecordData.setItemDesc(itemData.getItemDesc()); // 项目名称 -// faiRecordData.setObjectId(itemData.getObjectID()); // 设备编码 -// faiRecordData.setObjectDesc(itemData.getObjectDesc()); // 设备名称 -// faiRecordData.setDefaultValue(itemData.getDefaultValue()); // 默认值 -// faiRecordData.setMinValue(itemData.getMinValue()); // 最小值 -// faiRecordData.setMaxValue(itemData.getMaxValue()); // 最大值 -// faiRecordData.setValueType(itemData.getValueType()); // 检测值类型 -// faiRecordData.setValueTypeDb(itemData.getValueTypeDb()); -// // 新增FAI明细记录信息 -// qcMapper.saveFAIDetailedRecord(faiRecordData); -// } -// }else { -// // 获取物料的类别编码 -// String familyId = qcMapper.selectFamilyIdByPartNo(partNo,data.getSite()); -// String attributeType2 = "B"; -// // 获取该类别属性下维护的FAI检验模板 -// QcFAIRecordData familyAttribute = qcMapper.selectFamilyAttributeByFamilyId(familyId, attributeType2, qcFAIRecordData.getInspectionTypeNo()); -// qcFAIRecordData.setInspectionCycle(familyAttribute.getInspectionCycle()); -// -// // 获取抽样数量 -// QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); -// samplingInspectionProgrammeData.setSamplingProgrammeNo(familyAttribute.getSamplingProgrammeNo()); -// // 获取抽样方案维护的矩阵详情 -// List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); -// // 先根据抽样方案确定抽样数 -// for (QcSamplingInspectionProgrammeData programmeData : dataList) { -// if (programmeData.getSamplingLevelNo() == familyAttribute.getSamplingLevelNo() && (qcFAIRecordData.getRollQty().compareTo(programmeData.getMinQty()) == 1 || qcFAIRecordData.getRollQty().compareTo(programmeData.getMinQty()) == 0) && (qcFAIRecordData.getRollQty().compareTo(programmeData.getMaxQty()) == -1 || qcFAIRecordData.getRollQty().compareTo(programmeData.getMaxQty()) == 0) ){ -// qcFAIRecordData.setSamplingQty(programmeData.getSamplingQty()); -// } -// } -// // 再根据默认抽样数来确定 -// if (qcFAIRecordData.getSamplingQty() == null){ -// qcFAIRecordData.setSamplingQty(familyAttribute.getDefaultSamplingQuantity()); -// } -// // 再根据默认抽样比例来确定 -// if (qcFAIRecordData.getSamplingQty() == null){ -// qcFAIRecordData.setSamplingQty(familyAttribute.getDefaultSamplingProportion().multiply(qcFAIRecordData.getRollQty()).divide(new BigDecimal(100),3,BigDecimal.ROUND_HALF_UP)); -// } -// -// // 获取根据该检验模板下维护的检验项目 -// QcTemplateData templateData = new QcTemplateData(); -// templateData.setTemplateId(familyAttribute.getTemplateId()); -// templateData.setItemType("D"); -// List itemList = qcMapper.templateDetailsSearch(templateData); -// QcFAIRecordData faiRecordData = new QcFAIRecordData(); -// faiRecordData.setInspectionNo(qcFAIRecordData.getInspectionNo()); // 检验单号 -// faiRecordData.setOrderNo(qcFAIRecordData.getOrderNo()); // 工单号 -// faiRecordData.setTemplateId(familyAttribute.getTemplateId()); // 模板编码 -// faiRecordData.setSamplingLevelNo(familyAttribute.getSamplingLevelNo()); // 检验水平编码 -// faiRecordData.setSamplingLevelDesc(familyAttribute.getSamplingLevelDesc()); // 检验水平名称 -// faiRecordData.setSamplingProgrammeNo(familyAttribute.getSamplingProgrammeNo()); // 抽样方案编码 -// faiRecordData.setSamplingProgrammeDesc(familyAttribute.getSamplingProgrammeDesc()); // 抽样方案名称 -// faiRecordData.setAql(familyAttribute.getAql()); // aql -// faiRecordData.setAc(familyAttribute.getAc()); // ac -// faiRecordData.setRe(familyAttribute.getRe()); // re -// for (QcTemplateData itemData : itemList) { -// faiRecordData.setItemNo(itemData.getItemNo()); // 项目编码 -// faiRecordData.setItemDesc(itemData.getItemDesc()); // 项目名称 -// faiRecordData.setObjectId(itemData.getObjectID()); // 设备编码 -// faiRecordData.setObjectDesc(itemData.getObjectDesc()); // 设备名称 -// faiRecordData.setDefaultValue(itemData.getDefaultValue()); // 默认值 -// faiRecordData.setMinValue(itemData.getMinValue()); // 最小值 -// faiRecordData.setMaxValue(itemData.getMaxValue()); // 最大值 -// faiRecordData.setValueType(itemData.getValueType()); // 检测值类型 -// faiRecordData.setValueTypeDb(itemData.getValueTypeDb()); -// // 新增FAI明细记录信息 -// qcMapper.saveFAIDetailedRecord(faiRecordData); -// } -// } -// // 新增FAI主记录信息 -// qcMapper.saveFAIRecord(qcFAIRecordData); -// } // 查询FAI主记录信息 IPage resultList = this.qcMapper.qcFAIInspectionSearch(new Page(data.getPage(), data.getLimit()), data); return new PageUtils(resultList); @@ -1652,25 +1508,29 @@ public class QcServiceImpl implements QcService { resourceId = data.getResourceId(); } List partAttribute = qcMapper.selectPartAttributeByOperationAndResource(data.getSite(), partNo, attributeType1, data.getInspectionTypeNo(),operationDesc, resourceId); - if (partAttribute != null && partAttribute.size() > 0) { - data.setInspectionCycle(partAttribute.get(0).getInspectionCycle()); + if (partAttribute.size() > 0) { + // 获取检验周期 + if (partAttribute.get(0).getInspectionCycle() != null) { + data.setInspectionCycle(partAttribute.get(0).getInspectionCycle()); + } // 获取抽样数量 - QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); - samplingInspectionProgrammeData.setSamplingProgrammeNo(partAttribute.get(0).getSamplingProgrammeNo()); - // 获取抽样方案维护的矩阵详情 - List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); - // 先根据抽样方案确定抽样数 - for (int a = 0; a < dataList.size(); a++) { - if (dataList.get(a).getSamplingLevelNo().equals(partAttribute.get(0).getSamplingLevelNo()) && (data.getRollQty().compareTo(dataList.get(a).getMinQty()) == 1 || data.getRollQty().compareTo(dataList.get(a).getMinQty()) == 0) && (data.getRollQty().compareTo(dataList.get(a).getMaxQty()) == -1 || data.getRollQty().compareTo(dataList.get(a).getMaxQty()) == 0) ){ - data.setSamplingQty(dataList.get(a).getSamplingQty()); + // 如果该检验模板有维护抽样方案 + if (StringUtils.isNotBlank(partAttribute.get(0).getSamplingProgrammeNo())) { + QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); + samplingInspectionProgrammeData.setSamplingProgrammeNo(partAttribute.get(0).getSamplingProgrammeNo()); + // 获取抽样方案维护的矩阵详情 + List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); + // 根据抽样方案确定抽样数 + for (QcSamplingInspectionProgrammeData programmeData : dataList) { + if (programmeData.getSamplingLevelNo().equals(partAttribute.get(0).getSamplingLevelNo()) && (data.getRollQty().compareTo(programmeData.getMinQty()) == 1 || data.getRollQty().compareTo(programmeData.getMinQty()) == 0) && (data.getRollQty().compareTo(programmeData.getMaxQty()) == -1 || data.getRollQty().compareTo(programmeData.getMaxQty()) == 0) ){ + data.setSamplingQty(programmeData.getSamplingQty()); + } } - } - // 再根据默认抽样数来确定 - if (data.getSamplingQty() == null && partAttribute.get(0).getDefaultSamplingQuantity() != null){ + } else if (partAttribute.get(0).getDefaultSamplingQuantity() != null) { + // 没有维护抽样方案,再根据默认抽样数来确定 data.setSamplingQty(partAttribute.get(0).getDefaultSamplingQuantity()); - } - // 再根据默认抽样比例来确定 - if (data.getSamplingQty() == null && partAttribute.get(0).getDefaultSamplingProportion() != null){ + } else if (partAttribute.get(0).getDefaultSamplingProportion() != null) { + // 也没有维护默认抽样数,最后根据默认抽样比例来确定 data.setSamplingQty(partAttribute.get(0).getDefaultSamplingProportion().multiply(data.getRollQty()).divide(new BigDecimal(100),3,BigDecimal.ROUND_HALF_UP)); } @@ -1711,25 +1571,29 @@ public class QcServiceImpl implements QcService { String attributeType2 = "B"; // 获取该类别属性下维护的FAI检验模板 List familyAttribute = qcMapper.selectPartAttributeByOperationAndResource(data.getSite(), familyId, attributeType2, data.getInspectionTypeNo(),operationDesc, resourceId); - if (familyAttribute != null && familyAttribute.size() > 0) { - data.setInspectionCycle(familyAttribute.get(0).getInspectionCycle()); + if (familyAttribute.size() > 0) { + // 获取检验周期 + if (familyAttribute.get(0).getInspectionCycle() != null) { + data.setInspectionCycle(familyAttribute.get(0).getInspectionCycle()); + } // 获取抽样数量 - QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); - samplingInspectionProgrammeData.setSamplingProgrammeNo(familyAttribute.get(0).getSamplingProgrammeNo()); - // 获取抽样方案维护的矩阵详情 - List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); - // 先根据抽样方案确定抽样数 - for (int a = 0; a < dataList.size(); a++) { - if (dataList.get(a).getSamplingLevelNo().equals(familyAttribute.get(0).getSamplingLevelNo()) && (data.getRollQty().compareTo(dataList.get(a).getMinQty()) == 1 || data.getRollQty().compareTo(dataList.get(a).getMinQty()) == 0) && (data.getRollQty().compareTo(dataList.get(a).getMaxQty()) == -1 || data.getRollQty().compareTo(dataList.get(a).getMaxQty()) == 0) ){ - data.setSamplingQty(dataList.get(a).getSamplingQty()); + // 如果该检验模板有维护抽样方案 + if (StringUtils.isNotBlank(familyAttribute.get(0).getSamplingProgrammeNo())) { + QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); + samplingInspectionProgrammeData.setSamplingProgrammeNo(familyAttribute.get(0).getSamplingProgrammeNo()); + // 获取抽样方案维护的矩阵详情 + List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); + // 根据抽样方案确定抽样数 + for (QcSamplingInspectionProgrammeData programmeData : dataList) { + if (programmeData.getSamplingLevelNo().equals(familyAttribute.get(0).getSamplingLevelNo()) && (data.getRollQty().compareTo(programmeData.getMinQty()) == 1 || data.getRollQty().compareTo(programmeData.getMinQty()) == 0) && (data.getRollQty().compareTo(programmeData.getMaxQty()) == -1 || data.getRollQty().compareTo(programmeData.getMaxQty()) == 0) ){ + data.setSamplingQty(programmeData.getSamplingQty()); + } } - } - // 再根据默认抽样数来确定 - if (data.getSamplingQty() == null && familyAttribute.get(0).getDefaultSamplingQuantity() != null){ + } else if (familyAttribute.get(0).getDefaultSamplingQuantity() != null) { + // 没有维护抽样方案,再根据默认抽样数来确定 data.setSamplingQty(familyAttribute.get(0).getDefaultSamplingQuantity()); - } - // 再根据默认抽样比例来确定 - if (data.getSamplingQty() == null && familyAttribute.get(0).getDefaultSamplingProportion() != null){ + } else if (familyAttribute.get(0).getDefaultSamplingProportion() != null) { + // 也没有维护默认抽样数,最后根据默认抽样比例来确定 data.setSamplingQty(familyAttribute.get(0).getDefaultSamplingProportion().multiply(data.getRollQty()).divide(new BigDecimal(100),3,BigDecimal.ROUND_HALF_UP)); } @@ -1962,25 +1826,29 @@ public class QcServiceImpl implements QcService { resourceId = data.getResourceId(); } List partAttribute = qcMapper.selectPartAttributeByOperationAndResource(data.getSite(), partNo, attributeType1, data.getInspectionTypeNo(),operationDesc, resourceId); - if (partAttribute != null && partAttribute.size() > 0) { - data.setInspectionCycle(partAttribute.get(0).getInspectionCycle()); + if (partAttribute.size() > 0) { // 获取抽样数量 - QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); - samplingInspectionProgrammeData.setSamplingProgrammeNo(partAttribute.get(0).getSamplingProgrammeNo()); - // 获取抽样方案维护的矩阵详情 - List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); - // 先根据抽样方案确定抽样数 - for (int a = 0; a < dataList.size(); a++) { - if (dataList.get(a).getSamplingLevelNo().equals(partAttribute.get(0).getSamplingLevelNo()) && (data.getRollQty().compareTo(dataList.get(a).getMinQty()) == 1 || data.getRollQty().compareTo(dataList.get(a).getMinQty()) == 0) && (data.getRollQty().compareTo(dataList.get(a).getMaxQty()) == -1 || data.getRollQty().compareTo(dataList.get(a).getMaxQty()) == 0) ){ - data.setSamplingQty(dataList.get(a).getSamplingQty()); - } + if (partAttribute.get(0).getInspectionCycle() != null) { + data.setInspectionCycle(partAttribute.get(0).getInspectionCycle()); } - // 再根据默认抽样数来确定 - if (data.getSamplingQty() == null && partAttribute.get(0).getDefaultSamplingQuantity() != null){ + // 获取抽样数量 + // 如果该检验模板有维护抽样方案 + if (StringUtils.isNotBlank(partAttribute.get(0).getSamplingProgrammeNo())) { + QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); + samplingInspectionProgrammeData.setSamplingProgrammeNo(partAttribute.get(0).getSamplingProgrammeNo()); + // 获取抽样方案维护的矩阵详情 + List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); + // 根据抽样方案确定抽样数 + for (QcSamplingInspectionProgrammeData programmeData : dataList) { + if (programmeData.getSamplingLevelNo().equals(partAttribute.get(0).getSamplingLevelNo()) && (data.getRollQty().compareTo(programmeData.getMinQty()) == 1 || data.getRollQty().compareTo(programmeData.getMinQty()) == 0) && (data.getRollQty().compareTo(programmeData.getMaxQty()) == -1 || data.getRollQty().compareTo(programmeData.getMaxQty()) == 0) ){ + data.setSamplingQty(programmeData.getSamplingQty()); + } + } + } else if (partAttribute.get(0).getDefaultSamplingQuantity() != null) { + // 没有维护抽样方案,再根据默认抽样数来确定 data.setSamplingQty(partAttribute.get(0).getDefaultSamplingQuantity()); - } - // 再根据默认抽样比例来确定 - if (data.getSamplingQty() == null && partAttribute.get(0).getDefaultSamplingProportion() != null){ + } else if (partAttribute.get(0).getDefaultSamplingProportion() != null) { + // 也没有维护默认抽样数,最后根据默认抽样比例来确定 data.setSamplingQty(partAttribute.get(0).getDefaultSamplingProportion().multiply(data.getRollQty()).divide(new BigDecimal(100),3,BigDecimal.ROUND_HALF_UP)); } @@ -2021,25 +1889,29 @@ public class QcServiceImpl implements QcService { String attributeType2 = "B"; // 获取该类别属性下维护的FQC检验模板 List familyAttribute = qcMapper.selectPartAttributeByOperationAndResource(data.getSite(), familyId, attributeType2, data.getInspectionTypeNo(),operationDesc, resourceId); - if (familyAttribute != null && familyAttribute.size() > 0) { - data.setInspectionCycle(familyAttribute.get(0).getInspectionCycle()); + if (familyAttribute.size() > 0) { + // 获取检验周期 + if (familyAttribute.get(0).getInspectionCycle() != null) { + data.setInspectionCycle(familyAttribute.get(0).getInspectionCycle()); + } // 获取抽样数量 - QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); - samplingInspectionProgrammeData.setSamplingProgrammeNo(familyAttribute.get(0).getSamplingProgrammeNo()); - // 获取抽样方案维护的矩阵详情 - List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); - // 先根据抽样方案确定抽样数 - for (int a = 0; a < dataList.size(); a++) { - if (dataList.get(a).getSamplingLevelNo().equals(familyAttribute.get(0).getSamplingLevelNo()) && (data.getRollQty().compareTo(dataList.get(a).getMinQty()) == 1 || data.getRollQty().compareTo(dataList.get(a).getMinQty()) == 0) && (data.getRollQty().compareTo(dataList.get(a).getMaxQty()) == -1 || data.getRollQty().compareTo(dataList.get(a).getMaxQty()) == 0) ){ - data.setSamplingQty(dataList.get(a).getSamplingQty()); + // 如果该检验模板有维护抽样方案 + if (StringUtils.isNotBlank(familyAttribute.get(0).getSamplingProgrammeNo())) { + QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); + samplingInspectionProgrammeData.setSamplingProgrammeNo(familyAttribute.get(0).getSamplingProgrammeNo()); + // 获取抽样方案维护的矩阵详情 + List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); + // 根据抽样方案确定抽样数 + for (QcSamplingInspectionProgrammeData programmeData : dataList) { + if (programmeData.getSamplingLevelNo().equals(familyAttribute.get(0).getSamplingLevelNo()) && (data.getRollQty().compareTo(programmeData.getMinQty()) == 1 || data.getRollQty().compareTo(programmeData.getMinQty()) == 0) && (data.getRollQty().compareTo(programmeData.getMaxQty()) == -1 || data.getRollQty().compareTo(programmeData.getMaxQty()) == 0) ){ + data.setSamplingQty(programmeData.getSamplingQty()); + } } - } - // 再根据默认抽样数来确定 - if (data.getSamplingQty() == null && familyAttribute.get(0).getDefaultSamplingQuantity() != null){ + } else if (familyAttribute.get(0).getDefaultSamplingQuantity() != null) { + // 没有维护抽样方案,再根据默认抽样数来确定 data.setSamplingQty(familyAttribute.get(0).getDefaultSamplingQuantity()); - } - // 再根据默认抽样比例来确定 - if (data.getSamplingQty() == null && familyAttribute.get(0).getDefaultSamplingProportion() != null){ + } else if (familyAttribute.get(0).getDefaultSamplingProportion() != null) { + // 也没有维护默认抽样数,最后根据默认抽样比例来确定 data.setSamplingQty(familyAttribute.get(0).getDefaultSamplingProportion().multiply(data.getRollQty()).divide(new BigDecimal(100),3,BigDecimal.ROUND_HALF_UP)); } @@ -2236,156 +2108,6 @@ public class QcServiceImpl implements QcService { @Override @Transactional public PageUtils qcIPQCInspectionSearch(QcFAIRecordData data) { - // 查询IPQC基础数据 - //List basicData = qcMapper.selectIPQCBasicData(); -// List basicData = qcMapper.qcExec(data.getSite()); -// QcFAIRecordData qcFAIRecordData = new QcFAIRecordData(); -// qcFAIRecordData.setSite(data.getSite()); -// for (QcFAIRecordData recordData : basicData) { -// // 查询最大编码,自增后赋值 -// String s = qcMapper.queryLastIPQCInspectionNo(qcFAIRecordData); -// if (s == null){ -// qcFAIRecordData.setInspectionNo("10001"); -// }else { -// int no = Integer.parseInt(qcMapper.queryLastIPQCInspectionNo(qcFAIRecordData)); -// qcFAIRecordData.setInspectionNo(String.valueOf(++no)); -// } -// // 主记录信息赋值 -// qcFAIRecordData.setState("待检验"); // 状态 -// qcFAIRecordData.setInspectionTypeNo("101"); // 检验类型编码 -// qcFAIRecordData.setCheckType("首件检"); -// qcFAIRecordData.setOrderNo(recordData.getOrderNo()); // 工单号 -// qcFAIRecordData.setOperationDesc(recordData.getOperationDesc()); // 工序 -// qcFAIRecordData.setResourceId(recordData.getResourceId()); // 机台号 -// qcFAIRecordData.setResourceDesc(recordData.getResourceDesc()); // 机台名 -// qcFAIRecordData.setPartNo(recordData.getPartNo()); // 物料编码 -// qcFAIRecordData.setPartDesc(recordData.getPartDesc()); // 物料名称 -// qcFAIRecordData.setRollQty(recordData.getRollQty()); // 送检数量 -// qcFAIRecordData.setSsrId(recordData.getSsrId()); // ssr的主键ID -// -// // 明细记录信息赋值 -// String partNo = recordData.getPartNo(); -// String attributeType1 = "A"; -// // 获取该物料属性下维护的IPQC检验模板 -// String specialField = ""; -// List partAttribute = qcMapper.selectPartAttributeByPartNo(partNo, attributeType1, qcFAIRecordData.getInspectionTypeNo(),specialField); -// if (partAttribute != null && partAttribute.size() > 0){ -// qcFAIRecordData.setInspectionCycle(partAttribute.get(0).getInspectionCycle()); -// -// // 获取抽样数量 -// QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); -// samplingInspectionProgrammeData.setSamplingProgrammeNo(partAttribute.get(0).getSamplingProgrammeNo()); -// // 获取抽样方案维护的矩阵详情 -// List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); -// // 先根据抽样方案确定抽样数 -// for (QcSamplingInspectionProgrammeData ProgrammeData : dataList) { -// if (ProgrammeData.getSamplingLevelNo() == partAttribute.get(0).getSamplingLevelNo() && (qcFAIRecordData.getRollQty().compareTo(ProgrammeData.getMinQty()) == 1 || qcFAIRecordData.getRollQty().compareTo(ProgrammeData.getMinQty()) == 0) && (qcFAIRecordData.getRollQty().compareTo(ProgrammeData.getMaxQty()) == -1 || qcFAIRecordData.getRollQty().compareTo(ProgrammeData.getMaxQty()) == 0) ){ -// qcFAIRecordData.setSamplingQty(ProgrammeData.getSamplingQty()); -// } -// } -// // 再根据默认抽样数来确定 -// if (qcFAIRecordData.getSamplingQty() == null){ -// qcFAIRecordData.setSamplingQty(partAttribute.get(0).getDefaultSamplingQuantity()); -// } -// // 再根据默认抽样比例来确定 -// if (qcFAIRecordData.getSamplingQty() == null){ -// qcFAIRecordData.setSamplingQty(partAttribute.get(0).getDefaultSamplingProportion().multiply(qcFAIRecordData.getRollQty()).divide(new BigDecimal(100),3,BigDecimal.ROUND_HALF_UP)); -// } -// -// // 获取根据该检验模板下维护的检验项目 -// QcTemplateData templateData = new QcTemplateData(); -// templateData.setTemplateId(partAttribute.get(0).getTemplateId()); -// templateData.setItemType("D"); -// List itemList = qcMapper.templateDetailsSearch(templateData); -// QcFAIRecordData faiRecordData = new QcFAIRecordData(); -// faiRecordData.setInspectionNo(qcFAIRecordData.getInspectionNo()); // 检验单号 -// faiRecordData.setOrderNo(qcFAIRecordData.getOrderNo()); // 工单号 -// faiRecordData.setTemplateId(partAttribute.get(0).getTemplateId()); // 模板编码 -// faiRecordData.setSamplingLevelNo(partAttribute.get(0).getSamplingLevelNo()); // 检验水平编码 -// faiRecordData.setSamplingLevelDesc(partAttribute.get(0).getSamplingLevelDesc()); // 检验水平名称 -// faiRecordData.setSamplingProgrammeNo(partAttribute.get(0).getSamplingProgrammeNo()); // 抽样方案编码 -// faiRecordData.setSamplingProgrammeDesc(partAttribute.get(0).getSamplingProgrammeDesc()); // 抽样方案名称 -// faiRecordData.setAql(partAttribute.get(0).getAql()); // aql -// faiRecordData.setAc(partAttribute.get(0).getAc()); // ac -// faiRecordData.setRe(partAttribute.get(0).getRe()); // re -// for (QcTemplateData itemData : itemList) { -// faiRecordData.setItemNo(itemData.getItemNo()); // 项目编码 -// faiRecordData.setItemDesc(itemData.getItemDesc()); // 项目名称 -// faiRecordData.setObjectId(itemData.getObjectID()); // 设备编码 -// faiRecordData.setObjectDesc(itemData.getObjectDesc()); // 设备名称 -// faiRecordData.setDefaultValue(itemData.getDefaultValue()); // 默认值 -// faiRecordData.setMinValue(itemData.getMinValue()); // 最小值 -// faiRecordData.setMaxValue(itemData.getMaxValue()); // 最大值 -// faiRecordData.setValueType(itemData.getValueType()); // 检测值类型 -// faiRecordData.setValueTypeDb(itemData.getValueTypeDb()); -// // 新增IPQC明细记录信息 -// qcMapper.saveIPQCDetailedRecord(faiRecordData); -// } -// }else { -// // 获取物料的类别编码 -// String familyId = qcMapper.selectFamilyIdByPartNo(partNo,data.getSite()); -// String attributeType2 = "B"; -// // 获取该类别属性下维护的IPQC检验模板 -// QcFAIRecordData familyAttribute = qcMapper.selectFamilyAttributeByFamilyId(familyId, attributeType2, qcFAIRecordData.getInspectionTypeNo()); -// if (familyAttribute == null || familyAttribute.getInspectionCycle() == null){ -// qcFAIRecordData.setInspectionCycle(null); -// }else { -// qcFAIRecordData.setInspectionCycle(familyAttribute.getInspectionCycle()); -// // 获取抽样数量 -// QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); -// if (familyAttribute.getSamplingProgrammeNo() != null){ -// samplingInspectionProgrammeData.setSamplingProgrammeNo(familyAttribute.getSamplingProgrammeNo()); -// } -// // 获取抽样方案维护的矩阵详情 -// List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); -// // 先根据抽样方案确定抽样数 -// for (QcSamplingInspectionProgrammeData programmeData : dataList) { -// if (programmeData.getSamplingLevelNo() == familyAttribute.getSamplingLevelNo() && (qcFAIRecordData.getRollQty().compareTo(programmeData.getMinQty()) == 1 || qcFAIRecordData.getRollQty().compareTo(programmeData.getMinQty()) == 0) && (qcFAIRecordData.getRollQty().compareTo(programmeData.getMaxQty()) == -1 || qcFAIRecordData.getRollQty().compareTo(programmeData.getMaxQty()) == 0) ){ -// qcFAIRecordData.setSamplingQty(programmeData.getSamplingQty()); -// } -// } -// // 再根据默认抽样数来确定 -// if (qcFAIRecordData.getSamplingQty() == null){ -// qcFAIRecordData.setSamplingQty(familyAttribute.getDefaultSamplingQuantity()); -// } -// // 再根据默认抽样比例来确定 -// if (qcFAIRecordData.getSamplingQty() == null){ -// qcFAIRecordData.setSamplingQty(familyAttribute.getDefaultSamplingProportion().multiply(qcFAIRecordData.getRollQty()).divide(new BigDecimal(100),3,BigDecimal.ROUND_HALF_UP)); -// } -// // 获取根据该检验模板下维护的检验项目 -// QcTemplateData templateData = new QcTemplateData(); -// templateData.setTemplateId(familyAttribute.getTemplateId()); -// templateData.setItemType("D"); -// List itemList = qcMapper.templateDetailsSearch(templateData); -// QcFAIRecordData faiRecordData = new QcFAIRecordData(); -// faiRecordData.setInspectionNo(qcFAIRecordData.getInspectionNo()); // 检验单号 -// faiRecordData.setOrderNo(qcFAIRecordData.getOrderNo()); // 工单号 -// faiRecordData.setTemplateId(familyAttribute.getTemplateId()); // 模板编码 -// faiRecordData.setSamplingLevelNo(familyAttribute.getSamplingLevelNo()); // 检验水平编码 -// faiRecordData.setSamplingLevelDesc(familyAttribute.getSamplingLevelDesc()); // 检验水平名称 -// faiRecordData.setSamplingProgrammeNo(familyAttribute.getSamplingProgrammeNo()); // 抽样方案编码 -// faiRecordData.setSamplingProgrammeDesc(familyAttribute.getSamplingProgrammeDesc()); // 抽样方案名称 -// faiRecordData.setAql(familyAttribute.getAql()); // aql -// faiRecordData.setAc(familyAttribute.getAc()); // ac -// faiRecordData.setRe(familyAttribute.getRe()); // re -// for (QcTemplateData itemData : itemList) { -// faiRecordData.setItemNo(itemData.getItemNo()); // 项目编码 -// faiRecordData.setItemDesc(itemData.getItemDesc()); // 项目名称 -// faiRecordData.setObjectId(itemData.getObjectID()); // 设备编码 -// faiRecordData.setObjectDesc(itemData.getObjectDesc()); // 设备名称 -// faiRecordData.setDefaultValue(itemData.getDefaultValue()); // 默认值 -// faiRecordData.setMinValue(itemData.getMinValue()); // 最小值 -// faiRecordData.setMaxValue(itemData.getMaxValue()); // 最大值 -// faiRecordData.setValueType(itemData.getValueType()); // 检测值类型 -// faiRecordData.setValueTypeDb(itemData.getValueTypeDb()); -// // 新增IPQC明细记录信息 -// qcMapper.saveIPQCDetailedRecord(faiRecordData); -// } -// } -// } -// // 新增IPQC主记录信息 -// qcMapper.saveIPQCRecord(qcFAIRecordData); -// } // 查询FAI主记录信息 IPage resultList = this.qcMapper.qcIPQCInspectionSearch(new Page(data.getPage(), data.getLimit()), data); return new PageUtils(resultList); @@ -2416,25 +2138,29 @@ public class QcServiceImpl implements QcService { resourceId = data.getResourceId(); } List partAttribute = qcMapper.selectPartAttributeByOperationAndResource(data.getSite(), partNo, attributeType1, data.getInspectionTypeNo(),operationDesc, resourceId); - if (partAttribute != null && partAttribute.size() > 0) { - data.setInspectionCycle(partAttribute.get(0).getInspectionCycle()); + if (partAttribute.size() > 0) { + // 获取检验周期 + if (partAttribute.get(0).getInspectionCycle() != null) { + data.setInspectionCycle(partAttribute.get(0).getInspectionCycle()); + } // 获取抽样数量 - QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); - samplingInspectionProgrammeData.setSamplingProgrammeNo(partAttribute.get(0).getSamplingProgrammeNo()); - // 获取抽样方案维护的矩阵详情 - List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); - // 先根据抽样方案确定抽样数 - for (int a = 0; a < dataList.size(); a++) { - if (dataList.get(a).getSamplingLevelNo().equals(partAttribute.get(0).getSamplingLevelNo()) && (data.getRollQty().compareTo(dataList.get(a).getMinQty()) == 1 || data.getRollQty().compareTo(dataList.get(a).getMinQty()) == 0) && (data.getRollQty().compareTo(dataList.get(a).getMaxQty()) == -1 || data.getRollQty().compareTo(dataList.get(a).getMaxQty()) == 0) ){ - data.setSamplingQty(dataList.get(a).getSamplingQty()); + // 如果该检验模板有维护抽样方案 + if (StringUtils.isNotBlank(partAttribute.get(0).getSamplingProgrammeNo())) { + QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); + samplingInspectionProgrammeData.setSamplingProgrammeNo(partAttribute.get(0).getSamplingProgrammeNo()); + // 获取抽样方案维护的矩阵详情 + List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); + // 根据抽样方案确定抽样数 + for (QcSamplingInspectionProgrammeData programmeData : dataList) { + if (programmeData.getSamplingLevelNo().equals(partAttribute.get(0).getSamplingLevelNo()) && (data.getRollQty().compareTo(programmeData.getMinQty()) == 1 || data.getRollQty().compareTo(programmeData.getMinQty()) == 0) && (data.getRollQty().compareTo(programmeData.getMaxQty()) == -1 || data.getRollQty().compareTo(programmeData.getMaxQty()) == 0) ){ + data.setSamplingQty(programmeData.getSamplingQty()); + } } - } - // 再根据默认抽样数来确定 - if (data.getSamplingQty() == null && partAttribute.get(0).getDefaultSamplingQuantity() != null){ + } else if (partAttribute.get(0).getDefaultSamplingQuantity() != null) { + // 没有维护抽样方案,再根据默认抽样数来确定 data.setSamplingQty(partAttribute.get(0).getDefaultSamplingQuantity()); - } - // 再根据默认抽样比例来确定 - if (data.getSamplingQty() == null && partAttribute.get(0).getDefaultSamplingProportion() != null){ + } else if (partAttribute.get(0).getDefaultSamplingProportion() != null) { + // 也没有维护默认抽样数,最后根据默认抽样比例来确定 data.setSamplingQty(partAttribute.get(0).getDefaultSamplingProportion().multiply(data.getRollQty()).divide(new BigDecimal(100),3,BigDecimal.ROUND_HALF_UP)); } @@ -2475,25 +2201,29 @@ public class QcServiceImpl implements QcService { String attributeType2 = "B"; // 获取该类别属性下维护的IPQC检验模板 List familyAttribute = qcMapper.selectPartAttributeByOperationAndResource(data.getSite(), familyId, attributeType2, data.getInspectionTypeNo(),operationDesc, resourceId); - if (familyAttribute != null && familyAttribute.size() > 0) { - data.setInspectionCycle(familyAttribute.get(0).getInspectionCycle()); + if (familyAttribute.size() > 0) { + // 获取检验周期 + if (familyAttribute.get(0).getInspectionCycle() != null) { + data.setInspectionCycle(familyAttribute.get(0).getInspectionCycle()); + } // 获取抽样数量 - QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); - samplingInspectionProgrammeData.setSamplingProgrammeNo(familyAttribute.get(0).getSamplingProgrammeNo()); - // 获取抽样方案维护的矩阵详情 - List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); - // 先根据抽样方案确定抽样数 - for (int a = 0; a < dataList.size(); a++) { - if (dataList.get(a).getSamplingLevelNo().equals(familyAttribute.get(0).getSamplingLevelNo()) && (data.getRollQty().compareTo(dataList.get(a).getMinQty()) == 1 || data.getRollQty().compareTo(dataList.get(a).getMinQty()) == 0) && (data.getRollQty().compareTo(dataList.get(a).getMaxQty()) == -1 || data.getRollQty().compareTo(dataList.get(a).getMaxQty()) == 0) ){ - data.setSamplingQty(dataList.get(a).getSamplingQty()); + // 如果该检验模板有维护抽样方案 + if (StringUtils.isNotBlank(familyAttribute.get(0).getSamplingProgrammeNo())) { + QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); + samplingInspectionProgrammeData.setSamplingProgrammeNo(familyAttribute.get(0).getSamplingProgrammeNo()); + // 获取抽样方案维护的矩阵详情 + List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); + // 根据抽样方案确定抽样数 + for (QcSamplingInspectionProgrammeData programmeData : dataList) { + if (programmeData.getSamplingLevelNo().equals(familyAttribute.get(0).getSamplingLevelNo()) && (data.getRollQty().compareTo(programmeData.getMinQty()) == 1 || data.getRollQty().compareTo(programmeData.getMinQty()) == 0) && (data.getRollQty().compareTo(programmeData.getMaxQty()) == -1 || data.getRollQty().compareTo(programmeData.getMaxQty()) == 0) ){ + data.setSamplingQty(programmeData.getSamplingQty()); + } } - } - // 再根据默认抽样数来确定 - if (data.getSamplingQty() == null && familyAttribute.get(0).getDefaultSamplingQuantity() != null){ + } else if (familyAttribute.get(0).getDefaultSamplingQuantity() != null) { + // 没有维护抽样方案,再根据默认抽样数来确定 data.setSamplingQty(familyAttribute.get(0).getDefaultSamplingQuantity()); - } - // 再根据默认抽样比例来确定 - if (data.getSamplingQty() == null && familyAttribute.get(0).getDefaultSamplingProportion() != null){ + } else if (familyAttribute.get(0).getDefaultSamplingProportion() != null) { + // 也没有维护默认抽样数,最后根据默认抽样比例来确定 data.setSamplingQty(familyAttribute.get(0).getDefaultSamplingProportion().multiply(data.getRollQty()).divide(new BigDecimal(100),3,BigDecimal.ROUND_HALF_UP)); } @@ -2750,7 +2480,7 @@ public class QcServiceImpl implements QcService { @Transactional public PageUtils qcIQCInspectionSearch(QcFAIRecordData data) { // 查询送检单里的全部数据 - List basicData = qcMapper.selectIQCBasicData(); + List basicData = qcMapper.selectIQCBasicData(data); // 新建对象存放主记录 QcFAIRecordData qcFAIRecordData = new QcFAIRecordData(); qcFAIRecordData.setSite(data.getSite()); @@ -2760,11 +2490,11 @@ public class QcServiceImpl implements QcService { if (StringUtils.isNotBlank(recordData.getSupplierNo())) { supplierNo = recordData.getSupplierNo(); } - // 查询该记录是否已存在明细 - List detailData = qcMapper.checkIQCDetail(recordData); - if (detailData.size() > 0) { - continue; - } +// // 查询该记录是否已存在明细 +// List detailData = qcMapper.checkIQCDetail(recordData); +// if (detailData.size() > 0) { +// continue; +// } // 主记录信息赋值 qcFAIRecordData.setInspectionNo(recordData.getInspectionNo()); // 检验单号 qcFAIRecordData.setInspectionTypeNo("105"); // 检验类型编码 @@ -2774,25 +2504,29 @@ public class QcServiceImpl implements QcService { String attributeType1 = "A"; // 获取该物料属性下维护的IQC检验模板 List partAttribute = qcMapper.selectPartAttributeByPartNo(data.getSite(), partNo, attributeType1, qcFAIRecordData.getInspectionTypeNo(), supplierNo); - if (partAttribute != null && partAttribute.size() > 0){ - qcFAIRecordData.setInspectionCycle(partAttribute.get(0).getInspectionCycle()); // 检验周期 + if (partAttribute.size() > 0){ + // 检验周期 + if (partAttribute.get(0).getInspectionCycle() != null) { + qcFAIRecordData.setInspectionCycle(partAttribute.get(0).getInspectionCycle()); + } // 获取抽样数量 - QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); - samplingInspectionProgrammeData.setSamplingProgrammeNo(partAttribute.get(0).getSamplingProgrammeNo()); - // 获取抽样方案维护的矩阵详情 - List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); - // 先根据抽样方案确定抽样数 - for (QcSamplingInspectionProgrammeData programmeData : dataList) { - if (programmeData.getSamplingLevelNo().equals(partAttribute.get(0).getSamplingLevelNo()) && (qcFAIRecordData.getRollQty().compareTo(programmeData.getMinQty()) == 1 || qcFAIRecordData.getRollQty().compareTo(programmeData.getMinQty()) == 0) && (qcFAIRecordData.getRollQty().compareTo(programmeData.getMaxQty()) == -1 || qcFAIRecordData.getRollQty().compareTo(programmeData.getMaxQty()) == 0) ){ - qcFAIRecordData.setSamplingQty(programmeData.getSamplingQty()); + // 如果该检验模板有维护抽样方案 + if (StringUtils.isNotBlank(partAttribute.get(0).getSamplingProgrammeNo())) { + QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); + samplingInspectionProgrammeData.setSamplingProgrammeNo(partAttribute.get(0).getSamplingProgrammeNo()); + // 获取抽样方案维护的矩阵详情 + List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); + // 根据抽样方案确定抽样数 + for (QcSamplingInspectionProgrammeData programmeData : dataList) { + if (programmeData.getSamplingLevelNo().equals(partAttribute.get(0).getSamplingLevelNo()) && (recordData.getRollQty().compareTo(programmeData.getMinQty()) == 1 || recordData.getRollQty().compareTo(programmeData.getMinQty()) == 0) && (recordData.getRollQty().compareTo(programmeData.getMaxQty()) == -1 || recordData.getRollQty().compareTo(programmeData.getMaxQty()) == 0) ){ + qcFAIRecordData.setSamplingQty(programmeData.getSamplingQty()); + } } - } - // 再根据默认抽样数来确定 - if (qcFAIRecordData.getSamplingQty() == null && partAttribute.get(0).getDefaultSamplingQuantity() != null){ + } else if (partAttribute.get(0).getDefaultSamplingQuantity() != null) { + // 没有维护抽样方案,再根据默认抽样数来确定 qcFAIRecordData.setSamplingQty(partAttribute.get(0).getDefaultSamplingQuantity()); - } - // 再根据默认抽样比例来确定 - if (qcFAIRecordData.getSamplingQty() == null && partAttribute.get(0).getDefaultSamplingProportion() != null){ + } else if (partAttribute.get(0).getDefaultSamplingProportion() != null) { + // 也没有维护默认抽样数,最后根据默认抽样比例来确定 qcFAIRecordData.setSamplingQty(partAttribute.get(0).getDefaultSamplingProportion().multiply(qcFAIRecordData.getRollQty()).divide(new BigDecimal(100),3,BigDecimal.ROUND_HALF_UP)); } @@ -2832,26 +2566,29 @@ public class QcServiceImpl implements QcService { String attributeType2 = "B"; // 获取该类别属性下维护的IQC检验模板 List familyAttribute = qcMapper.selectPartAttributeByPartNo(data.getSite(), familyId, attributeType2, qcFAIRecordData.getInspectionTypeNo(), supplierNo); - if (familyAttribute != null && partAttribute.size() > 0) { + if (familyAttribute.size() > 0) { // 获取检验周期 - qcFAIRecordData.setInspectionCycle(familyAttribute.get(0).getInspectionCycle()); + if (familyAttribute.get(0).getInspectionCycle() != null) { + qcFAIRecordData.setInspectionCycle(familyAttribute.get(0).getInspectionCycle()); + } // 获取抽样数量 - QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); - samplingInspectionProgrammeData.setSamplingProgrammeNo(familyAttribute.get(0).getSamplingProgrammeNo()); - // 获取抽样方案维护的矩阵详情 - List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); - // 先根据抽样方案确定抽样数 - for (QcSamplingInspectionProgrammeData programmeData : dataList) { - if (programmeData.getSamplingLevelNo().equals(familyAttribute.get(0).getSamplingLevelNo()) && (qcFAIRecordData.getRollQty().compareTo(programmeData.getMinQty()) == 1 || qcFAIRecordData.getRollQty().compareTo(programmeData.getMinQty()) == 0) && (qcFAIRecordData.getRollQty().compareTo(programmeData.getMaxQty()) == -1 || qcFAIRecordData.getRollQty().compareTo(programmeData.getMaxQty()) == 0) ){ - qcFAIRecordData.setSamplingQty(programmeData.getSamplingQty()); + // 如果该检验模板有维护抽样方案 + if (StringUtils.isNotBlank(familyAttribute.get(0).getSamplingProgrammeNo())) { + QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); + samplingInspectionProgrammeData.setSamplingProgrammeNo(familyAttribute.get(0).getSamplingProgrammeNo()); + // 获取抽样方案维护的矩阵详情 + List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); + // 根据抽样方案确定抽样数 + for (QcSamplingInspectionProgrammeData programmeData : dataList) { + if (programmeData.getSamplingLevelNo().equals(familyAttribute.get(0).getSamplingLevelNo()) && (recordData.getRollQty().compareTo(programmeData.getMinQty()) == 1 || recordData.getRollQty().compareTo(programmeData.getMinQty()) == 0) && (recordData.getRollQty().compareTo(programmeData.getMaxQty()) == -1 || recordData.getRollQty().compareTo(programmeData.getMaxQty()) == 0) ){ + qcFAIRecordData.setSamplingQty(programmeData.getSamplingQty()); + } } - } - // 再根据默认抽样数来确定 - if (qcFAIRecordData.getSamplingQty() == null && familyAttribute.get(0).getDefaultSamplingQuantity() != null){ + } else if (familyAttribute.get(0).getDefaultSamplingQuantity() != null) { + // 没有维护抽样方案,再根据默认抽样数来确定 qcFAIRecordData.setSamplingQty(familyAttribute.get(0).getDefaultSamplingQuantity()); - } - // 再根据默认抽样比例来确定 - if (qcFAIRecordData.getSamplingQty() == null && familyAttribute.get(0).getDefaultSamplingProportion() != null){ + } else if (familyAttribute.get(0).getDefaultSamplingProportion() != null) { + // 也没有维护默认抽样数,最后根据默认抽样比例来确定 qcFAIRecordData.setSamplingQty(familyAttribute.get(0).getDefaultSamplingProportion().multiply(qcFAIRecordData.getRollQty()).divide(new BigDecimal(100),3,BigDecimal.ROUND_HALF_UP)); } @@ -2886,7 +2623,7 @@ public class QcServiceImpl implements QcService { } } } - // 跟新IQC主记录信息 + // 更新IQC主记录信息 qcMapper.updateIQCRecord(qcFAIRecordData); } // 查询FAI主记录信息 @@ -3008,13 +2745,23 @@ public class QcServiceImpl implements QcService { @Override @Transactional public void saveIQCSubmitResult(QcFAIRecordData data) { - for (QcFAIRecordData qcData : data.getSubmitList()){ + for (QcFAIRecordData qcData : data.getSubmitList()) { // 修改主记录标识为已提交 qcMapper.updateIQCMasterSubmitFlag(qcData); // 修改明细记录标识为已提交 qcMapper.updateIQCDetailSubmitFlag(qcData); // 修改子明细记录标识为已提交 qcMapper.updateIQCSubDetailSubmitFlag(qcData); + // 根据 site、po_orderNo、po_itemNo 从 view_po_order 中查出数据 + List poOrderData = qcMapper.queryDataFromViewPoOrder(qcData); + if (poOrderData.size() > 0 && poOrderData.get(0) != null) { + // 修改order_qty为送检数量 + poOrderData.get(0).setOrderQty(qcData.getRollQty().toString()); + // 向收货任务表里添加数据 + qcMapper.saveReceivingTask(poOrderData.get(0)); + } else { + throw new RuntimeException("未在po_order中查出数据!"); + } } } diff --git a/src/main/resources/mapper/pms/QcMapper.xml b/src/main/resources/mapper/pms/QcMapper.xml index 51a974c4..cdbf20ec 100644 --- a/src/main/resources/mapper/pms/QcMapper.xml +++ b/src/main/resources/mapper/pms/QcMapper.xml @@ -1921,7 +1921,7 @@ - SELECT qir.inspection_no, qir.state, @@ -1938,6 +1938,7 @@ qir.po_itemNo FROM qc_iqc_record as qir LEFT JOIN part p ON qir.part_no = p.part_no and qir.site = p.site + WHERE qir.site = #{site} and qir.detail_flag = 'N' @@ -1952,7 +1953,8 @@ SET inspection_type_no = #{inspectionTypeNo}, sampling_qty = #{samplingQty}, inspection_cycle = #{inspectionCycle}, - part_desc = #{partDesc} + part_desc = #{partDesc}, + detail_flag = 'Y' WHERE inspection_no = #{inspectionNo} and site = #{site} @@ -1979,7 +1981,9 @@ submit_flag, roll_no, supplier_no, - dbo.qc_get_supplier_name(site, supplier_no) as supplierDesc + dbo.qc_get_supplier_name(site, supplier_no) as supplierDesc, + po_orderNo, + po_itemNo FROM qc_iqc_record site = #{query.site} @@ -2459,6 +2463,36 @@ WHERE site = #{site} + + + + + + INSERT INTO receiving_task (site, order_no, item_no, part_no, part_desc, spec, supplier_id, supplier_name, order_qty, created_date, status, citem_code, citem_class, sendto_address, order_type) + VALUES (#{site}, #{orderNo}, #{itemNo}, #{partNo}, #{partDesc}, #{spec}, #{supplierId}, #{supplierName}, #{orderQty}, #{createdDate}, #{status}, #{citemCode}, #{citemClass}, #{sendtoAddress}, #{orderType}) + + + +