Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java =================================================================== diff -u -r34870 -r34877 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 34870) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 34877) @@ -2599,23 +2599,46 @@ String tousseInstanceStatusSql = " (tii.status <> '" + TousseInstance.STATUS_DISCARD + "') "; //排序 - String orderBy = " order by ip.patient, tii.id "; + String orderBy = " order by patient, tousseInstanceId "; - String sql = String.format("select ip.id ipId, ip.applicationTime, ip.depart, fta.ascriptionDepartment, fta.hospitalNumber, fta.patient, fta.surgery, td.supplierName, td.name tousseName " - + "from %s fta " + //查询字段 + String querySql = "select ip.id ipId, ip.applicationTime, ip.depart, fta.ascriptionDepartment, fta.hospitalNumber, fta.patient, fta.surgery, td.supplierName, ti.tousseName tousseName, tii.id tousseInstanceId "; + + //查询非拆分小包的语句 + String sql1 = String.format("%s from %s fta " + "join %s ip on fta.id = ip.id " + "join %s ti on ti.invoicePlanID = ip.id " - + "join %s tii on tii.invoicePlanID = ip.id " - + "join %s td on td.id = tii.tousseDefinition_id " - + "where 1=1 and %s and %s and %s and %s %s ", + + "join %s td on td.id = ti.toussedefinitionid " + + "join %s tii on tii.toussedefinition_id = td.id " + + "where 1=1 and %s and %s and %s and %s ", + querySql, ForeignTousseApplication.class.getSimpleName(), InvoicePlan.class.getSimpleName(), TousseItem.class.getSimpleName(), + TousseDefinition.class.getSimpleName(), TousseInstance.class.getSimpleName(), + orgUnitGroupSql, isTerminatedSql, tousseInstanceStatusSql, dateSql); + + //查询外来器械拆分小包的语句 + String sql2 = String.format("%s from %s fta " + + "join %s ip on fta.id = ip.id " + + "join %s ti on ti.invoicePlanID = ip.id " + + "join %s td on td.id = ti.toussedefinitionid " + + "join %s ctd on ctd.parentid = td.id " + + "join %s tii on tii.toussedefinition_id = ctd.id " + + "where 1=1 and %s and %s and %s and %s ", + querySql, + ForeignTousseApplication.class.getSimpleName(), + InvoicePlan.class.getSimpleName(), + TousseItem.class.getSimpleName(), TousseDefinition.class.getSimpleName(), - orgUnitGroupSql, isTerminatedSql, tousseInstanceStatusSql, dateSql, - orderBy); + TousseDefinition.class.getSimpleName(), + TousseInstance.class.getSimpleName(), + orgUnitGroupSql, isTerminatedSql, tousseInstanceStatusSql, dateSql); + String sql = String.format("select * from (%s union all %s) %s ", + sql1, sql2, orderBy); + ResultSet rs = null; try { List summaryVoList = new ArrayList(); @@ -2676,15 +2699,19 @@ for (ForeignTousseVo foreignTousseVo2 : foreignTousseVoList) { if(StringUtils.equals(tousseName, foreignTousseVo2.getName())){ foreignTousseVo = foreignTousseVo2; + //设置同名器械包定义的器械包实例总数(包含拆分小包的数量) + foreignTousseVo.setTousseAmount(foreignTousseVo.getTousseAmount() + 1); break; } } } if(foreignTousseVo == null){ foreignTousseVo = new ForeignTousseVo(); + foreignTousseVo.setTousseAmount(1); detailVo.getForeignTousseVoList().add(foreignTousseVo); - detailVo.setTousseAmount(detailVo.getForeignTousseVoList().size()); } + //同名供应商的器械包名称个数 + detailVo.setTousseAmount(detailVo.getForeignTousseVoList().size()); foreignTousseVo.setName(tousseName); } if(CollectionUtils.isNotEmpty(summaryVoList)){ Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/vo/ForeignTousseVo.java =================================================================== diff -u -r27007 -r34877 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/vo/ForeignTousseVo.java (.../ForeignTousseVo.java) (revision 27007) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/vo/ForeignTousseVo.java (.../ForeignTousseVo.java) (revision 34877) @@ -32,6 +32,11 @@ */ private String operation; + /** + * 器械包实例总数 + */ + private int tousseAmount; + public String getPackagecode() { return packagecode; } @@ -68,5 +73,11 @@ public void setOperation(String operation) { this.operation = operation; } + public int getTousseAmount() { + return tousseAmount; + } + public void setTousseAmount(int tousseAmount) { + this.tousseAmount = tousseAmount; + } }