MVC北京络捷斯特第三方物流系统技术解析(五)库内加工

在“加工信息”页面,用户首先要选择库房,之后可以选择加工类型为“包装”、“组合”、“贴签”。用户选择加工类型为“包装”,包装用于将货品大包装变小包装或将货品小包装变大包装的操作,用户选择加工类型为“组合”,组合用于将多种货品组合在一起。

加工管理模块如图所示:

2.5.1.5(图1)

包装和组合:

2.5.1.5(图2)

贴签:

2.5.1.5(图3)

功能实现:

第一步:数据库

1表和表的关系

2.5.1.5(图4)

2.5.1.5(图5)

表1:dbo.PWProcessOrderForGoodsInformationList(加工订单信息表)

列名

数据类型

主键/外键

说明

ProcessInformationID

int

主键

加工信息ID

OrderForGoodstypeID

int

外键

订单类型ID

EmergencyID

int

外键

客户ID

OrderForGoodsSourceID

int

外键

订单来源ID

CarryOutStateID

int

外键

执行状态ID

StatusID

int

外键

订单类型ID

PledgeBankID

int

外键

紧急情况ID

ClientID

int

外键

订单类型ID

OrderForGoodsNumber

nchar (50)

订单号

ClientInstruct

nchar (50)

客户指令号

PurchaseOrderForGoodsNumber

nchar (50)

采购订单号

Releasetime

datetime

下达时间

OrderForGoodsPriority

nchar (50)

订单优先级

Remarks

nchar (50)

备注

BankName

nchar (100)

银行名称

YouYongFou

bit

有效否

表2:dbo.PWProcessOrderForGoodsInformationList(加工订单明细信息表)

列名

数据类型

主键/外键

说明

ProcessDetailID

int

主键

加工明细ID

ProcessInformationID

int

外键

加工信息ID

ProcesstypeID

int

外键

加工类型ID

KuFangId

int

外键

库房ID

YouYongFou

bit

有用否

