会员卡管理系统技术解析(十六)会员卡有效期更改

来源:互联网 发布:java之父宣布java 编辑:程序博客网 时间:2024/04/27 20:09

会员卡管理系统技术解析(十六)会员卡有效期更改


6.3会员卡有效期更改

添加会员卡有效期更改界面效果图如下:

 

6.3(图1)

 

本模块所用到的控件有:

文本框(easyui-textbox)

第一要设置每个控件的id;第二设置大小不设置也有默认;第三(data-options)是数据操作:可以设置控件的一些属性和事件

下拉框easyui-combobox

按钮(easyui-linkbutton)

表格(easyui-datagrid)

 

第一步:数据库

查询符合条件的卡,数据库表与表的关系如下:

 

6.3(图2)

 

表1:发放明细表(Pw_MembershipCardIssuedDetails)

    主要包含如下字段信息:

列名

数据类型

主键/外键

说明

MembershipCardIssuedDetailsID

int

主键

发放明细ID

MembershipCardIssuedID

int

外键

发放记录ID

MembershipCardRecipientsDetailsID

int

外键

领卡明细ID

MemberProfileID

int

外键

会员档案ID

CardType

int

外键

会员卡类型ID

WindowStateID

int

外键

启动状态ID

StateOfTheMembershipCardID

int

外键

会员卡状态ID

ChangeTheMembershipCardID

int

外键

会员卡变更状态ID

FormerRecipientsDetailsID

int

外键

原领卡明细ID

Money

money

 

金额

Integral

nchar(20)

 

积分

SingleKakaFee

money

 

单卡卡费

ActualStartComputingTime

date

 

实际开始时间

ActualEndTime

date

 

实际结束时间

Summary

nchar(50)

 

摘要

Invalid

bit

 

作废否

AllowedToReportTheLossOf

bit

 

挂失否

InternalIssue

bit

 

内部发放否

 

表2:领卡明细表(Pw_MembershipCardRecipientsDetails)

主要包含如下字段信息:

列名

数据类型

主键/外键

说明

MembershipCardRecipientsDetailsID

int

主键

领卡明细ID

MembershipCardRecipientsID

int

外键

领卡记录ID

MembershipCardDetailsID

int

外键

建卡明细ID

ChangeTheMembershipCardID

int

外键

变更会员卡状态ID

RecipientsWhoID

int

外键

领用人ID

 

表3: 建卡明细表(Pw_MembershipCardDetails)

主要包含如下字段信息:

列名

数据类型

主键/外键

说明

MembershipCardDetailsID

int

主键

建卡明细ID

MembershipCardID

int

外键

建卡记录ID

MembershipCardTypeID

int

外键

会员卡种类ID

MembershipCardStorageLocationID

int

外键

保管地点ID

StateOfTheMembershipCardID

int

外键

会员卡状态ID

ChangeTheMembershipCardID

int

外键

变更会员卡状态ID

UpdateRankID

int

外键

会员卡级别ID

KeeperID

int

外键

保管人ID

Remarks

nchar(200)

 

备注

MembershipCardCardNumber

nchar(50)

 

会员卡卡号

SpecifyTheValidityTime

date

 

有效期指定时间

ValidityTime

date

 

有效期时间

WriteCardStatus

nchar(10)

 

写卡状态

WriteTime

date

 

写卡时间

NominalAmount

money

 

面值金额

 

