Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r29004 -r29222 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 29004) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 29222) @@ -7423,20 +7423,19 @@ @Override public int getErrorCount(){ String handleDepartCode = AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig(); - String sql2 = String.format("where po.amount > po.additionalAmount and po.handleDepartCode = '%s' " - + "and po.packingTaskId not in (select id from PackingTask where status = '%s') and po.type = '%s'", - handleDepartCode,PackingTask.STATUS_AWAIT_VERIFYING,MaterialErrorDamageDetail.TYPE_ERROR); - int errorCount = objectDao.countObjectBySql(MaterialErrorDamageDetail.class.getSimpleName(), sql2); - + String sql2 = String.format("select sum(po.amount - po.additionalAmount) from %s po where po.errorType='%s' and po.amount > po.additionalAmount and po.handleDepartCode = '%s' " + + "and po.packingTaskId not in (select id from PackingTask where status = '%s') and po.type = '%s' and po.materialName != '%s' ", + MaterialErrorDamageDetail.class.getSimpleName(), MaterialErrorDamageDetail.ERRORTYPE_REDUCE,handleDepartCode,PackingTask.STATUS_AWAIT_VERIFYING,MaterialErrorDamageDetail.TYPE_ERROR,MaterialInstance.MATERIAL_NAME_IDCARD); + int errorCount = objectDao.countBySql(sql2); return errorCount; } @Override public int getDamageCount(){ String handleDepartCode = AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig(); - String sql = String.format("where po.amount > po.additionalAmount and po.handleDepartCode = '%s' " + String sql = String.format("select sum(po.amount - po.additionalAmount) from %s po where po.amount > po.additionalAmount and po.handleDepartCode = '%s' " + "and po.packingTaskId not in (select id from PackingTask where status = '%s') and po.type = '%s'", - handleDepartCode,PackingTask.STATUS_AWAIT_VERIFYING,MaterialErrorDamageDetail.TYPE_DAMAGE); - int damageCount = objectDao.countObjectBySql(MaterialErrorDamageDetail.class.getSimpleName(), sql); + MaterialErrorDamageDetail.class.getSimpleName(), handleDepartCode,PackingTask.STATUS_AWAIT_VERIFYING,MaterialErrorDamageDetail.TYPE_DAMAGE); + int damageCount = objectDao.countBySql(sql); return damageCount; }