Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/service/RegistrationCertificationManagerImpl.java =================================================================== diff -u -r20838 -r20842 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/service/RegistrationCertificationManagerImpl.java (.../RegistrationCertificationManagerImpl.java) (revision 20838) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/service/RegistrationCertificationManagerImpl.java (.../RegistrationCertificationManagerImpl.java) (revision 20842) @@ -96,39 +96,36 @@ JSONArray jsonArray = JSONArray.fromObject(registrationsConfigResult); List list = new ArrayList(); //判断前台有没有进行删除注册证设的List集合 String id = null ; - Date date = null; //初始化date + Date date = null ; //初始化date for (int i = 0; i < jsonArray.size(); i++) { JSONObject obj = jsonArray.getJSONObject(i); String certification = obj.optString("certification"); String validityTime = obj.optString("validityTime"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); -// String times = (validityTime.substring(83,86)+ 1990)+ "-" +((validityTime.substring(47,50)+ 1990)+ "-" +(validityTime.substring(47,30)+ 1990); -// if(!validityTime.equals("null") && !validityTime.equals(" ") ){ -// String time=validityTime.substring(0,10); -// try { -// date = sdf.parse(time); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } + //失效期转换成date类型 + try { + date = sdf.parse(validityTime); + } catch (Exception e) { + e.printStackTrace(); + } String type = obj.optString("type"); - id = obj.optString("id"); + id = obj.optString("id"); list.add(Long.parseLong(id)); RegistrationCertification registration; - if(Long.parseLong(id) == 0){ + if(Long.parseLong(id) == 0){ //为0是新添加的注册商 registration = new RegistrationCertification(); }else{ registration = getById(id); } - registration.setCertification(certification); - registration.setType(type); - registration.setValidityTime(null); - registration.setSupplier(supplier); - objectDao.saveOrUpdate(registration); + registration.setCertification(certification); //注册证号 + registration.setType(type); //类型 + registration.setValidityTime(date); //失效期 + registration.setSupplier(supplier); + objectDao.saveOrUpdate(registration); reCertificates.add(registration); } for(RegistrationCertification registrationCertification : registrationCertifications){ - //原有的注册证和前台传过来的值比较少了就执行删除操作 + //原有的注册证和JS传过来的值比较少了就执行删除操作 if(!list.contains(registrationCertification.getId()) && Long.parseLong(id) != 0 ){ objectDao.deleteById(RegistrationCertification.class.getSimpleName(), registrationCertification.getId().toString());; } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/action/SupplierAction.java =================================================================== diff -u -r20820 -r20842 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/action/SupplierAction.java (.../SupplierAction.java) (revision 20820) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/action/SupplierAction.java (.../SupplierAction.java) (revision 20842) @@ -126,17 +126,9 @@ * 保存supplier */ public String saveSupplier() { - if (supplier != null) { - String registrationsConfigResult = StrutsParamUtils.getPraramValue( - "registrationsConfigResult", ""); - if(supplier.getId() == 0){ - supplier.setId(null); - } - if (StringUtils.isNotBlank(registrationsConfigResult)) { - supplier.setRegistrationCertificate(registrationCertificationManager.getRegistrationCertificate(registrationsConfigResult,supplier)); - } - supplierManager.saveOrUpdate(supplier); - } + String registrationsConfigResult = StrutsParamUtils.getPraramValue( + "registrationsConfigResult", ""); + supplierManager.saveOrUpdate(supplier,registrationsConfigResult); return null; } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/service/SupplierManagerImpl.java =================================================================== diff -u -r16419 -r20842 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/service/SupplierManagerImpl.java (.../SupplierManagerImpl.java) (revision 16419) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/service/SupplierManagerImpl.java (.../SupplierManagerImpl.java) (revision 20842) @@ -16,6 +16,7 @@ import com.forgon.security.tools.Util; import com.forgon.tools.GB2Alpha; import com.forgon.tools.GB2WB; +import com.forgon.tools.StrutsParamUtils; import com.forgon.tools.hibernate.ObjectDao; /** @@ -27,20 +28,39 @@ private final Pattern pat = Pattern.compile("[\\u4E00-\\u9FA5]+"); // 匹配中文字符的正则表达式 private ObjectDao objectDao; + + private RegistrationCertificationManager registrationCertificationManager; public void setObjectDao(ObjectDao objectDao) { this.objectDao = objectDao; } - public void saveOrUpdate(Supplier supplier) { - + public void setRegistrationCertificationManager( + RegistrationCertificationManager registrationCertificationManager) { + this.registrationCertificationManager = registrationCertificationManager; + } + + public void saveOrUpdate(Supplier supplier){ // 设置五笔码和拼音码 String companyName = supplier.getCompanyName(); supplier.setSpelling(GB2Alpha.string2Alpha(companyName)); supplier.setWbCode(GB2WB.getWBCode(companyName)); objectDao.saveOrUpdate(supplier); } + + public void saveOrUpdate(Supplier supplier,String registrationsConfigResult) { + if (supplier != null) { + if(supplier.getId() == 0){ + supplier.setId(null); + } + if (StringUtils.isNotBlank(registrationsConfigResult)) { + supplier.setRegistrationCertificate(registrationCertificationManager.getRegistrationCertificate( + registrationsConfigResult,supplier)); + } + saveOrUpdate(supplier); + } + } public Supplier getSupplierById(String id) { return (Supplier) objectDao.getByProperty( Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/service/SupplierManager.java =================================================================== diff -u -r16419 -r20842 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/service/SupplierManager.java (.../SupplierManager.java) (revision 16419) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/service/SupplierManager.java (.../SupplierManager.java) (revision 20842) @@ -32,5 +32,7 @@ List> searchSupplier(String inputText, String type); public String getSupplierByType(String type, String searchString, String returnFields); + + public void saveOrUpdate(Supplier supplier, String registrationsConfigResult); } Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplier/supplierView.jsp =================================================================== diff -u -r20837 -r20842 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplier/supplierView.jsp (.../supplierView.jsp) (revision 20837) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplier/supplierView.jsp (.../supplierView.jsp) (revision 20842) @@ -10,6 +10,7 @@ <%@ include file="/common/includeExtJsAndCss.jsp"%> + Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/service/RegistrationCertificationManager.java =================================================================== diff -u -r20824 -r20842 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/service/RegistrationCertificationManager.java (.../RegistrationCertificationManager.java) (revision 20824) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/service/RegistrationCertificationManager.java (.../RegistrationCertificationManager.java) (revision 20842) @@ -23,6 +23,8 @@ /** * 获取供应商新对应的注册证 + * registrationsConfigResult JS页面传的注册证信息 + * supplier 供应商 */ public List getRegistrationCertificate(String registrationsConfigResult,Supplier supplier); } Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplier/supplierForm.js =================================================================== diff -u -r20837 -r20842 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplier/supplierForm.js (.../supplierForm.js) (revision 20837) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplier/supplierForm.js (.../supplierForm.js) (revision 20842) @@ -132,7 +132,12 @@ width : 70 , iconCls : 'btn_ext_add', handler : function() { - newRow(); + var rentTousse = top.Ext.getCmp('rentTousse').getValue(); + if(sstsConfig.enableExpensiveGoods && rentTousse == expensivegoodssupplier){ //高值耗材启用并且厂商类型为高值耗材供应商才可以添加注册证 + newRow(); + }else{ + showResult("高值耗材未启用或厂商类型不为高值耗材供应商不能添加注册证!"); + } } }, { text : '删除注册证', @@ -420,7 +425,7 @@ var supplierRegistrationCertificates = new registrationCertificateConfig({ id : supplierRegistrationCertificate.id, certification : supplierRegistrationCertificate.certification, - validityTime : supplierRegistrationCertificate.validityTime, + validityTime :new Date(supplierRegistrationCertificate.validityTime.time), type : supplierRegistrationCertificate.type }); configStore.add(supplierRegistrationCertificates); @@ -448,7 +453,7 @@ var record = configStore.getAt(i); var id = configStore.getAt(i).data.id; var certification = record.get('certification'); - var validityTime = record.get('validityTime'); + var validityTime = record.data.validityTime.format('Y-m-d'); var type = record.get('type'); var registration = { id : id, @@ -499,21 +504,32 @@ this.enable(); return false; } - var certificationCount = configStore.getCount(); - if (certificationCount <= 0 ){ - showResult('注册证不能为空!'); - this.enable(); - return false; - } - - for(var i = 0 ;i < certificationCount;i++){ - var certification = top.Ext.getCmp('configGrid').getView().getCell(i,0).firstChild.innerText; - if(certification == '' || certification == null || certification == ' '){ - showResult('请填写注册证号!'); + var rentTousse = top.Ext.getCmp('rentTousse').getValue(); + if(sstsConfig.enableExpensiveGoods && rentTousse == expensivegoodssupplier){ //高值耗材启用并且厂商类型为高值耗材供应商才可以添加注册证 + var certificationCount = configStore.getCount(); + if (certificationCount <= 0 ){ + showResult('注册证不能为空!'); this.enable(); return false; } - } + + for(var i = 0 ;i < certificationCount;i++){ + var certification = top.Ext.getCmp('configGrid').getView().getCell(i,0).firstChild.innerText; + if(certification == '' || certification == null || certification == ' '){ + showResult('请填写注册证号!'); + this.enable(); + return false; + } + + var validityTime = top.Ext.getCmp('configGrid').getView().getCell(i,1).firstChild.innerText; + if(validityTime == '' || validityTime == null || validityTime == ' '){ + showResult("请填写失效日期!"); + this.enable(); + return false; + } + } + + } validateAndSubmit(); }