Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r16457 -r16493 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 16457) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 16493) @@ -2769,6 +2769,8 @@ .getSystemParamsObj(); double foreignTprice = config.getForeignToussePrice(); + JSONObject washJson = getTousseInstanceWashProperty(currentPackingTask); + for (int i=0;i idToWashRecordMap, - Map idToRecyclingRecordMap) { + Map idToRecyclingRecordMap,JSONObject washJson) { TousseInstance tousseInstance = new TousseInstance(); tousseInstance.setBarcode(barcodeStr); @@ -4570,45 +4584,72 @@ tousseInstance.setDisinfectProgram(washRecord .getDisinfectProgram()); tousseInstance.setWashOperator(washRecord.getOperator()); + tousseInstance.setWashOperatorCode(washRecord.getOperatorCode()); tousseInstance.setWashStartTime(washRecord .getStartDateStr()); tousseInstance.setWashEndTime(washRecord.getEndDateStr()); } } - - /* - // 追溯清洗的多个篮筐 - if (PackingTask.TASK_RECYCLINGRECORD.equals(currentPackingTask + } + + //设置包实例清洗信息 + if (PackingTask.TASK_RECYCLINGRECORD.equals(currentPackingTask.getTaskType()) && washJson != null) { + tousseInstance.setClassifyBasketIds(washJson.optString("classifyBasketIds")); + String personInCharge = washJson.optString("washOperator"); + String personInChargeCode = washJson.optString("personInChargeCode"); + tousseInstance.setWashOperator(StringUtils.isNotBlank(personInCharge)?personInCharge:tousseInstance.getWashOperator()); + tousseInstance.setWashOperatorCode(StringUtils.isNotBlank(personInChargeCode)?personInChargeCode:tousseInstance.getWashOperatorCode()); + tousseInstance.setRecyclingOperator(washJson.optString("recyclingOperator")); + } + if(washRecordId != null){ + WashAndDisinfectRecord lastWashRecord = washAndDisinfectRecordManager.getWashAndDisinfectRecordById("" + washRecordId); + washAndDisinfectRecordManager.setWashInfo(tousseInstance,lastWashRecord); + } + + tousseInstance.setPackingRecord_id(packingRecord.getId()); + + // 外来器械包关联外来器械申请单 + if (TousseDefinition.PACKAGE_TYPE_FOREIGN.equals(tousseType)) { + // 关联外来器械申请单 + tousseInstance.setForeignTousseApp_id(foreignTousseApplication + .getId()); + tousseInstance.setInvoicePlanID(foreignTousseApplication.getId()); + } + + // 根据装配任务设置器械包实例我的申请单id或回收单id + if (currentPackingTask != null) { + tousseInstance.setWashBasket(currentPackingTask + .getRecyclingBasketName()); + + if (PackingTask.TASK_APPLICATION.equals(currentPackingTask .getTaskType())) { - String basketBarcodes = currentPackingTask.getBasketBarcode(); - if (StringUtils.isNotBlank(basketBarcodes)) { - String sql = String - .format("select distinct b.id from classifybasket b ,classifieditem i where " - + "b.id = i.classifybasket_id and b.containerbarcode in ('%s') and i.recyclingrecordid = %s ", - basketBarcodes.replaceAll(";", "','"), - currentPackingTask.getSourceId()); - ResultSet rs = objectDao.executeSql(sql); - List li = new ArrayList(); - try { - while (rs.next()) { - String classifyBasketId = rs.getString(1); - li.add(classifyBasketId); - } - } catch (SQLException e) { - e.printStackTrace(); - } finally { - DatabaseUtil.closeResultSetAndStatement(rs); - } - if (li.size() > 0) { - String[] idArray = li.toArray(new String[li.size()]); - tousseInstance.setClassifyBasketIds(StringUtils.join( - idArray, ";")); - } + tousseInstance.setInvoicePlanID(currentPackingTask + .getSourceId()); + } else if (PackingTask.TASK_RECYCLINGRECORD + .equals(currentPackingTask.getTaskType())) { + tousseInstance.setRecyclingRecordId(currentPackingTask + .getSourceId()); + // 查询出该回收单对象 + RecyclingRecord recyclingRecord = idToRecyclingRecordMap + .get(currentPackingTask.getSourceId()); + if (recyclingRecord != null + && recyclingRecord.getRecyclingApplication() != null) { + tousseInstance.setInvoicePlanID(recyclingRecord + .getRecyclingApplication().getId()); } - }*/ - - - //追溯清洗的多个篮筐 + } + } + return tousseInstance; + } + + private JSONObject getTousseInstanceWashProperty(PackingTask currentPackingTask) { + JSONObject result = new JSONObject(); + String washOperator = ""; + String washOperatorCode = ""; + String classifyBasketIds = ""; + String recyclingOperator = ""; + //追溯清洗的多个篮筐 + if(currentPackingTask != null){ if (PackingTask.TASK_RECYCLINGRECORD.equals(currentPackingTask .getTaskType())) { String basketBarcodes = currentPackingTask.getBasketBarcode(); @@ -4629,8 +4670,8 @@ classifybasketIdList.add(classifyBasketId); - tousseInstance.setWashOperator(StringUtils.isNotBlank(personInCharge)?personInCharge:tousseInstance.getWashOperator()); - tousseInstance.setWashOperatorCode(StringUtils.isNotBlank(personInChargeCode)?personInChargeCode:tousseInstance.getWashOperator()); + washOperator = personInCharge; + washOperatorCode = personInChargeCode; } } catch (SQLException e) { e.printStackTrace(); @@ -4639,70 +4680,31 @@ } if (classifybasketIdList.size() > 0) { //清洗篮筐id String[] classifybasketIdArray = classifybasketIdList.toArray(new String[classifybasketIdList.size()]); - tousseInstance.setClassifyBasketIds(StringUtils.join(classifybasketIdArray, ";")); + classifyBasketIds = StringUtils.join(classifybasketIdArray, ";"); } String sql2 = "select operator from RecyclingRecord where id=" + currentPackingTask.getSourceId(); ResultSet rs2 = objectDao.executeSql(sql2); try { - String recyclingOperator = ""; while (rs2.next()) { recyclingOperator = StringUtils.defaultString(rs2.getString("operator")); //回收清点人 break; } - tousseInstance.setRecyclingOperator(recyclingOperator); } catch (SQLException e) { e.printStackTrace(); } finally { DatabaseUtil.closeResultSetAndStatement(rs2); } } } - - } - - if(washRecordId != null){ - WashAndDisinfectRecord lastWashRecord = washAndDisinfectRecordManager.getWashAndDisinfectRecordById("" + washRecordId); - washAndDisinfectRecordManager.setWashInfo(tousseInstance,lastWashRecord); - } - - tousseInstance.setPackingRecord_id(packingRecord.getId()); - - // 外来器械包关联外来器械申请单 - if (TousseDefinition.PACKAGE_TYPE_FOREIGN.equals(tousseType)) { - // 关联外来器械申请单 - tousseInstance.setForeignTousseApp_id(foreignTousseApplication - .getId()); - tousseInstance.setInvoicePlanID(foreignTousseApplication.getId()); - } - - // 根据装配任务设置器械包实例我的申请单id或回收单id - if (currentPackingTask != null) { - tousseInstance.setWashBasket(currentPackingTask - .getRecyclingBasketName()); - - if (PackingTask.TASK_APPLICATION.equals(currentPackingTask - .getTaskType())) { - tousseInstance.setInvoicePlanID(currentPackingTask - .getSourceId()); - } else if (PackingTask.TASK_RECYCLINGRECORD - .equals(currentPackingTask.getTaskType())) { - tousseInstance.setRecyclingRecordId(currentPackingTask - .getSourceId()); - // 查询出该回收单对象 - RecyclingRecord recyclingRecord = idToRecyclingRecordMap - .get(currentPackingTask.getSourceId()); - if (recyclingRecord != null - && recyclingRecord.getRecyclingApplication() != null) { - tousseInstance.setInvoicePlanID(recyclingRecord - .getRecyclingApplication().getId()); - } - } - } - return tousseInstance; + result.put("washOperator", washOperator); + result.put("WashOperatorCode", washOperatorCode); + result.put("classifyBasketIds", classifyBasketIds); + result.put("recyclingOperator", recyclingOperator); + return result; } @Override