Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java =================================================================== diff -u -r15619 -r16121 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java (.../CssdUtils.java) (revision 15619) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java (.../CssdUtils.java) (revision 16121) @@ -132,6 +132,11 @@ } + /** + * 获取带规格的材料名字,格式如(名字[规格]) + * @param md + * @return + */ public static String getMaterialName(MaterialDefinition md) { if (md != null) { String name = md.getName(); Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java =================================================================== diff -u -r16114 -r16121 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 16114) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 16121) @@ -397,8 +397,12 @@ materialDefinitionManager.saveOrUpdate(materialDefinition); } }else{ - materialDefinition = materialDefinitionManager.getMaterialDefinitionByName(materialName,specification); + materialDefinition = materialDefinitionManager.getMaterialDefinitionByNameAndspecification(materialName,specification); } + + if (Constants.STR_YES.equals(materialDefinition.getIsImplant())) { //包含植入物(cjr) + td.setIncludeImplant(0); + } materialInstance.setMaterialDefinition(materialDefinition); materialInstance.setMaterialName(materialName); materialInstance.setTousse(td); Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/tousseForm.js =================================================================== diff -u -r16113 -r16121 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/tousseForm.js (.../tousseForm.js) (revision 16113) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/tousseForm.js (.../tousseForm.js) (revision 16121) @@ -401,7 +401,8 @@ listWidth : 250, store : new Ext.data.Store({ proxy : new Ext.data.HttpProxy({ - url : WWWROOT + '/disinfectSystem/baseData/materialDefinitionAction!getMaterialDefinitionData.do', +// url : WWWROOT + '/disinfectSystem/baseData/materialDefinitionAction!getMaterialDefinitionData.do', + url : WWWROOT + '/disinfectSystem/baseData/materialDefinitionAction!searchMaterialDefinitionOrDisposableGoodsBySpell2.do', method : 'POST' }), reader : new Ext.data.JsonReader({ @@ -1595,7 +1596,7 @@ triggerAction : 'all', anchor : '100%' }] - },{ + },/*{ columnWidth : .25, layout : 'form', items:[{ @@ -1617,7 +1618,7 @@ triggerAction : 'all', anchor : '100%' }] - },{ + },*/{ columnWidth : .25, layout : 'form', items:[{ @@ -1951,9 +1952,7 @@ setIdCardPaperType2(); var tousseDefinition = action.result.data; top.Ext.getCmp("orginalName").setValue(tousseDefinition.name); - /*if(tousseDefinition){ - top.Ext.getCmp("includeImplantStr").setValue(''); - }*/ + if(hasVideo){ var videoName = tousseDefinition.uuid_vedioNames; if(videoName!=null){ Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialdefinition/action/MaterialDefinitionAction.java =================================================================== diff -u -r16108 -r16121 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialdefinition/action/MaterialDefinitionAction.java (.../MaterialDefinitionAction.java) (revision 16108) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialdefinition/action/MaterialDefinitionAction.java (.../MaterialDefinitionAction.java) (revision 16121) @@ -722,4 +722,21 @@ StrutsResponseUtils.output(result); } + /** + * 根据关键字进行检索材料的信息(包括但不限于"再生材料"和"不停用的一次性物品") + * + */ + public void searchMaterialDefinitionOrDisposableGoodsBySpell2() { + + if (spell != null) { + JSONObject jSONObject = new JSONObject(); + JSONArray jSONArray = materialDefinitionManager.searchMaterialDefinitionOrDisposableGoodsBySpell2(spell); + jSONObject.put("totalCount", jSONArray.size()); + jSONObject.put("data", jSONArray); + + StrutsResponseUtils.output(jSONObject); + } + + } + } Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialdefinition/service/MaterialDefinitionManager.java =================================================================== diff -u -r16108 -r16121 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialdefinition/service/MaterialDefinitionManager.java (.../MaterialDefinitionManager.java) (revision 16108) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialdefinition/service/MaterialDefinitionManager.java (.../MaterialDefinitionManager.java) (revision 16121) @@ -30,7 +30,7 @@ public List getMaterialDefinitionByType(String type); /** - * 不包含外来器械 + * 根据名字和规格获取可再生材料,不包含外来器械 * @param name * @param specification * @return @@ -88,4 +88,23 @@ public JSONArray searchMaterialdefinitionBySpellAndWbCode( String simpleSpell,String pageIndex, String countOfLI,boolean isOnlyQueryForeignMaterials); + /** + * + * 根据关键字进行检索材料的信息(包括但不限于"再生材料"和"不停用的一次性物品")
+ * 检索关键字是中文:则根据"名称"属性检索即可
+ * 检索关键字是英文:则根据用户属性表的searchMode字段进行检索(没配默认按照"拼音码"、"五笔码"、"外部编码"三个属性进行检索)
+ * @param simpleSpell 检索关键字 + * @return + * + */ + public JSONArray searchMaterialDefinitionOrDisposableGoodsBySpell2(String simpleSpell); + + /** + * 根据名字和规格获取可再生材料,包含外来器械 + * @param name 材料名称 + * @param specification 材料规格 + * @return + */ + public MaterialDefinition getMaterialDefinitionByNameAndspecification(String name, String specification); + } Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialdefinition/service/MaterialDefinitionManagerImpl.java =================================================================== diff -u -r16113 -r16121 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialdefinition/service/MaterialDefinitionManagerImpl.java (.../MaterialDefinitionManagerImpl.java) (revision 16113) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialdefinition/service/MaterialDefinitionManagerImpl.java (.../MaterialDefinitionManagerImpl.java) (revision 16121) @@ -29,6 +29,7 @@ import com.forgon.attachfile.service.AttachFileManager; import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.disinfectsystem.common.CssdUtils; +import com.forgon.disinfectsystem.diposablegoods.util.DisposableGoodsUtils; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; import com.forgon.disinfectsystem.entity.basedatamanager.datasynchronization.HisMaterialDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.datasynchronization.HisMaterialType; @@ -43,6 +44,7 @@ import com.forgon.tools.excel.ExcelHelper; import com.forgon.tools.excel.ParerUtils; import com.forgon.tools.hibernate.ObjectDao; +import com.forgon.tools.string.StringTools; import com.forgon.tools.util.SqlUtils; import com.forgon.treenode.ext.model.ExtTreeNode; @@ -122,6 +124,12 @@ MaterialDefinition.class.getSimpleName(), "type", type); } + /** + * 根据名字和规格获取可再生材料,不包含外来器械 + * @param name + * @param specification + * @return + */ @Override public MaterialDefinition getMaterialDefinitionByName(String name, String specification) { @@ -218,6 +226,12 @@ } + /** + * 根据用户属性表的searchMode字段创建模糊查询的sql语句(没配默认按照"拼音码"、"五笔码"、"外部编码"进行检索) + * @param searchMode 用户属性表的searchMode字段 + * @param simpleSpell 检索关键字 + * @return + */ private String getSelfSearchSQL(String searchMode, String simpleSpell) { String sql = ""; if (StringUtils.isNotBlank(searchMode)) { @@ -772,4 +786,93 @@ MaterialDefinition.class.getSimpleName(), sql); } + /** + * + * 根据关键字进行检索材料的信息(包括但不限于"再生材料"和"不停用的一次性物品")
+ * 检索关键字是中文:则根据"名称"属性检索即可
+ * 检索关键字是英文:则根据用户属性表的searchMode字段进行检索(没配默认按照"拼音码"、"五笔码"、"外部编码"三个属性进行检索)
+ * @param simpleSpell 检索关键字 + * @return + * + */ + @Override + public JSONArray searchMaterialDefinitionOrDisposableGoodsBySpell2(String simpleSpell) { + + String sql = "where 1=1 "; + Matcher m = Pattern.compile("[\\u4E00-\\u9FA5]+").matcher(simpleSpell); + String searchMode = AcegiHelper.getLoginUser().getSearchMode(); + if (simpleSpell.trim().length() > 0) { + simpleSpell = simpleSpell.toUpperCase(); + if (m.find()) { + sql += "and po.name like '" + simpleSpell + "%'"; + } else { + sql += getSelfSearchSQL(searchMode, simpleSpell); + } + } + + sql = + "select po.id id,po.spelling spelling,'器械' type,po.name name,po.specification specification,po.isImplant isImplant " + + "from MaterialDefinition po " + sql + + " union all " + + "select po.id id,po.spelling spelling,'一次性物品' type,po.name name,po.specification specification,null isImplant " + + "from DisposableGoods po " + sql + " and po.isPartOfTousseMaterial='能'" + ; + ResultSet result = objectDao.executeSql(sql); + + JSONArray jSONArray = new JSONArray(); + try { + while(result.next()){ + JSONObject temp = new JSONObject(); + String id = StringTools.defaultString(result.getString("id")); + String spelling = StringTools.defaultString(result.getString("spelling")); + String type = StringTools.defaultString(result.getString("type")); + String name = StringTools.defaultString(result.getString("name")); + String specification = StringTools.defaultString(result.getString("specification")); + String isImplant = StringTools.defaultString(result.getString("isImplant")); + + temp.put("id", id); + temp.put("spelling", spelling); + temp.put("type", type); + temp.put("name", DisposableGoodsUtils.getDisposableGoodsFullName(name, specification, null)); + if ("器械".equals(type)) { + temp.put("isImplant", StringUtils.isBlank(isImplant) ? Constants.STR_NO : isImplant); + } else { + temp.put("isImplant", null); + } + + jSONArray.add(temp); + } + } catch (SQLException e) { + e.printStackTrace(); + }finally { + DatabaseUtil.closeResultSetAndStatement(result); + } + + return jSONArray; + + } + + /** + * 根据名字和规格获取可再生材料,包含外来器械 + * @param name 材料名称 + * @param specification 材料规格 + * @return + */ + @Override + public MaterialDefinition getMaterialDefinitionByNameAndspecification( + String name, String specification) { + + String sql = "where 1=1 "; + if (StringUtils.isNotBlank(name)) { + sql += " and po.name = '" + name + "'"; + } + if (StringUtils.isNotBlank(specification)) { + sql += " and po.specification = '" + specification + "'"; + } else { + sql += " and po.specification is null"; + } + return (MaterialDefinition) objectDao.getBySql( + MaterialDefinition.class.getSimpleName(), sql); + } + }