#
报警信息显示在页面上的处理:
在需要报警的文本处:<SPAN id="message" STYLE="color:red"></SPAN>
给报警信息赋值: window.parent.record_handler.message.innerText = "警告信息";
按钮启用/禁用的处理
<input type = "button" name="selebatch" class = "myBtn" onClick="select_on()" value = "批次选择" disabled>
启用按钮:
window.parent.parent.record_handler.myform.selebatch.disabled=false;
禁用按钮:
window.parent.parent.record_handler.myform.selebatch.disabled=true;
每隔二十秒自动刷新页面:
<meta http-equiv="refresh" content="20">
javascript 字符串截取功能比较
String.substr(N1,N2) 这个就是我们常用的从指定的位置(N1)截取指定长度(N2)的字符串;
String.substring(N1,N2) 这个就有点特别了,它是先从N1,N2里找出一个较小的值,然后从字符串的开始位置算起,截取较小值位置和较大值位置之间的字符串,截取出来的字符串的长度为较大值与较小值之间的差。
下拉框位置判断。
<select name="month_share" style="width:140" onchange="ChangePlanType();" >
<%=DropdownList.getDropList("yymm","months","months","","","","ELOGISDBCON")%></select>
下拉框位置判断语句:myform.month_share.selectedIndex 从0开始。
当页面不能刷新时,
在
window.parent.parent.record_list_d.location.reload();前增加
window.document.location.replace("about:blank");
如:
<script language="javascript">
window.document.location.replace("about:blank");
alert("数据删除成功!");
window.parent.parent.record_list_d.location.reload();
</script>
HTML取值:
<td width="33%" id="strength_L">弱</td>
取值:document.getElementById("strength_L").innerHTML 结果:弱
CSS背景色更改:document.getElementById("strength_L").style.background="#FF0000";
我现在正在找库存锁定的的解决方案,现在我们用到了批次,如果有好的解决办法,望指点
原系统品牌编码为三位,因用到999,所以必须考虑采用字母,现将以前用的笨笨办法写出来,日后有更好的办法会改进.
create function uf_getasciirowno()
returns varchar(3) as
begin
declare @rowid varchar(3),
@rowid2 varchar(1),
@rowid3 varchar(1),
@rowid4 varchar(1)
select @rowid = isnull(max(code),'000') from t_model
select @rowid2 = subString(@rowid,1,1)
select @rowid3 = subString(@rowid,2,1)
select @rowid4 = subString(@rowid,3,1)
if @rowid4 in ('z') and @rowid3 not in ('z') and @rowid2 not in ('z')
select @rowid = @rowid2+dbo.uf_maxascii(@rowid3)+'0'
if @rowid4 in ('z') and @rowid3 in ('z')
select @rowid = dbo.uf_maxascii(@rowid2)+'0'+'0'
if @rowid4 not in ('z') and @rowid3 not in ('z') and @rowid2 not in ('z')
select @rowid = @rowid2+@rowid3+dbo.uf_maxascii(@rowid4)
if @@error<>0
select @rowid=''
return @rowid
end
一位一位判断,如果是数字位,看是否为九,超过九就自动加一,然后转换成ASC码..............
create function uf_maxascii(@rowid varchar(1))
returns varchar(1)
as
begin
declare @rowid4 char(1)
if @rowid in ('0','1','2','3','4','5','6','7','8')
select @rowid4 = @rowid+1
if @rowid in ('9')
select @rowid4 = 'a'
if @rowid in ('z')
select @rowid4 = '0'
if @rowid in ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y')
select @rowid4=char(ascii(@rowid)+1)
if @@error<>0
select @rowid='0'
return @rowid4
end
错误提示
10:53:34,046 ERROR [Engine] StandardWrapperValve[jsp]: Servlet.service() for ser
vlet jsp threw exception
com.microsoft.sqlserver.jdbc.SQLServerException: ResultSet 已关闭。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(U
nknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.checkClosed(Unknown S
ource)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.next(Unknown Source)
at org.jboss.resource.adapter.jdbc.WrappedResultSet.next(WrappedResultSe
测试办法
rs = CCommonDAO.getReSult(sql,"ELOGISDBCON");
之后请先注释掉报表相关代码,使用下面的测试代码遍历一下结果集试试看
while(rs.next()){
System.out.println(rs.getObject(1));
}
现在还在测试中,表面提示好象是代码有问题,但在不同的服务器上得出的结果却不一样,真叫人深思
问题已查出.,因报表写法不合规则,所以造成CPU没有得到释放,在JBOSS3.2.5中允许不合规格的写法,但在JBOSS4.0中不允许这种写法.
原写法:
try{
rs = CCommonDAO.getReSult(sql,"ELOGISDBCON");
MREngine engine = new MREngine(pageContext,"/RepRoot/");
engine.addDataSet("usp_inbill_order",rs);
engine.bind("Report/ware_report/inbill_order");
rs.close();
}finally{
//rs.close();
}
规则写法:
try{
pCon =ConnectionManager.getConnection("ELOGISDBCON");
ps = pCon.prepareStatement(sql);
rs = ps.executeQuery();
MREngine engine = new MREngine(pageContext,"/RepRoot/");
engine.addDataSet("usp_copyinout_rpt",rs);
engine.bind("Report/ware_report/inout_rpt");
ps.close();
rs.close();
pCon.close();
}catch(Exception e){
ps.close();
rs.close();
pCon.close();
e.printStackTrace();
throw new Exception("查询失败");
}finally{
ps.close();
rs.close();
pCon.close();
}
错误提示2:
Reached the report count limit!是正常的提示,有两个可能的原因:
1、服务器上插的是设计器的加密锁。设计器加密锁可以做引擎的加密锁用,运行报表程序,但是有加载模板数量的限制。出错以后,重启Webserver可以再加载报表,或直接找明宇公司再买个显示加密狗。
2、服务器上部署的引擎文件mr.jar是试用版的文件,或者有试用版的jar文件在服务器上,删掉试用版的jar文件,换成正式版,清除webserver临时文件,重启webserver的就可以了。
如图所示,类似这样的文本框.按一次TAB键就会自动跳转到最前面的复选框,
那么用户可以在文本框的属性里增加 tabIndex='1' 便可以让TAB键每次定位时都定位在顺序流的第一个文本框:如
inputfields[0] = "<input name ='current_num' size='6' type = 'text' value='' tabIndex='1' '>";
也可以用回车键来实现
onKeypress='if(window.event.keyCode==13) event.keycode=9'
方法是很简单,但是我找了很久才解决,本人不才.....
1,用Active Ports软件查看哪个端口被占用.
2,在服务里把相应服务停掉(或禁止).
3,一般端口占用分析:
port:1098 DNS Server
1099 Internet ConnectionSharing
8443 FTP 工具端口地址更改
库存管理最重要的是要有一套明确的跟踪管理流程,如用批次库存,那么我就必须找出他对应的入库\出库\调拨单等,并在批次库存表中加入验证数量,然后用库存实际数量跟验证数量比,如有库存差异,则及时给用户提醒,并显示对应的流水单据.
库存处理办法:
批次库存:
批次库存是针对入库的批次管理到具体的出库单,这样形成的批次就可以管理到每笔业务,算出每笔业务的盈亏情况.
汇总库存:
汇总库存是以货物信息为主键:如以货物编码\仓库编码为主键形象汇总库存表.当入库时增加相同类型的货物编码和仓库编码增加库存数量,出库时将相同类型的货物编码和仓库编码减少
两年前我第一次接触仓库的时候觉得仓库很难,甚至不明白为什么还有批次库存,汇总库存之分,第一次接触的就是简单的明细库存,仓库说白了就是出库和入库,但真正能把仓库管好不仅仅只是出入库粗略的说法,可知道出入库里分的种类太多,现在做的这套系统分为汇总库存,批次库存,日库存,在我看来日库存是最难控制的,每天晚上的时候把实际库存写入日库存,第二天如果有用户改单时,必须通过语句把更改的日库存改回来,
要休息了,以后慢慢说
我们在进行开发时,如果JBOSS配置出现问题,将出现类似???????的乱码,
解决办法:
在相应的JSP页面里写到:
<%@ page contentType="text/html;charset=GBK" %>
gb2312必为GBK
在路径为:D:\jboss-3.2.5\server\default\deploy\jbossweb-tomcat50.sar\server.xml文件里的:
<Connector port="8000" address="${jboss.bind.address}"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
URIEncoding="GBK" />
URIEncoding 改为GBK,
这样,乱码就会不再出现了.
1、在把需要生成JAR文件的CLASS文件放在test目录下.
2、MANIFEST.MF直接考到需要的目录就OK,自己写容易出现错误
3、运行命令:
jar cvfm tesff.jar MANIFEST.MF test
备注:tesff.jar就是新生成的jar文件的名称。
test:是需生成JAR文件所在的目录。