Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java =================================================================== diff -u -r12880 -r13557 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 12880) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 13557) @@ -41,6 +41,13 @@ public List getTousseInstanceVOsInReviewedBasket( ReviewedBasket reviewedBasket, String taskGroup); + /** + * 获取灭菌筐中已审核的器械包Vo对象 + * @param SterileBasketBarcode 灭菌筐的条码 + * @return + */ + public List getReviewedTousseInstanceVOs( + String sterileBasketBarcode); public Set getReviewedTousseInstanceByBasket(String barcode); Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r13453 -r13557 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 13453) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 13557) @@ -14,6 +14,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; +import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; @@ -389,8 +390,51 @@ } return vos; } + /** + * 将TousseInstance转换为TousseSimpleVO对象 + * @param tousseInstance 器械包实例 + * @return + */ + private TousseSimpleVO toTousseInstanceVo(TousseInstance tousseInstance){ + if(tousseInstance != null){ + TousseSimpleVO vo = new TousseSimpleVO(); + ItemDefinitionVO definition = new ItemDefinitionVO(); + + definition.setName(tousseInstance.getTousseDefinitionName()); + definition.setTousseType(tousseInstance.getTousseDefinition().getTousseType()); + + vo.setId(tousseInstance.getId()); + vo.setTousseName(tousseInstance.getTousseName()); + vo.setBarcode(tousseInstance.getBarcode()); + vo.setOrgUnitCoding(tousseInstance.getOrgUnitCoding()); + vo.setOrgUnitName(tousseInstance.getOrgUnitName()); + vo.setValidUntil(tousseInstance.getValidUntil().toString()); + vo.setSterilingType(tousseInstance.getSterilingType()); + + vo.setForeignProxyItemId(tousseInstance.getForeignProxyItem_id()); + vo.setProxyDisinfectionId(tousseInstance.getProxyDisinfection_id()); + + vo.setItemDefinition(definition); + return vo; + } + return null; + } + @Override + public List getReviewedTousseInstanceVOs( + String sterileBasketBarcode) { + LinkedList list = new LinkedList(); + Set tousses = getReviewedTousseInstanceByBasket(sterileBasketBarcode); + if(CollectionUtils.isNotEmpty(tousses)){ + for(TousseInstance tousse : tousses){ + TousseSimpleVO vo = toTousseInstanceVo(tousse); + if(vo != null){ + list.add(vo); + } + } + } + return list; + } - /** * 根据灭菌灭菌记录id以及条码获得篮筐的所有器械包 */ Index: ssts-web/src/main/java/com/forgon/disinfectsystem/mobileClient/action/MobileClientSettingAction.java =================================================================== diff -u -r13268 -r13557 --- ssts-web/src/main/java/com/forgon/disinfectsystem/mobileClient/action/MobileClientSettingAction.java (.../MobileClientSettingAction.java) (revision 13268) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/mobileClient/action/MobileClientSettingAction.java (.../MobileClientSettingAction.java) (revision 13557) @@ -18,18 +18,28 @@ @Action(value = "mobileClientSettingAction") public class MobileClientSettingAction{ private KeyValueManager keyValueManager; + private static final String EXIT_LOGIN_TIME_KEY = "exitLoginTime"; + private static final String TAKE_PHOTO_KEY = "takePhoto"; public void setKeyValueManager(KeyValueManager keyValueManager) { this.keyValueManager = keyValueManager; } - + /** + * 保存设置.如果有一个保存没有成功,则认为保存没有成功 + */ public void save(){ boolean success = false; - int exitLoginTime = StrutsParamUtils.getPraramValue("exitLoginTime", 0); + int exitLoginTime = StrutsParamUtils.getPraramValue(EXIT_LOGIN_TIME_KEY, 0); if(exitLoginTime >= 0){ - keyValueManager.saveIntValue_TRANS_REQUIRED("exitLoginTime", exitLoginTime); + keyValueManager.saveIntValue_TRANS_REQUIRED(EXIT_LOGIN_TIME_KEY, exitLoginTime); success = true; } + int takePhoto = StrutsParamUtils.getPraramValue(TAKE_PHOTO_KEY, 1); + if(takePhoto != 0 && takePhoto != 1){ + takePhoto = 1; + } + keyValueManager.saveIntValue_TRANS_REQUIRED(TAKE_PHOTO_KEY, takePhoto); + success &= true; try { HttpServletResponse response = StrutsParamUtils.getResponse(); response.setCharacterEncoding("utf-8"); @@ -42,14 +52,16 @@ } } public void load(){ - boolean success = false; - int exitLoginTime = keyValueManager.getIntValue("exitLoginTime", 0); + boolean success = true; + int exitLoginTime = keyValueManager.getIntValue(EXIT_LOGIN_TIME_KEY, 0); + int takePhoto = keyValueManager.getIntValue(TAKE_PHOTO_KEY, 1); try { HttpServletResponse response = StrutsParamUtils.getResponse(); response.setCharacterEncoding("utf-8"); JSONObject obj = new JSONObject(); obj.put("success", success); - obj.put("exitLoginTime", exitLoginTime); + obj.put(EXIT_LOGIN_TIME_KEY, exitLoginTime); + obj.put(TAKE_PHOTO_KEY, takePhoto); response.getWriter().write(obj.toString()); response.getWriter().close(); } catch (IOException e) { Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManagerImpl.java =================================================================== diff -u -r12553 -r13557 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManagerImpl.java (.../ReviewedBasketManagerImpl.java) (revision 12553) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ReviewedBasketManagerImpl.java (.../ReviewedBasketManagerImpl.java) (revision 13557) @@ -202,6 +202,8 @@ + sterilizeRecordId + ""; } sql += " and po.container.barcode = '" + barcode + "'"; + sql += " order by po.id desc"; + List list = objectDao.findByHql(sql); if (list != null && list.size() > 0) { Object[] objArray = (Object[]) list.get(0); Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r13541 -r13557 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 13541) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 13557) @@ -108,6 +108,7 @@ import com.forgon.disinfectsystem.vo.TousseSimpleVO; import com.forgon.disinfectsystem.washanddisinfectmanager.washanddisinfectrecord.action.WashAndDisinfectRecordAction; import com.forgon.disinfectsystem.washanddisinfectmanager.washanddisinfectrecord.service.WashAndDisinfectRecordManager; +import com.forgon.keyvalue.service.KeyValueManager; import com.forgon.security.bean.ModelNameBean; import com.forgon.security.bean.OperationBean; import com.forgon.security.bean.OperationDefineBean; @@ -180,6 +181,7 @@ private PackingManager packingManager; private WareHouseManager wareHouseManager; private HttpOptionManager httpOptionManager; + private KeyValueManager keyValueManager; public void setPackingManager(PackingManager packingManager) { @@ -311,6 +313,10 @@ this.daoUserDetail = daoUserDetail; } + public void setKeyValueManager(KeyValueManager keyValueManager) { + this.keyValueManager = keyValueManager; + } + @Override public String invoke(String remoteAddr, String jsonParams) { JSONObject jsonObject = null; @@ -1970,7 +1976,26 @@ result.put("tousseInstanceList", tousseInstance); return result; } + + private JSONObject containerToJson(Container container) { + JSONObject result = new JSONObject(); + JSONObject containerJSONObj = new JSONObject(); + containerJSONObj.put("barcode", container + .getBarcode()); + containerJSONObj.put("name", container + .getContainerName()); + result.put("container", containerJSONObj); + + List vos = tousseInstanceManager + .getReviewedTousseInstanceVOs(container.getBarcode()); + + JSONArray tousseInstance = JSONArray.fromObject(vos, + buildJsonConfigForTousseInstance()); + result.put("tousseInstanceList", tousseInstance); + return result; + } + private String buildJsonResultForSterileContainer(Container container) { if (!Container.CONTAINERTYPE_BASKET .equals(container.getContainerType())) {// 容器的类型必须是篮筐 @@ -1987,18 +2012,18 @@ return JSONUtil.buildErrorMsgJsonResult("此篮筐状态异常:" + container.getStatus()); } - ReviewedBasket reviewedBasket = reviewedBasketManager + /*ReviewedBasket reviewedBasket = reviewedBasketManager .getReviewedBasketForSterilizeRecord(container.getBarcode(), null); if (reviewedBasket == null) { return JSONUtil.buildErrorMsgJsonResult("此篮筐状态异常:" + container.getStatus()); - } + }*/ JSONBuilder builder = new JSONStringer().object().key("success") .value(true).key("barcode").value(container.getBarcode()) .key("type").value("containerStatus").key("data") - .value(reviewedBasketToJson(reviewedBasket)).endObject(); + .value(containerToJson(container)).endObject(); return builder.toString(); } @@ -2129,8 +2154,8 @@ sterilizationRecordManager .updateFailureSterilizedRecordStatus(sterileRecordIds); } - - return new JSONStringer().object().key("success").value(true) + boolean takePhoto = keyValueManager.getIntValue("takePhoto",1) == 1; + return new JSONStringer().object().key("success").value(true).key("takePhoto").value(takePhoto) .endObject().toString(); } Index: ssts-web/src/main/webapp/personalSetting/modifyExitLoginTime.js =================================================================== diff -u -r13269 -r13557 --- ssts-web/src/main/webapp/personalSetting/modifyExitLoginTime.js (.../modifyExitLoginTime.js) (revision 13269) +++ ssts-web/src/main/webapp/personalSetting/modifyExitLoginTime.js (.../modifyExitLoginTime.js) (revision 13557) @@ -7,39 +7,53 @@ data : [ ['10'],['60'],['120'],['180'],['240'],['300'],['360'],['480'],['600'],['720'],['840'] ] }); + var takePhotoStore = new Ext.data.SimpleStore( { + fields : ['value','fontText'], + data : [['0','否'], ['1','是']] + }); + var formObj = new Ext.FormPanel({ labelAlign: 'left', frame:true, labelSeparator:':', title: 'PDA设置', bodyStyle:'padding:5px 5px 0px 25px', width: 400, - labelWidth:80, + labelWidth:180, items: [{ - xtype : "fieldset", - title : '登录超时时间设置', - layout:'column', - autoHeight : true, - items : [{ - layout : 'form', - columnWidth : 0.6, - labelWidth : 100, - items : [{ - xtype : 'combo', - fieldLabel : '超时时间(秒)', - id : 'exitLoginTime', - name : 'exitLoginTime', - valueField : 'value', - displayField : 'value', - store:timeStore, - regex: /^\d+$/, - regexText:'只能输入数字', - mode:'local', - width : 180, - editable:true, - triggerAction : 'all', - anchor : '100%' - }] + layout : 'form', + //columnWidth : 0.6, + labelWidth : 170, + items : [{ + xtype : 'combo', + fieldLabel : '超时时间(秒)', + id : 'exitLoginTime', + name : 'exitLoginTime', + valueField : 'value', + displayField : 'value', + store:timeStore, + regex: /^\d+$/, + regexText:'只能输入数字', + mode:'local', + width : 180, + editable:true, + triggerAction : 'all', + anchor : '100%' + },{ + xtype : 'combo', + fieldLabel : '灭菌完成和失败是否上传图片', + id : 'takePhoto', + name : 'takePhoto', + width : 180, + valueField : 'value', + displayField : 'fontText', + store : takePhotoStore, + forceSelection : true, + mode : 'local', + editable:false, + triggerAction : 'all', + anchor : '100%', + readOnly : true }] }], @@ -63,6 +77,7 @@ success : function(response, options) { var obj = Ext.decode(response.responseText); Ext.getCmp('exitLoginTime').setRawValue(obj.exitLoginTime); + Ext.getCmp('takePhoto').setValue(obj.takePhoto); }, failure : function(response, options) { showResult(response.responseText); @@ -72,9 +87,11 @@ function save(){ var exitLoginTime = Ext.getCmp("exitLoginTime").getRawValue(); + var takePhoto = Ext.getCmp("takePhoto").getValue(); formObj.form.submit({ - url:WWWROOT+'/disinfectSystem/mobileClientSettingAction!save.do?exitLoginTime=' + exitLoginTime, + url:WWWROOT+'/disinfectSystem/mobileClientSettingAction!save.do?exitLoginTime=' + exitLoginTime + + '&takePhoto='+takePhoto, method:'POST', waitMsg:'正在更新,请稍候', waitTitle:'更新设置',