Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java =================================================================== diff -u -r16801 -r16808 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 16801) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 16808) @@ -143,19 +143,20 @@ @Override public void saveOrUpdate(TousseDefinition tousseDefinition) { - String spellingAutomatic = GB2Alpha.string2Alpha(tousseDefinition.getName()); //自动生成的拼音码 - String spellingManual = tousseDefinition.getSpelling(); //页面上的拼音码值 + String spelling = tousseDefinition.getSpelling(); //页面上的拼音码值 - if (StringUtils.isNotBlank(spellingManual)) { - spellingManual = spellingManual.toUpperCase(); + if (StringUtils.isNotBlank(spelling)) { + spelling = spelling + .toUpperCase() //小写转成大写 + .replaceAll("[\\u4E00-\\u9FA5]+", "") //中文剔除掉 + .replaceAll("\\s", ""); //不可见字符剔除掉 + }else{ + spelling = GB2Alpha.string2Alpha(tousseDefinition.getName()); //自动生成的拼音码 } - /* 设置拼音码,由于考虑到多音字,所以允许用户手动修改 - * 1、页面上的拼音码值不为空,可能的两种情况:用户修改过、用户没改过,这两种情况都用“页面上的拼音码值” - * 2、页面上的拼音码值为空,可能的两种情况:用户手动清空的、新添加的数据,这两种情况都用“自动生成的拼音码” - * - */ - tousseDefinition.setSpelling(StringUtils.isNotBlank(spellingManual)? - spellingManual : spellingAutomatic); + + + tousseDefinition.setSpelling(spelling); + tousseDefinition.setWbCode(GB2WB.getWBCode(tousseDefinition.getName())); // 为消毒物品生成材料信息的md5 if(tousseDefinition.isDisinfection()){ Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/tousseForm.js =================================================================== diff -u -r16794 -r16808 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/tousseForm.js (.../tousseForm.js) (revision 16794) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/tousseForm.js (.../tousseForm.js) (revision 16808) @@ -619,6 +619,10 @@ name : 'maintainIntervalCountHidden', id : 'maintainIntervalCountHidden' },{ + xtype : 'hidden', + name : 'orginalSpelling', + id : 'orginalSpelling' + },{ layout : 'column', labelWidth : 90, items : [{ @@ -2000,6 +2004,7 @@ setIdCardPaperType2(); var tousseDefinition = action.result.data; top.Ext.getCmp("orginalName").setValue(tousseDefinition.name); + top.Ext.getCmp("orginalSpelling").setValue(tousseDefinition.spelling); if(hasVideo){ var videoName = tousseDefinition.uuid_vedioNames; @@ -2185,6 +2190,17 @@ } function validateAndSubmit2(TousseName){ + + var orginalName = top.Ext.getCmp('orginalName').getValue(); //原器械包名称 + var orginalSpelling = top.Ext.getCmp('orginalSpelling').getValue(); //原拼音码 + var name = top.Ext.getCmp('name').getValue(); + var spelling = top.Ext.getCmp('spelling').getValue(); + + if ((orginalName && orginalName != name && orginalSpelling == spelling) + || TousseName) { //(修改操作操作,并且修改了名字,并且没有手动修改过拼音码)或者(另存为新的器械包操作),则清空让后台自动生成 + top.Ext.getCmp('spelling').setValue(''); + } + var rowIndex = top.Ext.getCmp('configGrid').getStore().getCount();//grid的行数 var materials = []; var configStore = top.Ext.getCmp('configGrid').getStore();