写点什么

浅谈低代码技术在物流运输平台中的搭建与管理

作者:王平
  • 2022 年 7 月 26 日
  • 本文字数:4793 字

    阅读完需:约 16 分钟

 随着科学技术的进步和智能化技术的不断发展与涌现,经济全球化在不断向前深入,商品贸易,流通规模不断扩大,为物流运输业的发展和壮大提供了新的空间,同时也为物流管理带来了新的挑战。因此,现代企业要不断完善和夯实物流运输管理模式,提高物流服务质量,提升物流品牌,以适应物流市场的发展规律,促进物流业的整体发展。

公路运输作为除铁路运输以外唯一的钢材运输方式,在河钢集团宣钢公司的生产经营中起着十分重要的作用。其运输网密度大、分布广、适应性强,车辆无需中途倒运,可以直接送货到门,能够为客户提供“门到门,户到户”高效,快捷,便利运输服务。作为“物流运输大动脉”的物流公司,担负着宣钢所有钢材的储备外发任务,如何节省装车时间,减少物流业务环节,缩短物流运输周期,是提高物流运输质量的重要保证。因此,特大胆提出运用智能化平台和数字化技术相融合进行物流运输管理,提升物流运输质量预想。

一,物流运输

物流运输是指为了满足客户需求,以最低的运输成本,最合适的交通运输工具,通过配送,传递等方式,选择最优路径,将原材料,半成品等由产品产出地到商品需求地的一种传递,运输管理方式。同时也是供应链过程的一部分,以满足客户需求为目的,以高效和经济的手段组织产品,服务以及相关信息从供应链到消费的运动和存储的计划,执行和控制的过程,为用户提供更多功能和一体化的综合服务。

1,车辆管理:将需要使用的车辆类型,属性及司机姓名,联系方式等内容输入到系统,做到合理筛选,车辆高效分配,减少空车使用率的同时避免了因人工输入带来的诸多不便。同时,数据的同步会增加信息的准确性。


2,仓库货物管理:通过系统进行数据实时更新,准确了解和掌握当日库存以及剩余量情况,方便及时,合理安排下一车次的装车进程。解决了人工盘库和装车滞后带来的问题。减少了无效劳动的同时也大大提高了工作效率。


3,系统管理:库房管理员根据实物数量及类型及时更新当日库存数据,方便掌握的同时,对所需车辆数量做到心中有数,避免了供不应求或供过于求的现象发生。


4,信息管理:通过系统信息查询,掌握装车物资情况,装车时间,用时消耗以及出厂时间等,做到了信息透明,数据准确,同时,还可以实时掌握车辆出厂情况及运行动态 等,为客户按时,保质,保量完成送货任务奠定了基础。


5,自动化管理:通过系统设置,可以分为:(1),车辆方面:所需拉运车辆-车号-司机-姓名-联系方式-车辆属性-载重-拉运货物规格-拉运数量-装车时间-出库时间;(2)库房方面:库房号-货物规格-出库量-出库时间。最终达到出库时间的统一,方便跟踪运输车辆运行轨迹。


6、智能化信息管理



二,低代码技术在物流平台搭建

/**


  • 尊敬的用户,你好:页面 JS 面板是高阶用法,一般不建议普通用户使用,如需使用,请确定你具备研发背景,能够自我排查问题。当然,你也可以咨询身边的技术顾问或者联系宜搭平台的技术支持获得服务(可能收费)。

  • 我们可以用 JS 面板来开发一些定制度高功能,比如:调用阿里云接口用来做图像识别、上报用户使用数据(如加载完成打点)等等。

  • 你可以点击面板上方的 「使用帮助」了解。


*/


// 当页面渲染完毕后马上调用下面的函数,这个函数是在当前页面 - 设置 - 生命周期 - 页面加载完成时中被关联的。


export function didMount() {


console.log(「页面 JS」:当前页面地址 ${location.href});


// console.log(「页面 JS」:当前页面 id 参数为 ${this.state.urlParams.id});


// 更多 this 相关 API 请参考:https://www.yuque.com/yida/support/ocmxyv#OCEXd


// document.title = window.loginUser.userName + ' | 宜搭';


}


