工作总结二(注意事项及常见问题)

1 maintain页面编写注意事项(1)

maintain页面编写注意事项

2 maintain页面编写注意事项(2)

maintain页面编写注意事项(2)

3 和瑞系统查询驾驶员相关信息SQL

select
d.name as 姓名,
v.licenseplate as 车牌号,
d.phone as 联系电话,
case when d.sex = 1 then '男' when d.sex = 2 then '女'end as 性别,
d.politicalstatus as 政治面貌, 
d.idcard as 身份证号码,
d.classtype as 班类别,
d.contractstarttime as 合同开始日期,
d.nativeplace 籍贯地址, 
d.presentaddress 现地址
from driver_information d
left join vehicle_info v on v.id = d.vehicleinfo_id
left join TEAM t on t.id = d.team_id
where 1 = 1

4 待研究

wlOA-计划管理-计划维护项-计划立项页面
1.计划立项新建:
计划立项新建
选中一条状态为打开的记录,点击修改按钮,若当前用户是创建这条记录的创建人,则可以修改如下图所示的修改页面:
可修改的计划立项
若当前用户不是该记录的创建人,则不可修改如下图所示不可修改的计划立项页面:
不可修改的计划立项

5 更新代码,页面显示还是旧内容的问题

开发或者测试中,有时会碰到更新了代码,但是进入系统中发现显示的还是旧的内容,这时进行下面2步操作:

  1. 清理浏览器的缓存。清除浏览器缓存(1)
  2. 清除浏览器缓存(2)
  3. 清理Eclipse的工作空间。
    清理Eclipse的工作空间(1)
    清理Eclipse的工作空间(2)

6 提示标识符无效的问题

有时查看页面时,发现如下问题:
标识符无效的问题部分报错信息
解决方法:出现这种问题的原因推测是数据库中没有某一列,比如本例中的是表V_INVENTORY中没有名为REMARK的这一列。我们只需要在V_INVENTORY表添加名为REMARK的列即可。

7 系统与HTML的整合

7.1 超链接按钮开发

有时我们需要在页面中点击某个按钮,跳转到另外一个页面。这是就要编写在页面中关于点击按钮跳转到html页面的开发了。
举例:整车系统(vehicle)中-经销商分配统计-调度按钮。点击“调度”跳转到一个新的页面。
超链接按钮开发(1)
点击“调度”,跳转到页面如下所示:
超链接按钮开发(2)
这里我们具体讲解开发以上功能的步骤:

  • 1 在maintain页面进行如下配置:
    maintain页面配置
    上图中的代码如下:
<?xml version="1.0" encoding="UTF-8"?>

