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