Browse Source

十一

java8
yfy 3 years ago
parent
commit
8261931f54
  1. 2
      src/main/java/com/xujie/sys/modules/pms/controller/QcController.java
  2. 4
      src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java
  3. 142
      src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java
  4. 2
      src/main/java/com/xujie/sys/modules/pms/service/QcService.java
  5. 33
      src/main/resources/mapper/pms/QcMapper.xml

2
src/main/java/com/xujie/sys/modules/pms/controller/QcController.java

@ -1530,7 +1530,7 @@ public class QcController {
**/
@PostMapping("/saveOsInspection")
public R saveOsInspection(@RequestBody QcFAIRecordData data){
//qcService.saveOsInspection(data);
qcService.saveOsInspection(data);
return R.ok();
}

4
src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java

@ -367,4 +367,8 @@ public interface QcMapper {
List<QcFAIRecordData> getOperationList(QcFAIRecordData data);
List<QcFAIRecordData> getResourceList(QcFAIRecordData data);
QcFAIRecordData selectResourceDesc(QcFAIRecordData data);
QcFAIRecordData selectPartDesc(QcFAIRecordData data);
}

142
src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java

@ -2408,6 +2408,148 @@ public class QcServiceImpl implements QcService {
return collect;
}
/**
* @description: 新增巡检记录
* @author: fengyuan_yang
* @date: 2023/4/28 8:56
* @param: [data]
* @return: void
**/
@Override
public void saveOsInspection(QcFAIRecordData data) {
// 查询最大编码自增后赋值
String s = qcMapper.queryLastIPQCInspectionNo(data);
if (s == null){
data.setInspectionNo("10001");
}else {
int no = Integer.parseInt(qcMapper.queryLastIPQCInspectionNo(data));
data.setInspectionNo(String.valueOf(++no));
}
data.setState("待检验");
data.setCheckType("巡检");
// 查询机台和物料名称
QcFAIRecordData resourceData = qcMapper.selectResourceDesc(data);
QcFAIRecordData partData = qcMapper.selectPartDesc(data);
data.setPartDesc(partData.getPartDesc());
data.setResourceDesc(resourceData.getResourceDesc());
// 明细记录信息赋值
String partNo = data.getPartNo();
String attributeType1 = "A";
// 获取该物料属性下维护的IPQC检验模板
QcFAIRecordData partAttribute = qcMapper.selectPartAttributeByPartNo(partNo, attributeType1, data.getInspectionTypeNo());
if (partAttribute != null){
data.setInspectionCycle(partAttribute.getInspectionCycle());
// 获取抽样数量
QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData();
samplingInspectionProgrammeData.setSamplingProgrammeNo(partAttribute.getSamplingProgrammeNo());
// 获取抽样方案维护的矩阵详情
List<QcSamplingInspectionProgrammeData> dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData);
// 先根据抽样方案确定抽样数
for (int a = 0; a < dataList.size(); a++) {
if (dataList.get(a).getSamplingLevelNo() == partAttribute.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 (data.getSamplingQty() == null){
data.setSamplingQty(partAttribute.getDefaultSamplingQuantity());
}
// 再根据默认抽样比例来确定
if (data.getSamplingQty() == null){
data.setSamplingQty(partAttribute.getDefaultSamplingProportion().multiply(data.getRollQty()).divide(new BigDecimal(100),3,BigDecimal.ROUND_HALF_UP));
}
// 获取根据该检验模板下维护的检验项目
QcTemplateData templateData = new QcTemplateData();
templateData.setTemplateId(partAttribute.getTemplateId());
templateData.setItemType("D");
List<QcTemplateData> itemList = qcMapper.ItemDetailsSearch(templateData);
QcFAIRecordData faiRecordData = new QcFAIRecordData();
faiRecordData.setInspectionNo(data.getInspectionNo()); // 检验单号
faiRecordData.setOrderNo(data.getOrderNo()); // 工单号
faiRecordData.setTemplateId(partAttribute.getTemplateId()); // 模板编码
faiRecordData.setSamplingLevelNo(partAttribute.getSamplingLevelNo()); // 检验水平编码
faiRecordData.setSamplingLevelDesc(partAttribute.getSamplingLevelDesc()); // 检验水平名称
faiRecordData.setSamplingProgrammeNo(partAttribute.getSamplingProgrammeNo()); // 抽样方案编码
faiRecordData.setSamplingProgrammeDesc(partAttribute.getSamplingProgrammeDesc()); // 抽样方案名称
faiRecordData.setAql(partAttribute.getAql()); // aql
faiRecordData.setAc(partAttribute.getAc()); // ac
faiRecordData.setRe(partAttribute.getRe()); // re
for (int j = 0; j < itemList.size(); j++) {
faiRecordData.setItemNo(itemList.get(j).getItemNo()); // 项目编码
faiRecordData.setItemDesc(itemList.get(j).getItemDesc()); // 项目名称
faiRecordData.setObjectId(itemList.get(j).getObjectID()); // 设备编码
faiRecordData.setObjectDesc(itemList.get(j).getObjectDesc()); // 设备名称
faiRecordData.setDefaultValue(itemList.get(j).getDefaultValue()); // 默认值
faiRecordData.setMinValue(itemList.get(j).getMinValue()); // 最小值
faiRecordData.setMaxValue(itemList.get(j).getMaxValue()); // 最大值
faiRecordData.setValueType(itemList.get(j).getValueType()); // 检测值类型
faiRecordData.setValueTypeDb(itemList.get(j).getValueTypeDb());
// 新增IPQC明细记录信息
qcMapper.saveIPQCDetailedRecord(faiRecordData);
}
}else {
// 获取物料的类别编码
String familyId = qcMapper.selectFamilyIdByPartNo(partNo,data.getSite());
String attributeType2 = "B";
// 获取该类别属性下维护的IPQC检验模板
QcFAIRecordData familyAttribute = qcMapper.selectFamilyAttributeByFamilyId(familyId, attributeType2, data.getInspectionTypeNo());
data.setInspectionCycle(familyAttribute.getInspectionCycle());
// 获取抽样数量
QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData();
samplingInspectionProgrammeData.setSamplingProgrammeNo(familyAttribute.getSamplingProgrammeNo());
// 获取抽样方案维护的矩阵详情
List<QcSamplingInspectionProgrammeData> dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData);
// 先根据抽样方案确定抽样数
for (int a = 0; a < dataList.size(); a++) {
if (dataList.get(a).getSamplingLevelNo() == familyAttribute.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 (data.getSamplingQty() == null){
data.setSamplingQty(familyAttribute.getDefaultSamplingQuantity());
}
// 再根据默认抽样比例来确定
if (data.getSamplingQty() == null){
data.setSamplingQty(familyAttribute.getDefaultSamplingProportion().multiply(data.getRollQty()).divide(new BigDecimal(100),3,BigDecimal.ROUND_HALF_UP));
}
// 获取根据该检验模板下维护的检验项目
QcTemplateData templateData = new QcTemplateData();
templateData.setTemplateId(familyAttribute.getTemplateId());
templateData.setItemType("D");
List<QcTemplateData> itemList = qcMapper.ItemDetailsSearch(templateData);
QcFAIRecordData faiRecordData = new QcFAIRecordData();
faiRecordData.setInspectionNo(data.getInspectionNo()); // 检验单号
faiRecordData.setOrderNo(data.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 (int j = 0; j < itemList.size(); j++) {
faiRecordData.setItemNo(itemList.get(j).getItemNo()); // 项目编码
faiRecordData.setItemDesc(itemList.get(j).getItemDesc()); // 项目名称
faiRecordData.setObjectId(itemList.get(j).getObjectID()); // 设备编码
faiRecordData.setObjectDesc(itemList.get(j).getObjectDesc()); // 设备名称
faiRecordData.setDefaultValue(itemList.get(j).getDefaultValue()); // 默认值
faiRecordData.setMinValue(itemList.get(j).getMinValue()); // 最小值
faiRecordData.setMaxValue(itemList.get(j).getMaxValue()); // 最大值
faiRecordData.setValueType(itemList.get(j).getValueType()); // 检测值类型
faiRecordData.setValueTypeDb(itemList.get(j).getValueTypeDb());
// 新增IPQC明细记录信息
qcMapper.saveIPQCDetailedRecord(faiRecordData);
}
}
// 新增IPQC主记录信息
qcMapper.saveIPQCRecord(data);
}
}

2
src/main/java/com/xujie/sys/modules/pms/service/QcService.java

@ -218,4 +218,6 @@ public interface QcService {
List<QcFAIRecordData> getResourceList(QcFAIRecordData data);
List<QcFAIRecordData> getPartList(QcFAIRecordData data);
void saveOsInspection(QcFAIRecordData data);
}

33
src/main/resources/mapper/pms/QcMapper.xml

@ -1392,6 +1392,7 @@
qt.template_remark,
qt.template_version,
qat.sampling_programme_no,
qsip.sampling_programme_desc,
qat.AQL,
qat.AC,
qat.RE,
@ -1411,6 +1412,8 @@
ON qat.sampling_level_no = qsil.sampling_level_no
LEFT JOIN qc_inspection_type as qit
ON qt.inspection_type_no = qit.inspection_type_no
LEFT JOIN qc_sampling_inspection_programme as qsip
ON qat.sampling_programme_no = qsip.sampling_programme_no
WHERE qpa.attribute_type = #{attributeType}
AND qpa.attribute_no = #{attributeNo}
</select>
@ -1739,7 +1742,9 @@
qsip.sampling_programme_desc,
qat.AQL,
qat.AC,
qat.RE
qat.RE,
qt.default_sampling_quantity,
qt.default_sampling_proportion
FROM qc_attribute_template as qat
LEFT JOIN qc_template as qt
ON qat.template_id = qt.template_id
@ -1968,7 +1973,7 @@
<select id="selectIPQCBasicData" resultType="QcFAIRecordData">
SELECT
top 1
a.orderno as orderNo,
a.orderno as orderNo,
j.part_no,
j.part_desc,
c.operation_desc,
@ -1988,8 +1993,10 @@
ON c.order_no = a.orderno and a.itemno = c.item_no and c.site = a.site
LEFT JOIN part j
ON a.site = j.site and a.part_no = j.part_no
WHERE a.id not in (select ssr_id from qc_ipqc_record)
AND b.approve_qty is not null
LEFT JOIN (select ssr_id from qc_ipqc_record where check_type = '末件检') as temp
ON a.id = temp.ssr_id
WHERE b.approve_qty is not null
AND temp.ssr_id is null
ORDER BY a.id desc
</select>
@ -2245,6 +2252,24 @@
AND c.operation_desc = #{operationDesc}
ORDER BY a.id desc
</select>
<!-- 查询机台名称 -->
<select id="selectResourceDesc" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
SELECT distinct
resource_desc
FROM resource
WHERE site = #{site}
AND resource_id = #{resourceId}
</select>
<!-- 查询物料名称 -->
<select id="selectPartDesc" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
SELECT distinct
part_desc
FROM part
WHERE site = #{site}
AND part_no = #{partNo}
</select>
</mapper>

Loading…
Cancel
Save