Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/table2_bg.gif =================================================================== diff -u Binary files differ Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/washformbody_bg.jpg =================================================================== diff -u Binary files differ Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r14604 -r14770 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 14604) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 14770) @@ -1391,7 +1391,8 @@ // 目前只转换器械包信息 for (ClassifyBasket classifyBasket : washAndDisinfectRecord .getClassifyBaskets()) { - builder.value(classifyBasketToJson(classifyBasket)); + JSONObject obj = washAndDisinfectRecordManager.classifyBasketToJson(classifyBasket); + builder.value(obj); } builder.endArray().endObject(); return builder.toString(); @@ -1421,146 +1422,9 @@ if (StringUtils.isBlank(barcode)) { return JSONUtil.buildErrorMsgJsonResult("缺失参数barcode"); } - - BarcodeDevice barcodeDevice = barcodeManager - .getBarcodeByBarcode(barcode); - if (barcodeDevice instanceof Rinser) { - // 清洗机 - Rinser rinser = (Rinser) barcodeDevice; - JSONBuilder builder = new JSONStringer().object().key("success") - .value(true).key("barcode").value(barcode).key("type") - .value("rinser").key("data").object().key("barcode") - .value(rinser.getBarcode()).key("name") - .value(rinser.getName()); - builder.key("cleanMethods").array(); - for (CleanMethod cleanMethod : rinser.getCleanMethods()) { - builder.object().key("barcode").value(cleanMethod.getBarcode()) - .key("name").value(cleanMethod.getCleanMethod()) - .key("cleanMinutes").value(cleanMethod.getCleanMinutes()) - .endObject(); - } - builder.endArray().endObject().endObject(); - return builder.toString(); - - } else if (barcodeDevice instanceof CleanMethod) { - // 清洗程序 - CleanMethod cleanMethod = (CleanMethod) barcodeDevice; - return new JSONStringer().object().key("success").value(true) - .key("barcode").value(barcode).key("type") - .value("cleanMethod").key("data").object().key("barcode") - .value(cleanMethod.getBarcode()).key("name") - .value(cleanMethod.getCleanMethod()).endObject() - .endObject().toString(); - - } else if (barcodeDevice instanceof Container) { - return buildJsonResultForWashContainer((Container) barcodeDevice); - } else if (barcodeDevice instanceof User) { - // 用户 - User user = (User) barcodeDevice; - if(!user.isBelongsToCurrentLoginUserOrgs()){ - return JSONUtil.buildErrorMsgJsonResult("不能设置为该用户"); - } - JsonObject jsonObj = new JsonObject(); - JsonObject userObj = new JsonObject(); - jsonObj.addProperty("success", true); - jsonObj.addProperty("barcode", barcode); - jsonObj.addProperty("type", "user"); - userObj.addProperty("name", user.getName()); - userObj.addProperty("fullName", user.getFullName()); - jsonObj.add("data", userObj); - return jsonObj.toString(); - }else { - return JSONUtil.buildErrorMsgJsonResult("条码无效"); - } + return washAndDisinfectRecordManager.getBarcodeInfoForWash(barcode); } - private JSONObject classifyBasketToJson(ClassifyBasket classifyBasket) { - JSONObject result = new JSONObject(); - result.put("id", classifyBasket.getId()); - - JSONObject containerJSONObj = new JSONObject(); - containerJSONObj.put("barcode", classifyBasket.getContainerBarcode()); - containerJSONObj.put("name", classifyBasket.getContainerName()); - containerJSONObj.put("personInCharge", classifyBasket.getPersonInCharge()); - containerJSONObj.put("personInChargeCode", classifyBasket.getPersonInChargeCode()); - result.put("container", containerJSONObj); - - JSONArray itemAmountInfoJSONArray = new JSONArray(); - for (ClassifiedItem classifiedItem : classifyBasket.getClassfiedItems()) { - JSONObject itemAmountInfoJSONObj = new JSONObject(); - if (ClassifiedItem.TYPE_MATERIAL.equals(classifiedItem - .getItemType())) { - MaterialDefinition materialDefinition = classifiedItem - .getMaterialDefinition(); - - String materialName = materialDefinition.getName(); - String sp = materialDefinition - .getSpecification(); - if (StringUtils.isNotBlank(sp)) { - materialName += "[" + sp + "]"; - } - - itemAmountInfoJSONObj.put("itemDefinitionName", materialName); - } else { - TousseDefinition tousseDefinition = classifiedItem.getTousseDefinition(); - - if(tousseDefinition == null){ - continue; - } - String tousseName = tousseDefinition - .getName(); - itemAmountInfoJSONObj.put("itemDefinitionName", tousseName); - } - - itemAmountInfoJSONObj.put("amount", classifiedItem.getAmount()); - itemAmountInfoJSONArray.add(itemAmountInfoJSONObj); - } - result.put("itemAmountInfos", itemAmountInfoJSONArray); - return result; - } - - private String buildJsonResultForWashContainer(Container container) { - if (!Container.CONTAINERTYPE_BASKET - .equals(container.getContainerType()) - && !Container.CONTAINERTYPE_CLEANINGSHELF.equals(container - .getContainerType())) {// 容器的类型必须是篮筐或清洗架 - return JSONUtil.buildErrorMsgJsonResult("此条码非篮筐或清洗架"); - } - if (Container.CONTAINER_STATUS_FREE.equals(container.getStatus())) { - return JSONUtil.buildErrorMsgJsonResult("此篮筐未装载物品"); - } - if (Container.CONTAINER_STATUS_WASHING.equals(container.getStatus())) { - return JSONUtil.buildErrorMsgJsonResult("此篮筐正在清洗"); - } - - ClassifyBasket classifyBasket = null; - if (Container.CONTAINER_STATUS_WASHLOADING - .equals(container.getStatus())) { - classifyBasket = beCleanItemManager - .getUnWashedBasketByBarcode(container.getBarcode()); - } else if (Container.CONTAINER_STATUS_WASHED.equals(container - .getStatus())) { - classifyBasket = beCleanItemManager - .getLatestWashedBasketByBarcode(container.getBarcode()); - } - - if (classifyBasket == null) { - return JSONUtil.buildErrorMsgJsonResult("此篮筐状态异常:" + container.getStatus()); - } - - Set classfiedItems = classifyBasket.getClassfiedItems(); - if (CollectionUtils.isEmpty(classfiedItems)) { - return JSONUtil.buildErrorMsgJsonResult("此篮筐未装载物品"); - } - - JSONBuilder builder = new JSONStringer().object().key("success") - .value(true).key("barcode").value(container.getBarcode()) - .key("type").value("containerStatus").key("data") - .value(classifyBasketToJson(classifyBasket)).endObject(); - - return builder.toString(); - } - // 提交单条清洗记录 public String submitWashRecord(JSONObject params) { JSONObject washRecordJsonObj = params.optJSONObject("washRecord"); Index: ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/action/WashAndDisinfectRecordAction.java =================================================================== diff -u -r14715 -r14770 --- ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/action/WashAndDisinfectRecordAction.java (.../WashAndDisinfectRecordAction.java) (revision 14715) +++ ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/action/WashAndDisinfectRecordAction.java (.../WashAndDisinfectRecordAction.java) (revision 14770) @@ -5,6 +5,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; +import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -28,9 +29,12 @@ import com.forgon.Constants; import com.forgon.databaseadapter.service.DateQueryAdapter; import com.forgon.directory.acegi.tools.AcegiHelper; +import com.forgon.directory.model.BarcodeDevice; import com.forgon.directory.vo.LoginUserData; +import com.forgon.disinfectsystem.barcode.service.BarcodeManager; import com.forgon.disinfectsystem.basedata.becleanitem.service.BeCleanItemManager; import com.forgon.disinfectsystem.common.CssdUtils; +import com.forgon.disinfectsystem.entity.basedatamanager.cleanmethod.CleanMethod; import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.rinser.Rinser; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; @@ -70,10 +74,16 @@ private BeCleanItemManager beCleanItemManager; private MaterialDefinitionManager materialDefinitionManager; + + private BarcodeManager barcodeManager; private ObjectDao objectDao; private TimeoutManager timeoutManager; private boolean hasWashRecord = false; + + public void setBarcodeManager(BarcodeManager barcodeManager) { + this.barcodeManager = barcodeManager; + } public void setTimeoutManager(TimeoutManager timeoutManager) { this.timeoutManager = timeoutManager; @@ -98,7 +108,7 @@ } public void saveWashAndDisinfectRecord() { - String message = "{'success':'true','message':'保存成功!'}"; + String message = JSONUtil.buildJsonObject(true, "保存成功!").toString(); // 开始时间、结束时间 try { SimpleDateFormat sdf = Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS; @@ -174,7 +184,7 @@ washAndDisinfectRecord.getStartDate(), washAndDisinfectRecord.getEndDate()); if(exist && washAndDisinfectRecord.getId() == 0){ - message = "{'success':'false','message':'"+disinfectIdentification+"正在清洗,不能添加清洗记录。'}"; + message = JSONUtil.buildJsonObject(false,disinfectIdentification+"正在清洗,不能添加清洗记录。").toString(); }else{ washAndDisinfectRecordManager .saveOrUpdateWashAndDisinfectRecordAndMaterials( @@ -713,6 +723,57 @@ .getOrgUnitCodingFromSupplyRoomConfig()); } } + + public void getBarcodeInfoForWash(){ + String barcode = StrutsParamUtils.getPraramValue("barcode", ""); + String result = washAndDisinfectRecordManager.getBarcodeInfoForWash(barcode); + try { + HttpServletResponse response = StrutsParamUtils.getResponse(); + response.setCharacterEncoding("UTF-8"); + response.getWriter().println(result); + } catch (IOException e) { + e.printStackTrace(); + } + } + + public void getWashStartDateTimeAndEndDateTime(){ + String barcode = StrutsParamUtils.getPraramValue("barcode", ""); + JSONObject obj = new JSONObject(); + boolean success = false; + String msg = ""; + if(StringUtils.isNotBlank(barcode)){ + BarcodeDevice barcodeDevice = barcodeManager.getBarcodeByBarcode(barcode); + if(barcodeDevice != null && barcodeDevice instanceof CleanMethod){ + CleanMethod cleanMethod = (CleanMethod)barcodeDevice; + Integer cleanMinutes = cleanMethod.getCleanMinutes(); + if(cleanMinutes != null){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + Calendar nowTime = Calendar.getInstance(); + String startDateTime = sdf.format(nowTime.getTime()); + nowTime.add(Calendar.MINUTE, cleanMinutes); + String endDateTime = sdf.format(nowTime.getTime()); + success = true; + obj.put("startDateTime", startDateTime); + obj.put("endDateTime", endDateTime); + }else{ + success = false; + msg = "该清洗程序未设置清洗时间!"; + } + }else{ + success = false; + msg = "扫描的条码不是清洗程序条码!"; + } + } + obj.put("success", success); + obj.put("message", msg); + try { + HttpServletResponse response = StrutsParamUtils.getResponse(); + response.setCharacterEncoding("UTF-8"); + response.getWriter().println(obj.toString()); + } catch (IOException e) { + e.printStackTrace(); + } + } public WashAndDisinfectRecord getWashAndDisinfectRecord() { return washAndDisinfectRecord; Index: ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java =================================================================== diff -u -r14438 -r14770 --- ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java (.../WashAndDisinfectRecordManagerImpl.java) (revision 14438) +++ ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java (.../WashAndDisinfectRecordManagerImpl.java) (revision 14770) @@ -13,21 +13,31 @@ import java.util.List; import java.util.Map; import java.util.Set; + +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; +import net.sf.json.util.JSONBuilder; +import net.sf.json.util.JSONStringer; + import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.ListUtils; import org.apache.commons.collections4.SetUtils; import org.apache.commons.lang.StringUtils; import org.hibernate.Query; import org.hibernate.Session; + import com.forgon.Constants; import com.forgon.databaseadapter.service.DateQueryAdapter; +import com.forgon.directory.model.BarcodeDevice; import com.forgon.disinfectsystem.barcode.service.BarcodeManager; import com.forgon.disinfectsystem.basedata.becleanitem.service.BeCleanItemManager; import com.forgon.disinfectsystem.basedatamanager.container.service.ContainerManager; import com.forgon.disinfectsystem.basedatamanager.reportoption.GoodsOptionManager; import com.forgon.disinfectsystem.basedatamanager.rinser.service.RinserManager; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; +import com.forgon.disinfectsystem.entity.basedatamanager.cleanmethod.CleanMethod; import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; +import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.materialinstance.MaterialInstance; import com.forgon.disinfectsystem.entity.basedatamanager.reportoption.GoodsOption; import com.forgon.disinfectsystem.entity.basedatamanager.rinser.Rinser; @@ -42,11 +52,14 @@ import com.forgon.disinfectsystem.entity.washanddisinfectmanager.washanddisinfectrecord.WashAndDisinfectRecordMaterial; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; import com.forgon.disinfectsystem.washanddisinfectmanager.washanddisinfectrecord.vo.WorkloadInfo; +import com.forgon.security.model.User; import com.forgon.serialnumber.model.SerialNum; import com.forgon.serialnumber.service.SerialNumManager; import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.ObjectDao; +import com.forgon.tools.json.JSONUtil; import com.forgon.tools.util.SqlUtils; +import com.google.gson.JsonObject; /** * @author WangYi @@ -872,4 +885,144 @@ } } } + + public String getBarcodeInfoForWash(String barcode) { + BarcodeDevice barcodeDevice = barcodeManager + .getBarcodeByBarcode(barcode); + if (barcodeDevice instanceof Rinser) { + // 清洗机 + Rinser rinser = (Rinser) barcodeDevice; + JSONBuilder builder = new JSONStringer().object().key("success") + .value(true).key("barcode").value(barcode).key("type") + .value("rinser").key("data").object().key("barcode") + .value(rinser.getBarcode()).key("name") + .value(rinser.getName()); + builder.key("cleanMethods").array(); + for (CleanMethod cleanMethod : rinser.getCleanMethods()) { + builder.object().key("barcode").value(cleanMethod.getBarcode()) + .key("name").value(cleanMethod.getCleanMethod()) + .key("cleanMinutes").value(cleanMethod.getCleanMinutes()) + .endObject(); + } + builder.endArray().endObject().endObject(); + return builder.toString(); + + } else if (barcodeDevice instanceof CleanMethod) { + // 清洗程序 + CleanMethod cleanMethod = (CleanMethod) barcodeDevice; + return new JSONStringer().object().key("success").value(true) + .key("barcode").value(barcode).key("type") + .value("cleanMethod").key("data").object().key("barcode") + .value(cleanMethod.getBarcode()).key("name") + .value(cleanMethod.getCleanMethod()).endObject() + .endObject().toString(); + + } else if (barcodeDevice instanceof Container) { + return buildJsonResultForWashContainer((Container) barcodeDevice); + } else if (barcodeDevice instanceof User) { + // 用户 + User user = (User) barcodeDevice; + if(!user.isBelongsToCurrentLoginUserOrgs()){ + return JSONUtil.buildErrorMsgJsonResult("不能设置为该用户"); + } + JsonObject jsonObj = new JsonObject(); + JsonObject userObj = new JsonObject(); + jsonObj.addProperty("success", true); + jsonObj.addProperty("barcode", barcode); + jsonObj.addProperty("type", "user"); + userObj.addProperty("name", user.getName()); + userObj.addProperty("fullName", user.getFullName()); + jsonObj.add("data", userObj); + return jsonObj.toString(); + }else { + return JSONUtil.buildErrorMsgJsonResult("条码无效"); + } + } + + private String buildJsonResultForWashContainer(Container container) { + if (!Container.CONTAINERTYPE_BASKET + .equals(container.getContainerType()) + && !Container.CONTAINERTYPE_CLEANINGSHELF.equals(container + .getContainerType())) {// 容器的类型必须是篮筐或清洗架 + return JSONUtil.buildErrorMsgJsonResult("此条码非篮筐或清洗架"); + } + if (Container.CONTAINER_STATUS_FREE.equals(container.getStatus())) { + return JSONUtil.buildErrorMsgJsonResult("此篮筐未装载物品"); + } + if (Container.CONTAINER_STATUS_WASHING.equals(container.getStatus())) { + return JSONUtil.buildErrorMsgJsonResult("此篮筐正在清洗"); + } + + ClassifyBasket classifyBasket = null; + if (Container.CONTAINER_STATUS_WASHLOADING + .equals(container.getStatus())) { + classifyBasket = beCleanItemManager + .getUnWashedBasketByBarcode(container.getBarcode()); + } else if (Container.CONTAINER_STATUS_WASHED.equals(container + .getStatus())) { + classifyBasket = beCleanItemManager + .getLatestWashedBasketByBarcode(container.getBarcode()); + } + + if (classifyBasket == null) { + return JSONUtil.buildErrorMsgJsonResult("此篮筐状态异常:" + container.getStatus()); + } + + Set classfiedItems = classifyBasket.getClassfiedItems(); + if (CollectionUtils.isEmpty(classfiedItems)) { + return JSONUtil.buildErrorMsgJsonResult("此篮筐未装载物品"); + } + + JSONBuilder builder = new JSONStringer().object().key("success") + .value(true).key("barcode").value(container.getBarcode()) + .key("type").value("containerStatus").key("data") + .value(classifyBasketToJson(classifyBasket)).endObject(); + + return builder.toString(); + } + + public JSONObject classifyBasketToJson(ClassifyBasket classifyBasket) { + JSONObject result = new JSONObject(); + result.put("id", classifyBasket.getId()); + + JSONObject containerJSONObj = new JSONObject(); + containerJSONObj.put("barcode", classifyBasket.getContainerBarcode()); + containerJSONObj.put("name", classifyBasket.getContainerName()); + containerJSONObj.put("personInCharge", classifyBasket.getPersonInCharge()); + containerJSONObj.put("personInChargeCode", classifyBasket.getPersonInChargeCode()); + result.put("container", containerJSONObj); + + JSONArray itemAmountInfoJSONArray = new JSONArray(); + for (ClassifiedItem classifiedItem : classifyBasket.getClassfiedItems()) { + JSONObject itemAmountInfoJSONObj = new JSONObject(); + if (ClassifiedItem.TYPE_MATERIAL.equals(classifiedItem + .getItemType())) { + MaterialDefinition materialDefinition = classifiedItem + .getMaterialDefinition(); + + String materialName = materialDefinition.getName(); + String sp = materialDefinition + .getSpecification(); + if (StringUtils.isNotBlank(sp)) { + materialName += "[" + sp + "]"; + } + + itemAmountInfoJSONObj.put("itemDefinitionName", materialName); + } else { + TousseDefinition tousseDefinition = classifiedItem.getTousseDefinition(); + + if(tousseDefinition == null){ + continue; + } + String tousseName = tousseDefinition + .getName(); + itemAmountInfoJSONObj.put("itemDefinitionName", tousseName); + } + + itemAmountInfoJSONObj.put("amount", classifiedItem.getAmount()); + itemAmountInfoJSONArray.add(itemAmountInfoJSONObj); + } + result.put("itemAmountInfos", itemAmountInfoJSONArray); + return result; + } } Index: ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washForTouchScreen.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washForTouchScreen.jsp (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washForTouchScreen.jsp (revision 14770) @@ -0,0 +1,135 @@ + +<%@page import="com.forgon.directory.vo.LoginUserData"%> +<%@page import="com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig"%> +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@page import="java.util.Date"%> +<%@page import="java.text.SimpleDateFormat"%> +<%@page import="com.forgon.tools.SpringBeanManger"%> +<%@page import="com.forgon.directory.acegi.tools.AcegiHelper"%> + + + + + + +消毒供应中心质量追溯管理系统 + + + + + + + + + + + + + + + + + + + + + + +<% + LoginUserData loginUser = AcegiHelper.getLoginUser(); + String orgUnitCoding = loginUser.getOrgUnitCodingFromSupplyRoomConfig(); + String orgUnitName = loginUser.getCurrentOrgUnitName(); + request.setAttribute("userName",loginUser.getUserFullName()); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + request.setAttribute("today", dateFormat.format(new Date())); + request.setAttribute("orgUnitCoding",orgUnitCoding); + request.setAttribute("orgUnitName",orgUnitName); +%> + + + + + + + + + + + + +
+

