Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplier/expensiveGoodsSupplierView.js
===================================================================
diff -u -r21989 -r22005
--- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplier/expensiveGoodsSupplierView.js (.../expensiveGoodsSupplierView.js) (revision 21989)
+++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplier/expensiveGoodsSupplierView.js (.../expensiveGoodsSupplierView.js) (revision 22005)
@@ -90,20 +90,17 @@
loadFormData(grid);
}
-//function rendeColor(v, p, record){
-// var supplier = record.data;
-// if(supplier != null){
-// for(var i = 0 ;i < supplier.registrationCertificate.length;i++){
-// var supplierRegistrationCertificate = supplier.registrationCertificate[i];
-// var validityTime = new Date(supplierRegistrationCertificate.validityTime.time);
-// var warningUntil = new Date(supplierRegistrationCertificate.warningUntil.time);
-// }
-// if((typeof data.minStorage=='number' && data.minStorage>amount) || (typeof data.maxStorage=='number' && data.maxStorage" + v + "
";
-// }
-// }
-// return "" + v + "";
-//}
+function rendeColor(v, p, record){
+ var expensiveGoodsSupplier = record.data;
+ if(expensiveGoodsSupplier != null){
+ //判断是否有注册证过期或达到预警期有就改变名称背景颜色为黄色
+ if(expensiveGoodsSupplier.expired){
+ return "" + v + "
";
+ }
+ }
+ return "" + v + "";
+}
+
Ext.onReady(function() {
Ext.QuickTips.init();
// 记录cookie(3步)
@@ -112,7 +109,7 @@
header : "公司名称",
width : 200,
dataIndex : 'companyName',
- renderer : modifyRecord
+ renderer : rendeColor
}, {
header : "联系人",
width : 80,
@@ -149,7 +146,7 @@
{type:'string',dataIndex:'rentTousse'},
{type:'string',dataIndex:'email'},
{type:'string',dataIndex:'address'},
- {type:'string',dataIndex:'registrationCertificate'}
+ {type:'string',dataIndex:'expired'}
]
});
@@ -171,7 +168,7 @@
},{
name : 'email'
},{
- name : 'registrationCertificate'
+ name : 'expired'
}];
var sign = true;
Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/supplier/ExpensiveGoodsSupplier.java
===================================================================
diff -u -r21990 -r22005
--- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/supplier/ExpensiveGoodsSupplier.java (.../ExpensiveGoodsSupplier.java) (revision 21990)
+++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/supplier/ExpensiveGoodsSupplier.java (.../ExpensiveGoodsSupplier.java) (revision 22005)
@@ -1,6 +1,9 @@
package com.forgon.disinfectsystem.entity.basedatamanager.supplier;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
@@ -16,6 +19,7 @@
import javax.persistence.Table;
import javax.persistence.Transient;
+import org.apache.commons.lang.BooleanUtils;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.annotations.Cache;
@@ -132,11 +136,20 @@
public String isUploadImage;
/**
+ * 是否有注册证过期
+ */
+ public boolean expired;
+
+ /**
* 租用器械包-----公司类型(生产厂家或者高值耗材供应商)
*/
private String rentTousse = ExpensiveGoodsSupplier.SUPPLIER_TYPE_MADECOMPANY;
public static final String SUPPLIER_TYPE_MADECOMPANY = "生产厂家";
public static final String SUPPLIER_TYPE_EXPENSIVEGOODSSUPPLIER = "高值耗材供应商";
+ public static final String CERTIFICATE_TYPE_REGISTRATIONCERTIFICATION = "注册证";
+ public static final String CERTIFICATE_TYPE_PRODUCTIONCERTIFICATE = "生产许可证";
+ public static final String CERTIFICATE_TYPE_BUSINESSCERTIFICATE= "经营许可证";
+ public static final String CERTIFICATE_TYPE_BUSINESSLICENSE= "营业执照";
public static Map ColumnNameAndPoPropertyNameMap= new LinkedHashMap(7);
@@ -335,6 +348,29 @@
this.isUploadImage = isUploadImage;
}
+ @Transient
+ public boolean getExpired(){
+ if(BooleanUtils.isTrue(expired)){
+ return expired;
+ }
+ if(registrationCertificate != null){
+ for(RegistrationCertification rc : registrationCertificate){
+ //判断注册证是否过期和是否到了预警时间
+ if(rc.getValidityTime().getTime() < new Date().getTime() || rc.getWarningUntil().getTime() < new Date().getTime()){
+ expired = true;
+ break;
+ }else{
+ expired = false;
+ }
+ }
+ }
+ return expired;
+ }
+
+ public void setExpired(boolean expired) {
+ this.expired = expired;
+ }
+
@OneToMany(mappedBy = "expensiveGoodsSupplier", fetch = FetchType.LAZY, cascade = {CascadeType.ALL})
public List getRegistrationCertificate() {
return registrationCertificate;
Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/action/ExpensiveGoodsSupplierAction.java
===================================================================
diff -u -r21989 -r22005
--- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/action/ExpensiveGoodsSupplierAction.java (.../ExpensiveGoodsSupplierAction.java) (revision 21989)
+++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/action/ExpensiveGoodsSupplierAction.java (.../ExpensiveGoodsSupplierAction.java) (revision 22005)
@@ -67,7 +67,6 @@
private ExpensiveGoodsSupplierManager expensiveGoodsSupplierManager;
private String supplierName;
private HttpOptionManager httpOptionManager;
- private RegistrationCertificationManager registrationCertificationManager;
private ObjectDao objectDao;
private SupplyRoomConfigManager supplyRoomConfigManager;
@@ -85,11 +84,6 @@
this.supplierName = supplierName;
}
- public void setRegistrationCertificationManager(
- RegistrationCertificationManager registrationCertificationManager) {
- this.registrationCertificationManager = registrationCertificationManager;
- }
-
public void setObjectDao(ObjectDao objectDao) {
this.objectDao = objectDao;
}
@@ -309,14 +303,7 @@
*/
public void getSupplierUploadPicTotalPage() {
int count = expensiveGoodsSupplier.getImagesCount(objectDao);
- HttpServletResponse httpServletResponse = StrutsParamUtils
- .getResponse();
- httpServletResponse.setCharacterEncoding("UTF-8");
- try {
- httpServletResponse.getWriter().print(count);
- } catch (IOException e) {
- e.printStackTrace();
- }
+ StrutsResponseUtils.output(count);
}
/**
Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplier/expensiveGoodsSupplierForm.js
===================================================================
diff -u -r21993 -r22005
--- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplier/expensiveGoodsSupplierForm.js (.../expensiveGoodsSupplierForm.js) (revision 21993)
+++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplier/expensiveGoodsSupplierForm.js (.../expensiveGoodsSupplierForm.js) (revision 22005)
@@ -14,59 +14,88 @@
configStore = new top.Ext.data.Store({
});
+ //注册证
function newRow(){
var n = top.Ext.getCmp('configGrid').getStore().getCount();// 获得总行数
var p = new registrationCertificateConfig({
id : 0,
+ certificationType : registrationCertification,
certification : '',
validityTime : '',
type : '一类'
});
top.Ext.getCmp('configGrid').stopEditing();// 停止编辑
configStore.add(p);// 插入到最后一行
- top.Ext.getCmp('configGrid').startEditing(n, 0);// 开始编辑0单元格
+ top.Ext.getCmp('configGrid').startEditing(n, 1);// 开始编辑0单元格
}
-
+ //营业执照
function newShopCard(){
var n = top.Ext.getCmp('configGrid').getStore().getCount();// 获得总行数
var p = new registrationCertificateConfig({
id : 0,
+ certificationType : businessLicense,
certification : '',
validityTime : '',
- type : '营业执照'
+ type : ''
});
top.Ext.getCmp('configGrid').stopEditing();// 停止编辑
configStore.add(p);// 插入到最后一行
- top.Ext.getCmp('configGrid').startEditing(n, 0);// 开始编辑0单元格
}
-
+ //经营许可证
function newManageCard(){
var n = top.Ext.getCmp('configGrid').getStore().getCount();// 获得总行数
var p = new registrationCertificateConfig({
id : 0,
+ certificationType : businessCertificate,
certification : '',
validityTime : '',
- type : '经营许可证'
+ type : ''
});
top.Ext.getCmp('configGrid').stopEditing();// 停止编辑
configStore.add(p);// 插入到最后一行
- top.Ext.getCmp('configGrid').startEditing(n, 0);// 开始编辑0单元格
}
-
+ //生产许可证
function newCertificate(){
var n = top.Ext.getCmp('configGrid').getStore().getCount();// 获得总行数
var p = new registrationCertificateConfig({
id : 0,
+ certificationType : productionCertificate,
certification : '',
validityTime : '',
- type : '生产许可证'
+ type : ''
});
top.Ext.getCmp('configGrid').stopEditing();// 停止编辑
configStore.add(p);// 插入到最后一行
- top.Ext.getCmp('configGrid').startEditing(n, 0);// 开始编辑0单元格
}
var registrationCm = new top.Ext.grid.ColumnModel([{
+ id:'certificationType',
+ header:"证件类别",
+ width : 60,
+ dataIndex:'certificationType',
+ editor : new top.Ext.form.ComboBox({
+ xtype : 'combo',
+ valueField : 'certificationType',
+ displayField : 'certificationType',
+ store : new Ext.data.SimpleStore({
+ data: [[businessLicense],[businessCertificate],[productionCertificate],[registrationCertification]],
+ fields:['certificationType']
+ }),
+ mode : 'local',
+ forceSelection : true,
+ editable : false,
+ triggerAction : 'all',
+ listeners : {
+ specialKey : function(field,event){
+ if(event.getKey()==13 ){
+ if(isLastRow){//是最后一行,新增空白行
+ newRow();
+ }
+ }
+ }
+ }
+ })
+ }, {
id : 'certification',
header : "证件号",
dataIndex : 'certification',
@@ -81,9 +110,9 @@
var judge = [];
for(var i =0 ;i < rowIndex ; i++ ){
var electRecord = configStore.getAt(i);
- var a = configStore.getAt(i).data.certification;
+ var certification = configStore.getAt(i).data.certification;
var type = configStore.getAt(i).data.type;
- if(a != ''){
+ if(certification != ''){
if(judge.contains(newValue)){
showResult('已包含相同证号:'+ newValue +',不可重复添加!');
judge.splice(0,judge.length); //数组清空
@@ -121,15 +150,15 @@
})
}, {
id:'type',
- header:"类别",
+ header:"注册证类别",
width : 60,
dataIndex:'type',
editor : new top.Ext.form.ComboBox({
xtype : 'combo',
valueField : 'type',
displayField : 'type',
store : new Ext.data.SimpleStore({
- data:[['一类'],['二类'],['三类'],['营业执照'],['经营许可证'],['生产许可证']],
+ data:[['一类'],['二类'],['三类']],
fields:['type']
}),
mode : 'local',
@@ -143,6 +172,18 @@
newRow();
}
}
+ },
+ select : function(value) {
+ //获取所点证件的信息
+ var rows = top.Ext.getCmp('configGrid').getSelectionModel().getSelections();// 返回值为 Record 数组
+ //获取证件类型
+ var certificationType = rows[0].data.certificationType;
+ //对比是否是注册证类型
+ if(certificationType != registrationCertification){
+ showResult('只有注册证可以选择注册证类别!');
+ value.setValue('');
+ return false;
+ }
}
}
})
@@ -163,7 +204,7 @@
name : 'configGrid',
store : configStore,
cm : registrationCm,
- height:250,
+ height:300,
frame : false,
bodyStyle : 'border:1px solid #afd7af',
autoExpandColumn : 'count',
@@ -433,7 +474,7 @@
layout : 'form',
columnWidth : 0.5,
bodyStyle : 'border:1px solid #afd7af',
- height:250,
+ height:300,
labelWidth : 60,
items : [
showCertificateImage
@@ -455,7 +496,7 @@
id : 'supplierWin',
layout : 'fit',
title : '供应商信息',
- width : 800,
+ width : 900,
border : false,
modal : true,
autoHeight : true,
@@ -490,29 +531,32 @@
if(supplier.businessCertificate != null && supplier.businessCertificate != ''){
var supplierBusinessCertificates = new registrationCertificateConfig({
id : supplier.id,
+ certificationType : supplier.businessType,
certification : supplier.businessCertificate,
validityTime :new Date(supplier.businessValidityTime.time),
- type : supplier.businessType
+ type : ''
});
configStore.add(supplierBusinessCertificates);
}
//初始化供应商的生产许可证
if(supplier.productionCertificate != null && supplier.productionCertificate != ''){
var supplierProductionCertificates = new registrationCertificateConfig({
id : supplier.id,
+ certificationType : supplier.productionType,
certification : supplier.productionCertificate,
validityTime :new Date(supplier.productionValidityTime.time),
- type : supplier.productionType
+ type : ''
});
configStore.add(supplierProductionCertificates);
}
//初始化供应商的营业执照
if(supplier.businessLicense != null && supplier.businessLicense != ''){
var supplierBusinessLicenseCertificates = new registrationCertificateConfig({
id : supplier.id,
+ certificationType : supplier.licenseType,
certification : supplier.businessLicense,
validityTime :new Date(supplier.licenseValidityTime.time),
- type : supplier.licenseType
+ type : ''
});
configStore.add(supplierBusinessLicenseCertificates);
}
@@ -521,6 +565,7 @@
var supplierRegistrationCertificate = supplier.registrationCertificate[i];
var supplierRegistrationCertificates = new registrationCertificateConfig({
id : supplierRegistrationCertificate.id,
+ certificationType : registrationCertification,
certification : supplierRegistrationCertificate.certification,
validityTime :new Date(supplierRegistrationCertificate.validityTime.time),
type : supplierRegistrationCertificate.type
@@ -571,6 +616,7 @@
var registrationCertificateConfig = Ext.data.Record.create([
{name : 'id'},
+ {name : 'certificationType'},
{name : 'certification'},
{name : 'validityTime'},
{name : 'type'}
@@ -584,11 +630,13 @@
for(var i =0 ;i < rowIndex ; i++ ){
var record = configStore.getAt(i);
var id = configStore.getAt(i).data.id;
+ var certificationType = record.get('certificationType');
var certification = record.get('certification');
var validityTime = record.data.validityTime.format('Y-m-d');
var type = record.get('type');
var registration = {
id : id,
+ certificationType: certificationType,
certification: certification,
validityTime: validityTime,
type: type
@@ -638,25 +686,25 @@
}
var rentTousse = top.Ext.getCmp('rentTousse').getValue();
- if(sstsConfig.enableExpensiveGoods && rentTousse == madeCompany){ //高值耗材启用并且厂商类型为生产厂家才可以添加注册证
+ if(sstsConfig.enableExpensiveGoods){ //高值耗材启用才验各类证件
var certificationCount = configStore.getCount();
if (certificationCount <= 0 ){
- showResult('证不能为空!');
+ showResult('请填写证件,证件不能为空!');
this.enable();
return false;
}
for(var i = 0 ;i < certificationCount;i++){
- var certification = top.Ext.getCmp('configGrid').getView().getCell(i,0).firstChild.innerText;
+ var certification = top.Ext.getCmp('configGrid').getView().getCell(i,1).firstChild.innerText;
if(certification == '' || certification == null || certification == ' '){
- showResult('请填写证号!');
+ showResult('请填写证件号!');
this.enable();
return false;
}
- var validityTime = top.Ext.getCmp('configGrid').getView().getCell(i,1).firstChild.innerText;
+ var validityTime = top.Ext.getCmp('configGrid').getView().getCell(i,2).firstChild.innerText;
if(validityTime == '' || validityTime == null || validityTime == ' '){
- showResult("请填写失效日期!");
+ showResult("请填写证件失效日期!");
this.enable();
return false;
}
@@ -666,29 +714,29 @@
var certificationCount = configStore.getCount();
var certificateTypes = new Array();
for(var i = 0 ;i < certificationCount;i++){
- var licenseType = top.Ext.getCmp('configGrid').getView().getCell(i,2).firstChild.innerText;
+ var licenseType = top.Ext.getCmp('configGrid').getView().getCell(i,0).firstChild.innerText;
certificateTypes.push(licenseType);
}
- if(!certificateTypes.contains('营业执照')){
- showResult("营业执照缺少!");
+ if(!certificateTypes.contains(businessLicense)){
+ showResult("请添加营业执照信息!");
this.enable();
return false;
}
if(rentTousse == madeCompany){
- if(!certificateTypes.contains('生产许可证')){
- showResult("生产许可证缺少!");
+ if(!certificateTypes.contains(productionCertificate)){
+ showResult("请添加生产许可证信息!");
this.enable();
return false;
}
- if(!certificateTypes.contains('一类') && !certificateTypes.contains('二类') && !certificateTypes.contains('三类')){
- showResult("注册证证缺少!");
+ if(!certificateTypes.contains(registrationCertification)){
+ showResult("请添加注册证信息!");
this.enable();
return false;
}
}else{
- if(!certificateTypes.contains('经营许可证')){
- showResult("经营许可证缺少!");
+ if(!certificateTypes.contains(businessCertificate)){
+ showResult("请添加经营许可证信息!");
this.enable();
return false;
}
Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/service/ExpensiveGoodsSupplierManagerImpl.java
===================================================================
diff -u -r21989 -r22005
--- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/service/ExpensiveGoodsSupplierManagerImpl.java (.../ExpensiveGoodsSupplierManagerImpl.java) (revision 21989)
+++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/service/ExpensiveGoodsSupplierManagerImpl.java (.../ExpensiveGoodsSupplierManagerImpl.java) (revision 22005)
@@ -71,12 +71,12 @@
expensiveGoodsSupplier.setId(null);
}
if (StringUtils.isNotBlank(registrationsConfigResult)) {
- JSONArray jsonArray = JSONArray.fromObject(registrationsConfigResult);
+ JSONArray jsonArray = JSONArray.fromObject(registrationsConfigResult);//前台传来的证件集
JSONArray registrationsResuit = JSONArray.fromObject(registrationsConfigResult); //用于去掉不是注册证的信息
Date date = null ; //初始化date
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject obj = jsonArray.getJSONObject(i);
- Long id = obj.optLong("id"); //证件所属ID 除了注册证,其他证件是直接在供应商表内的
+ String certificationType = obj.optString("certificationType");
String certification = obj.optString("certification");
String validityTime = obj.optString("validityTime");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@@ -86,25 +86,27 @@
} catch (Exception e) {
e.printStackTrace();
}
- String type = obj.optString("type");
- if(type.equals("营业执照")){
+ //保存营业执照数据
+ if(certificationType.equals(ExpensiveGoodsSupplier.CERTIFICATE_TYPE_BUSINESSLICENSE)){
expensiveGoodsSupplier.setBusinessLicense(certification);
expensiveGoodsSupplier.setLicenseValidityTime(date);
- expensiveGoodsSupplier.setLicenseType(type);
+ expensiveGoodsSupplier.setLicenseType(certificationType);
registrationsResuit.remove(obj);
continue;
}
- if(type.equals("生产许可证")){
+ //保存生产许可证
+ if(certificationType.equals(ExpensiveGoodsSupplier.CERTIFICATE_TYPE_PRODUCTIONCERTIFICATE)){
expensiveGoodsSupplier.setProductionCertificate(certification);
expensiveGoodsSupplier.setProductionValidityTime(date);
- expensiveGoodsSupplier.setProductionType(type);
+ expensiveGoodsSupplier.setProductionType(certificationType);
registrationsResuit.remove(obj);
continue;
}
- if(type.equals("经营许可证")){
+ //保存经营许可证
+ if(certificationType.equals(ExpensiveGoodsSupplier.CERTIFICATE_TYPE_BUSINESSCERTIFICATE)){
expensiveGoodsSupplier.setBusinessCertificate(certification);
expensiveGoodsSupplier.setBusinessValidityTime(date);
- expensiveGoodsSupplier.setBusinessType(type);
+ expensiveGoodsSupplier.setBusinessType(certificationType);
registrationsResuit.remove(obj);
continue;
}
Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplier/expensiveGoodsSupplierView.jsp
===================================================================
diff -u -r21989 -r22005
--- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplier/expensiveGoodsSupplierView.jsp (.../expensiveGoodsSupplierView.jsp) (revision 21989)
+++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplier/expensiveGoodsSupplierView.jsp (.../expensiveGoodsSupplierView.jsp) (revision 22005)
@@ -63,6 +63,10 @@
var imageTypeCertification = '<%=ImageFile.IMAGE_TYPE_CERTIFICATION%>'; //注册证图片类别
var imageTypeTousse = '<%=ImageFile.IMAGE_TYPE_CERTIFICATION%>';
var imageTypeExpensiveSupplier = '<%=ImageFile.IMAGE_TYPE_EXPENSIVESUPPLIER%>'; //高值耗材供应商图片类别
+var registrationCertification = '<%=ExpensiveGoodsSupplier.CERTIFICATE_TYPE_REGISTRATIONCERTIFICATION%>'; //注册证类型
+var productionCertificate = '<%=ExpensiveGoodsSupplier.CERTIFICATE_TYPE_PRODUCTIONCERTIFICATE%>'; //生产许可证类型
+var businessCertificate = '<%=ExpensiveGoodsSupplier.CERTIFICATE_TYPE_BUSINESSCERTIFICATE%>'; //经营许可证类型
+var businessLicense = '<%=ExpensiveGoodsSupplier.CERTIFICATE_TYPE_BUSINESSLICENSE%>'; //营业执照类型