Index: ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManager.java =================================================================== diff -u -r18009 -r18018 --- ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManager.java (.../WashAndDisinfectRecordManager.java) (revision 18009) +++ ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManager.java (.../WashAndDisinfectRecordManager.java) (revision 18018) @@ -131,4 +131,15 @@ * @return */ public boolean isWashAndDisinfectRecordCanInterfere(WashAndDisinfectRecord washReocrd,Map newBasketMap); + /** + * 判断当前时间是否比清洗结束时间晚 + * @param recordId 清洗记录id + * @param washEndtime 清洗结束时间 + * @return + */ + public boolean isCurTimeLaterThanWashEndtime(Long recordId,String washEndtime); + /** + * 获取清洗记录信息 + */ + public JSONObject getWRRecordMsg(WashAndDisinfectRecord wr); } Index: ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/action/WashAndDisinfectRecordAction.java =================================================================== diff -u -r18009 -r18018 --- ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/action/WashAndDisinfectRecordAction.java (.../WashAndDisinfectRecordAction.java) (revision 18009) +++ ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/action/WashAndDisinfectRecordAction.java (.../WashAndDisinfectRecordAction.java) (revision 18018) @@ -44,6 +44,8 @@ import com.forgon.disinfectsystem.tousse.materialdefinition.service.MaterialDefinitionManager; import com.forgon.disinfectsystem.washanddisinfectmanager.washanddisinfectrecord.service.ClassifiedItemManager; import com.forgon.disinfectsystem.washanddisinfectmanager.washanddisinfectrecord.service.WashAndDisinfectRecordManager; +import com.forgon.log.model.Log; +import com.forgon.log.service.LogManager; import com.forgon.timeout.model.TimeoutSetting; import com.forgon.timeout.service.TimeoutManager; import com.forgon.tools.StrutsParamUtils; @@ -76,13 +78,17 @@ private MaterialDefinitionManager materialDefinitionManager; private BarcodeManager barcodeManager; - + private LogManager appLogManager; private ObjectDao objectDao; private TimeoutManager timeoutManager; private boolean hasWashRecord = false; private ClassifiedItemManager classifiedItemManager; + public void setAppLogManager(LogManager appLogManager) { + this.appLogManager = appLogManager; + } + public void setBarcodeManager(BarcodeManager barcodeManager) { this.barcodeManager = barcodeManager; } @@ -122,19 +128,20 @@ String message = JSONUtil.buildJsonObject(false, "干预失败,添加或删除篮筐存在装配的包实例!").toString(); StrutsResponseUtils.output(message); }else{ + String oldRecordMsg = washAndDisinfectRecordManager.getWRRecordMsg(washAndDisinfectRecord).toString(); saveWashAndDisinfectRecord(); + String newRecordMsg = washAndDisinfectRecordManager.getWRRecordMsg(washAndDisinfectRecord).toString(); + //写干预成功的日志信息 + appLogManager.saveLog(AcegiHelper.getLoginUser(), + Log.MODEL_WASH, "A", "干预清洗记录,清洗记录id:" + washAndDisinfectRecord.getId() + " ,干预前信息: " +oldRecordMsg + + " ,干预后信息 :" + newRecordMsg); } } public void saveWashAndDisinfectRecord() { String message = JSONUtil.buildJsonObject(true, "保存成功!").toString(); Long recordId = washAndDisinfectRecord.getId(); String orgWashStartTime = StrutsParamUtils.getPraramValue("orgWashStartTime", null); String orgWashEndTime = StrutsParamUtils.getPraramValue("orgWashEndTime", null); - String isInterfereStr = StrutsParamUtils.getPraramValue("isInterfere", "false"); - boolean isInterfere = false; - if("true".endsWith(isInterfereStr)){ - isInterfere = true; - } String startDateStr = ""; String endDateStr = ""; // 开始时间、结束时间 @@ -149,18 +156,6 @@ if (endDateStr.length() == 16){ endDateStr += ":00"; } - if(false == isInterfere){ - if(recordId != null && recordId > 0){ - // 如果时打开的记录,判断当前时间在清洗结束时间之后,如果是,说明清洗完成,则不允许修改记录 - Date curData = new Date(); - Date washEndDate = sdf.parse(endDateStr); - if(curData.after(washEndDate)){ - message = JSONUtil.buildJsonObject(false, "已清洗完成,不能修改记录!").toString(); - StrutsResponseUtils.output(message); - return ; - } - } - } washAndDisinfectRecord.setStartDate(sdf .parse(startDateStr)); Index: ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectForm.js =================================================================== diff -u -r17949 -r18018 --- ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectForm.js (.../washAndDisinfectForm.js) (revision 17949) +++ ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectForm.js (.../washAndDisinfectForm.js) (revision 18018) @@ -1357,6 +1357,24 @@ top.Ext.getCmp('cycleCounter').setValue(0); } } + // 如果当前时间比清洗结束时间晚,说明已经清洗完成,不能修改清洗记录 + if(id != null && id != '' && id > 0){ + var curTimeLater = false; + var washEndTime = top.Ext.getCmp('endDateStr').getRawValue(); + alert(washEndTime) + DWREngine.setAsync(false); + WashAndDisinfectRecordTableManager.isCurTimeLaterThanWashEndtime(id,washEndTime, + function(result) { + curTimeLater = result; + }); + DWREngine.setAsync(true); + alert(curTimeLater) + if(true == curTimeLater){ + showResult("已清洗完成,不能修改记录!"); + return false; + } + } + // 判断装配时间是否比清洗时间晚 DWREngine.setAsync(false); var washEndtimeLaterThanPacktime = false; @@ -1368,7 +1386,7 @@ DWREngine.setAsync(true); if( true == washEndtimeLaterThanPacktime ){ // 装配时间比清洗时间晚提示 - top.Ext.MessageBox.confirm("请确认","存在包的装配时间比清洗时间晚,确认修改?", + top.Ext.MessageBox.confirm("请确认","存在包的清洗时间比装配时间晚,确认修改?", function(button, text) { if ("no" == button){ return false; Index: ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/dwr/table/WashAndDisinfectRecordTableManager.java =================================================================== diff -u -r18009 -r18018 --- ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/dwr/table/WashAndDisinfectRecordTableManager.java (.../WashAndDisinfectRecordTableManager.java) (revision 18009) +++ ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/dwr/table/WashAndDisinfectRecordTableManager.java (.../WashAndDisinfectRecordTableManager.java) (revision 18018) @@ -89,7 +89,10 @@ public boolean isWashEndtimeLaterThanPacktime(Long id,String washEndtime) { return washAndDisinfectRecordManager.isWashEndtimeLaterThanPacktime(id,washEndtime); }; - + // 判断当前时间是否比清洗结束时间更晚 + public boolean isCurTimeLaterThanWashEndtime(Long id,String washEndtime) { + return washAndDisinfectRecordManager.isCurTimeLaterThanWashEndtime(id,washEndtime); + }; public String getCleanParameter(String cleanMethod){ if(StringUtils.isNotBlank(cleanMethod)){ CleanMethod cm = cleanMethodManager.getCleanMethodByName(cleanMethod); Index: ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java =================================================================== diff -u -r18009 -r18018 --- ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java (.../WashAndDisinfectRecordManagerImpl.java) (revision 18009) +++ ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java (.../WashAndDisinfectRecordManagerImpl.java) (revision 18018) @@ -1083,6 +1083,7 @@ } } // washEndtime格式是:yyyy-MM-dd hh:mm:ss + @Override public boolean isWashEndtimeLaterThanPacktime(Long id,String washEndtime){ if(id == null || StringUtils.isBlank(washEndtime)){ return false; @@ -1118,7 +1119,25 @@ } return false; } - + @Override + public boolean isCurTimeLaterThanWashEndtime(Long recordId,String washEndtime){ + if(DatabaseUtil.isPoIdValid(recordId)){ + try{ + // 如果时打开的记录,判断当前时间在清洗结束时间之后,如果是,说明清洗完成,则不允许修改记录 + SimpleDateFormat sdf = Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS; + Date curData = new Date(); + Date washEndDate = sdf.parse(washEndtime); + if(curData.after(washEndDate)){ + return true; + }else{ + return false; + } + }catch(Exception e){ + e.printStackTrace(); + } + } + return false; + } /** * 更新装配任务和包实例的清洗时间 * @param washStartTime @@ -1642,9 +1661,9 @@ return null; } /** - * + * 获取清洗记录信息 */ - private JSONObject getWRRecordMsg(WashAndDisinfectRecord wr){ + public JSONObject getWRRecordMsg(WashAndDisinfectRecord wr){ JSONObject params = new JSONObject(); if(wr != null){ params.put("washAndDisinfectRecordId", wr.getId());