Index: forgon-core/src/main/java/com/forgon/util/StringUtil.java =================================================================== diff -u -r35661 -r36528 --- forgon-core/src/main/java/com/forgon/util/StringUtil.java (.../StringUtil.java) (revision 35661) +++ forgon-core/src/main/java/com/forgon/util/StringUtil.java (.../StringUtil.java) (revision 36528) @@ -703,9 +703,10 @@ * 截取一定长度的字符串(ascii字符长度算1,否则长度算2),末尾填充省略号 * @param text 实际的全部内容 * @param sublLength 要截取的长度 + * @param dotAmount 后面补的点的数量 * @return */ - public static String subStringByAsciiLength(String text,int sublLength){ + public static String subStringByAsciiLength(String text,int sublLength,int dotAmount){ if(StringUtils.isNotBlank(text)){ StringBuffer buff = new StringBuffer(); int length = 0; @@ -723,7 +724,11 @@ buff.append(c); } if(length > sublLength){ - buff.append("......"); + if(dotAmount > 0){ + for (int i = 0; i < dotAmount; i++) { + buff.append("."); + } + } } return buff.toString(); } Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r36505 -r36528 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 36505) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 36528) @@ -982,7 +982,7 @@ obj.put("appTime", appTime); obj.put("operationRoom", plan.getOperationRoom()); //pda端显示40个汉字占80长度ascii字符减掉6个点的省略号,所以为74 - obj.put("remark", StringUtil.subStringByAsciiLength(plan.getRemark(),76)); + obj.put("remark", StringUtil.subStringByAsciiLength(plan.getRemark(),76,6)); //如果该申请单为使用记录转换过来,则标识为来自于使用记录的转换 if(plan instanceof RecyclingApplication && ((RecyclingApplication)plan).getUseRecord() != null){ obj.put("fromUseRecord", true); @@ -1190,7 +1190,7 @@ String msg = ""; boolean success = false; if(params != null){ - //这个参数其实是传的是条码,并不是工号(变量命令容易让人误解) + //这个参数其实是传的是条码,并不是工号(变量命名容易让人误解) String loginName = params.optString("loginName"); String departCoding = params.getString("departCoding"); String depart = params.getString("depart"); @@ -2846,6 +2846,8 @@ } result.put("sterileMethods", sterileMethodJsonArray); result.put("ownGroup", sterilizer.getOwnGroup()); + //是否启用双人核对(ZSRY-50) + result.put("isDoubleCheckOfSterilization", sterilizer.getIsDoubleCheckOfSterilization()); // HttpOption group = httpOptionManager.get(HttpOption.SYSTEMSETTING_STERILIZER_GROUP,sterilizer.getOwnGroup()); // if(group != null){ // result.put("sterilizerGroupId", group.getId()); @@ -3043,6 +3045,23 @@ json.putAll(sterilizationRecordManager.getBarcodeTypeByDisposableGoodsBatch(barcodeDevice)); JSONUtil.addSuccess(json, true); return json.toString(); + } else if(barcodeDevice instanceof User){ + //如果扫的是用户条码 + User user = (User)barcodeDevice; + barcodeType = user.getType(); + //判断用户是否属于该科室departCode + user.getOrgUserRelations(); + appLogManager.saveBarcodeScanLog(AcegiHelper.getLoginUser(), Log.MODEL_STERILIZATION, barcodeType, barcode, barcodeName); + JSONObject json = JSONUtil.buildJsonObject(false); + + json.put("barcode", barcode); + json.put("type", "user"); + JSONObject userData = new JSONObject(); + userData.put("id", user.getId()); + userData.put("fullName", user.getFullName()); + JSONUtil.addDataProperty(json, userData); + JSONUtil.addSuccess(json,true); + return json.toString(); } else if(StringUtils.equals(((BarcodeDevice)barcodeDevice).getType(),BarcodeDevice.BARCODE_TYPE_TOUSSEINSTANCESETCODE)){ List resultTousseInstanceList = tousseInstanceManager.getTousseInstancesBySetCode(barcode); resultTousseInstanceList = resultTousseInstanceList.stream().filter(ti -> { @@ -3289,8 +3308,12 @@ paramObj.put("deleteDetailIds", params.optJSONArray("deleteDetailIds")); //灭菌目的id paramObj.put("sterilizationPurposeId", params.optLong("sterilizationPurposeId")); + Map parameterMap = new HashMap(); + parameterMap.put("userIdOfReviewer", String.valueOf(params.optLong("userIdOfReviewer"))); + parameterMap.put("userIdOfVerifier", String.valueOf(params.optLong("userIdOfVerifier"))); + parameterMap.put("checkTousseAmount", params.optString("checkTousseAmount")); Map result = sterilizationRecordManager.saveOrUpdateSterilizationRecord( - sterileRecord, tousseInstanceBarcodes, containerBarcodes,null,barcodePositionMap, null, null, paramObj, null); + sterileRecord, tousseInstanceBarcodes, containerBarcodes,null,barcodePositionMap, null, null, paramObj, parameterMap); //同步千樱脉动真空灭菌炉运行参数XJJQZYY-115 sterilizationRecordManager.syncSenohSterilizerRecord(sterileRecord); // if(true){throw new UnScanSterilizationMonitoringPackageException("请扫描生物监测包条码与化学监测包条码.");} @@ -3309,7 +3332,7 @@ // 返回 false, 表示这个属性将被保留 String[] filterPropertyNames = { "tousseInstanceList", "reviewedBaskets", "recordPictures", - "sterilizerRecords", "sterilizerGrossRecord" }; + "sterilizerRecords", "sterilizerGrossRecord", "verifier", "reviewers" }; if (ArrayUtils.contains(filterPropertyNames, name)) { return true; } else { @@ -3336,6 +3359,15 @@ .getSterilizationRecordById(id); JSONObject sterilizationRecordJson = JSONObject.fromObject( sterilizationRecord, config1); + User verifier = sterilizationRecord.getVerifier(); + String[] includeProperties = new String[]{"id","fullName"}; + if(verifier != null){ + sterilizationRecordJson.put("verifier", JSONUtil.toJSONObjectWithInclude(verifier, includeProperties)); + } + User reviewers = sterilizationRecord.getReviewers(); + if(reviewers != null){ + sterilizationRecordJson.put("reviewers", JSONUtil.toJSONObjectWithInclude(reviewers, includeProperties)); + } JSONArray tousseInstanceJsonArray = JSONArray.fromObject( sterilizationRecord.getTousseInstanceList(), config2); JSONArray containerStatusJsonArray = new JSONArray(); @@ -5908,13 +5940,20 @@ } //默认不查询已经停用用户FSSDERMYY-22 JSONArray allArray = userManager.searchUsers(keyWord, searchOrgUnitCodingCondition, false); + if(CollectionUtils.isNotEmpty(allArray)){ + for (int i = 0; i < allArray.size(); i++) { + JSONObject jsonObject = allArray.optJSONObject(i); + jsonObject.put("fullName", StringUtil.subStringByAsciiLength(jsonObject.optString("fullName"), 8,2)); + } + } resultObj = JSONUtil.buildJsonObject(true, allArray); } catch (Exception e) { e.printStackTrace(); resultObj = JSONUtil.buildJsonObject(false, "查询用户出错"); } return resultObj.toString(); } + /** * 获取pda当前登录科室的申请单 * @param departCode 科室