表3:客户表(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

同步否

表4:属性明细表(SYSAttributeDetailList)

用于存放集合信息

列名

数据类型

主键/外键

说明

AttributeDetailID

int

主键

属性明细ID

AttributeGatherID

int

外键

属性集合ID

AttributeDetailName

nchar (10)

属性明细名称

YouYongFou

bit

外键

有效否

表5:库房表(SYSAttributeDetailList)

用于存放库房信息

列名

数据类型

主键/外键

说明

StorehouseID

int

主键

库房ID

StorehouseGenreID

int

外键

库房类型ID

LocationDistrictID

int

外键

所在区域ID

ConditionID

int

外键

状态ID

StorehouseCode

nchar (50)

库房编码

StorehouseName

nchar (50)

库房名称

PinyinCoding

nchar (50)

拼音码

PhoneNumber

nchar (50)

电话

Portraiture

nchar (50)

传真

Location

nchar (50)

地址

Length

nchar (50)

长度

Width

nchar (50)

宽度

Height

nchar (50)

高度

Area

nchar (50)

面积

PassagewayWidth

nchar (50)

通道宽度

GyrateRadius

nchar (50)

旋转半径

Remarks

nchar (50)

备注

YouYongFou

bit

有用否

下面datagrid

表6:加工订单明细表(PWProcessOrderForGoodsDetailList)

用于存放加工订单明细信息

 

列名

数据类型

主键/外键

说明

ProcessDetailID

int

主键

加工明细ID

ProcessInformationID

int

外键

加工信息ID

ProcesstypeID

int

外键

加工类型ID

KuFangId

int

外键

库房ID

YouYongFou

bit

有用否

表7:加工货品表(SYSProcessGoodsList)

用于存放加工货品信息

列名

数据类型

主键/外键

说明

ProcessGoodsID

int

主键

加工货品ID

GoodsID

int

外键

货品ID

ProcessDetailID

int

外键

加工明细ID

EffectOfStorage

nchar (50)

批次

SelectQuantity

nchar (50)

选数量

ProcessQuantity

nchar (50)

加工数量

ShipperUnitsID

int

外键

单位ID

QualityID

int

外键

质量ID

ProcessFou

bit

加工否

YouYongFou

bit

有用否

 

表8:属性明细表(SYSAttributeDetailList)

用于存放集合信息

列名

数据类型

主键/外键

说明

AttributeDetailID

int

主键

属性明细ID

AttributeGatherID

int

外键

属性集合ID

AttributeDetailName

nchar (10)

属性明细名称

YouYongFou

bit

有效否

第二步:控制器;

2.5.1.5(图6)

1.查询库内加工信息

(1)查询库内加工信息

作用的界面是:

2.5.1.5(图7)

(1)查询库内加工信息#region 查询库内加工信息public ActionResult SelectProcessOrderForGoodsInformationList(){//DiaryList 是 RK.SYSDiaryList 表的已个别名//通个ID对应将所有的表连关系var ProcessOrderForGoodsInformationList = from ProcessOrderForGoodsInformation in RK.PWProcessOrderForGoodsInformationListjoin ProcessOrderForGoodsDetailList in RK.PWProcessOrderForGoodsDetailList on ProcessOrderForGoodsInformation.ProcessInformationIDequals ProcessOrderForGoodsDetailList.ProcessInformationIDjoin ClientList in RK.SYSClientList on ProcessOrderForGoodsInformation.ClientID equals ClientList.ClientIDjoin OrderForGoodsTypeList in RK.SYSAttributeDetailList onProcessOrderForGoodsInformation.OrderForGoodsTypeID equals OrderForGoodsTypeList.AttributeDetailIDjoin EmergencyList in RK.SYSAttributeDetailList on ProcessOrderForGoodsInformation.EmergencyID equals EmergencyList.AttributeDetailIDjoin OrderForGoodsSourceList in RK.SYSAttributeDetailList on ProcessOrderForGoodsInformation.OrderForGoodsSourceIDequals OrderForGoodsSourceList.AttributeDetailIDjoin StatusList in RK.SYSAttributeDetailList on ProcessOrderForGoodsInformation.StatusID equals StatusList.AttributeDetailIDjoin CarryOutStateList in RK.SYSAttributeDetailList on ProcessOrderForGoodsInformation.CarryOutStateID equals CarryOutStateList.AttributeDetailIDjoin StorehouseList in RK.SYSStorehouseList on ProcessOrderForGoodsDetailList.KuFangId equals StorehouseList.StorehouseID
// orderby用于排序,新增的在上面orderby ProcessOrderForGoodsInformation.ProcessInformationID descending select new{
// ProcessInformationID(库内加工ID)ProcessInformationID = ProcessOrderForGoodsInformation.ProcessInformationID,
//。。。。。。对应数据库的参数OrderForGoodsNumber = ProcessOrderForGoodsInformation.OrderForGoodsNumber,ClientID = ProcessOrderForGoodsInformation.ClientID,ClientName = ClientList.ClientEncoded,ClientInstruct = ProcessOrderForGoodsInformation.ClientInstruct,PurchaseOrderForGoodsNumber = ProcessOrderForGoodsInformation.PurchaseOrderForGoodsNumber,OrderForGoodsTypeID = ProcessOrderForGoodsInformation.OrderForGoodsTypeID,OrderForGoodsTypeName = OrderForGoodsTypeList.AttributeDetailName,EmergencyID = ProcessOrderForGoodsInformation.EmergencyID,EmergencyName = EmergencyList.AttributeDetailName,OrderForGoodsSourceID = ProcessOrderForGoodsInformation.OrderForGoodsSourceID,OrderForGoodsSourceName = OrderForGoodsSourceList.AttributeDetailName,Releasetime = ProcessOrderForGoodsInformation.Releasetime,StatusID = ProcessOrderForGoodsInformation.StatusID,StatusName = StatusList.AttributeDetailName,CarryOutStateID = ProcessOrderForGoodsInformation.CarryOutStateID,CarryOutStateName = CarryOutStateList.AttributeDetailName,OrderForGoodsPriority = ProcessOrderForGoodsInformation.OrderForGoodsPriority,PledgeBankID = ProcessOrderForGoodsInformation.PledgeBankID,Remarks = ProcessOrderForGoodsInformation.Remarks,BankName = ProcessOrderForGoodsInformation.BankName,ProcessTypeID = ProcessOrderForGoodsDetailList.ProcessTypeID,StorehouseID = ProcessOrderForGoodsDetailList.KuFangId,StorehouseName = StorehouseList.StorehouseName,ProcessDetailID = ProcessOrderForGoodsDetailList.ProcessDetailID,};List<Dictionary<string, object>> kkk = new List<Dictionary<string, object>>();foreach (var item in ProcessOrderForGoodsInformationList){Dictionary<string, object> itemWuliao = new Dictionary<string, object>();
// Releasetime(时间)string Releasetime1 = item.Releasetime.ToString();
//将转化的时间装入到数组中itemWuliao.Add("Releasetime2", Releasetime1);foreach (System.Reflection.PropertyInfo p in item.GetType().GetProperties()){// ToString().Trim())(去空格)itemWuliao.Add(p.Name, p.GetValue(item, null).ToString().Trim());}kkk.Add(itemWuliao);}
//返回json数组中return Json(kkk, JsonRequestBehavior.AllowGet);}#endregion

(2)查询库内加工明细信息

查询界面如下:

2.5.1.5(图7)

选择加工信息

 #region 查询库内加工货品信息public ActionResult SelectProcessOrderForGoodsDetailList(int ProcessInformationID){    // PWProcessOrderForGoodsDetailList是 RK. PWProcessOrderForGoodsDetailList表的已个别名//通个ID对应将所有的表连关系var ProcessInformationList = from ProcessInformation in RK.PWProcessOrderForGoodsDetailListjoin ProcessGoodsList in RK.SYSProcessGoodsList on ProcessInformation.ProcessDetailID equals ProcessGoodsList.ProcessDetailIDjoin ProcessTypeList in RK.SYSAttributeDetailList on ProcessInformation.ProcessTypeID equals ProcessTypeList.AttributeDetailIDjoin StorehouseList in RK.SYSStorehouseList on ProcessInformation.KuFangId equals StorehouseList.StorehouseIDjoin GoodsList in RK.SYSGoodsList on ProcessGoodsList.GoodsID equals GoodsList.GoodsIDjoin ShipperUnitsList in RK.SYSAttributeDetailList on ProcessGoodsList.ShipperUnitsID equals ShipperUnitsList.AttributeDetailIDjoin QualityList in RK.SYSAttributeDetailList on ProcessGoodsList.QualityID equals QualityList.AttributeDetailIDorderby ProcessInformation.ProcessDetailID descending where ProcessInformation.ProcessInformationID == ProcessInformationIDselect new{//OrderForGoodsInformationID(自己命名的参数)//DiaryList.OrderForGoodsInformationID(这个表对应的参数)ProcessDetailID = ProcessInformation.ProcessDetailID,ProcessInformationID = ProcessInformation.ProcessInformationID,ProcessTypeID = ProcessInformation.ProcessTypeID,ProcessTypeName = ProcessTypeList.AttributeDetailName,StorehouseID = ProcessInformation.KuFangId,StorehouseName = StorehouseList.StorehouseName,GoodsID = ProcessGoodsList.GoodsID,GoodsNumber = GoodsList.GoodsNumber,GoodsDesignation = GoodsList.GoodsDesignation,Specifications = GoodsList.Specifications,ProcessDetailID1 = ProcessGoodsList.ProcessDetailID,EffectOfStorage = ProcessGoodsList.EffectOfStorage,SelectQuantity = ProcessGoodsList.SelectQuantity,ProcessQuantity = ProcessGoodsList.ProcessQuantity,UnitID = ProcessGoodsList.ShipperUnitsID,UnitName = ShipperUnitsList.AttributeDetailName,QualityID = ProcessGoodsList.QualityID,QualityName = QualityList.AttributeDetailName,};List<Dictionary<string, object>> kkk = new List<Dictionary<string, object>>();foreach (var item in ProcessInformationList){Dictionary<string, object> itemWuliao = new Dictionary<string, object>();foreach (System.Reflection.PropertyInfo p in item.GetType().GetProperties()){itemWuliao.Add(p.Name, p.GetValue(item, null).ToString().Trim());}kkk.Add(itemWuliao);}//返回json格式的数据形式,AllowGet是允许return Json(kkk, JsonRequestBehavior.AllowGet);}#endregion

(3)查询库内加工货品信息

作用界面如下:

2.5.1.5(图8)

#region 查询库内加工货品信息public ActionResult SelectProcessOrderForGoodsDetailList1(int ProcessInformationID){//通过库内加工信息的主键ID来查询库内加工明细信息var ProcessInformationList = from ProcessInformation in RK.PWProcessOrderForGoodsDetailListjoin ProcessGoodsList in RK.SYSProcessGoodsList on ProcessInformation.ProcessDetailID equals ProcessGoodsList.ProcessDetailIDjoin ProcessTypeList in RK.SYSAttributeDetailList on ProcessInformation.ProcessTypeID equals ProcessTypeList.AttributeDetailIDjoin StorehouseList in RK.SYSStorehouseList on ProcessInformation.KuFangId equals StorehouseList.StorehouseIDjoin GoodsList in RK.SYSGoodsList on ProcessGoodsList.GoodsID equals GoodsList.GoodsIDjoin ShipperUnitsList in RK.SYSAttributeDetailList on ProcessGoodsList.ShipperUnitsID equals ShipperUnitsList.AttributeDetailIDjoin QualityList in RK.SYSAttributeDetailList on ProcessGoodsList.QualityID equals QualityList.AttributeDetailIDorderby ProcessInformation.ProcessDetailID descending where ProcessInformation.ProcessInformationID == ProcessInformationIDwhere ProcessGoodsList.ProcessFou == trueselect new{ProcessGoodsID = ProcessGoodsList.ProcessGoodsID,ProcessDetailID = ProcessInformation.ProcessDetailID,ProcessInformationID = ProcessInformation.ProcessInformationID,ProcessTypeID = ProcessInformation.ProcessTypeID,ProcessTypeName = ProcessTypeList.AttributeDetailName,StorehouseID = ProcessInformation.KuFangId,StorehouseName = StorehouseList.StorehouseName,GoodsID = ProcessGoodsList.GoodsID,GoodsNumber = GoodsList.GoodsNumber,GoodsDesignation = GoodsList.GoodsDesignation,Specifications = GoodsList.Specifications,ProcessDetailID1 = ProcessGoodsList.ProcessDetailID,EffectOfStorage = ProcessGoodsList.EffectOfStorage,SelectQuantity = ProcessGoodsList.SelectQuantity,ProcessQuantity = ProcessGoodsList.ProcessQuantity,UnitID = ProcessGoodsList.ShipperUnitsID,UnitName = ShipperUnitsList.AttributeDetailName,QualityID = ProcessGoodsList.QualityID,QualityName = QualityList.AttributeDetailName,};List<Dictionary<string, object>> kkk = new List<Dictionary<string, object>>();foreach (var item in ProcessInformationList){Dictionary<string, object> itemWuliao = new Dictionary<string, object>();foreach (System.Reflection.PropertyInfo p in item.GetType().GetProperties()){itemWuliao.Add(p.Name, p.GetValue(item, null).ToString().Trim());}kkk.Add(itemWuliao);}return Json(kkk, JsonRequestBehavior.AllowGet);}#endregion

(3).查询加工货品信息

作用界面如下:

2.5.1.5(图9)

#region 查询库内加工货品信息public ActionResult SelectProcessOrderForGoodsDetailList2(int ProcessInformationID){//通过库内加工信息的主键ID来查询库内选择加工明细信息var ProcessInformationList = from ProcessInformation in RK.PWProcessOrderForGoodsDetailListjoin ProcessGoodsList in RK.SYSProcessGoodsList on ProcessInformation.ProcessDetailID equals ProcessGoodsList.ProcessDetailIDjoin GoodsList in RK.SYSGoodsList on ProcessGoodsList.GoodsID equals GoodsList.GoodsIDjoin ShipperUnitsList in RK.SYSAttributeDetailList on ProcessGoodsList.ShipperUnitsID equals ShipperUnitsList.AttributeDetailIDjoin QualityList in RK.SYSAttributeDetailList on ProcessGoodsList.QualityID equals QualityList.AttributeDetailIDorderby ProcessInformation.ProcessDetailID descending
where ProcessInformation.ProcessInformationID == ProcessInformationID
// ProcessFou(加工否)表示是选择加工的商品where ProcessGoodsList.ProcessFou == falseselect new{ProcessGoodsID = ProcessGoodsList.ProcessGoodsID,ProcessDetailID = ProcessInformation.ProcessDetailID,ProcessInformationID = ProcessInformation.ProcessInformationID,GoodsID = ProcessGoodsList.GoodsID,GoodsNumber = GoodsList.GoodsNumber,GoodsDesignation = GoodsList.GoodsDesignation,Specifications = GoodsList.Specifications,ProcessDetailID1 = ProcessGoodsList.ProcessDetailID,EffectOfStorage = ProcessGoodsList.EffectOfStorage,SelectQuantity = ProcessGoodsList.SelectQuantity,ProcessQuantity = ProcessGoodsList.ProcessQuantity,UnitID = ProcessGoodsList.ShipperUnitsID,UnitName = ShipperUnitsList.AttributeDetailName,QualityID = ProcessGoodsList.QualityID,QualityName = QualityList.AttributeDetailName,};List<Dictionary<string, object>> kkk = new List<Dictionary<string, object>>();foreach (var item in ProcessInformationList){Dictionary<string, object> itemWuliao = new Dictionary<string, object>();foreach (System.Reflection.PropertyInfo p in item.GetType().GetProperties()){
// ToString().Trim())(作用去空格)itemWuliao.Add(p.Name, p.GetValue(item, null).ToString().Trim());}kkk.Add(itemWuliao);}
//将数据加入到数据字典中return Json(kkk, JsonRequestBehavior.AllowGet);}#endregion

2.新增

(1).新增库内加工订单信息

#region 新增库内加工信息//InsertOrderForGoodsDispatchingInformationList 方法名    OrderForGoodsNumber、VocationalTypeID。。。。。。。。对应的参数public int InsertProcessOrderForGoodsInformationList(string OrderForGoodsNumber, int ClientID,string ClientInstruct, string PurchaseOrderForGoodsNumber, int OrderForGoodsTypeID,int EmergencyID, int OrderForGoodsSourceID,DateTime Releasetime, int StatusID, int CarryOutStateID,string OrderForGoodsPriority, int PledgeBankID, string Remarks, string BankName){//实例化models中的一个表 给一个别名(PWProcessOrderForGoodsInformationList)Models.PWProcessOrderForGoodsInformationList DingDanBiao = new Models.PWProcessOrderForGoodsInformationList();DingDanBiao.OrderForGoodsNumber = OrderForGoodsNumber;DingDanBiao.ClientID = ClientID;DingDanBiao.ClientInstruct = ClientInstruct;DingDanBiao.PurchaseOrderForGoodsNumber = PurchaseOrderForGoodsNumber;DingDanBiao.OrderForGoodsTypeID = OrderForGoodsTypeID;DingDanBiao.EmergencyID = EmergencyID;DingDanBiao.OrderForGoodsSourceID = OrderForGoodsSourceID;DingDanBiao.Releasetime = Releasetime;DingDanBiao.StatusID = StatusID;DingDanBiao.CarryOutStateID = CarryOutStateID;DingDanBiao.OrderForGoodsPriority = OrderForGoodsPriority;DingDanBiao.PledgeBankID = PledgeBankID;DingDanBiao.Remarks = Remarks;DingDanBiao.BankName = BankName;//AddObject(是新增多一条数据)RK.SYSDiaryList(是对应的表)RK.PWProcessOrderForGoodsInformationList.AddObject(DingDanBiao);//将这个表的改变作为一个变量int i = RK.SaveChanges();if (i > 0){//如果新增成功,改变的行数就大于零// BaoXianID对应新增产生的那个主键ID,返回他用于传值到新增明细var ProcessInformationID = (from ProcessInformationin in RK.PWProcessOrderForGoodsInformationList select ProcessInformationin.ProcessInformationID).Max();return ProcessInformationID;}else{//否则就没有新增数据return 0;}}#endregion

(2). 新增库内加工订单明细信息

#region 新增库内加工明细信息//InsertProcessOrderForGoodsDetailList 方法名    OrderForGoodsNumber、VocationalTypeID。。。。。。。。对应的参数public int InsertProcessOrderForGoodsDetailList(int ProcessInformationID, int ProcessTypeID, int StorehouseID){//实例化models中的一个表 给一个别名(PWProcessOrderForGoodsDetailList)Models.PWProcessOrderForGoodsDetailList DingDanBiao = new Models.PWProcessOrderForGoodsDetailList();DingDanBiao.ProcessInformationID = ProcessInformationID;DingDanBiao.ProcessTypeID = ProcessTypeID;DingDanBiao.KuFangId = StorehouseID;
//AddObject(是新增多一条数据)RK.SYSDiaryList(是对应的表)RK.PWProcessOrderForGoodsDetailList.AddObject(DingDanBiao);int i = RK.SaveChanges();if (i > 0){//如果新增成功,改变的行数就大于零// BaoXianID对应新增产生的那个主键ID,返回他用于传值到新增明细var ProcessDetailID = (from ProcessInformationin in RK.PWProcessOrderForGoodsDetailList select ProcessInformationin.ProcessDetailID).Max();return ProcessDetailID;}else{//如果新增成功,改变的行数就大于零// BaoXianID对应新增产生的那个主键ID,返回他用于传值到新增明细return 0;}}#endregion

(3). 新增库内加工订单货品信息

#region 新增库内加工货品信息public int InsertProcessGoodsList(int GoodsID, int ProcessDetailID, string EffectOfStorage, string SelectQuantity, string ProcessQuantity, int ShipperUnitsID, int QualityID, Boolean ProcessFou)
// InsertProcessGoodsList方法名    GoodsID、
VocationalTypeID。。。。。。。。对应的参数{Models.SYSProcessGoodsList DingDanBiao = new Models.SYSProcessGoodsList();DingDanBiao.GoodsID = GoodsID;DingDanBiao.ProcessDetailID = ProcessDetailID;DingDanBiao.EffectOfStorage = EffectOfStorage;DingDanBiao.SelectQuantity = SelectQuantity;DingDanBiao.ProcessQuantity = ProcessQuantity;DingDanBiao.ShipperUnitsID = ShipperUnitsID;DingDanBiao.QualityID = QualityID;DingDanBiao.ProcessFou = ProcessFou;RK.SYSProcessGoodsList.AddObject(DingDanBiao);//如果新增成功,改变的行数就大于零int i = RK.SaveChanges();if (i > 0){return i;}else{return 0;}}#endregion

3.修改

(1)修改库内加工订单信息

#region 修改库内加工信息public int UpdateProcessOrderForGoodsInformationList(int ProcessInformationID, string OrderForGoodsNumber,int ClientID, string ClientInstruct, string PurchaseOrderForGoodsNumber, int OrderForGoodsTypeID,int EmergencyID, int OrderForGoodsSourceID,DateTime Releasetime, int StatusID, int CarryOutStateID,string OrderForGoodsPriority, int PledgeBankID, string Remarks, string BankName){//实例化models中的一个表 给一个别名(DiaryList)//DiaryList.OrderForGoodsNumber (是实例化表中的一个字段)//OrderForGoodsNumber 是用于从界面传过来的参数Models.PWProcessOrderForGoodsInformationList DingDanBiao = (from ProcessInformation in RK.PWProcessOrderForGoodsInformationListwhere ProcessInformation.ProcessInformationID == ProcessInformationIDselect ProcessInformation).Single<Models.PWProcessOrderForGoodsInformationList>();DingDanBiao.OrderForGoodsNumber = OrderForGoodsNumber;DingDanBiao.ClientID = ClientID;DingDanBiao.ClientInstruct = ClientInstruct;DingDanBiao.PurchaseOrderForGoodsNumber = PurchaseOrderForGoodsNumber;DingDanBiao.OrderForGoodsTypeID = OrderForGoodsTypeID;DingDanBiao.EmergencyID = EmergencyID;DingDanBiao.OrderForGoodsSourceID = OrderForGoodsSourceID;DingDanBiao.Releasetime = Releasetime;DingDanBiao.StatusID = StatusID;DingDanBiao.CarryOutStateID = CarryOutStateID;DingDanBiao.OrderForGoodsPriority = OrderForGoodsPriority;DingDanBiao.PledgeBankID = PledgeBankID;DingDanBiao.Remarks = Remarks;DingDanBiao.BankName = BankName;int i = RK.SaveChanges();if (i > 0){//将这个表的改变作为一个变量//如果新增成功,改变的行数就大于零// BaoXianID对应新增产生的那个主键ID,返回他用于传值到新增明细return ProcessInformationID;}else{return 0;}}#endregion

(2)修改库内加工订单明细信息

<span style="font-size:14px;"> </span>#region 修改库内加工明细信息public int UpdateProcessOrderForGoodsDetailList(int ProcessDetailID, int ProcessInformationID, int ProcessTypeID, int StorehouseID){Models.PWProcessOrderForGoodsDetailList DingDanBiao = (from ProcessInformation in RK.PWProcessOrderForGoodsDetailList where ProcessInformation.ProcessInformationID == ProcessInformationIDselect ProcessInformation).Single<Models.PWProcessOrderForGoodsDetailList>();DingDanBiao.ProcessInformationID = ProcessInformationID;DingDanBiao.ProcessTypeID = ProcessTypeID;DingDanBiao.KuFangId = StorehouseID;int i = RK.SaveChanges();if (i > 0){//将这个表的改变作为一个变量//如果新增成功,改变的行数就大于零// BaoXianID对应新增产生的那个主键ID,返回他用于传值到新增明细return ProcessDetailID;}else{return 0;}}#endregion

3)修改库内加工订单货品信息

 #region 修改库内加工货品信息public int UpdateProcessGoodsList(int ProcessGoodsID, int GoodsID, int ProcessDetailID, string EffectOfStorage, string SelectQuantity, string ProcessQuantity,int ShipperUnitsID, int QualityID, string Update, Boolean ProcessFou){if (Update.Equals("1")){//update界面传过来的参数,判断执行了哪一个方法//如果update的至等于1就修改Models.SYSProcessGoodsList DingDanBiao = (from ProcessInformation in RK.SYSProcessGoodsList where ProcessInformation.ProcessGoodsID == ProcessGoodsID select ProcessInformation).Single<Models.SYSProcessGoodsList>();DingDanBiao.GoodsID = GoodsID;DingDanBiao.ProcessDetailID = ProcessDetailID;DingDanBiao.EffectOfStorage = EffectOfStorage;DingDanBiao.SelectQuantity = SelectQuantity;DingDanBiao.ProcessQuantity = ProcessQuantity;DingDanBiao.ShipperUnitsID = ShipperUnitsID;DingDanBiao.QualityID = QualityID;}//如果update的至等于2就新增if (Update.Equals("2")){Models.SYSProcessGoodsList DingDanBiao = new Models.SYSProcessGoodsList();DingDanBiao.GoodsID = GoodsID;DingDanBiao.ProcessDetailID = ProcessDetailID;DingDanBiao.EffectOfStorage = EffectOfStorage;DingDanBiao.SelectQuantity = SelectQuantity;DingDanBiao.ProcessQuantity = ProcessQuantity;DingDanBiao.ShipperUnitsID = ShipperUnitsID;DingDanBiao.QualityID = QualityID;DingDanBiao.ProcessFou = ProcessFou;RK.SYSProcessGoodsList.AddObject(DingDanBiao);}//如果update的至等于1就删除if (Update.Equals("3")){var DingDanBiao = (from ProcessInformation in RK.SYSProcessGoodsList where ProcessInformation.ProcessGoodsID == ProcessGoodsID select ProcessInformation).Single<Models.SYSProcessGoodsList>();RK.SYSProcessGoodsList.DeleteObject(DingDanBiao);}int i = RK.SaveChanges();if (i > 0){return i;}else{return 0;}}#endregion
  

第三步:视图;

2.5.1.5(图6)

2.5.1.5(图7)

html代码:

1.查询

(1).查询加工订单信息

  <div title="订单信息"><div id="IProcessOrderForGoodsInformationList" class="easyui-panel" style="width: auto;height: auto; border-radius: 15px 15px 0px 0px;"><div><table><tr><td style="font-family: 楷体; font-size: 17px;">订单号查询:</td><td><input id="CaiGouDingDanHaoChaXun" style="width: 180px; height: 25px;" /></td><td><button οnclick="ChaXunCaiGouDingDan()" class="btn blue" data-toggle="modal" style="font-family: 楷体;"οnclick="ChaXun()">查询</button></td><td><button class="btn blue" data-toggle="modal" style="font-family: 楷体;" οnclick="Insert()">添加</button></td></tr></table></div><table id="tbProcessOrderForGoodsInformationList" class="easyui-datagrid" style="width: auto;height: 280px;" data-options="url:'/DingDanGuanL/SelectProcessOrderForGoodsInformationList',rownumbers:true,singleSelect:true,rowStyler:function(index,row){if (index%2==0){}}"><thead><tr><th data-options="field:'ok',align:'center',checkbox:true"></th><th data-options="field:'Delete',width:80,align:'center',formatter:myformatter1">删除</th><th data-options="field:'Update',width:80,align:'center',formatter:myformatter2">修改</th><th data-options="field:'Select',width:80,align:'center',formatter:myformatter3">查看</th><th data-options="field:'ProcessInformationID',width:130,align:'center',hidden:true">订单号ID</th><th data-options="field:'ProcessDetailID',width:130,align:'center',hidden:true">加工明细ID</th><th data-options="field:'OrderForGoodsNumber',width:130,align:'center'">订单号</th><th data-options="field:'ClientID',width:130,align:'center',hidden:true">客户ID</th><th data-options="field:'ClientName',width:130,align:'center'">客户码</th><th data-options="field:'ClientInstruct',width:130,align:'center'">客户指令号</th><th data-options="field:'PurchaseOrderForGoodsNumber',width:130,align:'center'">采购订单号</th><th data-options="field:'OrderForGoodsTypeID',width:130,align:'center',hidden:true">订单类型ID</th><th data-options="field:'OrderForGoodsTypeName',width:130,align:'center'">订单类型</th><th data-options="field:'EmergencyID',width:130,align:'center',hidden:true">紧急程度ID</th><th data-options="field:'EmergencyName',width:130,align:'center'">紧急程度</th><th data-options="field:'OrderForGoodsSourceID',width:130,align:'center',hidden:true">订单来源ID</th><th data-options="field:'OrderForGoodsSourceName',width:130,align:'center'">订单来源</th><th data-options="field:'Releasetime2',width:130,align:'center'">下达时间</th><th data-options="field:'StatusID',width:130,align:'center',hidden:true">状态ID</th><th data-options="field:'StatusName',width:130,align:'center'">状态</th><th data-options="field:'CarryOutStateID',width:130,align:'center',hidden:true">执行状态ID</th><th data-options="field:'CarryOutStateName',width:130,align:'center'">执行状态</th><th data-options="field:'OrderForGoodsPriority',width:130,align:'center'">订单优先级</th><th data-options="field:'PledgeBankID',width:130,align:'center',hidden:true">质押银行ID</th><th data-options="field:'BankName',width:130,align:'center'">质押银行</th><th data-options="field:'Remarks',width:130,align:'center'">备注</th><th data-options="field:'ProcessTypeID',width:130,align:'center',hidden:true">加工类型ID</th><th data-options="field:'StorehouseID',width:130,align:'center',hidden:true">库房ID</th><th data-options="field:'StorehouseName',width:130,align:'center',hidden:true">库房名称</th></tr></thead></table>

(2).查询加工明细信息

<table id="tbProcessOrderForGoodsDetailList" class="easyui-datagrid" style=" width:auto; height:200px;" data-options="rownumbers:true,singleSelect:true,rowStyler:function(index,row){if (index%2==0){}}"><thead><tr><th data-options="field:'ok',align:'center',checkbox:true"></th><th data-options="field:'ProcessDetailID',width:130,align:'center',hidden:true">加工明细ID</th><th data-options="field:'ProcessInformationID',width:130,align:'center',hidden:true">加工信息ID</th><th data-options="field:'GoodsID',width:130,align:'center',hidden:true">货品ID</th><th data-options="field:'StorehouseID',width:130,align:'center',hidden:true">库房ID</th><th data-options="field:'StorehouseName',width:130,align:'center'">库房</th><th data-options="field:'ProcessTypeID',width:130,align:'center',hidden:true">加工类型ID</th><th data-options="field:'ProcessTypeName',width:130,align:'center'">加工类型</th><th data-options="field:'GoodsNumber',width:130,align:'center'">货品编码</th><th data-options="field:'GoodsDesignation',width:130,align:'center'">货品名称</th><th data-options="field:'Specifications',width:130,align:'center'">规格</th><th data-options="field:'EffectOfStorage',width:130,align:'center'">批次</th><th data-options="field:'UnitID',align:'center',width:130,hidden:true">单位ID</th><th data-options="field:'UnitName',align:'center',width:130">单位</th><th data-options="field:'QualityID',align:'center',width:130,hidden:true">质量ID</th><th data-options="field:'QualityName',align:'center',width:130">质量</th><th data-options="field:'SelectQuantity',width:130,align:'center'">选择数量</th><th data-options="field:'ProcessQuantity',width:130,align:'center'">加工数量</th></tr></thead>
<span style="font-size:18px;">                  </span> </table>

2.JavaScript代码:

(1).查询加工订单信息

2.5.1.5(图11)

function SelectJiaGongXinXi() {///DingDanGuanL/SelectProcessOrderForGoodsInformationList?OrderForGoodsNumber=(DingDanGuanL是哪一个控制器//   SelectProcessOrderForGoodsInformationList(是这个控制器的方法名))//OrderForGoodsNumber是这个方法的一个参数$.getJSON("/DingDanGuanL/SelectProcessOrderForGoodsInformationList",function (data) {//执行类这个方法就用哪一个方法来加载数据,显示到datagrid中$("#tbProcessOrderForGoodsInformationList").datagrid('loadData', data);});}

2.新增库内加工信息

新增修改

2.5.1.5(图8)

包装和组合:

包装”,包装用于将货品大包装变小包装或将货品小包装变大包装的操作,用户选择加工类型为“组合”,组合用于将多种货品组合在一起。

2.5.1.5(图9)

贴签:

2.5.1.5(图10)

Html代码:

(1).新增库内加工信息

<div id="tb新增修改订单信息" class="reveal-modal" style="width:auto;height:auto;left:530px; right:auto; top:120px; background-color:White"><center><div><table><tr><td style="font-family: 楷体; font-size: 16px;" >  订单号:</td><td ><input  style=" width:150px; height:25px;"   type="text" id="txtOrderForGoodsNumber" readonly  /></td><td style="font-family: 楷体; font-size: 16px;" >  客户码:</td><td ><input  style=" width:150px; height:25px;"   type="text" id="txtClientName"  readonly οnclick="OnKeHuMa()"  /></td></tr><tr><td style="font-family: 楷体; font-size: 16px;" >客户指令号:</td><td ><input  style=" width:150px; height:25px;" type="text" id="txtClientInstruct" /></td><td style="font-family: 楷体; font-size: 16px;" >采购订单号:</td><td ><input  style=" width:150px; height:25px;" type="text" id="txtPurchaseOrderForGoodsNumber" readonly  /></td></tr><tr><td  style="font-family: 楷体; font-size: 16px;"> 订单类型:</td><td ><input  style=" width:155px; height:30px;" class="easyui-combobox" id="cboOrderForGoodsTypeID"data-options="url:'/XiaLaKuang/ChaXunShuXingMingXiXinXi?ShuXingJiHeID=22',valueField:'id',textField:'text'" readonly /></td><td style="font-family: 楷体; font-size: 16px;" > 紧急程度:</td><td ><input  style=" width:155px; height:30px;" class="easyui-combobox" id="cboEmergencyID" data-options="url:'/XiaLaKuang/ChaXunShuXingMingXiXinXi?ShuXingJiHeID=23',valueField:'id',textField:'text'"/></td></tr><tr><td style="font-family: 楷体; font-size: 16px;" > 订单来源:</td><td ><input  style=" width:155px; height:30px;" class="easyui-combobox" id="cboOrderForGoodsSourceID" data-options="url:'/XiaLaKuang/ChaXunShuXingMingXiXinXi?ShuXingJiHeID=24',valueField:'id',textField:'text'" /></td><td style="font-family: 楷体; font-size: 16px;" > 下达时间:</td><td ><input  style=" width:155px; height:30px;" class="easyui-datebox" id="datReleasetime" readonly  /></td></tr><tr><td style="font-family: 楷体; font-size: 16px;" >  状 态:</td><td ><input  style=" width:155px; height:30px;" class="easyui-combobox" id="cboStatusID"data-options="url:'/XiaLaKuang/ChaXunShuXingMingXiXinXi?ShuXingJiHeID=4',valueField:'id',textField:'text'" /></td><td style="font-family: 楷体; font-size: 16px;" >  执行状态:</td><td ><input  style=" width:155px; height:30px;" class="easyui-combobox" id="cboCarryOutStateID" data-options="url:'/XiaLaKuang/ChaXunShuXingMingXiXinXi?ShuXingJiHeID=25',valueField:'id',textField:'text'" /></td></tr><tr><td style="font-family: 楷体; font-size: 16px;" >订单优先级:</td><td ><input  style=" width:150px; height:25px;"   type="text" id="txtOrderForGoodsPriority" /></td><td style="font-family: 楷体; font-size: 16px;" > 质押银行:</td><td ><input  style=" width:150px; height:25px;"  type="text" id="txtBankName" readonly  οnclick="OnZhiYaYinHang()" οnkeyup="OnZhiYaYinHang()" /></td></tr></table></div><div><table ><tr><td style="font-family: 楷体; font-size: 16px;" >  备 注:</td><td ><input  style=" width:415px; height:25px;" type="text" id="txtRemarks" /></td></tr></table></div></center><div><td><button type="button" class="btn blue"  data-toggle="modal" style="font-family: 楷体; " οnclick="ShangYiBu()">上一步</button>   </td><td >                             </td>   <td>  <button type="button" class="btn blue"  data-toggle="modal" style="font-family: 楷体; " οnclick="XiaYiBu()">下一步</button>   </td></div></div><div id="I加工信息" class="reveal-modal" style="width:980px;height:auto;left:330px; right:auto; top:48px; background-color:White"><div>  <table><tr><td style=" font-size: 18px; color: #FF0000" >第一库房:</td><td ><input  style=" width:185px; height:25px;" type="text" id="txtStorehouseID" /></td><td><button οnclick="btnStorehouseList()" class="btn blue"  data-toggle="modal" style="font-family: 楷体; ">选择</button></td><td>        </td><td style=" font-size: 18px; color: #FF0000">加工类型:</td><td><input id="cboProcessTypeID" class="easyui-combobox"data-options="url:'/XiaLaKuang/ChaXunShuXingMingXiXinXi?ShuXingJiHeID=34',valueField:'id',textField:'text',onChange:oncboProcessTypeID"  style=" width:190px; height:30px;" /></td></tr></table></div>

(2).新增库内加工信息

<div id="IProcessGoodsList" class="easyui-panel" style=" width:auto; height:auto;border-radius:15px 15px 0px 0px ;"><table id="tbProcessGoodsList" class="easyui-datagrid" style=" width:auto; height:200px;" data-options="onClickRow:onClickRow,toolbar: '#tb',rownumbers:true,singleSelect:true,rowStyler:function(index,row){if (index%2==0){}}"><thead><tr><th data-options="field:'ok',align:'center',checkbox:true"></th><th data-options="field:'ProcessGoodsID',width:130,align:'center',hidden:true">加工信息ID</th><th data-options="field:'GoodsID',width:130,align:'center',formatter:function(value,row){return row.GoodsDesignation;},editor:{type:'combogrid',options:{panelWidth: 500,idField: 'GoodsID',textField: 'GoodsDesignation',url: '/CangKuGuanLi/SelectCashStatement2',columns: [[{field:'GoodsID',width:80,align:'center',hidden:true,title:'货品ID'},{field:'GoodsDesignation',width:80,align:'center',title:'货品名称'},{field:'GoodsNumber',width:80,align:'center',title:'货品编码'},{field:'Specifications',width:80,align:'center',title:'规格'},{field:'UnitID',width:80,align:'center',title:'单位ID',hidden:true},{field:'Unit',width:80,align:'center',title:'单位'},{field:'QualityID',width:80,align:'center',title:'质量ID',hidden:true},{field:'Quality',width:80,align:'center',title:'质量'},{field:'CertifiedProductsQuantity',width:80,align:'center',title:'正品量'},{field:'SubstandardGoodsQuantity',width:80,align:'center',title:'次品量'},{field:'ZongShuLiang',width:80,align:'center',title:'总数量'},]],fitColumns: true,onClickRow:onClickRowMingXi,required:true}}">货品名称</th><th data-options="field:'GoodsNumber',width:130,align:'center'">货品编码</th><th data-options="field:'Specifications',width:130,align:'center'">规格</th><th data-options="field:'EffectOfStorage',width:130,align:'center',editor:'text'">批次</th><th data-options="field:'UnitID',align:'center',width:130,formatter:function(value,row){return row.text;},editor:{type:'combobox',options:{valueField:'id',textField:'text',url:'/XiaLaKuang/ChaXunShuXingMingXiXinXi?ShuXingJiHeID=68'}}">单位</th><th data-options="field:'QualityID',align:'center',width:130,formatter:function(value,row){return row.text1;},editor:{type:'combobox',options:{valueField:'id1',textField:'text1',url:'/XiaLaKuang/SelectQuality'}}">质量</th><th data-options="field:'SelectQuantity',width:130,align:'center',editor:'text'"> 数量</th></tr></thead></table><div id="tb" style="height:auto"><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true" οnclick="append()">添加货品</a><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-cancel',plain:true" οnclick="removee()">移除货品</a></div></div><div id="IProcessGoodsList1" class="easyui-panel" style=" width:auto; height:auto;border-radius:15px 15px 0px 0px ;"><table id="tbProcessGoodsList1" class="easyui-datagrid" style=" width:auto; height:200px;" data-options="onClickRow:onClickRow1,toolbar: '#tb1',rownumbers:true,singleSelect:true,rowStyler:function(index,row){if (index%2==0){}}"><thead><tr><th data-options="field:'ok',align:'center',checkbox:true"></th><th data-options="field:'ProcessGoodsID',width:130,align:'center',hidden:true">加工信息ID</th><th data-options="field:'GoodsID',width:130,align:'center',formatter:function(value,row){return row.GoodsDesignation;},editor:{type:'combogrid',options:{panelWidth: 800,idField: 'GoodsID',textField: 'GoodsDesignation',url: '/CangKuGuanLi/SelectCashStatement2',columns: [[{field:'GoodsID',width:80,align:'center',hidden:true,title:'货品ID'},{field:'GoodsDesignation',width:80,align:'center',title:'货品名称'},{field:'GoodsNumber',width:80,align:'center',title:'货品编码'},{field:'Specifications',width:80,align:'center',title:'规格'},{field:'UnitID',width:80,align:'center',title:'单位ID',hidden:true},{field:'Unit',width:80,align:'center',title:'单位'},{field:'QualityID',width:80,align:'center',title:'质量ID',hidden:true},{field:'Quality',width:80,align:'center',title:'质量'},{field:'CertifiedProductsQuantity',width:80,align:'center',title:'正品量'},{field:'SubstandardGoodsQuantity',width:80,align:'center',title:'次品量'},{field:'ZongShuLiang',width:80,align:'center',title:'总数量'},]],fitColumns: true,onClickRow:onClickRowMingXi1,required:true}}">货品名称</th><th data-options="field:'GoodsNumber',width:130,align:'center'">货品编码</th><th data-options="field:'Specifications',width:130,align:'center'">规格</th><th data-options="field:'EffectOfStorage',width:130,align:'center',editor:'text'">批次</th><th data-options="field:'UnitID',align:'center',width:130,formatter:function(value,row){return row.text;},editor:{type:'combobox',options:{valueField:'id',textField:'text',url:'/XiaLaKuang/ChaXunShuXingMingXiXinXi?ShuXingJiHeID=68'}}">单位</th><th data-options="field:'QualityID',align:'center',width:130,formatter:function(value,row){return row.text1;},editor:{type:'combobox',options:{valueField:'id1',textField:'text1',url:'/XiaLaKuang/SelectQuality'}}">质量</th><th data-options="field:'ProcessQuantity',width:130,align:'center',editor:'text'"> 数量</th></tr></thead></table><div id="tb1" style="height:auto"><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true" οnclick="append1()">添加货品</a><a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-cancel',plain:true" οnclick="removee1()">移除货品</a></div>

JavaScript代码:

(1).打开新增界面

2.5.1.5(图10)

var ProcessTypeID = 0;function Insert() {//点击新增按钮(打开新增界面)document.getElementById("InsertButton").style.display = "block";document.getElementById("updateButton").style.display = "none";//block,将新增按钮显示出来//none将修改按钮隐藏起来ProcessInformationID1 = 0;ProcessDetailID = 0;$("#txtOrderForGoodsNumber").val("");id1 = 0;$("#txtClientName").val("");$("#txtClientInstruct").val("");$("#txtPurchaseOrderForGoodsNumber").val("");//将下拉框清空//将文本款赋值为空$("#cboOrderForGoodsTypeID").combobox("clear");$("#cboEmergencyID").combobox("clear");$("#cboOrderForGoodsSourceID").combobox("clear");$("#datReleasetime").datebox("clear");$("#cboStatusID").combobox("clear");$("#cboCarryOutStateID").combobox("clear");$("#txtOrderForGoodsPriority").val("");id2 = 0;$("#txtRemarks").val("");$("#txtBankName").val("");$("#txtStorehouseID").val("");id3 = 0;$("#cboProcessTypeID").combobox("clear");ProcessTypeID=0;//清空datagrid tatol(全部为空)rows为空$("#tbProcessGoodsList").datagrid('loadData', { tatol: 0, rows: [] });$("#tbProcessGoodsList1").datagrid('loadData', { tatol: 0, rows: [] });$.getJSON("/DingDanGuanL/SelectProcessOrderForGoodsNumber",function (data) {var DingDanHao = data[0].DingDan1;//绑定库内加工单号 $("#txtOrderForGoodsNumber").val(DingDanHao);});$.getJSON("/DingDanGuanL/SelectPurchaseOrderForGoodsNumber",function (data) {var DingDanHao = data[0].DingDan1;$("#txtPurchaseOrderForGoodsNumber").val(DingDanHao);});$("#tb新增修改订单信息").reveal($(this).data());$("#cboOrderForGoodsTypeID").combobox("select", 120);}

(2).保存新增库内加工信息

保存方法点击按钮如图:

2.5.1.5(图10)

function InsertProcessOrderForGoodsInformationList() {if (confirm("是否新增")) {//先结束编辑,否则不能新增明细endEditing(false);endEditing1(false);$.getJSON("/DingDanGuanL/InsertProcessOrderForGoodsInformationList?OrderForGoodsNumber="+ $("#txtOrderForGoodsNumber").val() + "&"
+ "ClientID=" + id1 + "&"
+ "ClientInstruct=" + $("#txtClientInstruct").val() + "&"
+ "PurchaseOrderForGoodsNumber=" + $("#txtPurchaseOrderForGoodsNumber").val() + "&"
+ "OrderForGoodsTypeID=" + $("#cboOrderForGoodsTypeID").combobox('getValue') + "&"
+ "EmergencyID=" + $("#cboEmergencyID").combobox('getValue') + "&"
+ "OrderForGoodsSourceID=" + $("#cboOrderForGoodsSourceID").combobox('getValue') + "&"
+ "Releasetime=" + $("#datReleasetime").datebox('getValue') + "&"
+ "StatusID=" + $("#cboStatusID").combobox('getValue') + "&"
+ "CarryOutStateID=" + $("#cboCarryOutStateID").combobox('getValue') + "&"
+ "OrderForGoodsPriority=" + $("#txtOrderForGoodsPriority").val() + "&"
+ "PledgeBankID=" + id2 + "&"
+ "Remarks=" + $("#txtRemarks").val() + "&"
+ "BankName=" + $("#txtBankName").val(),
function (data) {$.getJSON("/DingDanGuanL/InsertProcessOrderForGoodsDetailList?ProcessInformationID=" + data + "&"+ "ProcessTypeID=" + $("#cboProcessTypeID").combobox('getValue') + "&"+ "StorehouseID=" + id3,function (data1) {//data 是controllers 返回的 var BaoXianID = (from bx in RK.PWOrderForTransportationList select bx.OrderForTransportationID).Max();// 最大IDvar IProcessGoodsList = $("#tbProcessGoodsList").datagrid('getData');for (var j = 0; j < IProcessGoodsList.rows.length; j++) {// CheLiangBaoXianTiaoMu.rows.length是datagrid的行数//CheLiangBaoXianTiaoMu.rows[i].GoodsID 对应的几行的单元格ID$.getJSON("/DingDanGuanL/InsertProcessGoodsList?GoodsID=" + IProcessGoodsList.rows[j].GoodsID + "&"
+ "ProcessDetailID=" + data1 + "&"
+ "EffectOfStorage=" + IProcessGoodsList.rows[j].EffectOfStorage + "&"
+ "SelectQuantity=" + IProcessGoodsList.rows[j].SelectQuantity + "&"
+ "ProcessQuantity=" + 0 + "&"
+ "ShipperUnitsID=" + IProcessGoodsList.rows[j].UnitID + "&"
+ "QualityID=" + IProcessGoodsList.rows[j].QualityID + "&"
+ "ProcessFou=" + true,
function (data3) {});}if ($("#cboProcessTypeID").combobox('getValue') != 117) {//因为库内加工分包装,组合,贴签三中情况//如果加工类型不等于贴签,var IProcessGoodsList1 = $("#tbProcessGoodsList1").datagrid('getData');for (var i = 0; i < IProcessGoodsList1.rows.length; i++) {$.getJSON("/DingDanGuanL/InsertProcessGoodsList?GoodsID=" + IProcessGoodsList1.rows[i].GoodsID + "&"
+ "ProcessDetailID=" + data1 + "&"
+ "EffectOfStorage=" + IProcessGoodsList1.rows[i].EffectOfStorage + "&"
+ "SelectQuantity=" + 0 + "&"
+ "ProcessQuantity=" + IProcessGoodsList1.rows[i].ProcessQuantity + "&"
+ "ShipperUnitsID=" + IProcessGoodsList1.rows[i].UnitID + "&"
+ "QualityID=" + IProcessGoodsList1.rows[i].QualityID + "&"
+ "ProcessFou=" + false,
function (data2) {
});}} else {}});if (data > 0) {alert("新增成功");setTimeout(function () {window.location.href = "/DingDanGuanL/KuNeiJiaGong";}, 1000);SelectJiaGongXinXi();} else {alert("新增失败");}
});}}