export function onFetchData(params) {


// 如果是搜索的话翻页重置到 1


if (params.from === 'search') {


params.currentPage = 1;
复制代码


}


// 如果你需要把表格查询条件保存起来,可以取消下一行注释,并添加一个 params 的变量类型数据源


// this.setState({ tableParams: params });


// 如果使用远程接口作为表格数据源,理论上你只需要将下方的“dataSourceName”改为实际的数据源名称即可


this.dataSourceMap['getDatas'].load(params);


this.setState({


searchKey: params.searchKey,
page: params.currentPage
复制代码


})


}


export function onActionBarItemClick() {


this.$('dialog_l3sd0ycx').show();


}


export function onOk() {


const data1 = {


"textField_l3jvm4jx": this.$('textField_l3jvm4jx').getValue(),
"radioField_l3jvm4jz": this.$('radioField_l3jvm4jz').getValue(),
"rateField_l3jvm4k1": this.$('rateField_l3jvm4k1').getValue(),
"dateField_l3jvm4k3": this.$('dateField_l3jvm4k3').getValue(),
"textareaField_l3jvm4k5": this.$('textareaField_l3jvm4k5').getValue()
复制代码


}


const param = {


formUuid: "FORM-LK766AC1HGL0Y232BH1ZQ8T300H7294IIVJ3LW",
appType: "APP_KNY41DCL4W8YF0EM0UEL",
formDataJson: JSON.stringify(data1)
复制代码


}


this.dataSourceMap["insert"].load(param).then(res => {


this.utils.toast({
title: '新增成功',
type: 'success',
size: 'large',
});
复制代码


})


this.$('dialog_I3sd0ycx').hide();


setTimeout(() => {


this.dataSourceMap['getDatas'].load();
复制代码


}, 2000);


console.log('onOk');


}


/**


  • dialog onCancel


*/


export function onCancel() {


this.$('dialog_I3sd0ycx').hide();


}


export function onActionClick1(rowData) {


this.$('dialog_I3sd0ycx').show(() => {


this.$('textField_l3jvm4jx'),setValue()
this.$('radioField_l3jvm4jz'), setValue()
this.$('rateField__l3jvm4k1'), setValue()
this.$('dateField_l3jvm4k3'), setValue()
this.$('textareaField_l3jvm4k5'); setValue()
复制代码


}


)


console.log(rowData);
复制代码


}


/**


  * 选择(或取消选择)数据之后的回调
* @param selected Boolean 是否选中
* @param rowData Object 当前操作行
* @param selectedRows Array 选中的行数据
*/
export function onSelect(selected, rowData, selectedRows) {
console.log(selected, rowData, selectedRows);
}
复制代码


export function onTableRowEdit(rowData,action,table){


console.log(rowData);


return table.editRow(rowData);


}


export function onTableRowSave(rowData,action,table){


console.log(rowData, action, table);


return table.saveRow(rowData).then((...args) => {


console.log(args);


const id = rowData.instid;


const somejson = {


"textField_l3jvm4jx": args[0].todolist1,
"radioField_l3jvm4jz": args[0].todolist2,
"rateField_l3jvm4k1": args[0].todolist3,
"dateField_l3jvm4k3": args[0].todolist4,
"textareaField_l3jvm4k5": args[0].todolist5
复制代码


}


const param3 = {


formInstId: args[0].instid,
updateFormDataJson: JSON.stringify(somejson)
复制代码


}


this.dataSourceMap['Update'].load(param3).then(res => {


this.utils.toast({
title: "修改成功",
type: "success",
size: "large"
});
setTimeout(() => {
this.dataSourceMap['getDatas'].load();
}, 2000);
复制代码


})


});


}


export function onTableRowsave(rowData,action,table) {


console.log(rowData, action, table);


return table.saveRow(rowData).then((...args) => {


console.log(args);
const id = rowData.instid;
const somejson = {
"textField_l3jvm4jx": args[0].todolist1,
"radioField_l3jvm4jz": args[0].todolist2,
"rateField_l3jvm4k1": args[0].todolist3,
"dateField_l3jvm4k3": args[0].todolist4,
"textareaField_l3jvm4k5": args[0].todolist5
}
const param3 = {
formInstId: args[0].instid,
updateFormDataJson: JSON.stringify(somejson)
}
this.dataSourceMap['Update'].load(param3).then(res => {
this.utils.toast({
title: "修改成功",
type: "success",
size: "large"
});
setTimeout(() => {
this.dataSourceMap['getDatas2'].load();
}, 2000);
})
复制代码


});


}