表4:会员卡类型(Sys_ MembershipCardType

主要包含如下字段信息:

列名

数据类型

主键/外键

说明

MembershipCardTypeID

int

主键

会员卡类型ID

MembersKakaKindID

int

外键

会员卡卡种ID

MembershipCardLevelID

int

外键

会员卡级别ID

MembershipCardIssuanceID

int

外键

会员卡发行方式ID

UseObjectID

int

外键

使用对象ID

DailyManagementFormID

int

外键

日常管理形式ID

TrackMediumID

int

外键

磁道介质ID

PreferentialWayID

int

外键

优惠方式ID

CardValidityPeriodSpecifiedID

int

外键

卡有效期指定方式ID

HairpinWithFaceValue

bit

 

发卡时有面值否

StoredValueCoupons

bit

 

储值优惠券标记否

ParticipateInTheScore

bit

 

参与消费积分否

leadCode

nchar(10)

 

前导码

PostpositionCode

nchar(10)

 

后置码

RequireTheSystemToMakeCard

bit

 

需要系统制卡否

NeedCompulsoryInspectionCard

bit

 

需要强制验卡否

LengthOfThePeriodOfValidity

nchar(10)

 

有效期长度

TrackContentEncryption

bit

 

磁道内容加密否

Invalid

bit

 

作废否

MembershipCardTypeCode

nchar(10)

 

会员卡类型代码

MembershipCardTypeName

nchar(30)

 

会员卡类型名称

KeepRecordsOfConsumption

bit

 

保存消费记录否

TotalLengthCardNumber

int

 

卡号总长度

OpenTheCouponAccount

bit

 

开通优惠券账户否

 

表5:会员卡卡种表(Sys_MembersKakaKind

主要包含如下字段信息:

列名

数据类型

主键/外键

说明

MembersKakaKindID

int

主键

会员卡卡种ID

MembersKakaCode

nchar(10)

 

会员卡卡种代码

MembersKakaKindsOfNames

nchar(30)

 

会员卡卡种名称

Invalid

bit

 

作废否

 

控件的使用方法:

1、文本框(easyui-textbox)

作用:用于数据的存放

 

普通文本框截图:


             6.3(图3)

 

普通文本框界面代码:

<td><input id="txtLingYongRen" style="color:Blue"/></td>


 

  获取界面控件值的代码:

  $('#txtLingYongRen').val();


 

2、下拉框(easyui-combobox)

作用:用于绑定数据,便于选择

 

下拉框截图:


                      6.3(图4)

 

下拉框界面代码:

<td><input class="easyui-combobox" id="cboHuiYuanKaZhongLei"                  name="cboHuiYuanKaZhongLei"                  data-options="valueField:'HuiYuanKaKaZhongID',textField:'HuiYuanKaKaZhongMC'"                  />            </td>


 

获取界面控件值的代码:

$('#cboHuiYuanKaZhongLei').combobox('getValue');

第二步:服务层接口(IService)


6.3(图5)


public ListQuerySelectKa(intmembershipCardTypeId);//查询符合条件的卡    publicList<PwMembershipCardIssuedDetails>QuerySelectFaFangMingXi(intFaFangMingXiId);//查询发放明细信息    public booleanQueryFaFangMingXiEdit(PwMembershipCardIssuedDetailsentity);//修改发放明细    publicList<PwMembershipCardDetails>QuerySelectJianKaMingXi(intJianKaMingXiId);//查询建卡明细    public booleanQueryJianKaMingXiEdit(PwMembershipCardDetailsentity);//修改建卡明细    publicList<PwMembershipCardRecipientsDetails>QuerySelectLingYongMingXi(intLingYongMingXiId);//查询领用明细public ListQueryMembershipCardDetailsChaXun(StringmembershipCardTypeId,String membershipCardCardNumberStar,           StringmembershipCardCardNumberEnd);//模糊查询符合条件的卡


 第三步:服务层(Service)


6.3(图6)


/*会员卡有效期变更时,查询需要变更的卡     * membershipCardTypeId 会员卡类型id     * */    @Override    public ListQuerySelectKa(intmembershipCardTypeId){       try {//尝试运行代码           StringBuffer queryString= new StringBuffer();/*实例化StringBuffer*/           queryString.append("SELECTFaFangMingXi.membershipCardIssuedDetailsId,HuiYuanXinXi.menberName,HuiYuanXinXi.idnumber," +                             "JianKaMingXi.membershipCardCardNumber,JianKaMingXi.validityTime");/*拼接需要查询的字段*/           queryString.append("FROMPwMembershipCardIssuedDetails AS FaFangMingXi,SysMemberProfile ASHuiYuanXinXi," +                             "PwMembershipCardRecipientsDetailsAS LingYongMingXi,PwMembershipCardDetails AS JianKaMingXi ");/*实例化表*/           queryString.append("WHEREFaFangMingXi.memberProfileId = HuiYuanXinXi.memberProfileId " +                             "ANDFaFangMingXi.membershipCardRecipientsDetailsId =LingYongMingXi.membershipCardRecipientsDetailsId " +                             "ANDLingYongMingXi.membershipCardDetailsId = JianKaMingXi.membershipCardDetailsId" +                             "AND(FaFangMingXi.changeTheMembershipCardId BETWEEN 18 AND 20 ORFaFangMingXi.changeTheMembershipCardId = 61) " +                             "ANDJianKaMingXi.membershipCardTypeId = ?");/*满足条件*/           return dao.findByHql(queryString.toString(),new Object[]{membershipCardTypeId});       }catch (Exception e) {/*尝试运行代码出现错误,执行异常处理*/           return null;       }    }       /*根据一定条件查询符合条件的卡     * membershipCardTypeId 会员卡类型id     * membershipCardCardNumberStar 开始卡号     * membershipCardCardNumberEnd 结束卡号     * */       @Override    public ListQueryMembershipCardDetailsChaXun( StringmembershipCardTypeId,           StringmembershipCardCardNumberStar, StringmembershipCardCardNumberEnd){      try{//尝试运行代码       StringBufferqueryString=new StringBuffer();/*实例化StringBuffer*/       queryString.append("SELECTFaFangMingXi.membershipCardIssuedDetailsId,HuiYuanXinXi.menberName,HuiYuanXinXi.idnumber," +                          "JianKaMingXi.membershipCardCardNumber,JianKaMingXi.validityTime");/*拼接需要查询的字段*/       queryString.append("FROMPwMembershipCardIssuedDetails AS FaFangMingXi,SysMemberProfile ASHuiYuanXinXi," +                          "PwMembershipCardRecipientsDetailsAS LingYongMingXi,PwMembershipCardDetails AS JianKaMingXi ");/*实例化表*/       queryString.append("WHEREFaFangMingXi.memberProfileId = HuiYuanXinXi.memberProfileId " +                         "ANDFaFangMingXi.membershipCardRecipientsDetailsId =LingYongMingXi.membershipCardRecipientsDetailsId " +                         "ANDLingYongMingXi.membershipCardDetailsId = JianKaMingXi.membershipCardDetailsId" +                         "AND(FaFangMingXi.changeTheMembershipCardId BETWEEN 18 AND 20 ORFaFangMingXi.changeTheMembershipCardId = 61) ");       intparamcount=0;       if(!membershipCardTypeId.equals("")){//判断会员卡类型是否为空           queryString.append("ANDJianKaMingXi.membershipCardTypeId = ? ");           paramcount++;       }                queryString.append("ANDJianKaMingXi.membershipCardCardNumber BETWEEN ? AND ? ");             Object[]obj=new Object[paramcount+2];       paramcount=0;    if(!membershipCardTypeId.equals("")){obj[paramcount]=Integer.parseInt(membershipCardTypeId);paramcount++;}                 if(!membershipCardCardNumberStar.equals("")){           obj[paramcount]=membershipCardCardNumberStar;       }else{           obj[paramcount]="0";       }       if(!membershipCardCardNumberEnd.equals("")){           obj[paramcount+1]=membershipCardCardNumberEnd;       }else{           obj[paramcount+1]="99999999999999999999";       }/*满足条件*/       return dao.findByHql(queryString.toString(),obj);      }catch (Exception ex){/*尝试运行代码出现错误,执行异常处理*/         return null;      }    } /*会员卡有效期变更时,查询发放明细     * FaFangMingXiId 发放明细     * */    @Override    publicList<PwMembershipCardIssuedDetails>QuerySelectFaFangMingXi(intFaFangMingXiId){       try {//尝试运行代码           StringBufferqueryString = new StringBuffer();/*实例化StringBuffer*/           queryString.append("FROMPwMembershipCardIssuedDetails AS FaFangMingXi ");/*实例化表*/           queryString.append("WHEREFaFangMingXi.membershipCardIssuedDetailsId = ?");/*满足条件*/           return dao.findByHql(queryString.toString(),new Object[]{FaFangMingXiId});       }catch (Exception e) {/*尝试运行代码出现错误,执行异常处理*/           return null;       }    }       //会员卡有效期变更时,修改发放明细    @Override    public booleanQueryFaFangMingXiEdit(PwMembershipCardIssuedDetails entity) {       try {//尝试运行代码           return dao.edit(entity);       }catch (Exception e) {/*尝试运行代码出现错误,执行异常处理*/           return false;       }    } //会员卡有效期变更时,查询领用明细       @Override       publicList<PwMembershipCardRecipientsDetails>QuerySelectLingYongMingXi(intLingYongMingXiId){           try {//尝试运行代码              StringBufferqueryString = new StringBuffer();/*实例化StringBuffer*/              queryString.append("FROMPwMembershipCardRecipientsDetails AS LingYongMingXi ");/*实例化表*/              queryString.append("WHERELingYongMingXi.membershipCardRecipientsDetailsId = ?");/*满足条件*/              return dao.findByHql(queryString.toString(),new Object[]{LingYongMingXiId});           }catch (Exception e) {/*尝试运行代码出现错误,执行异常处理*/              return null;           }       }       //会员卡有效期变更时,查询建卡明细    @Override    publicList<PwMembershipCardDetails>QuerySelectJianKaMingXi(intJianKaMingXiId){       try {//尝试运行代码           StringBufferqueryString = new StringBuffer();/*实例化StringBuffer*/           queryString.append("FROMPwMembershipCardDetails AS JianKaMingXi ");/*实例化表*/           queryString.append("WHEREJianKaMingXi.membershipCardDetailsId = ?");/*满足条件*/           return dao.findByHql(queryString.toString(),new Object[]{JianKaMingXiId});       }catch (Exception e) {/*尝试运行代码出现错误,执行异常处理*/           return null;       }    }       //会员卡有效期变更时,修改建卡明细    @Override    public booleanQueryJianKaMingXiEdit(PwMembershipCardDetailsentity) {       try {//尝试运行代码           return dao.edit(entity);       }catch (Exception e) {/*尝试运行代码出现错误,执行异常处理*/           return false;       }    }


 第四步:方法层(Action)


6.3(图7)


//会员卡有效期变更时,查询需要变更的卡    public StringgetYouXiaoQiBianGengSelectKa(){       JSONObjectjsObj = new JSONObject();/*实例化一个Object数组*/       JSONArrayjsArr = new JSONArray();/*实例化一个Array数组*/       intHuiYuanKaLeiXing = Integer.parseInt(this.getRequest().getParameter("HuiYuanKaLeiXing"));/*从视图层传来的参数*/       ListlsSelectKa = this.huiYuanXinXiGuanLiService.QuerySelectKa(HuiYuanKaLeiXing);/*调用服务层方法*/       for (int i =0; i < lsSelectKa.size(); i++) {/*循环遍历服务层返回的结果集*/           Object[]obj = (Object[])lsSelectKa.get(i);           jsObj.clear();/*清空jsObj数组*/           jsObj.put("FaFangMingXiID",obj[0]);           jsObj.put("XingMing",obj[1]);           jsObj.put("ZhengJianHaoMa",obj[2]);           jsObj.put("HuiYuanKaKaHao",obj[3]);           jsObj.put("YuanYouXiaoQi",obj[4]);           jsObj.put("DangQianYouXiaoQi", "");                     jsArr.add(jsObj);       }       HashMap<String, Object>jsMap = new HashMap<String, Object>();/*实例化一个哈希表*/       jsMap.put("rows",jsArr);/*将jsArr数组写入到jsMap中*/       JSObj = JSONObject.fromObject(jsMap);/*转换数组类型,并返回数组*/       return SUCCESS;    }       //根据一定条件查询符合条件的卡    public StringgetYouXiaoQiBianGengMoHuChaXunKa() {       JSONObjectjsObj = new JSONObject();/*实例化一个Object数组*/       JSONArrayjsArr = new JSONArray();/*实例化一个Array数组*/       Stringparam = encodingFunction.getMethodEncoding(this.getRequest().getParameter("param"));/*从视图层传来的参数*/       String[]params = param.split("<<");/*分解参数*/       ListlsMoHuChaXunKa = this.huiYuanXinXiGuanLiService.QueryMembershipCardDetailsChaXun(params[0].trim(),              params[1].trim(),params[2].trim());/*调用服务层方法*/       for (int i =0; i < lsMoHuChaXunKa.size(); i++) {/*循环遍历服务层返回的结果集*/           Object[]obj = (Object[])lsMoHuChaXunKa.get(i);           jsObj.clear();/*清空jsObj数组*/           jsObj.put("FaFangMingXiID",obj[0]);           jsObj.put("XingMing",obj[1]);           jsObj.put("ZhengJianHaoMa",obj[2]);           jsObj.put("HuiYuanKaKaHao",obj[3]);           jsObj.put("YuanYouXiaoQi",obj[4]);           jsObj.put("DangQianYouXiaoQi", "");                     jsArr.add(jsObj);       }       HashMap<String, Object>jsMap = new HashMap<String, Object>();/*实例化一个哈希表*/       jsMap.put("rows",jsArr);/*将jsArr数组写入到jsMap中*/       JSObj = JSONObject.fromObject(jsMap);/*转换数组类型,并返回数组*/       return SUCCESS;    }       //新增会员卡有效期变更    public StringgetYouXiaoQiBianGengInsert() {       Stringparam = encodingFunction.getMethodEncoding(this.getRequest().getParameter("param"));/*从视图层传来的参数*/       String[]params = param.split("<>");/*分解参数*/       for (int i =0; i < params.length;i++) {           String[]paramObj = params[i].split("<<");/*分解参数*/           List<PwMembershipCardIssuedDetails>lsFaFangMingXi = this.huiYuanXinXiGuanLiService.QuerySelectFaFangMingXi(Integer.parseInt(paramObj[0].trim()));/*调用服务层方法*/           PwMembershipCardIssuedDetails obj= lsFaFangMingXi.get(0);           PwMembershipCardIssuedDetailsFaFangMingXi = new PwMembershipCardIssuedDetails();/*实例化发放明细表*/           FaFangMingXi.setActualEndTime(paramObj[1].trim());           FaFangMingXi.setActualStartComputingTime(obj.getActualStartComputingTime());           FaFangMingXi.setAllowedToReportTheLossOf(obj.getAllowedToReportTheLossOf());           FaFangMingXi.setCardType(obj.getCardType());           FaFangMingXi.setChangeTheMembershipCardId(obj.getChangeTheMembershipCardId());           FaFangMingXi.setFormerRecipientsDetailsId(obj.getFormerRecipientsDetailsId());           FaFangMingXi.setIntegral(obj.getIntegral());           FaFangMingXi.setInternalIssue(obj.getInternalIssue());           FaFangMingXi.setInvalid(obj.getInvalid());           FaFangMingXi.setMemberProfileId(obj.getCardType());          FaFangMingXi.setMembershipCardIssuedDetailsId(obj.getMembershipCardIssuedDetailsId());           FaFangMingXi.setMembershipCardIssuedId(obj.getMembershipCardIssuedId());       FaFangMingXi.setMembershipCardRecipientsDetailsId(obj.getMembershipCardRecipientsDetailsId());           FaFangMingXi.setMoney(obj.getMoney());           FaFangMingXi.setSingleKakaFee(obj.getSingleKakaFee());           FaFangMingXi.setStateOfTheMembershipCardId(obj.getStateOfTheMembershipCardId());           FaFangMingXi.setSummary(obj.getSummary());           FaFangMingXi.setWindowStateId(obj.getWindowStateId());           if(this.huiYuanXinXiGuanLiService.QueryFaFangMingXiEdit(FaFangMingXi)){/*调用服务层方法,并且判断是否修改发放明细成功*/              List<PwMembershipCardRecipientsDetails>lsLingYongMingXi = this.huiYuanXinXiGuanLiService.QuerySelectLingYongMingXi(obj.getMembershipCardRecipientsDetailsId());/*调用服务层方法*/              PwMembershipCardRecipientsDetails atr= lsLingYongMingXi.get(0);              List<PwMembershipCardDetails>lsJianKaMingXi = this.huiYuanXinXiGuanLiService.QuerySelectJianKaMingXi(atr.getMembershipCardDetailsId());/*调用服务层方法*/              PwMembershipCardDetails str= lsJianKaMingXi.get(0);              PwMembershipCardDetailsJianKaMingXi = new PwMembershipCardDetails();/*实例化建卡明细表*/               JianKaMingXi.setChangeTheMembershipCardId(str.getChangeTheMembershipCardId());              JianKaMingXi.setKeeperId(str.getKeeperId());               JianKaMingXi.setMembershipCardCardNumber(str.getMembershipCardCardNumber());              JianKaMingXi.setMembershipCardDetailsId(str.getMembershipCardDetailsId());              JianKaMingXi.setMembershipCardId(str.getMembershipCardId());           JianKaMingXi.setMembershipCardStorageLocationId(str.getMembershipCardStorageLocationId());              JianKaMingXi.setMembershipCardTypeId(str.getMembershipCardTypeId());              JianKaMingXi.setNominalAmount(str.getNominalAmount());              JianKaMingXi.setRemarks(str.getRemarks());              JianKaMingXi.setSpecifyTheValidityTime(str.getSpecifyTheValidityTime());               JianKaMingXi.setStateOfTheMembershipCardId(str.getStateOfTheMembershipCardId());              JianKaMingXi.setUpdateRankId(str.getUpdateRankId());              JianKaMingXi.setValidityTime(paramObj[1].trim());              JianKaMingXi.setWriteCardStatus(str.getWriteCardStatus());              JianKaMingXi.setWriteTime(str.getWriteTime());              this.huiYuanXinXiGuanLiService.QueryJianKaMingXiEdit(JianKaMingXi);/*调用服务层方法*/           }       }       MSG = "OK";       return SUCCESS;    }


第五层:配置struts


6.3(图8)

<action name="getYouXiaoQiBianGengSelectKa" class="HuiYuanXinXiGuanLiAction"           method="getYouXiaoQiBianGengSelectKa">           <result type="json">              <param name="root">JSObj</param>           </result>       </action>       <action name="getYouXiaoQiBianGengMoHuChaXunKa" class="HuiYuanXinXiGuanLiAction"           method="getYouXiaoQiBianGengMoHuChaXunKa">           <result type="json">              <param name="root">JSObj</param>           </result>       </action>       <action name="getYouXiaoQiBianGengInsert" class="HuiYuanXinXiGuanLiAction"           method="getYouXiaoQiBianGengInsert">           <result type="json">              <param name="root">MSG</param>           </result>       </action>


第六步:视图层JSP


6.3(图9)


Javascript代码:

//改造日期格式     function myformatter(date){         var y = date.getFullYear();//获取年份         var m = date.getMonth()+1;//获取月份         var d = date.getDate();//获取天         return y+'-'+(m<10?('0'+m):m)+'-'+(d<10?('0'+d):d);//三目运算符      }


 

//根据类型和地点查询符合条件的卡     var HuiYuanKaLeiXing = 0;     function ChaXunFuHeTiaoJianDeKa(){        HuiYuanKaLeiXing = $('#cboHuiYuanKaLeiXing').combobox('getValue');//获取数据        if(HuiYuanKaLeiXing != ""){//判断获取的值是否为空            $('#FromSelectKa').show();//弹窗            $.getJSON("getYouXiaoQiBianGengSelectKa?HuiYuanKaLeiXing="+HuiYuanKaLeiXing,function(data){                 if(data){//判断返回值是否为空                     $('#dgYouXiaoQiBianGengChaXun').datagrid('loadData',data);//绑定数据到datagrid中                   $('#txtKuCunShuLiang').val($('#dgYouXiaoQiBianGengChaXun').datagrid('getRows').length);                 }            });        } else {           alert("请选择查询条件:会员卡类型查询");        }     }


 

弹窗界面效果图如下:

 

6.3(图10)

HTML代码:

<div id="FromSelectKa"  class="FromFuHeKaclass">       <div class="easyui-layout FromFuHeKalayout">                    <div data-options="region:'west'" style="width:450px;">              <div class="erJiBiaoTi">***查询结果***</div>              <hr style="border:solid 1px #CCCCCC;"/>              <table id="dgYouXiaoQiBianGengChaXun" class="easyui-datagrid" style="height:472px"  data-options="rownumbers:true,loadMsg:'加载中,请稍后...',idField:'FaFangMingXiID'">                  <thead>                     <tr>                         <th data-options="field:'FaFangMingXiID',width:20,hidden:true,align:'center'">会员卡明细ID</th>                         <th data-options="field:'ckXuanZe',checkbox:true"></th>                         <th data-options="field:'HuiYuanKaKaHao',width:100,align:'center'">会员卡卡号</th>                           <th data-options="field:'XingMing',width:55,align:'center'">姓名</th>                           <th data-options="field:'ZhengJianHaoMa',width:123,align:'center'">证件号码</th>                         <th data-options="field:'YuanYouXiaoQi',width:65,align:'center'">原有效期</th>                         <th data-options="field:'DangQianYouXiaoQi',width:2,hidden:true">变更有效期</th>                     </tr>                  </thead>              </table>           </div>           <div data-options="region:'center'">              <div class="erJiBiaoTi">***筛选设置***</div>              <hr style="border:solid 1px #CCCCCC;"/>              <center>                  <table class="FromFuHeKalayoutRight">                                   <tr>                         <td align="right">开始卡号:</td>                         <td><input id="txtKaiShiKaHao" /></td>                     </tr>                     <tr>                         <td align="right">卡数量:</td>                         <td><input id="txtKaShuLiang" onKeyUp="ChaXunKa()"/></td>                     </tr>                     <tr>                         <td align="right">结束卡号:</td>                         <td><input id="txtJieShuKaHao" readonly/></td>                     </tr>                      <tr>                         <td align="right">库存数量:</td>                         <td><input id="txtKuCunShuLiang" style="color:#FF0000" value="0" readonly/></td>                         <td>张</td>                     </tr>                  </table>                  <table>                     <tr class="xuanZeKuang">                         <td>                            <a onClick="QieRen()" class="easyui-linkbutton"data-options="iconCls:'icon-ok'">确认</a>                                           <a onClick="$('#FromSelectKa').hide()"class="easyui-linkbutton" data-options="iconCls:'icon-cancel'">取消</a>                                                 </td>                     </tr>                  </table>              </center>           </div>        </div>    </div>


 

Javascript代码:

//根据类型和地点查询符合条件的卡     var HuiYuanKaLeiXing = 0;     function ChaXunFuHeTiaoJianDeKa(){        HuiYuanKaLeiXing = $('#cboHuiYuanKaLeiXing').combobox('getValue');//获取数据        if(HuiYuanKaLeiXing != ""){//判断获取的值是否为空            $('#FromSelectKa').show();//弹窗            $.getJSON("getYouXiaoQiBianGengSelectKa?HuiYuanKaLeiXing="+HuiYuanKaLeiXing,function(data){                 if(data){//判断返回值是否为空                     $('#dgYouXiaoQiBianGengChaXun').datagrid('loadData',data);//绑定数据到datagrid中                   $('#txtKuCunShuLiang').val($('#dgYouXiaoQiBianGengChaXun').datagrid('getRows').length);                 }            });        } else {           alert("请选择查询条件:会员卡类型查询");        }     }          //条件查询符合条件的卡     function ChaXunKa(){       $.getJSON("JiaZaiKaHaoXiangGuanShuJu?HuiYuanKaLeiXingID="+HuiYuanKaLeiXing,function(data){           KaHaoZongChangDu =data[0].KaHaoZongChangDu;//查询出卡号总长度           QianDaoMa =data[0].QianDaoMa.toString().trim();//查询出前导码           HouZhiMa  = data[0].HouZhiMa.toString().trim();//查询出后置码          var KaiShiKaHao= $('#txtKaiShiKaHao').val();//获取开始卡号          if(KaiShiKaHao.toString().trim().length!= KaHaoZongChangDu){//判断开始卡号的总长度与查询出卡号总长度是否相等              alert("对不起,您输入的开始卡号的有误,系统将自动校正为左边第一行的卡号");              var row = $('#dgYouXiaoQiBianGengChaXun').datagrid('getRows');              $('#txtKaiShiKaHao').val(row[0].HuiYuanKaKaHao);              KaiShiKaHao = row[0].HuiYuanKaKaHao;          } else {              KaiShiKaHaoQianDaoMa = Number(KaiShiKaHao.substring(0,QianDaoMa.length));//截除前导码              KaiShiKaHaoHouZhiMa =Number(KaiShiKaHao.substring(KaHaoZongChangDu-HouZhiMa.length,KaHaoZongChangDu));//截除后置码              if(KaiShiKaHaoQianDaoMa!= QianDaoMa || KaiShiKaHaoHouZhiMa != HouZhiMa){                   alert("对不起,您输入的开始卡号在该类型中不存在,系统将自动校正为左边第一行的卡号");                 var row = $('#dgYouXiaoQiBianGengChaXun').datagrid('getRows');                 $('#txtKaiShiKaHao').val(row[0].HuiYuanKaKaHao);                 KaiShiKaHao = row[0].HuiYuanKaKaHao;              }           }           MinKaHao=Number(KaiShiKaHao.substring(QianDaoMa.length,KaHaoZongChangDu-HouZhiMa.length));//截除前导码和后置码           var KaShuLiang = $('#txtKaShuLiang').val();           if(KaShuLiang != "" && Number(KaShuLiang) >0){//判断输入的卡数量是否大于0            MaxKaHao = Number(MinKaHao) + Number(KaShuLiang) - 1;           } else {            alert("由于您输入的卡数量过小或为空,系统将自动校正卡数量为1");            KaShuLiang = 1;                 MaxKaHao = Number(MinKaHao);            $('#txtKaShuLiang').val(KaShuLiang);           }           var count = "";           BuLingChangDu = KaHaoZongChangDu -HouZhiMa.length - QianDaoMa.length - MaxKaHao.toString().length;           if(BuLingChangDu < 0){             alert("对不起,您输入的卡数量已超出范围,系统将自动校正卡数量为1");             KaShuLiang = 1;             MaxKaHao = Number(MinKaHao);             $('#txtKaShuLiang').val(KaShuLiang);             BuLingChangDu = KaHaoZongChangDu - HouZhiMa.length - QianDaoMa.length -MaxKaHao.toString().length;           }           for(i=0;i<BuLingChangDu;i++){             count+="0";           }           JieShuKaHao = QianDaoMa + count +MaxKaHao.toString() + HouZhiMa;//重新拼接卡号           $('#txtJieShuKaHao').val(JieShuKaHao);           param = HuiYuanKaLeiXing+"<<"+KaiShiKaHao+"<<"+JieShuKaHao;//拼接字符串           $.getJSON("getYouXiaoQiBianGengMoHuChaXunKa?param="+param,function(data){               $('#dgYouXiaoQiBianGengChaXun').datagrid('loadData',data);//把数据绑定到datagrid中               $("#txtKuCunShuLiang").val($('#dgYouXiaoQiBianGengChaXun').datagrid('getRows').length);           });          });      } //确认选择,将选择好的卡转移到dgv中     function QieRen(){        var row = $('#dgYouXiaoQiBianGengChaXun').datagrid('getChecked');//获取选中的数据        $('#dgYouXiaoQiBianGeng').datagrid('loadData',row);//把获取到的数据绑定到另一个datagrid中        $('#FromSelectKa').hide();//关闭窗体     } var editIndex = undefined;    function getSelectMingXi(rowIndex,rowData){       $('#dgYouXiaoQiBianGeng').datagrid('endEdit', editIndex);//结束编辑        $('#dgYouXiaoQiBianGeng').datagrid('beginEdit', rowIndex);//开启编辑        editIndex = rowIndex;    }       //添加会员卡有效期变更    function TianJia(){       if ($('#dgYouXiaoQiBianGeng').datagrid('validateRow', editIndex)){           $('#dgYouXiaoQiBianGeng').datagrid('endEdit', editIndex);//结束编辑           var rowData=$('#dgYouXiaoQiBianGeng').datagrid('getRows');           var param="";           var ZhengChangHangShu = 0;           for(var i=0; i < rowData.length; i++){              if(rowData[i].DangQianYouXiaoQi.trim()!= ""){//判断是否已经填写新有效期                param = param + rowData[i].FaFangMingXiID+"<<"+rowData[i].DangQianYouXiaoQi+"<>";//拼接字符串                ZhengChangHangShu += 1;              }else{                var j = i + 1;                alert("第"+j+"行,新有效期为空,请您输入后,再执行当前操作");//提示你第几行的数据尚未填写                 $('#dgYouXiaoQiBianGeng').datagrid('beginEdit',i);//自动开始编辑              }           }           if(ZhengChangHangShu ==rowData.length){              $.getJSON("getYouXiaoQiBianGengInsert?param="+param,function(){                 alert("新增成功");                 location.href = "HuiYuanXinXiGuanLi/HuiYuanKaYouXiaoQiGengGai.jsp";              });           } else {              alert("由于您操作的问题,不能添加有效期变更信息");           }       }    }

该资料仅供学习使用,禁止用于商业用途



0 0