widows.print 不打印的部分

今天在用这个js的 onclick="window.print();的时候发现打印的时候会有按钮也会一起打出来

找了一下原因 解决的办法是

<style type="text/css" media="print">
.noprint { display:none;}
</style>

然后把这个class给容器就可以了 看来是这个media起的效果

jem evoucher submit 每月执行2次

1. 1号0点做16日0:00:00~月尾23:59:59

2. 16号0点做1号0:00:00~15号23:59:59

 

最新修改:

————————————————————————-

(3:48:20 PM) Jason: 11-Dec and the next will be 26-Dec

(3:48:29 PM) Jason: instead of 1-Dec and 16-Dec

26 做 11号00:00:00 ~ 25号 23:59:59

11 做 26号00:00:00 ~ 10号 23:59:59

 

select a.serial_no as VoucherNo, d.storeId, d.storeName
from `member_rewards_evoucher` a, new_purchase b, new_purchase_detail c, store d
where a.`purchase_id` is not null
and a.purchase_id = b.purchase_id
and b.purchase_id = c.purchase_id
and c.store_id = d.storeId
and b.purchase_time between '2014-01-26 00:00:00' and '2014-02-10 23:59:59'
order by storeId asc

select * from voucher_store_submission order by submission_id desc limit 3
#select * from voucher_purchase_requisition where requisition_id = 985

E05000028,E05000029 179292  1338

E05000031    179353  1339

E10000002    179399  1340

INSERT INTO `voucher_store_submission` (`submission_id`, `submission_time`, `store_id`, `user_id`, `requisition_id`, `comment`, `export_cti`, `export_time`, `is_evoucher`)
VALUES
('', '2014-02-11 00:00:00', 179292, 1, '', '\'E05000028\',\'E05000029\'', 'N', NULL, 'Y'),
('', '2014-02-11 00:00:00', 179353, 1, '', '\'E05000031\'', 'N', NULL, 'Y'),
('', '2014-02-11 00:00:00', 179399, 1, '', '\'E10000002\'', 'N', NULL, 'Y')

select * from voucher where prefix = 'E05' and voucher_no in (28,29,31)

update voucher set submission_time = '2014-02-11 00:00:00', status_id = 7, submission_id = '1338' where prefix = 'E05' and voucher_no in (28,29)
update voucher set submission_time = '2014-02-11 00:00:00', status_id = 7, submission_id = '1339' where prefix = 'E05' and voucher_no in (31)
update voucher set submission_time = '2014-02-11 00:00:00', status_id = 7, submission_id = '1340' where prefix = 'E10' and voucher_no in (2)

select * from voucher_lkup_status
select * from voucher_lkup_action 

select * from voucher_action where action_id = 8 limit 1

INSERT INTO `voucher_action` (`id`, `voucher_id`, `action_id`, `action_time`, `user_id`, `comment`, `ct_user`)
VALUES('', 78458, 8, '2014-02-11 00:00:00', 1, '', NULL),
('', 78459, 8, '2014-02-11 00:00:00', 1, '', NULL),
('', 78461, 8, '2014-02-11 00:00:00', 1, '', NULL),
('', 88432, 8, '2014-02-11 00:00:00', 1, '', NULL)

mysql lpad函数

昨天在纠结gvms_v1里面没有voucher_text的问题

想在mysql里查询的时候就补全voucher_no为voucher_text 

后来鸿池说mysql是有补全的这个函数的 

在php里补全的函数是 str_pad

==============================================================

MySQL填充字符串函数 LPAD(str,len,padstr),RPAD(str,len,padstr)  

2007-06-14 16:39:44|  分类: MySQL学习日记|举报|字号 订阅

 
 
 

LPAD(str,len,padstr)

 

用字符串 padstr对 str进行左边填补直至它的长度达到 len个字符长度,然后返回 str。如果 str的长度长于 len',那么它将被截除到 len个字符。

mysql> SELECT LPAD('hi',4,'??'); -> '??hi'

 

RPAD(str,len,padstr)

用字符串 padstr对 str进行右边填补直至它的长度达到 len个字符长度,然后返回 str。如果 str的长度长于 len',那么它将被截除到 len个字符。

mysql> SELECT RPAD('hi',5,'?'); -> 'hi???'

jem change level

jem 更换楼层操作,用jemjinlei 登录search NRIC找出用户

查看history的GWP 找到对应的Item Name 删除,如果是有voucher的要在vms的operation里先操作unissue

然后登录需要的用户的楼层重新 outstanding 删除后的Item 会在outstanding重新出现

使用panel的心得

之前只是听老单说过这种方式,开始操作的时候觉得很麻烦,编辑panel的controller和view要绕那么多目录,来回切换很不方便,但是昨天在做jem evoucher auto submit的时候发现使用panel修改和操作起来是非常方便的。我可以从一个panel里获取值来操作和调用另一个panel里的东西,和更新另一个panel的内容,这样很好用。

vtms老版做transfer回滚的问题

老版的vtms voucher的流程是:

1.creart

2.recive

3.transfer

在系统里分为2个步骤执行,Creat的时候会单独记录在一张表里(voucher_create),Recive是没有Tansfer的记录,但是有Creat的记录,Transfer会记录在(voucher_info_transfer,voucher_batch_action) 2张表里。