export function ondelltemClick(rowData) {


const id = rowData.instid;


const param2 = {


formInstId: id,
复制代码


}


this.dataSourceMap['delltem'].load(param2).then(res => {


this.utils.toast({
title: "删除成功",
type: "success",
size: "large"
});
setTimeout(() => {
this.dataSourceMap['getDatas'].load();
}, 2000);
复制代码


})


console.log(rowData);


}


export function ondelltem2Click(rowData) {


const id = rowData.instid;


const param2 = {


formInstId: id,
复制代码


}


this.dataSourceMap['delltem2'].load(param2).then(res => {


this.utils.toast({
title: "删除成功",
type: "success",
size: "large"
});
setTimeout(() => {
this.dataSourceMap['getDatas2'].load();
}, 2000);
复制代码


})


console.log(rowData);
复制代码


}


/**


  * 选择(或取消选择)数据之后的回调
* @param selected Boolean 是否选中
* @param rowData Object 当前操作行
* @param selectedRows Array 选中的行数据
*/
export function onSelect1(selected, rowData, selectedRows) {
console.log(selected, rowData, selectedRows);
}
复制代码


/**


  • tablePc onFetchData

  • @param params.currentPage 当前页码

  • @param params.pageSize 每页显示条数

  • @param params.searchKey 搜索关键字

  • @param params.orderColumn 排序列

  • @param params.orderType 排序方式(desc,asc)

  • @param params.from 触发来源(order,search,pagination)


*/


export function onFetchData2(params) {


// 如果是搜索的话翻页重置到 1


if (params.from === 'search') {


params.currentPage = 1;
复制代码


}


// 如果你需要把表格查询条件保存起来,可以取消下一行注释,并添加一个 params 的变量类型数据源


// this.setState({ tableParams: params });


// 如果使用远程接口作为表格数据源,理论上你只需要将下方的“dataSourceName”改为实际的数据源名称即可


this.dataSourceMap['dataSourceName'].load(params);


}

三,低代码技术在平台中的管理应用

[ { "color": "grey", "text": "1", "value": 1, "__sid__": "serial_l3n07dms" }, { "color": "blue", "text": "2", "value": 2, "__sid__": "serial_l3n07dmt" }, { "color": "yellow", "text": "3", "value": 3, "__sid__": "serial_l3n07dmu" }, { "color": "green", "text": "4", "value": 4, "__sid__": "serial_l3n07dmv" }, { "color": "red", "text": "5", "value": 5, "__sid__": "serial_l3n07dmw" }]。通过颜色枚举设置,可以很轻松方便的解决搭建过程中存在的信息混淆问题,快捷,方便。


四,低代码技术在物流中的优势。

通过物流信息化平台的使用和物流管控组织架构的学习,建立,实现了物流业务程序的再优化,理顺了管理职责和业务分工问题,强化了对物流链每个环节的控制与掌握,从发货到签收全过程监控,把控物流时效与服务质量,降低物流企业的管理成本,使物流业务脉络清晰,管控到位,成本降低,效率提升,为物流业业务的发展与提升奠定了扎实的基础。同时,实现了物流管理信息的通畅,强化了物流业务的各项基础管理,提高了物流业务的效率。

未来已来,以大数据为依托,以智能化平台为导向,通过“大数据+物流”,“智能化+物流”,“平台+物流”多重并举,将货源,车辆,库存有效结合,实现了产销存的有效统一,货车运的高效协同,从而简化了业务流程,缩短了业务流程时间,提高了业务效率。随着物流业务的不断发展,信息化时代的到来,企业兼并重组,加强企业间的交流与合作,与有权威,有威望的企业,老板加盟合作,强强联合,通过资源优势互补,形成战略合作做伙伴关系,将物流业做大做强。未来的物流业将呈现乘胜长驱,势如破竹之强有力动作向前推进。


用户头像

王平

关注

还未添加个人签名 2022.07.18 加入

还未添加个人简介

评论

发布
暂无评论
浅谈低代码技术在物流运输平台中的搭建与管理_王平_InfoQ写作社区