Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java =================================================================== diff -u -r15198 -r15249 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 15198) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 15249) @@ -1809,7 +1809,7 @@ public boolean updateImageUploadStatus(String tousseDefinitionId, String imageType){ boolean result = true; - long count = imageFileManager.getImagesCount(tousseDefinitionId, imageType); + int count = imageFileManager.getImagesCount(tousseDefinitionId, imageType); String isUploadImage = "是"; if (count <=0){ @@ -2315,4 +2315,15 @@ private JSONObject judgeUrgentAmountAndAmount(Integer urgentAmount,Integer amount){ return amount < urgentAmount ? JSONUtil.buildJsonObject(false, "加急数量不能大于申请数量") : null; } + @Override + public Long getAncestorIdOrId(TousseDefinition tousseDefinition) { + if(tousseDefinition != null){ + if(DatabaseUtil.isPoIdValid(tousseDefinition.getAncestorID())){ + return tousseDefinition.getAncestorID(); + }else{ + return tousseDefinition.getId(); + } + } + return 0L; + } } Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/imagefilemanager/service/ImageFileManagerImpl.java =================================================================== diff -u -r14968 -r15249 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/imagefilemanager/service/ImageFileManagerImpl.java (.../ImageFileManagerImpl.java) (revision 14968) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/imagefilemanager/service/ImageFileManagerImpl.java (.../ImageFileManagerImpl.java) (revision 15249) @@ -29,6 +29,7 @@ import com.forgon.disinfectsystem.common.geom.SizeAndPosition; import com.forgon.disinfectsystem.entity.basedatamanager.imagefilemanager.ImageFile; import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; +import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.ObjectDao; import com.forgon.util.FileUtils; import com.sun.image.codec.jpeg.ImageFormatException; @@ -513,16 +514,45 @@ return img; } - - public long getImagesCount(String objectId, String imageType){ - - Session session = objectDao.getHibernateSession(); - Query query = session.createQuery("select count(*) from ImageFile i where i.objectId = :objectId and i.imageType = :imageType"); - query.setLong("objectId", Long.parseLong(objectId)); - query.setParameter("imageType", imageType); - - Object uniqueResult = query.uniqueResult(); - long count = (Long)uniqueResult; + @Override + public int getImagesCount(Long objectId, String imageType){ + int count = 0; + if(DatabaseUtil.isPoIdValid(objectId)){ + Session session = objectDao.getHibernateSession(); + Query query = session.createQuery("select count(*) from ImageFile i where i.objectId = :objectId and i.imageType = :imageType"); + query.setLong("objectId", objectId); + query.setParameter("imageType", imageType); + + Long lcount = (Long)query.uniqueResult(); + count = lcount.intValue(); + } return count; } + @Override + public int getImagesCount(String objectId, String imageType){ + Long id = 0L; + try{ + id = Long.parseLong(objectId); + }catch(Exception e){ + e.printStackTrace(); + } + return getImagesCount(id,imageType); + } + @Override + public ImageFile getImageAt(Long objectId,String imageType,int index) { + + Session session = objectDao.getHibernateSession(); + + Query query = session.createQuery("from " + ImageFile.class.getSimpleName() + + " where objectId = :objectId and imageType = :imageType order by serialNum asc"); + query.setLong("objectId", objectId); + query.setString("imageType", imageType); + + query.setMaxResults(1); + query.setFirstResult(index); + + ImageFile image = (ImageFile)query.uniqueResult(); + + return image; + } } Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/imagefilemanager/service/ImageFileManager.java =================================================================== diff -u -r14968 -r15249 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/imagefilemanager/service/ImageFileManager.java (.../ImageFileManager.java) (revision 14968) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/imagefilemanager/service/ImageFileManager.java (.../ImageFileManager.java) (revision 15249) @@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletResponse; import com.forgon.disinfectsystem.entity.basedatamanager.imagefilemanager.ImageFile; +import com.forgon.tools.hibernate.ObjectDao; /** * @author WangYi @@ -37,7 +38,26 @@ public void saveImage(ImageFile imageFile); public byte[] getImageByIdAndType(Long id,String type,String page); - - public long getImagesCount(String objectId, String imageType); - + /** + * 获取图片的数量 + * @param objectId + * @param imageType + * @return + */ + public int getImagesCount(Long objectId, String imageType); + /** + * 获取图片的数量 + * @param objectId + * @param imageType + * @return + */ + public int getImagesCount(String objectId, String imageType); + /** + * 获取图片 + * @param objectId + * @param imageType + * @param index + * @return + */ + public ImageFile getImageAt(Long objectId,String imageType,int index); } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java =================================================================== diff -u -r15187 -r15249 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java (.../TousseDefinition.java) (revision 15187) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java (.../TousseDefinition.java) (revision 15249) @@ -556,7 +556,7 @@ Session session = objectDao.getHibernateSession(); - Query query = session.createQuery("from ImageFile where tousseDefinition_id = :id order by serialNum asc"); + Query query = session.createQuery("from ImageFile where tousseDefinition_id = :id and imageType='器械包图片' order by serialNum asc"); query.setLong("id", id); query.setMaxResults(1); @@ -568,7 +568,7 @@ } public int getImagesCount(ObjectDao objectDao) { - String sql = " where po.tousseDefinition_id=" + id; + String sql = " where po.imageType='" + ImageFile.IMAGE_TYPE_TOUSSE + "' and po.tousseDefinition_id=" + id; int count = objectDao.countObjectBySql(ImageFile.class.getSimpleName(), sql); return count; Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/foreignTousseView.jsp =================================================================== diff -u -r12331 -r15249 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/foreignTousseView.jsp (.../foreignTousseView.jsp) (revision 12331) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/foreignTousseView.jsp (.../foreignTousseView.jsp) (revision 15249) @@ -75,7 +75,7 @@ var enableSaveAndNewBtn = false; var imageType = '${imageType}'; var videoType = '${videoType}'; -var imageTypeTousse = '<%=ImageFile.IMAGE_TYPE_TOUSSE%>'; +var imageTypeSpecification = '<%=ImageFile.IMAGE_TYPE_SPECIFICATION%>'; enableEditBtn = true; Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/foreigntoussedefinition/foreignTousseDefinitionForm.js =================================================================== diff -u -r15198 -r15249 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/foreigntoussedefinition/foreignTousseDefinitionForm.js (.../foreignTousseDefinitionForm.js) (revision 15198) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/foreigntoussedefinition/foreignTousseDefinitionForm.js (.../foreignTousseDefinitionForm.js) (revision 15249) @@ -419,6 +419,12 @@ handler : function(){ uploadToussePackingImageFile(imageTypeTousse,id); } + },{ + text : '说明书管理', + hidden:id == 0?true:false, + handler : function(){ + uploadToussePackingImageFile(imageTypeSpecification,id); + } }] }); Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java =================================================================== diff -u -r15035 -r15249 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 15035) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 15249) @@ -1474,82 +1474,82 @@ /** * 加载上传图片 */ - public void getInsideTousseDefinitionImageByName() { - String name = StrutsParamUtils.getPraramValue("name", ""); - String imageType = StrutsParamUtils.getPraramValue("imageType", ""); - String materialId = StrutsParamUtils.getPraramValue("materialId", ""); - if (StringUtils.isNotBlank(name)) { - int imageCount = 0; - // 器械包 - if (ImageFile.IMAGE_TYPE_TOUSSE.equals(imageType)) { - TousseDefinition toussedefinition = tousseDefinitionManager - .getTousseDefinitionByName(name); - if (toussedefinition != null) { - imageCount = toussedefinition.getImagesCount(objectDao); - } - // 材料 - } else if (ImageFile.IMAGE_TYPE_MATERIAL.equals(imageType)) { - MaterialDefinition material = materialDefinitionManager - .getMaterialDefinitionById(materialId); - imageCount = material.getImagesCount(objectDao); - } - HttpServletResponse httpServletResponse = StrutsParamUtils - .getResponse(); - httpServletResponse.setCharacterEncoding("UTF-8"); - try { - httpServletResponse.getWriter().print(imageCount); - } catch (IOException e) { - e.printStackTrace(); - } - } - } +// public void getInsideTousseDefinitionImageByName() { +// String name = StrutsParamUtils.getPraramValue("name", ""); +// String imageType = StrutsParamUtils.getPraramValue("imageType", ""); +// String materialId = StrutsParamUtils.getPraramValue("materialId", ""); +// if (StringUtils.isNotBlank(name)) { +// int imageCount = 0; +// // 器械包 +// if (ImageFile.IMAGE_TYPE_TOUSSE.equals(imageType)) { +// TousseDefinition toussedefinition = tousseDefinitionManager +// .getTousseDefinitionByName(name); +// if (toussedefinition != null) { +// imageCount = toussedefinition.getImagesCount(objectDao); +// } +// // 材料 +// } else if (ImageFile.IMAGE_TYPE_MATERIAL.equals(imageType)) { +// MaterialDefinition material = materialDefinitionManager +// .getMaterialDefinitionById(materialId); +// imageCount = material.getImagesCount(objectDao); +// } +// HttpServletResponse httpServletResponse = StrutsParamUtils +// .getResponse(); +// httpServletResponse.setCharacterEncoding("UTF-8"); +// try { +// httpServletResponse.getWriter().print(imageCount); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// } +// } /** * 加载上传图片 */ - public void getImage() { - String name = null; - try { - name = URLDecoder.decode(StrutsParamUtils.getPraramValue("name", ""),"utf-8"); - }catch(Exception ex){ - ex.printStackTrace(); - } - String page = StrutsParamUtils.getPraramValue("page", "1"); - String imageType = StrutsParamUtils.getPraramValue("imageType", ""); - String materialId = StrutsParamUtils.getPraramValue("materialId", ""); - if (StringUtils.isNotBlank(name)) { - byte[] img = null; - if (ImageFile.IMAGE_TYPE_TOUSSE.equals(imageType)) { - TousseDefinition tousseDefinition = tousseDefinitionManager - .getTousseDefinitionByName(name); +// public void getImage() { +// String name = null; +// try { +// name = URLDecoder.decode(StrutsParamUtils.getPraramValue("name", ""),"utf-8"); +// }catch(Exception ex){ +// ex.printStackTrace(); +// } +// String page = StrutsParamUtils.getPraramValue("page", "1"); +// String imageType = StrutsParamUtils.getPraramValue("imageType", ""); +// String materialId = StrutsParamUtils.getPraramValue("materialId", ""); +// if (StringUtils.isNotBlank(name)) { +// byte[] img = null; +// if (ImageFile.IMAGE_TYPE_TOUSSE.equals(imageType)) { +// TousseDefinition tousseDefinition = tousseDefinitionManager +// .getTousseDefinitionByName(name); +// +// img = imageFileManager.getImageByIdAndType( +// tousseDefinition.getId(), ImageFile.IMAGE_TYPE_TOUSSE, +// page); +// +// } else if (ImageFile.IMAGE_TYPE_MATERIAL.equals(imageType)) { +// if(DatabaseUtil.isPoIdValid(materialId)){ +// MaterialDefinition material = materialDefinitionManager +// .getMaterialDefinitionById(materialId); +// +// img = imageFileManager.getImageByIdAndType(material.getId(), +// ImageFile.IMAGE_TYPE_MATERIAL, page); +// } +// } +// +// OutputStream outputStream = null; +// img = ImageUtils.defaultIfEmpty(img); +// try { +// HttpServletResponse response = StrutsParamUtils.getResponse(); +// response.setContentType("image/jpeg "); +// outputStream = response.getOutputStream(); +// outputStream.write(img, 0, img.length); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// } +// } - img = imageFileManager.getImageByIdAndType( - tousseDefinition.getId(), ImageFile.IMAGE_TYPE_TOUSSE, - page); - - } else if (ImageFile.IMAGE_TYPE_MATERIAL.equals(imageType)) { - if(DatabaseUtil.isPoIdValid(materialId)){ - MaterialDefinition material = materialDefinitionManager - .getMaterialDefinitionById(materialId); - - img = imageFileManager.getImageByIdAndType(material.getId(), - ImageFile.IMAGE_TYPE_MATERIAL, page); - } - } - - OutputStream outputStream = null; - img = ImageUtils.defaultIfEmpty(img); - try { - HttpServletResponse response = StrutsParamUtils.getResponse(); - response.setContentType("image/jpeg "); - outputStream = response.getOutputStream(); - outputStream.write(img, 0, img.length); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - public void loadRecyclingApplication() { StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); JsonConfig config = new JsonConfig(); Index: ssts-web/src/main/webapp/disinfectsystem/showTousseImage/showTousseIamge.js =================================================================== diff -u -r14236 -r15249 --- ssts-web/src/main/webapp/disinfectsystem/showTousseImage/showTousseIamge.js (.../showTousseIamge.js) (revision 14236) +++ ssts-web/src/main/webapp/disinfectsystem/showTousseImage/showTousseIamge.js (.../showTousseIamge.js) (revision 15249) @@ -103,7 +103,7 @@ } page = page - 1; - var url = WWWROOT + '/disinfectSystem/recyclingApplicationAction!getImage.do?materialId='+materialId+'&name=' + encodeURIComponent(tousseName) + '&page=' + page+'&imageType='+currentImageType; + var url = WWWROOT + '/disinfectSystem/baseData/showImageAction!getToussePic.do?materialId='+materialId+'&name=' + encodeURIComponent(tousseName) + '&page=' + page+'&imageType='+currentImageType; var imageBrowse = top.Ext.get('imageBrowse'); var image = imageBrowse.dom; image.src = url;// 覆盖原来的图片 @@ -123,7 +123,7 @@ } page = page + 1; - var url = WWWROOT + '/disinfectSystem/recyclingApplicationAction!getImage.do?materialId='+materialId+'&name=' + encodeURIComponent(tousseName) + '&page=' + page +'&imageType='+currentImageType;; + var url = WWWROOT + '/disinfectSystem/baseData/showImageAction!getToussePic.do?materialId='+materialId+'&name=' + encodeURIComponent(tousseName) + '&page=' + page +'&imageType='+currentImageType;; var imageBrowse = top.Ext.get('imageBrowse'); var image = imageBrowse.dom; image.src = url;// 覆盖原来的图片 @@ -186,19 +186,20 @@ totalPage = 0; //加载当前包图片总页数 Ext.Ajax.request({ - url : WWWROOT + '/disinfectSystem/recyclingApplicationAction!getInsideTousseDefinitionImageByName.do', + url : WWWROOT + '/disinfectSystem/baseData/showImageAction!getToussePictureAmount.do', params : { name : name, imageType:imageType, materialId:materialId }, success : function(result){ - var pageStr = result.responseText; - totalPage = parseInt(pageStr); + var pageCount = Ext.decode(result.responseText); + totalPage = parseInt(pageCount.count); + var element = Ext.get(toolbarTotalPage.el); element.update(' 共 ' + totalPage + ' 页'); //加载图片 - var url = WWWROOT + '/disinfectSystem/recyclingApplicationAction!getImage.do?materialId='+materialId+'&name=' + encodeURIComponent(name) + '&page=' + page + '&imageType='+imageType +'&time='+new Date(); + var url = WWWROOT + '/disinfectSystem/baseData/showImageAction!getToussePic.do?materialId='+materialId+'&name=' + encodeURIComponent(name) + '&page=' + page + '&imageType='+imageType +'&time='+new Date(); var imageBrowse = top.Ext.get('imageBrowse'); var image = imageBrowse.dom; image.src = url;// 覆盖原来的图片 Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/imagefilemanager/action/UploadImageFileAction.java =================================================================== diff -u -r13789 -r15249 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/imagefilemanager/action/UploadImageFileAction.java (.../UploadImageFileAction.java) (revision 13789) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/imagefilemanager/action/UploadImageFileAction.java (.../UploadImageFileAction.java) (revision 15249) @@ -37,6 +37,7 @@ import com.forgon.disinfectsystem.tousse.materialdefinition.service.MaterialDefinitionManager; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; import com.forgon.tools.StrutsParamUtils; +import com.forgon.tools.StrutsResponseUtils; import com.forgon.tools.hibernate.ObjectDao; import com.opensymphony.xwork2.Preparable; @@ -138,16 +139,13 @@ array.add(obj); } } - - StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); Map map = new HashMap(); map.put("success", true); map.put("data", array); try { JSONObject jsonObject = JSONObject.fromObject(map); - StrutsParamUtils.getResponse().getWriter() - .println(jsonObject.toString()); + StrutsResponseUtils.output(jsonObject); } catch (Exception e) { e.printStackTrace(); } @@ -209,7 +207,7 @@ } } //图片关联记录(图片上传模式:一次上传3张图片,请求三次action) - if(ImageFile.IMAGE_TYPE_TOUSSE.equals(objectType)){ + if(ImageFile.IMAGE_TYPE_TOUSSE.equals(objectType) || ImageFile.IMAGE_TYPE_SPECIFICATION.equals(objectType)){ TousseDefinition tousse = tousseDefinitionManager.getTousseDefinitionById(objectID); if(tousse != null){ @@ -341,17 +339,8 @@ e.printStackTrace(); success = false; msg = e.getMessage(); - } - - try { - String json = "{success:" + success + ",message:'" + msg + "'}"; - HttpServletResponse response = StrutsParamUtils.getResponse(); - response.setCharacterEncoding("UTF-8"); - response.getWriter().print(json); - } catch (IOException e) { - e.printStackTrace(); - } - + } + StrutsResponseUtils.output(success, msg); } Index: ssts-web/src/main/webapp/disinfectsystem/packing/reviewView.js =================================================================== diff -u -r15208 -r15249 --- ssts-web/src/main/webapp/disinfectsystem/packing/reviewView.js (.../reviewView.js) (revision 15208) +++ ssts-web/src/main/webapp/disinfectsystem/packing/reviewView.js (.../reviewView.js) (revision 15249) @@ -658,22 +658,22 @@ totalPage = 0; //加载当前包图片总页数 top.Ext4.Ajax.request({ - url : WWWROOT + '/disinfectSystem/recyclingApplicationAction!getInsideTousseDefinitionImageByName.do', + url : WWWROOT + '/disinfectSystem/baseData/showImageAction!getToussePictureAmount.do', params : { name : name, imageType:imageType, materialId:materialId }, success : function(result){ - var pageStr = result.responseText; - totalPage = parseInt(pageStr); + var pageCount = top.Ext4.decode(result.responseText); + totalPage = parseInt(pageCount.count); var element = top.Ext4.getCmp("toolbarTotalPage"); if(element){ element.update(' 共 ' + totalPage + ' 页'); } //加载图片 - var url = WWWROOT + '/disinfectSystem/recyclingApplicationAction!getImage.do?materialId='+materialId+'&name=' + encodeURIComponent(name) + '&page=' + page + '&imageType='+imageType +'&time='+new Date(); + var url = WWWROOT + '/disinfectSystem/baseData/showImageAction!getToussePic.do?materialId='+materialId+'&name=' + encodeURIComponent(name) + '&page=' + page + '&imageType='+imageType +'&time='+new Date(); var image = top.Ext4.getCmp('browseImage'); image.setSrc(''); image.setSrc(url);// 覆盖原来的图片 @@ -833,7 +833,7 @@ } page = page - 1; - var url = WWWROOT + '/disinfectSystem/recyclingApplicationAction!getImage.do?materialId='+materialId+'&name=' + encodeURIComponent(tousseName) + '&page=' + page+'&imageType='+currentImageType; + var url = WWWROOT + '/disinfectSystem/baseData/showImageAction!getToussePic.do?materialId='+materialId+'&name=' + encodeURIComponent(tousseName) + '&page=' + page+'&imageType='+currentImageType; var image = top.Ext4.getCmp('browseImage'); image.setSrc(''); image.setSrc(url);// 覆盖原来的图片 @@ -857,7 +857,7 @@ } page = page + 1; - var url = WWWROOT + '/disinfectSystem/recyclingApplicationAction!getImage.do?materialId='+materialId+'&name=' + encodeURIComponent(tousseName) + '&page=' + page +'&imageType='+currentImageType;; + var url = WWWROOT + '/disinfectSystem/baseData/showImageAction!getToussePic.do?materialId='+materialId+'&name=' + encodeURIComponent(tousseName) + '&page=' + page +'&imageType='+currentImageType;; var image = top.Ext4.getCmp('browseImage'); image.setSrc(''); image.setSrc(url);// 覆盖原来的图片 Index: ssts-web/src/main/webapp/disinfectsystem/showTousseImage/ext4ShowTousseImage.js =================================================================== diff -u -r14941 -r15249 --- ssts-web/src/main/webapp/disinfectsystem/showTousseImage/ext4ShowTousseImage.js (.../ext4ShowTousseImage.js) (revision 14941) +++ ssts-web/src/main/webapp/disinfectsystem/showTousseImage/ext4ShowTousseImage.js (.../ext4ShowTousseImage.js) (revision 15249) @@ -1,13 +1,15 @@ //展示器械包信息 function getAndShowTousseInfoDiv(tousseName,tousseDefinitionId) { - var materialId = null; - var materialName = ''; - var curMaterialPage = 0; - var materialTotalPage = 0; - var curTousseDefinitionImagePage = 0; - var tousseDefinitionImageTotalPage = 0; - var curImageType = '器械包'; + var objectId = tousseDefinitionId; + var objectName = tousseName; + var curPage = 0; + var totalPage = 0; + var IMAGE_TYPE_TOUSSE = "器械包图片"; + var IMAGE_TYPE_MATERIAL = "材料图片"; + var IMAGE_TYPE_SPECIFICATION = "器械包说明书"; + var curImageType = IMAGE_TYPE_TOUSSE; + var toolbarPage = new top.Ext4.Toolbar.TextItem({ text : '第0页' }); @@ -17,59 +19,31 @@ var img_tbar = [ { text : '上一张', handler : function() { - if(curImageType == '器械包'){ - if(tousseDefinitionImageTotalPage == 0){ - showResult('没有图片'); - return; - } - if (curTousseDefinitionImagePage <= 1) { - showResult('已是第一页'); - return; - } - --curTousseDefinitionImagePage; - loadCurrentTousseDefinitionImage(tousseDefinitionId,tousseName); - }else{ - if(materialTotalPage == 0){ - showResult('没有图片'); - return; - } - if (curMaterialPage <= 1) { - showResult('已是第一页'); - return; - } - --curMaterialPage; - loadCurrentMaterialImage(materialId,materialName); + if(totalPage == 0){ + showResult('没有图片'); + return; } - + if (curPage <= 1) { + showResult('已是第一页'); + return; + } + --curPage; + loadCurrentImage(); } },toolbarPage, toolbarTotalPage,{ text : '下一张', handler : function() { - if(curImageType == '器械包'){ - if(tousseDefinitionImageTotalPage == 0){ - showResult('没有图片'); - return; - } - if (curTousseDefinitionImagePage + 1 > tousseDefinitionImageTotalPage) { - showResult('已是最后一页'); - return; - } - ++curTousseDefinitionImagePage; - loadCurrentTousseDefinitionImage(tousseDefinitionId,tousseName); - }else{ - if(materialTotalPage == 0){ - showResult('没有图片'); - return; - } - if (curMaterialPage + 1 > materialTotalPage) { - showResult('已是最后一页'); - return; - } - ++curMaterialPage; - loadCurrentMaterialImage(materialId,materialName); + if(totalPage == 0){ + showResult('没有图片'); + return; } - + if (curPage + 1 > totalPage) { + showResult('已是最后一页'); + return; + } + ++curPage; + loadCurrentImage(); } }]; @@ -85,123 +59,63 @@ id : 'browseImage', fieldLabel : "预览图片", src : Ext4.BLANK_IMAGE_URL - /* - autoEl : { - id : 'imageBrowse', - tag : 'img', - src : Ext4.BLANK_IMAGE_URL, - style : 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);', - complete : 'off' - } - */ }] }); - function loadMaterialImage(id,name){ - top.Ext4.getCmp('imagePanel').setTitle('材料[' + name + '] 图片'); - var url = WWWROOT + '/disinfectSystem/baseData/materialDefinitionAction!getImage.do?id='+id+'&materialName='+name+'&number='+1; + function loadCurrentImage(){ var image = top.Ext4.getCmp('browseImage'); - image.setSrc(''); + + var url = WWWROOT + '/disinfectSystem/baseData/showImageAction!getToussePic.do?id=' + objectId + + '&page=' + curPage + '&imageType=' + curImageType +'&time='+new Date(); image.setSrc(url);// 覆盖原来的图片 - } - function loadMaterialImage2(id,name){ - clearMaterialImage(id,name); - Ext.Ajax.request({ - url : WWWROOT + '/disinfectSystem/baseData/materialDefinitionAction!getTousseUploadPicTotalPage.do', - params : { - id : id - }, - success : function(result){ - materialId =id; - materialName = name; - top.Ext4.getCmp('imagePanel').setTitle('材料[' + name + '] 图片'); - curImageType = '材料'; - var pageStr = result.responseText; - materialTotalPage = parseInt(pageStr); - curMaterialPage = 0; - if(materialTotalPage > 0){ - curMaterialPage = 1; - } - var element = top.Ext4.get(toolbarTotalPage.el); - element.update('共' + materialTotalPage + '页'); - loadCurrentMaterialImage(id,name); - }, - failure : function(){ - loadCurrentMaterialImage(id,name); - } - }); - } - function loadCurrentMaterialImage(id,name){ - var image = top.Ext4.getCmp('browseImage'); - image.setSrc(''); - if(curMaterialPage > 0){ -// var url = WWWROOT + '/disinfectSystem/baseData/materialDefinitionAction!getImage.do?id='+id+'&materialName='+name+'&number='+curMaterialPage; - var url = WWWROOT + '/disinfectSystem/baseData/materialDefinitionAction!getToussePic.do?id=' + id + '&page=' + curMaterialPage +'&time='+new Date();; - image.setSrc(url);// 覆盖原来的图片 - } + var element = top.Ext4.get(toolbarPage.el); - element.update('第' + curMaterialPage + '页'); - } - - function clearMaterialImage(id,name){ - materialTotalPage = 0; - curMaterialPage = 0; + element.update('第' + curPage + '页'); + } + function clearImage(){ + totalPage = 0; + curPage = 0; var image = top.Ext4.getCmp('browseImage'); image.setSrc(''); var element = top.Ext4.get(toolbarTotalPage.el); - element.update('共' + materialTotalPage + '页'); + element.update('共' + totalPage + '页'); var element2 = top.Ext4.get(toolbarPage.el); - element2.update('第' + curMaterialPage + '页'); + element2.update('第' + curPage + '页'); } - function loadCurrentTousseDefinitionImage(tousseDefinitionId,tousseName){ - var image = top.Ext4.getCmp('browseImage'); - image.setSrc(''); - if(curTousseDefinitionImagePage > 0){ - var url = WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!getToussePic.do?name=' + tousseName + '&page=' + curTousseDefinitionImagePage +'&time='+new Date(); - image.setSrc(url);// 覆盖原来的图片 + function getTitle(){ + if(curImageType==IMAGE_TYPE_TOUSSE){ + return '器械包[' + objectName + '] 图片'; + }else if(curImageType==IMAGE_TYPE_MATERIAL){ + return '材料[' + objectName + '] 图片'; + }else if(curImageType==IMAGE_TYPE_SPECIFICATION){ + return '器械包[' + objectName + '] 说明书'; + }else{ + return ''; } - var element = top.Ext4.get(toolbarPage.el); - element.update('第' + curTousseDefinitionImagePage + '页'); } - function clearTousseDefinitionImage(tousseDefinitionId,tousseName){ - tousseDefinitionImageTotalPage = 0; - curTousseDefinitionImagePage = 0; - var image = top.Ext4.getCmp('browseImage'); - image.setSrc(''); - var element = top.Ext4.get(toolbarTotalPage.el); - element.update('共' + tousseDefinitionImageTotalPage + '页'); - var element2 = top.Ext4.get(toolbarPage.el); - element2.update('第' + curTousseDefinitionImagePage + '页'); - } - - function loadTousseDefinitionImage(){ -// var url = WWWROOT + "/disinfectSystem/recyclingApplicationAction!getImage.do?name=" + encodeURIComponent(tousseName)+'&imageType=器械包图片'; -// var image = top.Ext4.getCmp('browseImage'); -// image.setSrc(''); -// image.setSrc(url);// 覆盖原来的图片 - - clearTousseDefinitionImage(id,name); + function loadImageCount(){ + clearImage(); Ext.Ajax.request({ - url : WWWROOT + "/disinfectSystem/baseData/tousseDefinitionAction!getToussePictureAmount.do", + url : WWWROOT + "/disinfectSystem/baseData/showImageAction!getToussePictureAmount.do", params : { - name : tousseName, - imageType: '器械包图片' + id : objectId, + name : objectName, + imageType : curImageType }, success : function(result){ - top.Ext4.getCmp('imagePanel').setTitle('器械包[' + tousseName + '] 图片'); - curImageType = '器械包'; - var pageStr = result.responseText; - tousseDefinitionImageTotalPage = parseInt(pageStr); - curTousseDefinitionImagePage = 0; - if(tousseDefinitionImageTotalPage > 0){ - curTousseDefinitionImagePage = 1; + top.Ext4.getCmp('imagePanel').setTitle(getTitle()); + var pageJson = Ext.decode(result.responseText); + totalPage = parseInt(pageJson.count); + curPage = 0; + if(totalPage > 0){ + curPage = 1; } var element = top.Ext4.get(toolbarTotalPage.el); - element.update('共' + tousseDefinitionImageTotalPage + '页'); - loadCurrentTousseDefinitionImage(tousseDefinitionId,tousseName); + element.update('共' + totalPage + '页'); + loadCurrentImage(); }, failure : function(){ - loadCurrentTousseDefinitionImage(tousseDefinitionId,tousseName); + loadCurrentImage(); } }); } @@ -224,7 +138,20 @@ var materialToolbar = [{ text : '查看器械包图片', - handler : loadTousseDefinitionImage + handler : function(){ + curImageType = IMAGE_TYPE_TOUSSE; + objectName = tousseName; + objectId =tousseDefinitionId; + loadImageCount(); + } + },{ + text : '查看说明书图片', + handler : function(){ + curImageType = IMAGE_TYPE_SPECIFICATION; + objectName = tousseName; + objectId =tousseDefinitionId; + loadImageCount(); + } }]; var materialGrid = new top.Ext4.grid.Panel({ @@ -249,8 +176,10 @@ materialGrid.on('itemclick', function(grid, record, item, columnIndex, e, eOpts){ var materialDefinitionId = record.data['materialDefinitionId']; if (materialDefinitionId != '') { - var materialName = record.data['name']; - loadMaterialImage2(materialDefinitionId, materialName); + curImageType = IMAGE_TYPE_MATERIAL; + objectName = record.data['name']; + objectId =materialDefinitionId; + loadImageCount(); } }, this); @@ -283,5 +212,5 @@ }); materialStore.load(); window.show(); - loadTousseDefinitionImage(); + loadImageCount(); } \ No newline at end of file Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManager.java =================================================================== diff -u -r15049 -r15249 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManager.java (.../TousseDefinitionManager.java) (revision 15049) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManager.java (.../TousseDefinitionManager.java) (revision 15249) @@ -274,4 +274,11 @@ public List searchTousseDefinitions(String searchString,String tousseType, String handlerDepartCodes,String supplierName,boolean showDisableGoods,boolean showForeignTousseAncestorDefinition); + + /** + * 获取祖先id,如果祖先id为空,则返回包定义自己的id + * @param tousseDefinition + * @return + */ + public Long getAncestorIdOrId(TousseDefinition tousseDefinition); } Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java =================================================================== diff -u -r15156 -r15249 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 15156) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 15249) @@ -43,6 +43,7 @@ import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatch; import com.forgon.disinfectsystem.entity.assestmanagement.ExpensiveDisposablegoods; import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; +import com.forgon.disinfectsystem.entity.basedatamanager.imagefilemanager.ImageFile; import com.forgon.disinfectsystem.entity.basedatamanager.materialinstance.MaterialInstance; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; @@ -53,6 +54,8 @@ import com.forgon.disinfectsystem.entity.useRecord.UseRecord; import com.forgon.disinfectsystem.entity.washanddisinfectmanager.washanddisinfectrecord.WashAndDisinfectRecord; import com.forgon.disinfectsystem.packing.service.PackingManager; +import com.forgon.disinfectsystem.tousse.imagefilemanager.service.ImageFileManager; +import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseInstanceManager; import com.forgon.disinfectsystem.vo.TousseSimpleVO; import com.forgon.disinfectsystem.washanddisinfectmanager.washanddisinfectrecord.service.WashAndDisinfectRecordManager; @@ -106,6 +109,19 @@ private TimeoutManager timeoutManager; + private ImageFileManager imageFileManager; + + private TousseDefinitionManager tousseDefinitionManager; + + public void setTousseDefinitionManager( + TousseDefinitionManager tousseDefinitionManager) { + this.tousseDefinitionManager = tousseDefinitionManager; + } + + public void setImageFileManager(ImageFileManager imageFileManager) { + this.imageFileManager = imageFileManager; + } + public void setTimeoutManager(TimeoutManager timeoutManager) { this.timeoutManager = timeoutManager; } @@ -233,11 +249,11 @@ TousseInstance tousseInstance = tousseInstanceManager .getTousseInstanceById(id); TousseDefinition tousseDefinition = tousseInstance.getTousseDefinition(); - int count = tousseDefinition - .getImagesCount(objectDao); + Long tdId = tousseDefinitionManager.getAncestorIdOrId(tousseDefinition); + int count = imageFileManager.getImagesCount(tdId, ImageFile.IMAGE_TYPE_TOUSSE); byte[] img = null; if(count > 0){ - img = tousseDefinition.getImageAt(objectDao, 0).getImage(); + img = imageFileManager.getImageByIdAndType(tdId, ImageFile.IMAGE_TYPE_TOUSSE, "1"); } img = ImageUtils.defaultIfEmpty(img); try { Index: ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js =================================================================== diff -u -r15243 -r15249 --- ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 15243) +++ ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 15249) @@ -936,7 +936,8 @@ var materialId = Ext4.getCmp('materialId').getValue(); var vedioName = Ext4.getCmp('vedioName').getValue(); var td_id = Ext4.getCmp('td_id').getValue(); - if(currentPage == 1){ + if(currentPage <= 1){ + Ext4.getCmp('currentPage').setValue(1); showResult("已是第一页!"); }else{ loadGoodsImage(imageName,imageType,materialId,parseInt(currentPage)-1,vedioName,td_id); @@ -951,15 +952,16 @@ var td_id = Ext4.getCmp('td_id').getValue(); Ext4.Ajax.request({ - url : WWWROOT + '/disinfectSystem/packingAction!getUploadPicTotalPage.do', + url : WWWROOT + '/disinfectSystem/baseData/showImageAction!getToussePictureAmount.do', params : { - td_id : td_id, - imageType:imageType + id : td_id, + imageType:imageType }, success : function(result){ - var pageStr = result.responseText; - var totalPage = parseInt(pageStr); - if(currentPage == totalPage){ + var pageCount = Ext.decode(result.responseText); + var totalPage = parseInt(pageCount.count); + if(currentPage >= totalPage){ + Ext4.getCmp('currentPage').setValue(totalPage); showResult("已是最后一页!"); }else{ loadGoodsImage(imageName,imageType,materialId,parseInt(currentPage)+1,vedioName,td_id); @@ -1704,7 +1706,7 @@ }); function loadGoodsImage(tousseName,type,materialId,currentPage,vedioName,td_id){ - var url = WWWROOT + "/disinfectSystem/recyclingApplicationAction!getImage.do?imageType=" + type +'&materialId='+materialId+'&tousseId='+td_id+'&page='+currentPage + '&name='+encodeURIComponent(tousseName); + var url = WWWROOT + "/disinfectSystem/baseData/showImageAction!getToussePic.do?imageType=" + type +'&materialId='+materialId+'&tousseId='+td_id+'&page='+currentPage + '&name='+encodeURIComponent(tousseName); // var image = Ext4.getCmp('browseImage'); // image.setSrc(''); // image.setSrc(url);// 覆盖原来的图片 Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/imagefilemanager/action/ShowImageAction.java =================================================================== diff -u --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/imagefilemanager/action/ShowImageAction.java (revision 0) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/imagefilemanager/action/ShowImageAction.java (revision 15249) @@ -0,0 +1,254 @@ +package com.forgon.disinfectsystem.tousse.imagefilemanager.action; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.OutputStream; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.util.Map; + +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import net.sf.json.JSONObject; + +import org.apache.commons.lang.StringUtils; +import org.apache.struts2.convention.annotation.Action; +import org.apache.struts2.convention.annotation.Namespace; +import org.apache.struts2.convention.annotation.ParentPackage; + +import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; +import com.forgon.disinfectsystem.entity.basedatamanager.imagefilemanager.ImageFile; +import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; +import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; +import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; +import com.forgon.disinfectsystem.tousse.imagefilemanager.service.ImageFileManager; +import com.forgon.disinfectsystem.tousse.materialdefinition.service.MaterialDefinitionManager; +import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; +import com.forgon.tools.FileSystemHelper; +import com.forgon.tools.ImageUtils; +import com.forgon.tools.StrutsParamUtils; +import com.forgon.tools.StrutsResponseUtils; +import com.forgon.tools.db.DatabaseUtil; +import com.forgon.tools.json.JSONUtil; +import com.forgon.tools.string.StringTools; + +/** + * 显示图片的action + * @author kzh + * + */ +@ParentPackage(value = "default") +@Namespace(value = "/disinfectSystem/baseData") +@Action(value = "showImageAction") +public class ShowImageAction { + private TousseDefinitionManager tousseDefinitionManager; + private MaterialDefinitionManager materialDefinitionManager; + private ImageFileManager imageFileManager; + private SupplyRoomConfigManager supplyRoomConfigManager; + + public void setTousseDefinitionManager( + TousseDefinitionManager tousseDefinitionManager) { + this.tousseDefinitionManager = tousseDefinitionManager; + } + public void setMaterialDefinitionManager( + MaterialDefinitionManager materialDefinitionManager) { + this.materialDefinitionManager = materialDefinitionManager; + } + public void setImageFileManager(ImageFileManager imageFileManager) { + this.imageFileManager = imageFileManager; + } + public void setSupplyRoomConfigManager( + SupplyRoomConfigManager supplyRoomConfigManager) { + this.supplyRoomConfigManager = supplyRoomConfigManager; + } + /** + * 获取器械包图片的数量 + */ + public void getToussePictureAmount(){ + Map parameters = StrutsParamUtils.getParameters(); + String imageType = parameters.get("imageType"); + int count = imageFileManager.getImagesCount(getObjectId(parameters), imageType); + StrutsResponseUtils.output(buildCountJson(count)); + } + /** + * 获取器械包图片 + */ + public void getToussePic() { + Map parameters = StrutsParamUtils.getParameters(); + String page = parameters.get("page"); + String imageType = parameters.get("imageType"); + byte[] img = null; + long imageId = 0; + ImageFile picture = null; + + Long objectId = getObjectId(parameters); + + if (StringUtils.isNumeric(page) && DatabaseUtil.isPoIdValid(objectId)) { + int index = Integer.parseInt(page); + int count = imageFileManager.getImagesCount(objectId, imageType); + if (index > 0 && index <= count) { + picture = imageFileManager.getImageAt(objectId, imageType, index - 1); + imageId = picture.getId(); + if (picture.getImage() != null) { + img = picture.getImage(); + } else { + img = readImageData(picture); + } + + } + } + outputImage(img, imageId); + } + + private void outputImage(byte[] img, long imageId) { + OutputStream outputStream = null; + img = ImageUtils.defaultIfEmpty(img); + try { + HttpServletResponse response = StrutsParamUtils.getResponse(); + response.setContentType("image/jpeg"); + outputStream = response.getOutputStream(); + outputStream.write(img, 0, img.length); + + HttpSession session = StrutsParamUtils.getRequest().getSession(); + session.setAttribute("delImageID", "" + imageId); + } catch (IOException e) { + e.printStackTrace(); + } + finally { + if (outputStream != null) { + try { + outputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + private byte[] readImageData(ImageFile picture) { + byte[] img; + img = new byte[4096 * 1024]; + String saveImagePath = supplyRoomConfigManager + .getSystemParamsObj().getSaveImagePath(); + + String thumbnailImagePath = picture.getThumbnailImagePath(); + String uuidImageName = picture.getUUIDAndImageName(); + String Directory = saveImagePath + thumbnailImagePath + + "\\" + uuidImageName; + FileInputStream fis = null; + try { + fis = new FileInputStream(new File(Directory)); + fis.read(img); + } catch (FileNotFoundException e) { + img = FileSystemHelper.readBlankImageBytes(StrutsParamUtils + .getServletContext().getRealPath("/")); + } catch (IOException e) { + img = FileSystemHelper.readBlankImageBytes(StrutsParamUtils + .getServletContext().getRealPath("/")); + } + finally { + if (fis != null) { + try { + fis.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return img; + } + /** + * 根据id或者包名称获取包定义,优先根据id获取 + * @param parameters + * @return + */ + private TousseDefinition getTousseDefinition(Map parameters) { + String name = null; + try { + name = URLDecoder.decode(parameters.get("name"),"utf-8"); + } catch (Exception e) { + name = null; + } + String id = parameters.get("id"); + TousseDefinition def = null; + if(!DatabaseUtil.isPoIdValid(id)){ + id = parameters.get("tousseId"); + } + if(DatabaseUtil.isPoIdValid(id)){ + def = tousseDefinitionManager + .getTousseDefinitionById(id); + }else{ + def = tousseDefinitionManager + .getTousseDefinitionByNameForDisplay(name);// 因为现在外来器械包,消毒物品,自定义的包,每次申请时会创建包定义,但是没有记住正确的祖先id,所以此处不能简单的根据包名来取包定义 + } + return def; + } + /** + * 根据id或者材料名称获取材料定义,优先根据id获取 + * @param parameters + * @return + */ + private MaterialDefinition getMaterialDefinition(Map parameters){ + String name = null; + try { + name = URLDecoder.decode(parameters.get("materialName"),"utf-8"); + } catch (Exception e) { + name = null; + } + String id = parameters.get("id"); + if(!DatabaseUtil.isPoIdValid(id)){ + id = parameters.get("materialId"); + } + if(DatabaseUtil.isPoIdValid(id)){ + return materialDefinitionManager.getMaterialDefinitionById(id); + }else if (StringUtils.isNotBlank(name) && name.lastIndexOf("[") != -1){ + String specification = null; + specification = name.substring(name.lastIndexOf("[") + 1, + name.length() - 1); + name = name.substring(0, name.lastIndexOf("[")).trim(); + return materialDefinitionManager + .getMaterialDefinitionByName(name, specification); + } + return null; + } + /** + * 根据材料获取图片对象记录的objectId + * @param parameters + * @return + */ + private Long getObjectId(Map parameters) { + Long objectId = 0L; + String imageType = parameters.get("imageType"); + if(StringTools.equals(ImageFile.IMAGE_TYPE_TOUSSE, imageType) + || StringTools.equals(ImageFile.IMAGE_TYPE_SPECIFICATION,imageType)){ + TousseDefinition tousseDefinition = getTousseDefinition(parameters); + objectId = getObjectId(tousseDefinition); + }else if(StringTools.equals(ImageFile.IMAGE_TYPE_MATERIAL, imageType)){ + MaterialDefinition md = getMaterialDefinition(parameters); + if(md != null){ + objectId = md.getId(); + } + } + return objectId; + } + /** + * 获取包定义的id,以用于获取图片对象。如果包定义有祖先id,则返回祖先id,否则返回自己的id + * @param tousseDefinition 器械包定义 + * @return + */ + private Long getObjectId(TousseDefinition tousseDefinition){ + return tousseDefinitionManager.getAncestorIdOrId(tousseDefinition); + } + /** + * 创建数量的json对象 + * @param count + * @return + */ + private JSONObject buildCountJson(int count){ + JSONObject json = JSONUtil.buildJsonObject(true); + JSONUtil.addProperty(json, "count", count); + return json; + } +} Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java =================================================================== diff -u -r15198 -r15249 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java (.../TousseDefinitionAction.java) (revision 15198) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java (.../TousseDefinitionAction.java) (revision 15249) @@ -593,18 +593,13 @@ try { HttpSession session = StrutsParamUtils.getRequest().getSession(); String imageFileID = (String) session.getAttribute("delImageID"); - if (StringUtils.isNotBlank(imageFileID)) { + if (DatabaseUtil.isPoIdValid(imageFileID)) { ImageFile image = imageFileManager .getImageFileById(imageFileID); if (image != null) { imageFileManager.deleteImageFile(image); } - try { - StrutsParamUtils.getResponse().getWriter() - .print("{success:true,message:'删除成功'}"); - } catch (IOException e) { - e.printStackTrace(); - } + StrutsResponseUtils.output(true,"删除成功"); } } catch (Exception e) { e.printStackTrace(); Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java =================================================================== diff -u -r15207 -r15249 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 15207) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 15249) @@ -1303,8 +1303,7 @@ int imageCount = 0; if (StringUtils.isNotBlank(objectId)) { if (ImageFile.IMAGE_TYPE_STERILIZATION.equals(imageType)) { - long count = imageFileManager.getImagesCount(objectId,imageType); - imageCount = (int)count; + imageCount = imageFileManager.getImagesCount(objectId,imageType); } } HttpServletResponse httpServletResponse = StrutsParamUtils