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 cd56280..d663c7b 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 @@ -249,6 +249,53 @@ public class QcFAIRecordData extends QueryPage { private BigDecimal notPassQty; + private String orderRefType; + + private String refInfo1; + private String refInfo2; + private String refInfo3; + private String refInfo4; + + public String getRefInfo1() { + return refInfo1; + } + + public void setRefInfo1(String refInfo1) { + this.refInfo1 = refInfo1; + } + + public String getRefInfo2() { + return refInfo2; + } + + public void setRefInfo2(String refInfo2) { + this.refInfo2 = refInfo2; + } + + public String getRefInfo3() { + return refInfo3; + } + + public void setRefInfo3(String refInfo3) { + this.refInfo3 = refInfo3; + } + + public String getRefInfo4() { + return refInfo4; + } + + public void setRefInfo4(String refInfo4) { + this.refInfo4 = refInfo4; + } + + public String getOrderRefType() { + return orderRefType; + } + + public void setOrderRefType(String orderRefType) { + this.orderRefType = orderRefType; + } + public BigDecimal getPassQty() { return passQty; } 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 a6c3059..9553e20 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 @@ -3293,8 +3293,6 @@ public class QcServiceImpl implements QcService { } // 新增IPQC主记录信息 qcMapper.saveIPQCRecord(data); - // 新增IPQC记录到count表 - qcMapper.saveIPQCRecordCount(data); } /** @@ -3337,8 +3335,6 @@ public class QcServiceImpl implements QcService { qcMapper.deleteIPQCDetailedRecord(qcData); // 删除子明细记录信息 qcMapper.deleteIPQCSubDetailedRecord(qcData); - // 删除count表记录 - qcMapper.deleteIPQCRecordCount(qcData); } } @@ -4056,8 +4052,8 @@ public class QcServiceImpl implements QcService { // } Float arriveQty = inData.getRollCount().floatValue(); // 送检数量 Float qtyInspected = inData.getSamplingQty().floatValue(); // 检验数量/抽样数量 - Float qtyApproved = inData.getPassQty().floatValue();// 合格数量 - Float qtyScrapt = inData.getNotPassQty().floatValue();// 不合格数量 + Float qtyApproved = inData.getPassQty() == null ? 0 : inData.getPassQty().floatValue();// 合格数量 + Float qtyScrapt = inData.getNotPassQty() == null ? 0 : inData.getNotPassQty().floatValue();// 不合格数量 String inspectResult = inData.getInspectionResult(); // 检验结果 String handleType = inData.getDisposalMeasures(); // 不合格处理方式 String username = inData.getUpdateBy(); // 用户名 @@ -5156,80 +5152,58 @@ public class QcServiceImpl implements QcService { // 修改子明细记录标识为已提交 qcMapper.updateFQASSubDetailSubmitFlag(qcData); -// // 判断检验结论是否合格 -// if ("合格".equals(qcData.getInspectionResult()) || "让步接收".equals(qcData.getDisposalMeasures()) || "挑选使用".equals(qcData.getDisposalMeasures())) { -// // 根据 site、po_orderNo、po_itemNo 从 view_po_order 中查出数据 -// List poOrderData = qcMapper.queryDataFromViewPoOrder(qcData); -// if (!poOrderData.isEmpty() && poOrderData.get(0) != null) { -// // 修改order_qty为送检数量 -// poOrderData.get(0).setOrderQty(qcData.getRollQty().toString()); -// poOrderData.get(0).setInspectionNo(qcData.getInspectionNo()); -// -// // 获取物料的 control_mes -// List partInformationList = qcMapper.getPartInformation(qcData); -// if (partInformationList.isEmpty()) { -// throw new RuntimeException("未查到该物料数据!"); -// } -// // control_mes 为 Y 的插入task表 -// if ("G".equals(partInformationList.get(0).getControlMes())) { -// // 获取接口时间 -// String interfaceDate = getInterfaceDate(qcData.getSite()); -// Date dateByParten = DateUtils.getStringToDate(interfaceDate, "yyyy-MM-dd"); -// //获取当前时间 -// String stringNow = DateUtils.getStringNow(); -// String stringDate = DateUtils.getStringDate(dateByParten); -// //获取收发类别 -// List rdstyleList = qcMapper.getInterfaceRdStyleData("采购入库"); -// if (rdstyleList.isEmpty()) { -// throw new RuntimeException("获取收发类别失败!"); -// } -// String cdepcode = ""; -// if ("4".equals(qcData.getSite())){ -// cdepcode = "100"; -// } -// HardtagPurchaseInStorageCountData inStorageCountData = new HardtagPurchaseInStorageCountData(qcData.getSite(), qcData.getInspectionNo(), stringNow, data.getUpdateBy(), "0", toacc, stringDate, -// poOrderData.get(0).getOrderNo(), partInformationList.get(0).getDefaultWarehouseId(), rdstyleList.get(0).getCrdcode(), qcData.getInspectionNo(), DateUtils.getStringDate(dateByParten), "1", "", -// "1", poOrderData.get(0).getItemNo(), qcData.getPartNo(), qcData.getRollQty().doubleValue(), poOrderData.get(0).getCitemCode(), stringNow, "采购订单"); -// inStorageCountData.setTransType("采购材料订单入库"); -// inStorageCountData.setCdepcode(cdepcode); -// //批量添加汇总数据 -// int i = qcMapper.insertHardtagPurchaseInStorageData(inStorageCountData); -// -// //生成Transheader -// HardtagTransHeaderData inData = new HardtagTransHeaderData(qcData.getInspectionNo(),qcData.getSite(),partInformationList.get(0).getDefaultWarehouseId(),dateByParten,"CRT","采购材料订单入库",data.getUpdateBy(), -// data.getUpdateBy(),0,0,"*","D","N","N",new Date(), -// "N",poOrderData.get(0).getOrderNo(),"Y","已录入",partInformationList.get(0).getDefaultWarehouseId(),"1","","", -// "","",""); -// inData.setCountId(i); -// inData.setRemark("采购订单入库"); -// //保存transHeader数据 -// qcMapper.batchSaveHrdtagTransHeader(inData); -// -// HardtagTransDetailData hardtagTransDetailData = new HardtagTransDetailData(qcData.getInspectionNo(), qcData.getSite(), 1, qcData.getPartNo(), "", qcData.getRollQty(), "+", poOrderData.get(0).getOrderNo(), "0", poOrderData.get(0).getCitemCode()); -// //保存transDetail数据 -// qcMapper.batchSaveHardtagTransDetail(hardtagTransDetailData); -// } else { -// // 向收货任务表里添加数据 -// qcMapper.saveReceivingTask(poOrderData.get(0)); -// } -// } else { -// throw new RuntimeException("未查询到采购订单!"); -// } -// } -// -// // 发送邮件 -// if ("不合格".equals(qcData.getInspectionResult())) { -// try { -// List list = qcMapper.iqcDetailSearch(qcData); -// qcData.setItemList(list); -// sendMailIQC(qcData, "IQC"); -// } catch (Exception e) { -// logger.info(e.getMessage()); -// } -// } + if ("生产入库检验".equals(qcData.getOrderRefType())) { + // 调用存储过程执行 + Map resultMap = this.dboSaveFQASSubmitResult(qcData); + // 判断是否检验成功 + String code = String.valueOf(resultMap.get("resultCode")); + if ("400".equalsIgnoreCase(code)) { + String msg = String.valueOf(resultMap.get("resultMsg")); + throw new XJException(msg, Integer.parseInt(code)); + } + } } } + public Map dboSaveFQASSubmitResult(QcFAIRecordData inData) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + //公共参数 + String site = inData.getSite(); + String receiptNo = inData.getReceiptNo(); // 接收单号 + int receiptItemNo = 0; + try { + receiptItemNo = Integer.parseInt(inData.getReceiptItemNo()); // 接收单号 + } catch (NumberFormatException e) { + System.out.println("字符串转换数值失败(receiptItemNo): " + inData.getReceiptItemNo()); + } + String inspectDate = sdf.format(inData.getInspectorDate()); + Float arriveQty = inData.getRollCount().floatValue(); // 送检数量 + Float qtyInspected = inData.getSamplingQty().floatValue(); // 检验数量/抽样数量 + Float qtyApproved = inData.getPassQty() == null ? 0 : inData.getPassQty().floatValue();// 合格数量 + Float qtyScrapt = inData.getNotPassQty() == null ? 0 : inData.getNotPassQty().floatValue();// 不合格数量 + String inspectResult = inData.getInspectionResult(); // 检验结果 + String handleType = inData.getDisposalMeasures(); // 不合格处理方式 + String username = inData.getUpdateBy(); // 用户名 + String inspector = inData.getInspectorName();// 检验员名称 + List params = new ArrayList<>(); + params.add(site); + params.add(inspectResult); + params.add(receiptNo); + params.add(receiptItemNo); + params.add(inspectDate); + params.add(arriveQty); + params.add(qtyApproved); + params.add(qtyScrapt); + params.add(qtyInspected); + params.add(handleType); + params.add(username); + params.add(inspector); + //执行方法 + List> resultList = procedureDao.getProcedureData("update_ERPSOOpsTransfer", params); + return resultList.get(0); + } + + /** * 删除检验记录 * @param data diff --git a/src/main/resources/mapper/pms/QcMapper.xml b/src/main/resources/mapper/pms/QcMapper.xml index ed10e36..640f694 100644 --- a/src/main/resources/mapper/pms/QcMapper.xml +++ b/src/main/resources/mapper/pms/QcMapper.xml @@ -1856,8 +1856,8 @@ - INSERT INTO qc_ipqc_record (inspection_no, site, bu_no, state, task_date, inspection_type_no, inspection_cycle, order_no, operation_desc, resource_id, part_no, roll_qty, sampling_qty, ssr_id, seq_no, batch_roll_no, special_requirements, work_center_no, roll_no, um_id) - VALUES(#{inspectionNo}, #{site}, #{buNo}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId}, #{partNo}, #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{ssrId}, #{seqNo}, #{batchRollNo}, #{specialRequirements}, #{workCenterNo}, #{rollNo}, #{umId}) + INSERT INTO qc_ipqc_record (inspection_no, site, bu_no, state, task_date, inspection_type_no, inspection_cycle, order_no, operation_desc, resource_id, part_no, roll_qty, sampling_qty, ssr_id, seq_no, batch_roll_no, special_requirements, work_center_no, roll_no, um_id, pass_qty) + VALUES(#{inspectionNo}, #{site}, #{buNo}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId}, #{partNo}, #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{ssrId}, #{seqNo}, #{batchRollNo}, #{specialRequirements}, #{workCenterNo}, #{rollNo}, #{umId}, #{samplingQty}) @@ -1878,7 +1878,6 @@ dbo.qc_get_resource_desc(site, resource_id, work_center_no) as resourceDesc, part_no, dbo.qc_get_part_desc(part_no) as part_desc, - dbo.qc_get_cinv_source_code(part_no) as cinvSourceCode, inspection_remark, roll_qty, sampling_qty, @@ -1890,7 +1889,6 @@ ssr_id, unqualified_qty, submit_flag, - dbo.qc_get_sku(part_no) as sku, dbo.qc_get_spec(part_no) as spec, seq_no, batch_roll_no, @@ -1904,7 +1902,9 @@ isnull(dbo.joint_id(site, bu_no, inspection_no, 'coordination'), '') as operator, isnull(dbo.joint_name(site, bu_no, inspection_no, 'coordination'), '') as operatorName, isnull(dbo.joint_id(site, bu_no, inspection_no, 'responsible'), '') as responsiblePerson, - isnull(dbo.joint_name(site, bu_no, inspection_no, 'responsible'), '') as responsiblePersonName + isnull(dbo.joint_name(site, bu_no, inspection_no, 'responsible'), '') as responsiblePersonName, + pass_qty, + not_pass_qty FROM qc_ipqc_record site in (select site from eam_access_site where username = #{query.userName}) @@ -1921,12 +1921,6 @@ AND dbo.qc_get_part_desc(part_no) LIKE '%' + #{query.partDesc} + '%' - - AND dbo.qc_get_cinv_source_code(part_no) LIKE '%' + #{query.cinvSourceCode} + '%' - - - AND dbo.qc_get_sku(part_no) LIKE '%' + #{query.sku} + '%' - AND state in @@ -2047,7 +2041,9 @@ inspector_date = getDate(), sampling_qty = #{samplingQty,jdbcType=DECIMAL}, roll_qty = #{rollQty,jdbcType=DECIMAL}, - unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL} + unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL}, + pass_qty = #{passQty,jdbcType=DECIMAL}, + not_pass_qty = #{notPassQty, jdbcType=DECIMAL} WHERE site = #{site} and inspection_no = #{inspectionNo} and bu_no = #{buNo} @@ -2130,21 +2126,18 @@ @@ -2218,7 +2211,9 @@ sampling_qty = #{samplingQty}, inspection_cycle = #{inspectionCycle}, part_desc = #{partDesc}, - detail_flag = 'Y' + detail_flag = 'Y', + pass_qty = sampling_qty, + not_pass_qty = 0 WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} @@ -2252,7 +2247,7 @@ po_orderNo, po_itemNo, roll_count, - '采购订单' as orderType, + '' as orderType, action_date, action_by, isnull(dbo.joint_id(site, bu_no, inspection_no, 'coordination'), '') as operator, @@ -2262,7 +2257,11 @@ receipt_no, receipt_item_no, pass_qty, - not_pass_qty + not_pass_qty, + ref_info1, + ref_info2, + ref_info3, + ref_info4 FROM qc_iqc_record site in (select site from eam_access_site where username = #{query.userName}) @@ -3124,24 +3123,15 @@