+
+ + + +
+ +
+
+ + + +
+
+
+
+ +
+
+ + +
+
+
+
+ +
+
+ + + + + +
+
+
+ +
+
+
  • 请扫描篮筐条码
+
    +
+
+
+ + + + +
+ + Index: ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washForTouchScreen.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washForTouchScreen.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washForTouchScreen.js (revision 14770) @@ -0,0 +1,363 @@ +var ab; +var lock = false; +var saveBarcode = '9999999'; +var cancelBarcode = '8888888'; +//锁定键盘 +function lockup(e){ e.preventDefault(); } +//高亮层不锁定 +function lockout(e){ e.stopPropagation(); } + +function alertDiv(alertWord,hideCloseButton,showOtherButton){ + lock = true; + document.getElementById ("showWord").innerHTML = alertWord; + if(typeof(hideCloseButton) != 'undefined' && hideCloseButton){ + $('#idBoxClose').hide(); + } + else{ + $('#idBoxClose').show(); + } + if(showOtherButton){ + $('#idBoxCenterUserType').show(); + }else{ + $('#idBoxCenterUserType').hide(); + } + ab = new AlertBox("idBox"); + ab.onShow = function(){ + if ( lock ) { + $$E.addEvent( document, "keydown", lockup ); + $$E.addEvent( this.box, "keydown", lockout ); + OverLay.show(); + } + }; + ab.onClose = function(){ + $$E.removeEvent( document, "keydown", lockup ); + $$E.removeEvent( this.box, "keydown", lockout ); + OverLay.close(); + }; + + ab.center = true; + ab.show(); +} + +function closeDiv(){ + ab.close(); +} + + var applicationType = null; + var userNameByBarcode = "";//条形码对应的用户名 + +//清理视图列表 +function cleanTableList(){ + $("#tousseItemTable").empty(); + $("#basketsUl").empty(); +} + +function cleanMaterialAndBasketTableList(){ + $("#basketsUl").empty(); +} + +/*--------------------------- +功能:停止事件冒泡 +---------------------------*/ +function stopBubble(e) { + //如果提供了事件对象,则这是一个非IE浏览器 + if ( e && e.stopPropagation ) + //因此它支持W3C的stopPropagation()方法 + e.stopPropagation(); + else + //否则,我们需要使用IE的方式来取消事件冒泡 + window.event.cancelBubble = true; +} +//阻止浏览器的默认行为 +function stopDefault( e ) { + //阻止默认浏览器动作(W3C) + if ( e && e.preventDefault ) + e.preventDefault(); + //IE中阻止函数器默认动作的方式 + else + window.event.returnValue = false; + return false; +} + +//在页面无需将光标定位在输入框相应全局的扫描枪事件 +var barcodeGloble = ''; +function showKeyDown(){ + if(event.keyCode == 48 || event.keyCode == 96){ + barcodeGloble += '0'; + }else if(event.keyCode == 49 || event.keyCode == 97){ + barcodeGloble += '1'; + }else if(event.keyCode == 50 || event.keyCode == 98){ + barcodeGloble += '2'; + }else if(event.keyCode == 51 || event.keyCode == 99){ + barcodeGloble += '3'; + }else if(event.keyCode == 52 || event.keyCode == 100){ + barcodeGloble += '4'; + }else if(event.keyCode == 53 || event.keyCode == 101){ + barcodeGloble += '5'; + }else if(event.keyCode == 54 || event.keyCode == 102){ + barcodeGloble += '6'; + }else if(event.keyCode == 55 || event.keyCode == 103){ + barcodeGloble += '7'; + }else if(event.keyCode == 56 || event.keyCode == 104){ + barcodeGloble += '8'; + }else if(event.keyCode == 57 || event.keyCode == 105){ + barcodeGloble += '9'; + }else if(event.keyCode == 13){ + loadBarcodeDevice(barcodeGloble); + } + stopBubble(event); + stopDefault(event); +} + +//删除整个篮筐 +function deleteBasket(deleteButton){ + $(deleteButton).parent().parent().remove(); +} + +function createBasketUiElement(basketBarcode,classifyBasketId,basketName,itemsInfo){ + var basketElement = '
  • '; + basketElement += ''; + basketElement += ''; + basketElement += '删除'; + basketElement += ''; + basketElement += ''; + basketElement += '' + basketName +''; + basketElement += '
    '; + + if(itemsInfo != null && itemsInfo.length > 0){ + for(var i = 0;i < itemsInfo.length ; i++){ + var itemElement = createBasketItem(itemsInfo[i].itemDefinitionName,itemsInfo[i].amount); + basketElement += itemElement; + } + } + basketElement += "
    "; + basketElement += '
  • '; + var obj = $(basketElement); + $("#basketsUl").prepend(obj); + var json = getBasketJSON(classifyBasketId,basketBarcode); + $("#basketsUl li:first").find('input').val(json); +} +function createBasketItem(goodsName,amount){ + var element = '
    '+goodsName+'
    '; + element += '
    '+amount+'
    '; + element += '
     
    '; + return element; +} + +function isBasketExist(classifyBasketId){ + var isExist = false; + $("#basketsUl li").each(function(){ + var hide = $(this).find('input'); + var item = JSON.parse(hide.val()); + if(item.classifyBasketId == classifyBasketId){ + isExist = true; + return false; + } + }); + return isExist; +} + +function getWashStartDateTimeAndEndDateTime(barcode){ + $.ajax({ + type:'get', + url:WWWROOT + '/disinfectSystem/washAndDisinfect/washAndDisinfectRecordAction!getWashStartDateTimeAndEndDateTime.do?&barcode='+barcode+'', + dataType:'json', + success:function(result){ + var success = result.success; + if(success){ + $("#startDate").val(result.startDateTime); + $("#endDate").val(result.endDateTime); + }else{ + alertDiv(result.message); + } + }, + error:function(msg){ + alertDiv("加载出错,请联系管理员!"); + } + }); +} + +function loadBarcodeDevice(barcodeTemp){ + + var codeStr = barcodeTemp.substring(barcodeTemp.length-7,barcodeTemp.length); + if(codeStr == saveBarcode){ + doSaveAction(); + }else if(codeStr == cancelBarcode){ + cancel(); + }else{ + if(barcodeTemp.length >= 9){ + var barcode = barcodeTemp.substring(barcodeTemp.length-9,barcodeTemp.length); + $.ajax({ + type:'get', + url:WWWROOT + '/disinfectSystem/washAndDisinfect/washAndDisinfectRecordAction!getBarcodeInfoForWash.do?time='+new Date()+'&barcode='+barcode+'', + dataType:'json', + success:function(result){ + var success = result.success; + if(success){ + var type = result.type; + if(type == "containerStatus"){ + var basketName = result.data.container.name; + var classifyBasketId = result.data.id; + var basketBarcode = result.data.container.barcode; + var itemsInfo = result.data.itemAmountInfos; + var isExist = isBasketExist(classifyBasketId); + if(!isExist){ + createBasketUiElement(basketBarcode,classifyBasketId,basketName,itemsInfo); + $("#scanContainerBarcodeTipUl").hide(); + }else{ + alertDiv(basketName + ",已扫描!"); + } + }else if(type == "rinser"){ + var name = result.data.name; + $("#disinfectIdentification").val(name); + }else if(type == "cleanMethod"){ + var name = result.data.name; + $("#disinfectProgram").val(name); + getWashStartDateTimeAndEndDateTime(result.data.barcode); + }else if(type == "user"){ + $("#personInCharge").val(result.data.fullName); + $("#personInChargeCode").val(result.data.name); + } + + }else{ + alertDiv(result.error); + } + }, + error:function(msg){ + alertDiv("加载出错,请联系管理员!"); + } + }); + }else{ + alertDiv('条码长度不符合规范。'); + } + } +} + +function getBasketJSON(itemId,barcode){ + var json = {}; + json.classifyBasketId = itemId; + json.barcode = barcode; + return JSON.stringify(json); +} + +//待装载篮筐视图中的树形菜单伸缩的处理 +function toggleItems(spanElement){ + $(spanElement).toggleClass("minus"); + $(spanElement).nextAll('.sed').toggle(); +} + +function submitCheck(){ + var disinfectIdentification = $("#disinfectIdentification").val(); + if(disinfectIdentification == ""){ + alertDiv("清洗机名称不能为空!"); + return false; + } + var disinfectProgram = $("#disinfectProgram").val(); + if(disinfectProgram == ""){ + alertDiv("清洗程序不能为空!"); + return false; + } + var startDate = $("#startDate").val(); + if(startDate == ""){ + alertDiv("清洗开始时间不能为空!"); + return false; + } + var endDate = $("#endDate").val(); + if(endDate == ""){ + alertDiv("清洗结束时间不能为空!"); + return false; + } + if($('#basketsUl').children().length == 0){ + alertDiv("无篮筐清洗,不能保存!"); + return false; + } + + if(!personInChargeAllowBlank){ + var personInCharge = $("#personInCharge").val(); + if(personInCharge == ""){ + alertDiv("清洗责任人不能为空!"); + return false; + } + } + return true; +} + +function getClassifyBasketInfo(){ + var classifyBasketInfo = new Array(); + var personInCharge = $("#personInCharge").val(); + var personInChargeCode = $("#personInChargeCode").val(); + $("#basketsUl li").each(function(){ + var hide = $(this).find('input'); + var item = JSON.parse(hide.val()); + classifyBasketInfo.push({ + classifyBasketID : item.classifyBasketId, + personInCharge : personInCharge, + personInChargeCode : personInChargeCode + }); + }); + return JSON.stringify(classifyBasketInfo); +} + +function cleanPage(){ + $("#basketsUl").empty(); + $("#disinfectIdentification").val(""); + $("#disinfectProgram").val(""); + $("#startDate").val(""); + $("#endDate").val(""); +} + +function doSaveAction(){ + if(submitCheck()){ + alertDiv("保存中,请稍候......", true); + + var classifyBasketInfo = getClassifyBasketInfo(); + var disinfectIdentification = $("#disinfectIdentification").val(); + var disinfectProgram = $("#disinfectProgram").val(); + var startDateStr = $("#startDate").val(); + var endDateStr = $("#endDate").val(); + + $.ajax({ + url : WWWROOT + "/disinfectSystem/washAndDisinfect/washAndDisinfectRecordAction!saveWashAndDisinfectRecord.do", + type : "POST", + timeout : 300000, + dataType :'json', + data : { + id : "", + disinfectIdentification : disinfectIdentification, + disinfectProgram : disinfectProgram, + startDateStr : startDateStr, + endDateStr : endDateStr, + cycleCounter : 0, + materialData : "", + classifyBasketInfo : classifyBasketInfo + }, + success : function(result) { + if(result.success){ + cleanPage(); + alertDiv(result.message, true); + setTimeout("closeDiv()",1200); + }else{ + alertDiv(result.message); + } + }, + error: function(x, t, m) { + if(t == "timeout") { + alertDiv("提交超时,请重试"); + } else { + alert(t); + } + } + }); + } +} + +function cancel(){ + cleanPage(); +} + +function initDate(){ + document.onkeydown = showKeyDown; + $("#operator").val(userName); + $("#startDate").val(today); + $("#endDate").val(today); +} \ No newline at end of file Index: ssts-web/src/main/webapp/homepage/menuconfigure.js =================================================================== diff -u -r14727 -r14770 --- ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 14727) +++ ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 14770) @@ -27,9 +27,14 @@ top.recyclingWindow = openFullSizeWindowWithName(url,null,"recyclingWindow"); return; } - }} - //{hidden :SSTS_RecycRecord_Menu,text:"回收记录管理",href:WWWROOT+'/disinfectsystem/recyclingRecord/recyclingRecordView.jsp',hrefTarget:linkTarget,leaf:true}, -// {hidden :SSTS_ForeignTousse_Recyc_Menu,text:"外来器械包回收",href:WWWROOT+'/disinfectsystem/recyclingRecord/foreignTousseApplicationView.jsp',hrefTarget:linkTarget,leaf:true} + }}/*, + {hidden :SSTS_RecycRecord_Menu,text:"清洗触摸屏",href:'javascript:void(0);',leaf:true,listeners:{ + click:function(node, e){ + var url = WWWROOT+'/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washForTouchScreen.jsp?resolution=1980'; + window.open (url,'newwindow','height=1000,width=2000,top=0,left=0,toolbar=yes,menubar=yes,scrollbars=yes, resizable=yes,location=yes, status=yes'); + return; + } + }}*/ ] },{ text:"回收分类", Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/washformstyle.css =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/washformstyle.css (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/washformstyle.css (revision 14770) @@ -0,0 +1,291 @@ +/*清除文档类型声明中的默认属性*/ +body {font-family:"微软雅黑",serif;font-size:12px; background:#fff; overflow:hidden;} +body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,blockquote,p,table{padding:0; margin:0;} +table,td,tr,th{font-size:12px;} +li{list-style-type:none;} +fieldset,img{border:none; color:gray;} +ol,ul {list-style:none;} +h1,h2,h3,h4,h5,h6 {font-size:12px; font-weight:normal;} +q:before,q:after {content:'';} +abbr,acronym {border:0;} +address,caption,cite,code,dfn,em,th,var {font-weight:normal; font-style:normal;} +em,i{ float:right; font-family:Arial, Helvetica, sans-serif;} + +/*通用字体样式定义*/ +a {color:#000;text-decoration:none;} +a:visited {text-decoration:none;} +a:hover {color:#BA2636;text-decoration:underline;} +a:active {color:#BA2636;text-decoration:none;} +/*通用定义*/ +.clear{clear:both; height:0px; display:block; font-size:1px; overflow:hidden} +.clearfix:after {clear:both; height:0; overflow:hidden; display:block; visibility:hidden; content:"."; } +.left{ float:left;} +.right{ float:right;} +.blank5 {clear:both; height:5px; display:block; font-size:1px;overflow:hidden;} +.blank10 {clear:both; height:10px; display:block; font-size:1px;overflow:hidden;} +.blank15 {clear:both; height:15px; display:block; font-size:1px;overflow:hidden;} +.blank20 {clear:both; height:20px; display:block; font-size:1px;overflow:hidden;} +.blank40 {clear:both; height:40px; display:block; font-size:1px;overflow:hidden;} + +.mbody{ background:url(washformbody_bg.jpg) no-repeat; width:1980px; height:1080px; margin:0 auto; position:relative} +.add-form{ position:absolute; width:1980px; height:151px; top:140px; left:175px} +.add-form div{ position:absolute;} +.add-form .input{ background:url(pic_bg.jpg) no-repeat 0 -135px; width:272px; height:42px; border:0px; font-size:26px; padding:10px 10px; line-height:40px;} +.add-form .operator{ top:65px; right:330px;} +.add-form .personInCharge{ top:155px; right:330px;} +.add-form .disinfectIdentification{ top:245px; right:330px;} +.add-form .disinfectProgram{ top:335px; right:330px; } +.add-form .startDate{ top:425px; right:330px;} +.add-form .endDate{ top:515px; right:330px; } +.add-form .add{ bottom:4px; right:-161px;} +.add-form .add a{background:url(pic_bg.jpg) no-repeat; width:169px; height:62px; display:block; line-height:200px; overflow:hidden} +.add-form .add a:hover{ background-position:0 -63px;} +.add-form .add2{ bottom:4px; right:-153px;top:6px} +.add-form .add2{background:url(customerIntobasket.png) no-repeat; width:150px; height:64px; line-height:200px; overflow:hidden;} +.add-form .add2:hover{background:url(customerIntobaskethovert.png) no-repeat; width:150px; height:64px; line-height:200px; overflow:hidden;} + +.data-table{position:absolute; width:1160px; height:500px; bottom:90px; left:1100px;top:900px;} +.data-table .box{ height:435px; overflow-y:scroll; overflow-x:hidden;} +.data-table .box table{ margin:0 auto; width:1083px} +.data-table .input-a{ background:url(pic_bg.jpg) no-repeat 0 -206px; border:none; width:349px; height:62px; font-size:26px; padding:0 10px; line-height:40px;} +.data-table .input-a-yellow{ background:url(pic_bg.jpg) no-repeat 0 -1030px; border:none; width:349px; height:62px; font-size:26px; padding:0 10px; line-height:40px;} +.data-table .input-b{ background:url(pic_bg.jpg) no-repeat -246px 0; border:none; width:52px; height:62px; font-size:26px; padding:0 5px; line-height:40px;} +.data-table .add{ background:url(pic_bg.jpg) no-repeat -318px 0; width:44px; height:64px; display:block; line-height:200px; overflow:hidden;} +.data-table .add:hover{ background-position:-318px -64px} +.data-table .minus{ background:url(pic_bg.jpg) no-repeat -367px 0px; width:44px; height:64px; display:block; line-height:200px; overflow:hidden;} +.data-table .minus:hover{ background-position:-367px -64px} + +.data-table .btn-box{ margin-top:6px;} +.data-table .btn-box table{ margin:0 auto} +.data-table .btn-box input{ background:url(btn-box.jpg) no-repeat; border:none; line-height:200px; overflow:hidden; text-indent:-9999px} +.data-table .btn-box .btn-e{ background:url(btn_save.png) no-repeat; background-position:0 0; width:137px; height:64px; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block;} +.data-table .btn-box .btn-e:hover{ background:url(btn_save1.png) no-repeat; background-position:0 0; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block;} +.data-table .btn-box .btn-b{ background-position:-142px 0; width:203px; height:64px;} +.data-table .btn-box .btn-b:hover{ background-position:-142px -64px; } +.data-table .btn-box .btn-c{ background:url(btn_confirm.png) no-repeat; background-position:0 0; width:137px; height:64px; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block;} +.data-table .btn-box .btn-c:hover{ background:url(btn_confirm1.png) no-repeat; background-position:0 0; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block;} +.data-table .btn-box .btn-d{ background:url(btn_cancel.png) no-repeat; background-position:0 0; width:137px; height:64px; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block;} +.data-table .btn-box .btn-d:hover{ background:url(btn_cancel1.png) no-repeat; background-position:0 0; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block;} +.data-table .btn-box .btn-f{ background:url(btn_exit.png) no-repeat; background-position:0 0; width:137px; height:64px; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block; } +.data-table .btn-box .btn-f:hover{ background:url(btn_exit1.png) no-repeat; background-position:0 0; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block;} +.data-table .btn-box .btn-g{ background:url(btn_stop.png) no-repeat; background-position:0 0; width:137px; height:64px; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block; } +.data-table .btn-box .btn-g:hover{ background:url(btn_stop1.png) no-repeat; background-position:0 0; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block;} +.mbody .btn-h{ margin-left: 790px;margin-top: 420px; background:url(allIntoBasket.png) no-repeat; background-position:0 0; width:150px; height:64px; border:none; line-height:200px; overflow:hidden;} +.mbody .btn-h:hover{ margin-left: 790px;margin-top: 420px; background:url(allIntoBaskehovert.png) no-repeat; background-position:0 0; width:150px; height:64px; border:none; line-height:200px; overflow:hidden;} + + +.data-table a{line-height:200px; overflow:hidden; display:block} +.data-table .btn-a{background:url(pic_bg.jpg) no-repeat 0px -284px; width:83px; height:63px; } +.data-table .btn-a:hover{ background-position:0 -349px} +.data-table .btn-b{background:url(pic_bg.jpg) no-repeat -89px -284px; width:83px; height:63px; } +.data-table .btn-b:hover{ background-position:-89px -349px} +.data-table .btn-b-edit{background:url(pic_bg_edit.jpg) no-repeat -89px -284px; width:83px; height:63px; } +.data-table .btn-b-edit:hover{ background-position:-89px -349px} +.data-table .btn-d{background:url(pic_bg.jpg) no-repeat -267px -284px; width:83px; height:63px; } +.data-table .btn-d:hover{ background-position:-267px -349px} +.data-table .btn-c{background:url(pic_bg.jpg) no-repeat -178px -284px; width:83px; height:63px; } +.data-table .btn-c:hover{ background-position:-178px -349px} +.data-table .btn-c-edit{background:url(pic_bg_edit.jpg) no-repeat -178px -284px; width:83px; height:63px; } +.data-table .btn-c-edit:hover{ background-position:-178px -349px} +.data-table td{ padding:4px 2px} + +.fenpei-table{ position:absolute;width:629px; height:167px; top:320px; right:113px} +.fenpei-table .box{height:212px; overflow-y:scroll;overflow-x:hidden} +.fenpei-table .box table{ margin:0 auto; width:620px} +.fenpei-table .box .w1{ width:140px;} +.fenpei-table .box .w2{ width:86px;} +.fenpei-table .box .w3{ width:255px;} + +.fenpei-table .btn{ background:url(pic_bg.jpg) no-repeat 0 -417px; width:84px; height:58px; display:block; line-height:200px; overflow:hidden; margin:0 auto} +.fenpei-table .btn:hover{ background-position:0 -475px;} +.fenpei-table table,.zhuangzai-table table{ border-right:1px solid #ddd; border-bottom:1px solid #ddd} +.fenpei-table td,.zhuangzai-table table td{ font-size:18px; color:#666;border-top:1px solid #ddd; border-left:1px solid #ddd; text-align:center; padding:3px 0} + +.zhuangzai-table{position:absolute;width:1215px; height:695px; bottom:64px; left:60px;top:245px;} +.zhuangzai-table .box{height:770px; overflow-y:scroll; overflow-x:hidden} +.zhuangzai-table table td{ padding:7px 0} +.zhuangzai-table .name,.zhuangzai-table .num{} +.zhuangzai-table span{ margin-left:10px;font-size:27px} +.zhuangzai-table .add{background:url(pic_bg.jpg) no-repeat -318px -136px; width:22px; height:23px; display:inline-block; margin-right:10px;cursor:pointer} +.zhuangzai-table .minus{background:url(pic_bg.jpg) no-repeat -318px -162px; width:22px; height:23px; display:inline-block; margin-right:10px;cursor:pointer} +.zhuangzai-table .sed{ display:none} +.zhuangzai-table .list-item li{ background:url(table2_bg.gif) no-repeat top center; padding:8px 0px 7px 0;font-size:30px; color:#666; line-height:58px; } +.zhuangzai-table .list-item li em{ width:85px; text-align:center;} +.zhuangzai-table .list-item li i{ width:129px; text-align:center} +.zhuangzai-table .list-item li .btn{ background:url(pic_bg.jpg) no-repeat -86px -417px; width:84px; height:58px; display:block; line-height:200px; overflow:hidden; margin:0 auto} +.zhuangzai-table .list-item li .btn:hover{ background-position: -86px -475px; } +.zhuangzai-table .list-item dl{ margin-top:7px; width:1205px; background:#f9fce8; } +.zhuangzai-table .list-item dd{ float:left; border-bottom:1px solid #ddd;border-right:1px solid #ddd; padding:7px 0; text-align:center; } +.zhuangzai-table .list-item .name{ width:626px;height:58px;line-height:25px;overflow:hidden;} +.zhuangzai-table .list-item .name span{ no-repeat 0 10px; padding-left:0px;} +.zhuangzai-table .list-item .num{ width:297px;height:58px;line-height:25px;overflow:hidden;} +.zhuangzai-table .list-item .del{ width:271px;} + +.copyRight{ position:absolute; bottom:0; height:29px; text-align:center; font-family:Tahoma, Geneva, sans-serif; width:1980px; font-size:16px; line-height:29px;} + +.clds-box{ width:960px; margin:0 auto; font-size:18px; background:#f0f0f0; padding:15px 10px} +.clds-box .table{ border:1px solid #ddd; padding:1px} +.clds-box .table th{ border-right:1px solid #fff;border-bottom:1px solid #ddd; color:#369; font-size:26px;} +.clds-box .title{ background:url(tit_bg_01.jpg) repeat-x; height:45px;} +.clds-box .box{height:500px; overflow-y:scroll; background:#fff; overflow-x:hidden} +.clds-box .box table{ margin:0 auto; width:935px} +.clds-box .box table td{ border-right:1px solid #ddd; border-bottom:1px solid #ddd; text-align:center; font-size:26px; color:#2e6271; padding:8px 0} +.clds-box .box .w1{ width:236px;} +.clds-box .box .w2{ width:171px} +.clds-box .box .w3{ width:190px;} +.clds-box .box .w4{ width:143px} +.clds-box .box .w5{ width:475px} +.clds-box .box .w6{ width:171px} + +.clds-box .box .w11{ width:380px;} +.clds-box .box .w22{ width:190px} +.clds-box .box .w33{ width:190px;} +.clds-box .box .w44{ width:190px} +.clds-box .box .w55{ width:475px} +.clds-box .box .w66{ width:171px} + +.clds-box .box .w111{ width:495px;} +.clds-box .box .w222{ width:455px} +.clds-box .box .w333{ width:180px;} +.clds-box .box .w444{ width:180px} +.clds-box .box .w555{ width:180px} +.clds-box .box .w666{ width:180px} +.clds-box .box .w777{ width:180px} + +.clds-box .add{background:url(pic_bg.jpg) no-repeat 0 -691px; width:59px; height:58px; display:inline-block; margin-right:10px; line-height:200px; overflow:hidden } +.clds-box .add:hover{ background-position:0 -751px; } +.clds-box .minus{background:url(pic_bg.jpg) no-repeat -72px -691px; width:59px; height:58px; display:inline-block; margin-right:10px; line-height:200px; overflow:hidden} +.clds-box .minus:hover{ background-position:-72px -751px; } +.clds-box .send{ margin-top:15px;} +.clds-box .send td{ text-align:center;} +.clds-box .send .submit{ display:block; width:137px; height:63px; background:url(btn_save.png) no-repeat 0px 0px; margin:0 auto;line-height:200px; overflow:hidden} +.clds-box .send .submit:hover{ display:block; width:137px; height:63px; background:url(btn_save1.png) no-repeat 0px 0px; margin:0 auto;line-height:200px; overflow:hidden} +.clds-box .send .cancel{ display:block; width:137px; height:63px; background:url(btn_cancel.png) no-repeat 0px 0px; margin:0 auto;line-height:200px; overflow:hidden} +.clds-box .send .cancel:hover{ display:block; width:137px; height:63px; background:url(btn_cancel1.png) no-repeat 0px 0px; margin:0 auto;line-height:200px; overflow:hidden} +.clds-box .send .new{ display:block; width:137px; height:63px; background:url(btn_new.png) no-repeat 0px 0px; margin:0 auto;line-height:200px; overflow:hidden} +.clds-box .send .new{ display:block; width:137px; height:63px; background:url(btn_new1.png) no-repeat 0px 0px; margin:0 auto;line-height:200px; overflow:hidden} +.clds-box .send table{ width:50%; margin:0 auto} + +.image-box{ width:290px; margin:0 auto; font-size:18px; background:#f0f0f0; padding:0px 0px} +.image-box .table{ border:1px solid #ddd; padding:1px} +.image-box .table th{ border-right:1px solid #fff;border-bottom:1px solid #ddd; color:#369; font-size:20px;} +.image-box .title{ background:url(tit_bg_01.jpg) repeat-x; height:40px;} +.image-box .box{height:393px; overflow-y:scroll; background:#fff; overflow-x:hidden} +.image-box .box table{ margin:0 auto; width:290px} +.image-box .box table td{ border-right:1px solid #ddd; border-bottom:1px solid #ddd; text-align:center; font-size:13px; color:#2e6271; padding:8px 0} +.image-box .box .w7{font-size:18px; width:20px} +.image-box .box .w8{font-size:18px; width:20px} + +.remark-box{ margin:0 auto; font-size:13px; background:#f0f0f0; padding:0px 0px} +.remark-box .table{ border:1px solid #ddd; padding:1px} +.remark-box .box{ overflow-y:scroll; background:#fff; overflow-x:hidden} +.remark-box .box .notice{color:#2e6271;} +.remark-box .box .noticetitle{text-align:center;font-size:15px;color:#2e6271;} + +.afrl-box{ width:1980px; margin:0 auto; font-size:18px; background:#f0f0f0; padding:15px 10px} +.afrl-box .table{ border:1px solid #ddd; padding:1px} +.afrl-box .table th{ border-right:1px solid #fff;border-bottom:1px solid #ddd; color:#369; font-size:26px;} +.afrl-box .title{ background:url(tit_bg_01.jpg) repeat-x; height:45px;} +.afrl-box .box{height:800px; overflow-y:scroll; background:#fff; overflow-x:hidden} +.afrl-box .box table{ margin:0 auto; width:1965px} +.afrl-box .box table td{ border-right:1px solid #ddd; border-bottom:1px solid #ddd; text-align:center; font-size:26px; color:#2e6271; padding:8px 0} +.afrl-box .box .v1{ width:388px;} +.afrl-box .box .v2{ width:388px} +.afrl-box .box .v3{ width:388px;} +.afrl-box .box .v4{ width:388px} +.afrl-box .box .v5{ width:388px} +.afrl-box .add{background:url(pic_bg.jpg) no-repeat 0 -691px; width:59px; height:58px; display:inline-block; margin-right:10px; line-height:200px; overflow:hidden } +.afrl-box .add:hover{ background-position:0 -751px; } +.afrl-box .minus{background:url(pic_bg.jpg) no-repeat -72px -691px; width:59px; height:58px; display:inline-block; margin-right:10px; line-height:200px; overflow:hidden} +.afrl-box .minus:hover{ background-position:-72px -751px; } +.afrl-box .send{ margin-top:15px;} +.afrl-box .send td{ text-align:center;} +.afrl-box .send .submit{ display:block; width:137px; height:63px; background:url(btn_save.png) no-repeat 0px 0px; margin:0 auto;line-height:200px; overflow:hidden} +.afrl-box .send .submit:hover{ display:block; width:137px; height:63px; background:url(btn_save1.png) no-repeat 0px 0px; margin:0 auto;line-height:200px; overflow:hidden} +.afrl-box .send .cancel{ display:block; width:137px; height:63px; background:url(btn_cancel.png) no-repeat 0px 0px; margin:0 auto;line-height:200px; overflow:hidden} +.afrl-box .send .cancel:hover{ display:block; width:137px; height:63px; background:url(btn_cancel1.png) no-repeat 0px 0px; margin:0 auto;line-height:200px; overflow:hidden} +.afrl-box .send .new{ display:block; width:137px; height:63px; background:url(btn_new.png) no-repeat 0px 0px; margin:0 auto;line-height:200px; overflow:hidden} +.afrl-box .send .new{ display:block; width:137px; height:63px; background:url(btn_new1.png) no-repeat 0px 0px; margin:0 auto;line-height:200px; overflow:hidden} +.afrl-box .send table{ width:50%; margin:0 auto} + +.selblog .select_box{width:133px;height:48px; margin:0 auto} +.selblog div.tag_select{display:block;color:#000;width:103px;height:48px;background:transparent url(../images/selblog.gif) no-repeat 0 0;padding:0 10px 0 20px;line-height:45px; text-align:left;} +.selblog div.tag_select_hover{display:block;color:#000;width:103px;height:48px;background:transparent url(../images/selblog.gif) no-repeat 0 -49px;padding:0 10px 0 20px;line-height:45px;text-align:left;} +.selblog div.tag_select_open{display:block;color:#000;width:103px;height:48px;background:transparent url(../images/selblog.gif) no-repeat 0 -98px;padding:0 10px 0 20px;line-height:45px;text-align:left;} + +.selblog ul.tag_options{position: absolute;list-style:none;padding:0 0 0px;margin:10;width:85px; background:transparent url(../images/selblog.gif) no-repeat -152px -5px; height:75px;} +.selblog ul.tag_options li{display:block;width:65px;padding:0 10px;height:35px;text-decoration:none;line-height:35px;color:#000;} + +.selblog ul.tag_options li.open_hover{color:#F00} +.selblog ul.tag_options li.open_selected{color:#900} + +.add-bao{ width:915px; margin:0 auto; border:1px solid #ccc; background:url(bao_bg.jpg) repeat-x; padding:20px 0; margin-top:20px} +.add-bao .num{ width:850px; margin:0 auto} +.add-bao .num li{ float:left; width:94px; margin-bottom:8px;} +.add-bao .num li a{ display:block;background:url(pic_bg.jpg) no-repeat -319px -545px; width:52px; height:62px; font-size:26px; padding:0 5px; line-height:62px; text-align:center; color:#2e6271; margin:0 auto; font-family:Tahoma, Geneva, sans-serif} +.add-bao .num li a:hover{ color:#F00} +.add-bao .search td{ font-size:40px;} +.add-bao .search .input{ background:url(pic_bg.jpg) no-repeat 0 -545px; width:291px; height:62px; line-height:45px; overflow:hidden; padding:0 10px; border:none; font-size:26px;} +.add-bao .search .btn{background:url(pic_bg.jpg) no-repeat -177px -417px; width:143px; height:62px; border:none} +.add-bao .search .btn:hover{ background-position:-177px -480px;} +.add-bao .search table{ margin:0 auto} +.add-bao .title{ width:890px; margin:15px auto} +.add-bao .list-item{ width:890px; margin-left: 50px} +.add-bao .list-item li{ float:left; width:400px; padding-right:10px; margin-bottom:8px;} +.add-bao .list-item li a{ background:url(pic_li.jpg) no-repeat 0 0; width:395px; height:54px; line-height:62px; overflow:hidden; padding:0 10px;font-size:22px; display:block} + +.num-ten{ width:575px; margin:0 auto; border:1px solid #ccc; background:url(bao_bg.jpg) repeat-x; padding:30px 0; margin-top:20px} +.num-ten .num{ width:520px; margin:0 auto} +.num-ten .num li{ float:left; width:100px; margin-bottom:8px;} +.num-ten .num li a{ display:block;background:url(pic_bg.jpg) no-repeat -319px -545px; width:52px; height:62px; font-size:40px; padding:0 5px; line-height:62px; text-align:center; color:#2e6271; margin:0 auto; font-family:Tahoma, Geneva, sans-serif} +.num-ten .num li a:hover{ color:#F00} +.num-ten .search td{ font-size:26px; } +.num-ten .search .input{ background:url(pic_bg.jpg) no-repeat -288px -822px; width:148px; height:62px; line-height:45px; overflow:hidden; padding:0 3px; border:none; font-size:26px;} +.num-ten .search .btn-a{background:url(pic_bg.jpg) no-repeat -140px -691px; width:103px; height:62px; border:none; margin-right:5px} +.num-ten .search .btn-a:hover{ background-position:-140px -755px;} +.num-ten .search .btn-b{background:url(pic_bg.jpg) no-repeat -248px -691px; width:103px; height:62px; border:none} +.num-ten .search .btn-b:hover{ background-position:-248px -755px;} +.num-ten .search table{ margin:0 auto} + + +.selectDate-table{width:1080px; height:250px;} +.selectDate-table .box{ height:250px; overflow-y:hidden; overflow-x:hidden;} +.selectDate-table .box table{ margin:0 auto; width:933px} +.selectDate-table input{text-align:center;} +.selectDate-table .input-a{ background:url(pic_bg.jpg) no-repeat 0 -206px; border:none; width:396px; height:62px; font-size:26px; padding:0 10px; line-height:40px;} +.selectDate-table .input-a-yellow{ background:url(pic_bg.jpg) no-repeat 0 -1030px; border:none; width:396px; height:62px; font-size:26px; padding:0 10px; line-height:40px;} +.selectDate-table .input-b{ background:url(pic_bg.jpg) no-repeat -246px 0; border:none; width:62px; height:62px; font-size:26px; padding:0 0px; line-height:40px;} +.selectDate-table .input-title{ border:none; width:105px; height:62px; font-size:26px; padding:0 5px; line-height:40px;} +.selectDate-table .input-head{ border:none; width:52px; height:62px; font-size:26px; padding:0 5px; line-height:40px;} +.selectDate-table .add{ background:url(pic_bg.jpg) no-repeat -318px 0; width:44px; height:64px; display:block; line-height:200px; overflow:hidden;} +.selectDate-table .add:hover{ background-position:-318px -64px} +.selectDate-table .minus{ background:url(pic_bg.jpg) no-repeat -367px 0px; width:44px; height:64px; display:block; line-height:200px; overflow:hidden;} +.selectDate-table .minus:hover{ background-position:-367px -64px} + +.selectDate-table .btn-box{ margin-top:6px;} +.selectDate-table .btn-box table{ margin:0 auto} +.selectDate-table .btn-box input{ background:url(btn-box.jpg) no-repeat; border:none; line-height:200px; overflow:hidden; text-indent:-9999px} +.selectDate-table .btn-box .btn-e{ background:url(btn_save.png) no-repeat; background-position:0 0; width:137px; height:64px; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block;} +.selectDate-table .btn-box .btn-e:hover{ background:url(btn_save1.png) no-repeat; background-position:0 0; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block;} +.selectDate-table .btn-box .btn-b{ background-position:-142px 0; width:203px; height:64px;} +.selectDate-table .btn-box .btn-b:hover{ background-position:-142px -64px; } +.selectDate-table .btn-box .btn-c{ background:url(btn_confirm.png) no-repeat; background-position:0 0; width:137px; height:64px; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block;} +.selectDate-table .btn-box .btn-c:hover{ background:url(btn_confirm1.png) no-repeat; background-position:0 0; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block;} +.selectDate-table .btn-box .btn-d{ background:url(btn_cancel.png) no-repeat; background-position:0 0; width:137px; height:64px; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block;} +.selectDate-table .btn-box .btn-d:hover{ background:url(btn_cancel1.png) no-repeat; background-position:0 0; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block;} +.selectDate-table .btn-box .btn-f{ background:url(btn_exit.png) no-repeat; background-position:0 0; width:137px; height:64px; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block; } +.selectDate-table .btn-box .btn-f:hover{ background:url(btn_exit1.png) no-repeat; background-position:0 0; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block;} +.selectDate-table .btn-box .btn-g{ background:url(btn_stop.png) no-repeat; background-position:0 0; width:137px; height:64px; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block; } +.selectDate-table .btn-box .btn-g:hover{ background:url(btn_stop1.png) no-repeat; background-position:0 0; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block;} + + +.selectDate-table a{line-height:200px; overflow:hidden; display:block} +.selectDate-table .btn-a{background:url(pic_bg.jpg) no-repeat 0px -284px; width:83px; height:63px; } +.selectDate-table .btn-a:hover{ background-position:0 -349px} +.selectDate-table .btn-b{background:url(pic_bg.jpg) no-repeat -89px -284px; width:83px; height:63px; } +.selectDate-table .btn-b:hover{ background-position:-89px -349px} +.selectDate-table .btn-d{background:url(pic_bg.jpg) no-repeat -267px -284px; width:83px; height:63px; } +.selectDate-table .btn-d:hover{ background-position:-267px -349px} +.selectDate-table .btn-c{background:url(pic_bg.jpg) no-repeat -178px -284px; width:83px; height:63px; } +.selectDate-table .btn-c:hover{ background-position:-178px -349px} +.selectDate-table td{ padding:4px 4px} \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/washformbody_bg.jpg =================================================================== diff -u Binary files differ Index: ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManager.java =================================================================== diff -u -r13757 -r14770 --- ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManager.java (.../WashAndDisinfectRecordManager.java) (revision 13757) +++ ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManager.java (.../WashAndDisinfectRecordManager.java) (revision 14770) @@ -6,7 +6,8 @@ import java.util.Map; import java.util.Set; -import com.forgon.disinfectsystem.entity.basedatamanager.sterilizer.Sterilizer; +import net.sf.json.JSONObject; + import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.becleanitem.ClassifyBasket; import com.forgon.disinfectsystem.entity.washanddisinfectmanager.washData.WashData; @@ -55,4 +56,8 @@ public int getWashAndDisinfectRecordsCount(String devInterfaceId, String machineNo, long cycleCounter); public Map getIdToWashRecordMapByPackingTaskIds(Collection packingTaskIds); + + public String getBarcodeInfoForWash(String barcode); + + public JSONObject classifyBasketToJson(ClassifyBasket classifyBasket); } Index: ssts-web/src/main/webapp/openSystemMainPage.jsp =================================================================== diff -u -r14546 -r14770 --- ssts-web/src/main/webapp/openSystemMainPage.jsp (.../openSystemMainPage.jsp) (revision 14546) +++ ssts-web/src/main/webapp/openSystemMainPage.jsp (.../openSystemMainPage.jsp) (revision 14770) @@ -36,10 +36,12 @@ String logonType = (String)session.getAttribute("logonType"); if(logonType != null && !session.getAttribute("userOperationIds").toString().contains(",SSTS_RecycRecord_Create,")){ response.sendRedirect(ctx + "/logon.jsp?login_error=3"); -}else if(logonType != null && "ipad".equals(logonType.toLowerCase())){ +} else if(logonType != null && "ipad".equals(logonType.toLowerCase())){ response.sendRedirect(ctx + "/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.jsp?resolution=1024"); //触摸屏 } else if (logonType != null && "1080p".equals(logonType.toLowerCase())){ response.sendRedirect(ctx + "/disinfectsystem/touchScreen/recycle/awaitForRecycleList.jsp?resolution=1980"); //触摸屏 +} else if (logonType != null && "washform".equals(logonType.toLowerCase())){ + response.sendRedirect(ctx + "/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washForTouchScreen.jsp?resolution=1980"); //触摸屏 } else { response.sendRedirect(ctx + "/homepage/portalPage.jsp");//桌面版 }