Java全栈开发---Java ERP系统开发:商业ERP(八)采购申请

在这里插入图片描述

(3)修改OrdersBiz里面

在这里插入图片描述

(4)OrdersAction

在这里插入图片描述

3、双向关联引发的问题解决

在这里插入图片描述

在这里插入图片描述

三、采购订单查询(代码实现)


1、完善上面订单显示的效果

在这里插入图片描述

(1)创建orders.js

$(function(){

$(‘#grid’).datagrid({

url: ‘orders_listByPage?t1.type=1’,

columns:[[

{field:‘uuid’,title:‘编号’,width:100},

{field:‘createtime’,title:‘生成日期’,width:100,formatter:formatDate},

{field:‘checktime’,title:‘审核日期’,width:100,formatter:formatDate},

{field:‘starttime’,title:‘确认日期’,width:100,formatter:formatDate},

{field:‘endtime’,title:‘入库日期’,width:100,formatter:formatDate},

{field:‘creater’,title:‘下单员’,width:100},

{field:‘checker’,title:‘审核员’,width:100},

{field:‘starter’,title:‘采购员’,width:100},

{field:‘ender’,title:‘库管员’,width:100},

{field:‘supplier’,title:‘供应商或客户’,width:100},

{field:‘totalmoney’,title:‘合计金额’,width:100},

{field:‘state’,title:‘状态’,width:100,formatter:getState},

{field:‘waybillsn’,title:‘运单号’,width:100}

]]

});

});

/**

  • 日期格式化器

  • @param value

  • @returns

*/

function formatDate(value){

return new Date(value).Format(‘yyyy-MM-dd’);

}

/**

  • 获取订单的状态

  • @param value

  • @returns

  • 采购: 0:未审核 1:已审核, 2:已确认, 3:已入库

*/

function getState(value){

switch(value * 1){

case 0:return ‘未审核’;

case 1:return ‘已审核’;

case 2:return ‘已确认’;

case 3:return ‘已入库’;

default: return ‘’;

}

}

(2)创建orders.html
采购订单查询
(3)修改Orders

添加各个内容对应的名称属性

在这里插入图片描述

注入ISupplierDao,生成Get和Set方法

在这里插入图片描述

(4)修改OrdersBiz对象

通过对应不同的order当中的id到别的表当中查询对应id的name并设置到对应的属性到orders当中

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

public List getListByPage(Orders t1, Orders t2, Object param, int firstResult, int maxResults) {

// 获取分页后的订单列表,因为刚刚Orders当中设置的值还是为空下面需要遍历orderlist为其赋值

// 获取所有所有的订单集合

List ordersList = super.getListByPage(t1, t2, param, firstResult, maxResults);

// 缓存员工的编号和员工的名称,key=员工的编号,value=员工的名称

// (目的是从订单集合当中获取对应所有的每个订单对应的员工编号和员工姓名),应为id对应名称的重复概率很大所以需要一个MPA集合作为缓存

Map<Long, String> empNameMap = new HashMap<Long, String>();

// 缓存供应商的编号和供应商的名称,key=供应商的编号,value=供应商的名称

// (目的是从订单集合当中获取对应所有的每个订单对应的供应商编号和供应商姓名),应为id对应名称的重复概率很大所以需要一个MPA集合作为缓存

Map<Long, String> supplierNameMap = new HashMap<Long, String>();

// 循环,获取员工的名称

for (Orders o : ordersList) {// 遍历订单集合

// 下面通过Orders当中的id查询对应每一个id对应的名称

// 将对应的创建订单姓名的人放入到对应订单的姓名订单数据当中

o.setCreaterName(getEmpName(o.getCreater(), empNameMap));

// 设置订单审核人员的名称

o.setCheckerName(getEmpName(o.getChecker(), empNameMap));

o.setStarterName(getEmpName(o.getStarter(), empNameMap));

o.setEnderName(getEmpName(o.getEnder(), empNameMap));

// 供应商

o.setStarterName(getSupplierName(o.getSupplieruuid(), supplierNameMap));

}

return ordersList;

}

// 获取员工的名称

// uuid 员工编号

// empNameMap 员工编号以及员工的名称

// 返回员工的名称

private String getEmpName(Long uuid, Map<Long, String> empNameMap) {

// 通过当前集合当中的uuid获取对应的值的员工姓名

if(null == uuid) {

return null;

}

String empName = empNameMap.get(uuid);

// 先从Map集合当中通过对应的id获取name如果有就不需要获取对应的姓名,如果没有就通过id、

// 重新向数据库查询对应id的name并将其id】和姓名放入到map 集合当中

if (null == empName) {

// 如果没有找到员工的名称,则进行数据库查询

empName = empDao.get(uuid).getName();// 通过id查询对应员工的姓名

// 存入缓存中

empNameMap.put(uuid, empName);// 将员工的id和姓名存入emp集合当中

}

return empName;

}

// 获取供应商的名称

// uuid 供应商编号

// supplierNameMap 供应商编号以及供应商的名称

// 返回供应商的名称

private String getSupplierName(Long uuid, Map<Long, String> supplierNameMap) {

if(null == uuid) {

return null;

}

// 通过当前集合当中的uuid获取对应的值的供应商姓名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值