(3).修改库内加工信息

点击修改按钮界面如下:

2.5.1.5(图10)

.JavaScript代码:

修改绑定库内加工信息

var ProcessInformationID1 = 0;var ProcessDetailID = 0;function Update() {//点击一条明细进行修改//隐藏新增按钮,显示修改按钮//通过用document.getElementById来找到那个ID,然后就对他进行操作$("#tb新增修改订单信息").reveal($(this).data());document.getElementById("InsertButton").style.display = "none";document.getElementById("updateButton").style.display = "block";var ROW = $("#tbProcessOrderForGoodsInformationList").datagrid('getSelected');ProcessInformationID1 = ROW.ProcessInformationID;ProcessDetailID = ROW.ProcessDetailID;$("#txtOrderForGoodsNumber").val( ROW.OrderForGoodsNumber);id1 = ROW.ClientID;$("#txtClientName").val( ROW.ClientName);$("#txtClientInstruct").val( ROW.ClientInstruct);$("#txtPurchaseOrderForGoodsNumber").val( ROW.PurchaseOrderForGoodsNumber);$("#cboOrderForGoodsTypeID").combobox('setValue', ROW.OrderForGoodsTypeID);$("#cboEmergencyID").combobox('setValue', ROW.EmergencyID);$("#cboOrderForGoodsSourceID").combobox('setValue', ROW.OrderForGoodsSourceID);$("#datReleasetime").datebox('setValue', ROW.Releasetime2);$("#cboStatusID").combobox('setValue', ROW.StatusID);$("#cboCarryOutStateID").combobox('setValue', ROW.CarryOutStateID);$("#txtOrderForGoodsPriority").val( ROW.OrderForGoodsPriority);id2 = ROW.PledgeBankID;$("#txtRemarks").val( ROW.Remarks);$("#txtBankName").val( ROW.BankName);$("#txtStorehouseID").val( ROW.StorehouseName);id3 = ROW.StorehouseID;$("#cboProcessTypeID").combobox('setValue', ROW.ProcessTypeID);var ProcessTypeID = ROW.ProcessTypeID;if (ProcessTypeID == 117) {//因为库内加工分包装,组合,贴签三中情况//如果加工类型等于贴签,就关闭加工货品信息$("#IProcessGoodsList1").panel('close');}$.getJSON("/DingDanGuanL/SelectProcessOrderForGoodsDetailList1?ProcessInformationID=" + ProcessInformationID1,function (data) {$("#tbProcessGoodsList").datagrid('loadData', data);var dt = $("#tbProcessGoodsList").datagrid('getData');for (var i = 0; i < dt.rows.length; i++) {//绑定时,因为datagrid有combobox不能显示出来,可用这个方法$("#tbProcessGoodsList").datagrid('getRows')[i]["text"] = data[i]["UnitName"];$("#tbProcessGoodsList").datagrid('getRows')[i]["text1"] = data[i]["QualityName"];$("#tbProcessGoodsList").datagrid('beginEdit', i);$("#tbProcessGoodsList").datagrid('endEdit', i);}});$.getJSON("/DingDanGuanL/SelectProcessOrderForGoodsDetailList2?ProcessInformationID=" + ProcessInformationID1,function (data) {$("#tbProcessGoodsList1").datagrid('loadData', data);var dt = $("#tbProcessGoodsList1").datagrid('getData');for (var i = 0; i < dt.rows.length; i++) {//绑定时,因为datagrid有combobox不能显示出来,可用这个方法//先结束编辑,再开始编辑$("#tbProcessGoodsList1").datagrid('getRows')[i]["text"] = data[i]["UnitName"];$("#tbProcessGoodsList1").datagrid('getRows')[i]["text1"] = data[i]["QualityName"];$("#tbProcessGoodsList1").datagrid('beginEdit', i);$("#tbProcessGoodsList1").datagrid('endEdit', i);}});}

修改保存库内加工信息

保存修改按钮事件的界面如下:

2.5.1.5(图10)

function UpdateProcessOrderForGoodsInformationList() {if (confirm("是否修改")) {endEditing(false);//endEditing(false);结束编辑endEditing1(false);//修改加工订单信息$.getJSON("/DingDanGuanL/UpdateProcessOrderForGoodsInformationList?ProcessInformationID=" + ProcessInformationID1 + "&"+ "OrderForGoodsNumber=" + $("#txtOrderForGoodsNumber").val() + "&"+ "ClientID=" + id1 + "&"+ "ClientInstruct=" + $("#txtClientInstruct").val() + "&"+ "PurchaseOrderForGoodsNumber=" + $("#txtPurchaseOrderForGoodsNumber").val() + "&"+ "OrderForGoodsTypeID=" + $("#cboOrderForGoodsTypeID").combobox('getValue') + "&"+ "EmergencyID=" + $("#cboEmergencyID").combobox('getValue') + "&"+ "OrderForGoodsSourceID=" + $("#cboOrderForGoodsSourceID").combobox('getValue') + "&"+ "Releasetime=" + $("#datReleasetime").datebox('getValue') + "&"+ "StatusID=" + $("#cboStatusID").combobox('getValue') + "&"+ "CarryOutStateID=" + $("#cboCarryOutStateID").combobox('getValue') + "&"+ "OrderForGoodsPriority=" + $("#txtOrderForGoodsPriority").val() + "&"+ "PledgeBankID=" + id2 + "&"+ "Remarks=" + $("#txtRemarks").val() + "&"+ "BankName=" + $("#txtBankName").val(),function (data) {$.getJSON("/DingDanGuanL/UpdateProcessOrderForGoodsDetailList?ProcessDetailID=" + ProcessDetailID + "&"+ "ProcessInformationID=" + ProcessInformationID1 + "&"+ "ProcessTypeID=" + $("#cboProcessTypeID").combobox('getValue') + "&"+ "StorehouseID=" + id3,function (data1) {
//修改
//'getChanges获取datagrid的改变var delRow = $("#tbProcessGoodsList1").datagrid('getChanges', 'deleted');rowsCount = delRow.length;
//改变的行数for (var a = 0; a < rowsCount; a++) {$.getJSON("/DingDanGuanL/UpdateProcessGoodsList?ProcessGoodsID=" + delRow[a].ProcessGoodsID + "&"
+ "GoodsID=" + delRow[a].GoodsID + "&"
+ "ProcessDetailID=" + data1 + "&"
+ "EffectOfStorage=" + delRow[a].EffectOfStorage + "&"
+ "SelectQuantity=" + 0 + "&"
+ "ProcessQuantity=" + delRow[a].ProcessQuantity + "&"
+ "ShipperUnitsID=" + delRow[a].UnitID + "&"
+ "QualityID=" + delRow[a].QualityID + "&"
+ "Update=" + 3 + "&"
+ "ProcessFou=" + false,function (data2) {});}
//获取新增的改变('getChanges')
//新增的行数(rowsCount)var insRow = $("#tbProcessGoodsList1").datagrid('getChanges', 'inserted');rowsCount = insRow.length;for (var b = 0; b < rowsCount; b++) {$.getJSON("/DingDanGuanL/UpdateProcessGoodsList?ProcessGoodsID=" + 0 + "&"
+ "GoodsID=" + insRow[b].GoodsID + "&"
+ "ProcessDetailID=" + data1 + "&"
+ "EffectOfStorage=" + insRow[b].EffectOfStorage + "&"
+ "SelectQuantity=" + 0 + "&"
+ "ProcessQuantity=" + insRow[b].ProcessQuantity + "&"
+ "ShipperUnitsID=" + insRow[b].UnitID + "&"
+ "QualityID=" + insRow[b].QualityID + "&"
+ "Update=" + 2 + "&"
+ "ProcessFou=" + false,function (data3) {});}//同个getchanges的方法获取修改的行数//修改var UpdatRow = $("#tbProcessGoodsList1").datagrid('getChanges', 'updated');rowsCount = UpdatRow.length;for (var c = 0; c < rowsCount; c++) {$.getJSON("/DingDanGuanL/UpdateProcessGoodsList?ProcessGoodsID=" + UpdatRow[c].ProcessGoodsID + "&"
+ "GoodsID=" + UpdatRow[c].GoodsID + "&"
+ "ProcessDetailID=" + data1 + "&"
+ "EffectOfStorage=" + UpdatRow[c].EffectOfStorage + "&"
+ "SelectQuantity=" + 0 + "&"
+ "ProcessQuantity=" + UpdatRow[c].ProcessQuantity + "&"
+ "ShipperUnitsID=" + UpdatRow[c].UnitID + "&"
+ "QualityID=" + UpdatRow[c].QualityID + "&"
+ "Update=" + 1 + "&"
+ "ProcessFou=" + false,
function (data4) {
}
);}//删除var delRow = $("#tbProcessGoodsList").datagrid('getChanges', 'deleted');rowsCount = delRow.length;for (var i = 0; i < rowsCount; i++) {$.getJSON("/DingDanGuanL/UpdateProcessGoodsList?ProcessGoodsID=" + delRow[i].ProcessGoodsID + "&"+ "GoodsID=" + delRow[i].GoodsID + "&"+ "ProcessDetailID=" + data1 + "&"+ "EffectOfStorage=" + delRow[i].EffectOfStorage + "&"+ "SelectQuantity=" + delRow[i].SelectQuantity + "&"+ "ProcessQuantity=" + 0 + "&"+ "ShipperUnitsID=" + delRow[i].UnitID + "&"+ "QualityID=" + delRow[i].QualityID + "&"+ "Update=" + 3 + "&"+ "ProcessFou=" + true,function (data5) {});}//新增var insRow = $("#tbProcessGoodsList").datagrid('getChanges', 'inserted');rowsCount = insRow.length;for (var j = 0; j < rowsCount; j++) {$.getJSON("/DingDanGuanL/UpdateProcessGoodsList?ProcessGoodsID=" + 0 + "&"+ "GoodsID=" + insRow[j].GoodsID + "&"+ "ProcessDetailID=" + data1 + "&"+ "EffectOfStorage=" + insRow[j].EffectOfStorage + "&"+ "SelectQuantity=" + insRow[j].SelectQuantity + "&"+ "ProcessQuantity=" + 0 + "&"+ "ShipperUnitsID=" + insRow[j].UnitID + "&"+ "QualityID=" + insRow[j].QualityID + "&"+ "Update=" + 2 + "&"+ "ProcessFou=" + true,function (data6) {});}var UpdatRow = $("#tbProcessGoodsList").datagrid('getChanges', 'updated');rowsCount = UpdatRow.length;for (var k = 0; k < rowsCount; k++) {$.getJSON("/DingDanGuanL/UpdateProcessGoodsList?ProcessGoodsID=" + UpdatRow[k].ProcessGoodsID + "&"+ "GoodsID=" + UpdatRow[k].GoodsID + "&"+ "ProcessDetailID=" + data1 + "&"+ "EffectOfStorage=" + UpdatRow[k].EffectOfStorage + "&"+ "SelectQuantity=" + UpdatRow[k].SelectQuantity + "&"+ "ProcessQuantity=" + 0 + "&"+ "ShipperUnitsID=" + UpdatRow[k].UnitID + "&"+ "QualityID=" + UpdatRow[k].QualityID + "&"+ "Update=" + 1 + "&"+ "ProcessFou=" + true,function (data7) {});}});if (data > 0) {alert("修改成功");setTimeout(function () {window.location.href = "/DingDanGuanL/KuNeiJiaGong";}, 1000);SelectJiaGongXinXi();} else {alert("修改失败");}});}}

