MVC北京络捷斯特第三方物流系统技术解析(六)补录订单运输信息

MVC北京络捷斯特第三方物流系统技术解析(六)补录订单运输信

客服人员提交订单后,可以随时补录订单信息。客服人员补录运单时,点击补录信息,此时系统显示的是未完成的运单列表,先在运单列表中选中一票运单,点击“修改 ”按钮,在此界面把运单信息补充完整,内容与订单录入部分相同。修改完成后,点击“ 提交”按钮保存信息。把运单提交给财务复核时,选中已经补录完整的运单,点击“提交复核”按钮,则运单提交至财务复核;如果运单上的费用发生变更,经过相关的审批流程后,点击“费用调整 ”按钮进行费用调整。如果是长途派送的业务,事先没有生成订单,则客服在“订单录入”模块录入运单信息。

界面效果图:

 2.7.1.1(图1)

 2.7.1.1(图2)

 

查询功能实现:

第一步:数据库

1、表和表关系

上面的datagrid

                                                                                  2.7.1.1(图3)

1:运输订单表(PWOrderForTransportationList

用于存放运输订单的信息

列名

数据类型

主键/外键

说明

OrderForTransportationID

int

主键

订单运输信息ID

OrderForGoodsNumber

nchar (50)

 

订单号

VocationalTypeID

int

外键

业务类型ID

HeadstreamID

int

外键

始发地ID

DestinationID

int

外键

目的地ID

TakeDeliveryTime

datetime

 

取货时间

ArriveTime

datetime

 

到货时间

TakeDeliveryID

int

外键

取货ID

DeliverGoodsID

int

外键

签单ID

WrittenPermissionID

int

外键

返回ID

ClientContractsConsignID

int

外键

合同托运客户ID

ShipperName

nchar (50)

 

托运人姓名

ShipperPhoneNumber

nchar (50)

 

托运人电话

ShipperUnitsID

int

外键

托运人单位ID

ShipperLocation

nchar (50)

 

托运人地址

ShipperAccount

nchar (50)

 

托运帐号

ShipperPostcode

nchar (50)

 

托运人邮编

ClientManager

nchar (50)

 

客户经理

StorePickupPersonID

int

外键

取货人ID

StorePickupPersonName

nchar (50)

 

取货联系人

StorePickupPersonPhoneNumber

nchar (50)

 

取货联系人电话

StorePickupPersonAddress

nchar (50)

 

取货地址

ProjectID

int

外键

项目ID

ConsigneeName

nchar (10)

 

收货人姓名

ConsigneePhoneNumber

nchar (50)

 

收货人电话

ConsigneeUnit

nchar (50)

 

收货人单位

ConsigneeAddress

nchar (50)

 

收货人地址

ConsigneeAccount

nchar (50)

 

收货人帐号

ConsigneePostcode

nchar (50)

 

收货人邮编

ConsigneeID

int

外键

收货人ID

CarriageFare

decimal (18, 2)

 

运费

IncidentalExpenses

decimal (18, 2)

 

杂费

CostSumUp

decimal (18, 2)

 

费用小计

WhetherOrNotInsureDeclare

bit

 

保声明否

SettleAccountsWayID

int

外键

保险费

AdvanceReceipts

decimal (18, 2)

 

结算方式ID

InsureExpenses

decimal (18, 2)

 

预收款

PayNumber

nchar (50)

 

付费帐号

Remarks

nchar (100)

 

备注

FabricationOrderFormID

int

外键

制单人ID

AcceptanceTime

datetime

 

受理时间

AcceptanceUnitID

int

外键

受理单位ID

Receiver

nchar (10)

 

签收人

SignForTime

datetime

 

签收时间

WhetherOrNotSignFor

bit

 

签收否

RepeatOrderStateID

int

外键

返单状态ID

RepeatOrderPeopleID

int

外键

返单人ID

RepeatOrderTime

datetime

 

返单时间

RepeatOrderReceive

bit

 

返单时间

BeforeOneTime

nchar (100)

 

当前地点

CheckEmploy

bit

 

复核否

ClientID

int

外键

客户ID

ClientAgreementInformationID

int

外键

客户合同ID

TongZhiCiShu

int

外键

 

QuHuoFou

bit

 

 

ShengChenJiHuaDan

nchar (30)

 

生成计划单号

ShengChenFou

bit

 

生成否

DingDanZhuangTai

bit

 

订单状态

ZongTiJi

decimal (18, 3)

 

总体积

ZongShuLiang

decimal (18, 3)

 

总数量

ZongZhongLiang

decimal (18, 3)

 

总重量

RouteID

int

外键

路由ID

ZhanCunFou

bit

 

暂存否

HuoWeiID

int

外键

货位ID

HuoWeiHao

nchar (50)

 

货位号

YiQuHuo

bit

 

已取否

YiPaiHuo

bit

 

已派否

QuPaiLeiXingFou

bit

 

取派类型否

LunLiID

int

外键

运力ID

ShuaiHuoFou

bit

 

甩货否

YouYongFou

bit

 

有否否

ShengChengZhanDanFou

bit

 

生成账单否

 

 

表2:属性明细表(SYSAttributeDetailList

用于存放集合信息

 

列名

数据类型

主键/外键

说明

AttributeDetailID

int

主键

属性明细ID

AttributeGatherID

int

外键

属性集合ID

AttributeDetailName

nchar (10)

 

属性明细名称

YouYongFou

bit

 

有效否

 

表3:站点信息表SYSSiteInformationList

用于存放站点信息

 

列名

数据类型

主键/外键

说明

SiteInformationID

int

主键

站点信息ID

SiteTypeID

int

外键

站点类型ID

SiteNumber

nchar (50)

 

站点编号

SiteDesignation

nchar (50)

 

站点名称

SiteAddress

nchar (50)

 

站点详细地址

SiteTelephone

nchar (50)

 

站点电话

SitePortraiture

nchar (50)

 

站点传真

ZipCode

nchar (50)

 

邮编

FenJianQu

nchar (50)

 

分拣区

ChuCunQu

nchar (50)

 

储存区

Contacts

nchar (10)

 

Contacts

Remarks

nchar (100)

 

备注

PlaceArea

decimal (18)

 

场地面积

CarparkArea

decimal (18)

 

停车场面积

Quantity

decimal (18)

 

车位数量

YouYongFou

bit

 

有效否

 

表4:所属单位表SYSSubsidiaryUnitList

用于存放单位信息

 

 

列名

数据类型

主键/外键

说明

SubsidiaryUnitID

int

主键

所属单位ID

InstitutionID

int

外键

机构ID

SubsidiaryUnitDesignation

nchar (50)

 

所属单位名称

YouYongFou

bit

 

有效否

 

表5:项目表(SYSProjectList

用于存放项目信息

 

 

列名

数据类型

主键/外键

说明

ProjectID

int

主键

项目ID

WhetherProjectSpecialtype

bit

 

项目特殊类型否

ProjectNumber

nchar (100)

 

项目代码

ProjectDesignation

nchar (100)

 

项目名称

ProjectDescribe

nchar (100)

 

项目描述

YouYongFou

bit

 

有效否

 

表6:员工表(SYSPersonnelList

用于存放员工信息

 

 

列名

数据类型

主键/外键

说明

PersonnelID

int

主键

员工ID

DepartmentID

int

外键

部门ID

UseOrganization

int

外键

使用机构ID

OrganizationID

int

外键

所属机构ID

GenreID

int

外键

所属类型ID

SubsidiaryUnitID

int

外键

所属单位ID

SexID

int

外键

性别ID

CredentialsGenreID

int

外键

证件类型ID

StateID

int

外键

状态ID

Birthday

date

 

人员编码

WorkDate

date

 

区别码

PersonnelCode

nchar (50)

 

姓名

DifferenceCode

nchar (50)

 

出生日期

Name

nchar (10)

 

工作日期

Duties

nchar (50)

 

职务

CredentialsNumber

nchar (50)

 

证件号码

Address

nchar (50)

 

住址

PhoneNumber

nchar (50)

 

电话

MobilePhone

nchar (50)

 

手机

Email

nchar (50)

 

Email

Remarks

nchar (50)

 

备注

YouYongFou

bit

 

有效否

 

表6:客户表(SYSClientList

用于存放客户信息

 

 

列名

数据类型

主键/外键

说明

ClientID

int

主键

客户ID

ClientNumber

nchar (50)

 

客户帐号

ClientEncoded

nchar (50)

 

客户码

ClientUnitDesignation

nchar (50)

 

客户单位名称

ClientAbbreviation1

nchar (50)

 

客户简称1

ClientAbbreviation2

nchar (50)

 

客户简称2

ClientManager

nchar (50)

 

客户经理

ClientManagerBelephoneLdentification

nchar (50)

 

客户经理电话

Contacts

nchar (50)

 

联系人

ContactsTelephone

nchar (50)

 

联系人电话

ContactsEmail

nchar (50)

 

联系人Email

ContactsVIP

nchar (50)

 

联系人VIP

ContactsJAI

nchar (50)

 

联系人JAI

ContactsRankID

int

外键

客户级别ID

ContactsZipCode

nchar (50)

 

客户邮编

ProjectID

int

外键

项目ID

ContactsFacsimile

nchar (50)

 

客户传真

EnglishAbbreviation

nchar (50)

 

英文缩写

EnglishDesignation

nchar (50)

 

英文名称

ContactsAddress

nchar (50)

 

客户地址

ClientCompanyID

int

外键

客户公司ID

IndustryAttributeID

int

外键

行业属性ID

EnterpriseScaleID

int

外键

企业规模ID

MemberDeputy

nchar (50)

 

会员代表

AgreementGrandfatherAddress

nchar (50)

 

合同存档地

BankOfDeposit

nchar (30)

 

开户行

ClientAgreementID

int

外键

客户合同ID

BankofdepositAccountNumber

nchar (50)

 

开户行帐号

DutyParagraph

nchar (50)

 

税号

YouYongFou

bit

 

有效否

TongBuFou

bit

 

同步否

 

表7:客户合同表(SYSClientList

用于存放客户合同信息

 

列名

数据类型

主键/外键

说明

ClientAgreementInformationID

int

主键

客户合同信息ID

AgreementNumber

nchar (30)

 

合同编号

AgreementDesignation

nchar (30)

 

合同名称

Agreement数据类型ID

int

 

合同类型ID

ClientID

int

 

客户ID

ProjectID

int

 

项目ID

VocationalPersonDeputy

nchar (30)

 

业务代表人

VocationalPersonDeputyFashion

nchar (30)

 

业务代表联系方式

EndDate

datetime

 

截止日期

CarriageFareValue

decimal (18, 2)

 

运费单价

InsuranceCompanyID

int

 

保险公司ID

SettleAccountsWayID

int

 

结算方式ID

AgreementGrandfatherAddress

nchar (30)

 

合同存档地

Oursignatory

nchar (30)

 

我方签署人

TheguestsSigntory

nchar (30)

 

客方签署人

Remarks

nchar (100)

 

备注

WhetherCheck

bit

 

复核否

YouYongFou

bit

 

有用否

InsuranceRate

decimal (18, 3)

 

保险费率

 

表8:保险公司表(SYSInsuranceCompanyList

用于存放保险公司信息

 

列名

数据类型

主键/外键

说明

InsuranceCompanyID

int

主键

保险公司ID

InsuranceCompanyDesignation

nchar (50)

 

保险公司名称

InsuranceDesignationNumber

nchar (50)

 

保险公司编号

InsuranceRate

nchar (50)

 

保险费率

AmountInsured

nchar (50)

 

投保金额

YouYongFou

bit

 

有用否

 

 

 

 

 

下面的datagrid

                                                                                                                                         25.13图(3

表9:订单运输明细表(PWOrderForGoodsDetailList

用于存放订单运输明细信息

 

 

列名

数据类型

主键/外键

说明

OrderForGoodsDetailID

int

主键

订单运输明细ID

OrderForGoodsTransportinformationID

int

外键

订单运输信息ID

GoodsID

int

外键

货品ID

Cubage

nchar (50)

 

体积

Quantity

nchar (50)

 

数量

Remarks

nchar (50)

 

备注

UnitsID

int

外键

单位ID

QualityID

int

外键

质量ID

ZhongLiang

nchar (50)

 

数量

TiChi

nchar (50)

 

体积

YouYongFou

bit

 

有用否

 

 

10:货品表(SYSGoodsList

用于存放货品信息

 

列名

数据类型

主键/外键

说明

GoodsID

int

主键

货品ID

GoodsNumber

nchar (30)

 

货品编码

GoodsDesignation

nchar (30)

 

货品名称

Specifications

nchar (30)

 

规格

Deadweight

decimal (18, 2)

 

重量

UnitID

int

外键

单位ID

ClientID

int

外键

客户ID

ClientGoodsNumber

nchar (30)

 

客户货品编码

Barcode

nchar (30)

 

条形码

Pinyincode

nchar (30)

 

拼音码

GoodsClassificationID

int

外键

货品类别ID

Modelnumber

nchar (30)

 

型号

Producer

nchar (30)

 

生产厂家

GoodstypeID

int

外键

货品类型ID

GoodsSubtypeID

int

外键

货品子类型ID

Length

decimal (18, 2)

 

长度

Width

decimal (18, 2)

 

宽度

Altitude

decimal (18, 2)

 

高度

SizeUnitID

int

外键

尺寸单位ID

SKUPackUnitID

int

主键

SKU包装单位ID

Qualityguaranteeperiod

nchar (30)

 

保质期

Codeofhigh

nchar (10)

 

码高

Loadbearing

decimal (18, 2)

 

承重

QualityID

int

外键

质量ID

DeadweightUnitID

int

外键

重量单位ID

Unitprice

decimal (18, 2)

 

单价

MemoryEnvironmentID

int

外键

存储环境ID

GoodsAttributeID

int

外键

货品属性ID

PolluteAttributeID

int

外键

污染属性ID

DepolluteAttributeID

int

外键

防止污染属性ID

StateID

int

外键

状态ID

Remarks

nchar (100)

 

备注

Monitoringornot

bit

 

监控否

Moisturnot

bit

 

防潮否

Throughweightno

bit

 

贯重否

Easytostealnpnot

bit

 

易盗否

Invertedornot

bit

 

倒置否

Singlproductmanagement

bit

 

单品管理否

Effectofstorageorbatch

bit

 

批次影响存放否

Giftsnot

bit

 

赠品否

Frozenornot

bit

 

冻结否

ScanningID

int

外键

扫描品ID

Scanningnot

bit

 

扫描否

Fragileor

bit

 

易碎否

YouYongFou

bit

 

有用否

 

 

 

第二步:控制器

2.7.1.1(图4)

1.复核运单信息:

#region 复核运输信息
        public int CheckEmployOrderForTransportationList(int OrderForTransportationID)
        {
            //实例化models中的一个表 给一个别名(DiaryList)
            //DiaryList.OrderForGoodsNumber (是实例化表中的一个字段)
            //OrderForGoodsNumber 是用于从界面传过来的参数
            //修改从界面传过来的OrderForTransportationID,是进行那一行进行复核
            Models.PWOrderForTransportationList Transportation = (from tb in YS.PWOrderForTransportationList 
                  where tb.OrderForTransportationID == OrderForTransportationID select
                  tb).Single<Models.PWOrderForTransportationList>();
            Transportation.CheckEmploy = false;//复核
            //保存表的改变
            int i = YS.SaveChanges();
            if (i > 0)
            {
                return i;
            }
            else
            {
                return 0;
            }
        }

2.保存费用的调整

#region 修改费用调整
        public int UpdateFeiYongTiaoZheng(int OrderForTransportationList, 
decimal CarriageFare,
                      decimal IncidentalExpenses, decimal CostSumUp)
        {
            //实例化models中的一个表 给一个别名(DiaryList)
            //DiaryList.OrderForGoodsNumber (是实例化表中的一个字段)
            //OrderForGoodsNumber 是用于从界面传过来的参数
            //修改从界面传过来的OrderForTransportationID,是进行那一行进行修改所产生的费用
            Models.PWOrderForTransportationList Transportation = (from tb in YS.PWOrderForTransportationList 
                where tb.OrderForTransportationID == OrderForTransportationList
                select tb).Single<Models.PWOrderForTransportationList>();
            Transportation.CarriageFare = CarriageFare;//运费
            Transportation.IncidentalExpenses = IncidentalExpenses;//其他费用
            Transportation.CostSumUp = CostSumUp;//费用小计
            //保存改变
            int i = YS.SaveChanges();
            if (i > 0)
            {
                return i;
            }
            else
            {
                return 0;
            }
        }




 

第三步:视图

2.7.1.1(图5)

视图和订单运输信息的界面相同;

下面来看看JavaScript的代码:

1.点击datagrid中的复核按钮

function FuHeFous() {
            var ROW = $("#tbOrderForTransportationList").datagrid('getSelected');
            var OrderForTransportationID = ROW.OrderForTransportationID;
            //如果已经复核了,就不用再复核
            if (ROW.CheckEmploy2 == "复核中") {
                alert("单号" + $.trim(ROW.OrderForGoodsNumber) + "已提交复核,请等待!");
            } else if (ROW.CheckEmploy2 == "已复核") {
                alert("单号" + $.trim(ROW.OrderForGoodsNumber) + "已复核,不用再提交复核!");
            }
            else {
            //如果满足条件就修改复核的状态
                $.getJSON("/YunShuGuanLi/CheckEmployOrderForTransportationList?OrderForTransportationID="
                 + OrderForTransportationID,
                            function (data) {
                                if (data > 0) {
                                    alert("提交复核成功");
                                    //reload(刷新datagrid的数据)
            $("#tbOrderForTransportationList").datagrid('reload');
            $("#tbOrderForTransportationList").datagrid('loadData', data);
            $("#tbOrderForTransportationList").datagrid('reload');
                                } else {
                                    alert("提交复核失败");
                                }
                            }
                                    );
            }
        }

2. 点击datagrid中的费用调整按钮

 (1).绑定要调整费用的运单

 var AllFeiYong = 0;
        var FeiOrderForTransportationID = 0;
        function FeiYongTiaoZheng() {
            var ROW = $("#tbOrderForTransportationList").datagrid('getSelected');
            //getSelected(你要选择修改的那一行);
            FeiOrderForTransportationID = ROW.OrderForTransportationID;
            //如果已经复核,就不能再调整费用
            if (ROW.CheckEmploy2 == "复核中") {
                alert("单号" + $.trim(ROW.OrderForGoodsNumber) + "在复核中,请等待复核后进行调整!");
            }
            else
                if (ROW.CheckEmploy2 == "已复核") {
                    alert("单号" + $.trim(ROW.OrderForGoodsNumber) + "已提交复核,不能修改费用!");
                } else {
                    $("#IFeiYongTiaoZheng").reveal($(this).data());

                    //获取原来费用的信息
                    $("#txtCostSumUp1").attr('value', ROW.CostSumUp);
                    $("#txtClientReceivingpersonZipCode1").attr('value', ROW.ConsigneePostcode);
                    $("#txtTransportationExpenses1").attr('value', ROW.CarriageFare);
                    $("#txtIncidentalExpenses1").attr('value', ROW.IncidentalExpenses);
                    $("#txtInsurancePremium1").attr('value', ROW.InsureExpenses);
                    id12 = ROW.InsuredAmount;
                    $("#txtAmountInsured1").attr('value', ROW.InsuredAmount);
                    $("#txtYunJiaFeiHeJi1").attr('value', ROW.AllFeiCount);
                    id5 = ROW.ClientAgreementInformationID;
                    id6 = ROW.CarriageFareValue;
                    id7 = ROW.CarriageFareValue;

                }
        }

(2).保存费用调整的运单信息

function BaoCunFeiYongTiaoZheng() {
            if (confirm("是否保存费用调整")) {
                //AllFeiYong =是所用费用的总和
                AllFeiYong = parseInt(id12) + parseInt($("#txtTransportationExpenses1").val()) +
                //将所用的费用转成整形,不然就是字符串相加
                 parseInt($("#txtIncidentalExpenses1").val()) +
                  parseInt($("#txtCostSumUp1").val());
                $("#txtYunJiaFeiHeJi1").val(AllFeiYong);
                //FeiOrderForTransportationID 要修改费用的主键ID
                $.getJSON("/YunShuGuanLi/UpdateFeiYongTiaoZheng?OrderForTransportationList=" + FeiOrderForTransportationID + "&"
                + "CarriageFare=" + $("#txtTransportationExpenses1").val() + "&"
                + "IncidentalExpenses=" + $("#txtIncidentalExpenses1").val() + "&"
                + "CostSumUp=" + $("#txtCostSumUp1").val(),
                function (data) {
                    if (data > 0) {
                        alert("费用调整成功");
                        $("#IFeiYongTiaoZheng").panel('close');
                        $("#tbOrderForTransportationList").datagrid('reload');
                        $("#tbOrderForTransportationList").datagrid('loadData', data);
                        $("#tbOrderForTransportationList").datagrid('reload');
                    }
                    else {
                        alert("费用调整失败");
                    }
                }
                );
            }
        }




 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值