Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/toussedefinition/service/TousseInstanceUtils.java =================================================================== diff -u -r26277 -r26281 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/toussedefinition/service/TousseInstanceUtils.java (.../TousseInstanceUtils.java) (revision 26277) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/toussedefinition/service/TousseInstanceUtils.java (.../TousseInstanceUtils.java) (revision 26281) @@ -25,6 +25,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.invoicemanager.Invoice; +import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; import com.forgon.disinfectsystem.entity.materialerrordamage.MaterialErrorDamageDetail; import com.forgon.systemsetting.model.HttpOption; import com.forgon.tools.db.DatabaseUtil; @@ -38,13 +39,17 @@ * 2015年9月25日 上午11:18:59 */ public class TousseInstanceUtils { - public static Date getDateByTousseInstanceStatus( - TousseInstance tousseInstance) { + public static Date getDateByTousseInstanceStatusAndInvoicePlan( + TousseInstance tousseInstance, InvoicePlan invoicePlan) { Date date = null; if (tousseInstance == null) { return date; } - switch (tousseInstance.getStatus()) { + String status = tousseInstance.getStatus(); + if(invoicePlan == null && TousseInstance.STATUS_RECYCLED.equals(status)){ + return tousseInstance.getOperationTime(); + } + switch (status) { case TousseInstance.STATUS_REVIEWED:// 审核时间 date = tousseInstance.getReviewTime(); break; @@ -61,9 +66,7 @@ date = tousseInstance.getSignedDate(); break; case TousseInstance.STATUS_RECYCLED://回收时间 - date = ForgonDateUtils.safelyParseDate( - tousseInstance.getRecyclingTime(), - TousseInstance.STERILE_START_TIME_FMT); + date = invoicePlan.getRecyclingTime(); break; case TousseInstance.STATUS_DISINFECTED://清洗结束时间 date = ForgonDateUtils.safelyParseDate( @@ -83,10 +86,10 @@ return date; } - public static String getDateStringByTousseInstanceStatus( - TousseInstance tousseInstance, SimpleDateFormat dateFormat) { + public static String getDateStringByTousseInstanceStatusAndInvoicePlan( + TousseInstance tousseInstance, SimpleDateFormat dateFormat, InvoicePlan invoicePlan) { String dateString = ""; - Date date = getDateByTousseInstanceStatus(tousseInstance); + Date date = getDateByTousseInstanceStatusAndInvoicePlan(tousseInstance, invoicePlan); if (date == null) { return dateString; } @@ -97,18 +100,18 @@ return dateString; } - public static String getStatusAndTimeByTousseInstance( + public static String getStatusAndTimeByTousseInstanceAndInvoicePlan( TousseInstance tousseInstance, String format, - SimpleDateFormat dateFormat) { + SimpleDateFormat dateFormat, InvoicePlan invoicePlan) { String statusAndTime = ""; if (format == null) { format = "%s %s %s"; } if (dateFormat == null) { dateFormat = Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS; } - String dateString = getDateStringByTousseInstanceStatus(tousseInstance, - dateFormat); + String dateString = getDateStringByTousseInstanceStatusAndInvoicePlan(tousseInstance, + dateFormat, invoicePlan); String status = tousseInstance.getStatus(); statusAndTime = String.format(format, status, getTimeTypeByStatus(status), dateString); Index: ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcarddefinition/service/IDCardDefinitionManagerImpl.java =================================================================== diff -u -r25750 -r26281 --- ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcarddefinition/service/IDCardDefinitionManagerImpl.java (.../IDCardDefinitionManagerImpl.java) (revision 25750) +++ ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcarddefinition/service/IDCardDefinitionManagerImpl.java (.../IDCardDefinitionManagerImpl.java) (revision 26281) @@ -33,6 +33,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.idcarddefinition.IDCardDefinition; import com.forgon.disinfectsystem.entity.idcardinstance.IDCardInstance; +import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; import com.forgon.disinfectsystem.entity.materialerrordamage.MaterialErrorDamageDetail; import com.forgon.disinfectsystem.entity.packing.IDCardInfoForPackingTask; import com.forgon.disinfectsystem.entity.packing.PackingTask; @@ -339,9 +340,10 @@ JSONObject object = new JSONObject(); if (tousseInstance != null) { + InvoicePlan invoicePlan = (InvoicePlan)objectDao.getById(InvoicePlan.class.getSimpleName(), tousseInstance.getInvoicePlanID()); String statusAndTime = TousseInstanceUtils - .getStatusAndTimeByTousseInstance(tousseInstance, null, - null); + .getStatusAndTimeByTousseInstanceAndInvoicePlan(tousseInstance, null, + null, invoicePlan); object.put("tousseInstanceStatusAndTime", statusAndTime); } object.put("id", idCardInstance.getId()); Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java =================================================================== diff -u -r26272 -r26281 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java (.../RecyclingRecordAction.java) (revision 26272) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java (.../RecyclingRecordAction.java) (revision 26281) @@ -1059,7 +1059,7 @@ details.addAll(buildTousseMaterialErrorDamage(tousseInstance,tousseErrorDamages,materialDefinitions)); } } else { - errorMessage = "器械包必须是已发货、已使用、已签收或预回收的状态,该包当前状态为:" + TousseInstanceUtils.getStatusAndTimeByTousseInstance(tousseInstance, null, null); + errorMessage = "器械包必须是已发货、已使用、已签收或预回收的状态,该包当前状态为:" + TousseInstanceUtils.getStatusAndTimeByTousseInstanceAndInvoicePlan(tousseInstance, null, null, invoicePlanManager.get(tousseInstance.getInvoicePlanID())); // tousseInstance = null; errorType = "idCard_statusIllegal"; }