<pages>
    <maintainPage id="mainVdealerAssPage" title="mainVdealerAssPage" autoQuery="true" width="800" heigh="400" entityClass="com.yz.wms.server.model.shipping.VdealerAss" displayRowCount="300">
 <datasource><![CDATA[SELECT
dealerAss.id,
dealerAss.consigneeCode,
dealerAss.consigneeName,
dealerAss.assignQty,
dealerAss.unAssignQty,
dealerAss.province,
dealerAss.city,
dealerAss.fromShipLoc,
dealerAss.toShipLoc,
dealerAss.warehouseName,
dealerAss.id as operation
from VdealerAss dealerAss
where 1=1
and (dealerAss.warehouseId = #{SESSION_WAREHOUSE} or dealerAss.companyCode = #{SESSION_COMPANY_CODE} and #{SESSION_WAREHOUSE} in('99','100'))]]></datasource>
 	<columns>
    	<column id="dealerAss.id" title="dealerAss.id" visible="false"/>
    	<column id="dealerAss.consigneeCode" title="dealerAss.consigneeCode" visible="true" dataType="string"/>
    	<column id="dealerAss.consigneeName" title="dealerAss.consigneeName" visible="true" dataType="string"/>
    	<column id="dealerAss.assignQty" title="dealerAss.assignQty" visible="true" dataType="interger" width="80"/>
    	<column id="dealerAss.unAssignQty" title="dealerAss.unAssignQty" visible="true" dataType="interger" width="80"/>
    	<column id="dealerAss.province" title="dealerAss.province" visible="true" dataType="string" width="80"/>
    	<column id="dealerAss.city" title="dealerAss.city" visible="true" dataType="string"/>
    	<column id="dealerAss.fromShipLoc" title="dealerAss.fromShipLoc" visible="true" dataType="string"/>    	
    	<column id="dealerAss.toShipLoc" title="dealerAss.toShipLoc" visible="true" dataType="string"/>    	
    	<column id="dealerAss.warehouseName" title="dealerAss.warehouseName" visible="true" dataType="string" format="hValue"/>
    	<column id="operation" title="operation" visible="true" dataType="string" sortable="false" format="operationVdealerFormatter"/>
   	</columns>
    </maintainPage>
</pages>
  • 2 编写XXXFormatter类
    编写一个名为XXXFormatter的类,本例中需要编写OperationVdealerFormatter类,具体代码如下:
package com.yz.wms.server.service.formatter;

import java.util.List;
import com.vtradex.thorn.server.format.Formatter;

/**
 * 经销商分派统计页面-调度操作链接
 * @author WL20180732
 *
 */
public class OperationVdealerFormatter implements Formatter{

	public String format(String property, Object cellValue, List origenData,
			String referenceModel, String locale) {
		Long id = (Long) origenData.get(0);
		String s = null ;
		s = "<a href='dist/views/orderView/orderView3.html?vdealerAssIds="+id+"' target='_black' style='text-decoration:none;font-weight: bold;font-size:14px;color:blue;'>调度</a>";
		return s;
	}

	public String exportFormat(String property, Object cellValue,
			List origenData, String referenceModel, String locale) {
		return cellValue == null ? "" : cellValue.toString();
	}
}

XXXFromatter代码解释

  • 3 配置formatContext.xml
    接着,我们要在formatContext.xml文件中对XXXFormatter.java进行配置
<bean id="operationVdealerFormatter" class="com.yz.wms.server.service.formatter.OperationVdealerFormatter"/>

配置formatContext.xml
到这里基本配置就完成了,具体业务逻辑还需要自己接着开发和完善。

7.2 maintain页面是HTML页面的开发

还有一种点击目录中的某个页面跳转到html页面的。如整车系统-可视化管理-道口预约可视化如下图:
maintain页面是html页面
点击“道口预约可视化”,会把当前道口的预约信息展示出来,还可以点击预约道口按钮进行道口的预约。
道口预约界面
我们以道口预约可视化来讲解这种页面的开发步骤,具体如下:

  • 1 编写maintain页面:
<?xml version="1.0" encoding="UTF-8"?>

<pages>
    <customPage id="mainVdockOrderPage" title="mainVdockOrderPage" className="com.yz.wms.client.view.VdocOrder"/>
</pages>

maintain页面代码讲解如下:
maintain页面代码讲解

  • 2 编写java文件
    本例中要编写VdocOrder类:
package com.yz.wms.client.view;

import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.rpc.IsSerializable;
import com.google.gwt.user.client.ui.Frame;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.layout.FitLayout;
import com.vtradex.thorn.client.template.BaseCustomMaintainTemplate;

public class VdocOrder extends BaseCustomMaintainTemplate implements IsSerializable{

	
	 public void draw(Panel content) {
	        content.setMargins(0, 0, 0, 0);
	        content.setBorder(false);
	        Panel container = new Panel();
	        container.setLayout(new FitLayout());
	        container.setMargins(0);
	        
	        Frame frame = new Frame("docOrder.html");  
	        frame.removeStyleName(frame.getStyleName());
	        DOM.setElementPropertyInt(frame.getElement(), "frameBorder", 0); 
	        DOM.setElementPropertyInt(frame.getElement(), "margin-top", 0); 
	        frame.setSize("100%", "100%");
	        frame.getElement().setAttribute("style", "border: 0px");
	        
	        container.add(frame);
	        content.setMargins(0);
	        content.add(container);
	    }
	
}

编写具体的java类

8 方法调试

在开发过程中,如果写好了某个方法,但是前台又没有某个按钮可用来调试。这时我们需要用以下方法进行方法调试:
方法的调试
上图中还有个按钮“执行TASK”,此时,我们只需要从数据库表’thorn_tasks’中的查找我们要执行的那个task的id放到订阅者中,然后保存调试即可。

9 常见的页面过滤条件

系统中分有很多仓库、公司、用户等,比如在切换仓库时,要求页面只展示当前仓库的相关数据,把不属于该仓库的数据过滤掉。这就要求在编写页面数据显示的HQL语句时必须要加上相关的过滤条件。下面列举一些常见的页面过滤条件:

  • 1 过滤仓库:#{SESSION_WAREHOUSE}
    例如:
    过滤仓库
  • 2 过滤当前登录用户:
  • 3 过滤公司:#{SESSION_COMPANY_CODE}
    过滤公司

9 Oracle数据库中给表中字段添加注释

在Oracle数据库中,有时为了更加清楚的知道表中每个字段代表的含义,需要给表的字段添加注释,此时可以通过以下SQL语句:

comment  on  column  表名.字段名   is  '注释内容';

例如:给表W_RECEIVE_MES的字段Create_Time添加注释:

comment on column W_RECEIVE_MES.Create_Time is '创建时间';

10 数据库违反完整约束条件异常

已找到自己录异常
此时使用下面语法:

SELECT * FROM user_constraints u WHERE u.constraint_name LIKE '%违反完整约束条件后面的内容如:FKD6D345E1540B5FFC%';

这个异常的原因是,想要删除数据库中的某一条记录,但是该记录在另一个表中作为外键引入,索引会删除失败。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值