4.   删除

删除界面如下

2.5.1.5(图10)

JavaScript代码:

//删除库内加工信息function Delete() {var ROW = $("#tbProcessOrderForGoodsInformationList").datagrid('getSelected');var ProcessInformationID = ROW.ProcessInformationID;var ProcessDetailID = ROW.ProcessDetailID;if (confirm("是否删除")) {//getSelected 是获取你要删除的那一行//先删除明细,再删除订单//库内加工货品信息$.getJSON("/DingDanGuanL/DeleteProcessOrderForGoodsInformationList?ProcessInformationID=" + ProcessInformationID,function (data) {//库内加工明细信息$.getJSON("/DingDanGuanL/DeleteProcessOrderForGoodsDetailList?ProcessInformationID=" + ProcessInformationID,function (data1) {//库内加工订单信息$.getJSON("/DingDanGuanL/DeleteProcessGoodsList?ProcessDetailID=" + ProcessDetailID,function (data2) {});});if (data > 0) {alert("删除成功");SelectJiaGongXinXi();}});}}

5.设计时间(产生单号)

//设计时间格式
function SheJuDanHao() {var i = new Date();//新建一个日期var s = i.getHours();//获取是var f = i.getMinutes();//获取分var o = i.getSeconds();//获取秒var y = i.getFullYear();//获取年var m = i.getMonth() + 1;//获取月var d = i.getDate();//获取天var DanHao = y + "-" + (m < 10 ? ('0' + m) : m) + "-" + (d < 10 ? ('0' + d) : d) + " "+ (s < 10 ? ('0' + s) : s) + ":" + (f < 10 ? ('0' + f) : f) + ":" + (o < 10 ? ('0' + o) : o);//用三步运算符计算日期$("#datReleasetime").datebox('setValue',DanHao)}
  

仅供学习,禁止用于商业用途

MVC北京络捷斯特第三方物流系统技术解析(五)库内加工相关推荐

  1. MVC北京络捷斯特第三方物流系统技术解析(二)登陆

      MVC北京络捷斯特第三方物流系统技术解析(二)登陆 登陆:对于用户进行登陆 界面效果图: 图(一) 登陆功能实现: 第一步:数据库 1表和表的关系 图(2) 表1:用户表(pw_GongDianL ...

  2. MVC北京络捷斯特第三方物流系统技术解析(四)订单配送信息

    MVC北京络捷斯特第三方物流系统技术解析(四)订单配送信息 进行了订单运输信息,想在到了订单配送信息在"订单信息"页面用户可以编辑此订单的基本信息,此页面包括订单基本信息.托运人信 ...

  3. MVC北京络捷斯特第三方物流系统技术解析(三)订单运输管理

    MVC北京络捷斯特第三方物流系统技术解析(三)订单运输管理 在"运输订单信息"页面用户可以编辑此订单的基本信息,如下图所示.在此页面用户选择[新增]按钮,此时系统会显示选择订单类型 ...

  4. MVC北京络捷斯特第三方物流系统技术解析(一)MVC架构搭建

    MVC北京络捷斯特第三方物流系统技术解析(一)MVC架构搭建 1.新建项目 第一步:打开Vs界面,点击左上角文件,点击新建,选择项目 1.1(图1) 第二步:点击网站Web类型,选择ASP.net M ...

  5. MVC北京络捷斯特第三方物流系统技术解析(八)返单

    MVC北京络捷斯特第三方物流系统技术解析(八)返单 在"订单录入"部分如果客服人员选择了"签单返回"中的"运单"和"客户单据&qu ...

  6. MVC北京络捷斯特第三方物流系统技术解析(七)签收录入

    MVC北京络捷斯特第三方物流系统技术解析(七)签收录入 当客户收到货物后,客服人员对客户已签收的货物做签收录入.点击签收录入.列表中自动列出的是所有要做签收录入的运单,也可输入运单号,查出某一票运单, ...

  7. MVC北京络捷斯特第三方物流系统技术解析(九)到货通知

    MVC北京络捷斯特第三方物流系统技术解析(九)到货通知 对于客户要求自提的货物(在订单录入中钩选"是否取送"中的"送货"),当货物到达目的站后,客服通知客户来场 ...

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

    MVC北京络捷斯特第三方物流系统技术解析(六)补录订单运输信息 客服人员提交订单后,可以随时补录订单信息.客服人员补录运单时,点击补录信息,此时系统显示的是未完成的运单列表,先在运单列表中选中一票运单 ...

  9. 北京络捷斯特第三方物流信息系统技术解析(二) 订单录入-入库订单

    北京络捷斯特第三方物流信息系统技术解析(二) 订单录入-入库订单 订单录入该模块包括了各种订单的录入,有入库,出库,运输,配送,加工等订单的录入. 界面效果图: 2.1(图1) 2.1.1 入库订单 ...

最新文章

  1. 查询到330TSI 精英版变速箱是DSG七速湿式(DQ380)(国五)DSG七速湿式(DQ381)(国六)...
  2. html自定义radio样式,用纯CSS 自定义radio checkbox 样式
  3. Web 2.0 编程思想:16条法则
  4. hdu-5834 Magic boy Bi Luo with his excited tree(树形dp)
  5. 试卷8449c 语言,二级C语言上机题库参考答案
  6. 磁盘分区需要知道的概念
  7. vue elementui表单清空前一次的数据
  8. 【整数转字符串】LeetCode 9. Palindrome Number
  9. LoadRunner 11压测时碰到错误Error: missing newline in *:\*****\*.dat
  10. camera link心得
  11. FFmpeg无损转换ts为mp4
  12. 微信小程序 实现路线规划
  13. PyTorch搭建LSTM实现多变量时间序列预测(负荷预测)
  14. Python实例之利用h5py库保存数据集
  15. python+opencv代码给证件照换底色(别再用PS啦)(转载)
  16. html制作唐诗,Steve:HTML创始人来中国当教师 痴迷李白自称“唐诗”
  17. Visionpro工具名称和用途
  18. 强化学习之Grid World的时序差分算法解析【MiniWorld】SYSU_2023SpringRL
  19. 【MySQL】5、Update修改语句
  20. 【coolshell酷壳】你可能不知道的Shell

热门文章

  1. gin框架05--Multipart/Urlencoded 绑定
  2. Mybatis面试题(2022,持续更新,自用)
  3. 【Spring Cloud 基础设施搭建系列】Spring Cloud Demo项目 Spring Boot Test集成测试环境搭建
  4. 盘点一款Python二级考试模拟软件,带你轻松过关二级Python考试
  5. mysql pivot函数怎么用_浅析SQL语句行列转换的两种方法 case...when与pivot函数的应用...
  6. Ant Design 表格:循环展示表头,表头添加图标icon
  7. MT6580芯片处理器资料介绍
  8. 长时间佩戴耳机危害有多大现在知道还不晚
  9. withRouter方法的使用
  10. Android请求音频焦点