Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/sterilizationmanager/foreignproxydisinfection/ForeignProxyDisinfection.java =================================================================== diff -u -r14237 -r14617 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/sterilizationmanager/foreignproxydisinfection/ForeignProxyDisinfection.java (.../ForeignProxyDisinfection.java) (revision 14237) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/sterilizationmanager/foreignproxydisinfection/ForeignProxyDisinfection.java (.../ForeignProxyDisinfection.java) (revision 14617) @@ -51,6 +51,12 @@ */ private Date scheduleTime; + /** + * 是否装配(如果有点击装配并打印或产生过包实例,则该字段变为已打印;否则默认为未打印) + * 伪字段,不映射到数据库表 + */ + private String hasPrinted = Constants.STR_NO; + @JsonIgnore private List foreignProxyItems = new ArrayList(); @@ -140,4 +146,14 @@ String sql = String.format(" where po.foreignProxyItem_id in(select fi.id from %s fi where fi.foreignProxyDisinfection.id=%s)", ForeignProxyItem.class.getSimpleName(),getId()); return dao.findBySql(TousseInstance.class.getSimpleName(), sql); } + + @Transient + public String getHasPrinted() { + return hasPrinted; + } + + public void setHasPrinted(String hasPrinted) { + this.hasPrinted = hasPrinted; + } + } \ No newline at end of file Index: ssts-web/src/main/java/com/forgon/disinfectsystem/component/grid/GridManagerImpl.java =================================================================== diff -u -r14488 -r14617 --- ssts-web/src/main/java/com/forgon/disinfectsystem/component/grid/GridManagerImpl.java (.../GridManagerImpl.java) (revision 14488) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/component/grid/GridManagerImpl.java (.../GridManagerImpl.java) (revision 14617) @@ -24,6 +24,7 @@ import org.hibernate.Query; import org.springframework.util.Assert; +import com.forgon.Constants; import com.forgon.component.grid.GridManager; import com.forgon.component.grid.vo.GridVo; import com.forgon.databaseadapter.service.DateQueryAdapter; @@ -35,6 +36,8 @@ import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.returngoodsrecord.ReturnGoodsItem; import com.forgon.disinfectsystem.entity.returngoodsrecord.ReturnGoodsRecord; +import com.forgon.disinfectsystem.entity.sterilizationmanager.foreignproxydisinfection.ForeignProxyDisinfection; +import com.forgon.disinfectsystem.entity.sterilizationmanager.foreignproxydisinfection.ForeignProxyItem; import com.forgon.tools.MathTools; import com.forgon.tools.date.DateTools; import com.forgon.tools.db.DatabaseUtil; @@ -216,7 +219,7 @@ } //如果为包实例,且条件有任务组时(只过滤出本任务组的器械包实例) - if(TousseInstance.class.getSimpleName().equals(poClass)){ + else if(TousseInstance.class.getSimpleName().equals(poClass)){ Map sqlWhereParamMap = getParamFromView(parameterMap); String taskGroup = sqlWhereParamMap.get("taskGroup"); String hqlCondition = "";//用于查询记录的hql语句条件 @@ -274,7 +277,7 @@ } //如果为退货单,把每条退货单的金额汇总出来(陈家儒改) - if (ReturnGoodsRecord.class.getSimpleName().equals(poClass)) { + else if (ReturnGoodsRecord.class.getSimpleName().equals(poClass)) { for (Object object : list) { ReturnGoodsRecord returnGoodsRecord = (ReturnGoodsRecord) object; List returnGoodsItemList = returnGoodsRecord.getReturnGoodsItems(); @@ -301,6 +304,20 @@ } } + + //如果为外部代理灭菌单,根据统计到的每个外部代理灭菌单的包实例数量设置单的是否打印状态 + else if (ForeignProxyDisinfection.class.getSimpleName().equals(poClass)) { + for (Object object : list) { + ForeignProxyDisinfection foreignProxyDisinfection = (ForeignProxyDisinfection) object; + int tousseInstanceCount = objectDao.countBySql("select count(0) from TousseInstance po " + + String.format(" where po.foreignProxyItem_id in(select fi.id from %s fi where fi.foreignProxyDisinfection_id=%s)", ForeignProxyItem.class.getSimpleName(),foreignProxyDisinfection.getId())); + if(tousseInstanceCount > 0){ + foreignProxyDisinfection.setHasPrinted(Constants.STR_YES); + }else{ + foreignProxyDisinfection.setHasPrinted(Constants.STR_NO); + } + } + } Map map = new HashMap(); map.put("totalResults", totalResults);