在return transfer的时候总是先去voucher_batch_action 表里把总的段分开(2条,有的channel是直接issue出去的),删除原有的段重新insert2个新段进去,然后在voucher_info_transfer里进行同样的操作,

今天在做return的时候,要求将指定的voucher还原到pandding recive,开始虽然将voucher还原到了created的状态但是在pandding recive的栏里还是不显示出来,后来发现在create表里要有记录,函数会在create的表里做检查,注意:create表里也要分为2段。

 

我还记得在版本2里,create会有记录,recive和transfer使用了stock用另一种更方便的方式解决了。

DOM对象和JQuery对象的区别

在工作中会用到很多jquery,而在使用jquery中会遇到很多问题,在自己不当的操作下会遇到N多的报错和问题。那主要的问题是不善总结的我总是将dom对象和jquery的obj对象混用,而dom对象是无法使用jquery的方法的。

—————————————————————————————————————————————-

jQuery对象和DOM对象使用说明,需要的朋友可以参考下。
1.jQuery对象和DOM对象
第一次学习jQuery,经常分辨不清哪些是jQuery对象,哪些是 DOM对象,因此需要重点了解jQuery对象和DOM对象以及它们之间的关系.
DOM对象,即是我们用传统的方法(javascript)获得的对象,jQuery对象即是用jQuery类库的选择器获得的对象;
复制代码 代码如下:

var domObj = document.getElementById("id"); //DOM对象
var $obj = $("#id"); //jQuery对象;

jQuery对象就是通过jQuery包装DOM对象后产生的对象,它是jQuery独有的。如果一个对象是jQuery对象,那么就可以使用jQuery里的方法,例:
$("#foo").html(); //获取id为foo的元素内的html代码,html()是jQuery特有的方法;
上面的那段代码等同于:
document.getElementById("foo")[removed];

注意:在jQuery对象中无法使用DOM对象的任何方法。
例如$("#id")[removed] 和$("#id").checked之类的写法都是错误的,可以用$("#id").html()和$("#id").attr ("checked")之类的 jQuery方法来代替。同样,DOM对象也不能使用jQuery方法。学习jQuery开始就应当树立正确的观念,分清jQuery对象和DOM对象之间的区别,之后学习 jQuery就会轻松很多的。

2.jQuery对象和DOM对象的互相转换

在上面第一点说了,jquery对象和dom对象是不一样的!比如jquery对象不能使用dom的方法,dom对象不能使用jquery方法,那假如我 jquery没有封装我要的方法,那能怎么办呢?
这时我们可以将jquer对象转换成dom对象

jquery对象转换成 dom对象
jquery提供了两种方法将一个jquery对象转换成一个dom对象,即[index]和get(index)。可能有人会觉得奇怪,怎么是用下标呢,没错,jquery对象就是一个数组对象.
下面代码将演示一个jquery对象转换成dom对象,再使用dom对象的方法
复制代码 代码如下:

var $cr=$("#cr"); //jquery对象
var cr = $cr[0]; //dom对象 也可写成 var cr=$cr.get(0);
alert(cr.checked); //检测这个checkbox是否给选中

dom对象转换成jquery对象
对于一个dom对象,只需要用$()把dom对象包装起来,就可以获得一个jquery对象了,方法为$(dom对象);
复制代码 代码如下:

var cr=document.getElementById("cr"); //dom对象
var $cr = $(cr); //转换成jquery对象

转换后可以任意使用jquery中的方法了.

通过以上的方法,可以任意的相互转换jquery对象和dom对象.
最后再次强调,dom对象才能使用dom中的方法,jquery对象不可以使用dom中的方法,但 jquery对象提供了一套更加完善的工具用于操作dom,关于jquery的dom操作将在后面的文章进行详细讲解.


ps: 平时用到的jquery对象都是通过$()函数制造出来的,$()函数就是一个jquery对象的制造工厂.
建议:如果获取的对象是 jquery对象,那么在变量前面加上$,这样方便容易识别出哪些是jquery对象,例如:
var $variable = jquery对象;
如果获取的是dom对象,则定义如下:
var variable = dom对象

jquery选择器空格与大于号、加号与波浪号的区别~

1.看实例一目了然~~~~

<div id="test">

 <div> 

<div>a</div> <div>b</div> <div>c</div> 

</div>

 <div> 

<div>d</div> <div>e</div> 

</div>

</div>

 

 

对上面这段HTML,我们可以分别执行下面两条语句: 

alert($('#test>div').length); 

alert($('#test div').length);

 

第一条语句使用了大于号选择符,代表在#test的第一级子元素中查找div元素,在这个例子中得出的结果就是2。 



第二条语句使用了空格选择符,代表在#test的所有级别的子元素中查找div元素,在这个例子中得出的结果就是7,既包括第一级子元素的2个,也包括第二级子元素的5个。

 

 

2.

 

空格:$('parent childchild')表示获取parent下的所有的childchild节点,所有的子孙。

大于号:$('parent>child')表示获取parent下的所有child的儿子,第一代。

加号:$('pre + nextbrother')表示获得pre节点的下一个兄弟节点,相当于next()方法

波浪号:$('pre ~ brother')表示获取pre节点的后面的所有兄弟节点,相当于nextAll()方法。