大型商贸系统(进货管理)技术解析(五)自营无订单进仓冲红单

功能介绍:

     自营无订单仓冲红单通过选择已审核无订单进仓单抵消某张已审核过的进仓冲红单使其进货无效。进仓冲红包括自营进仓冲红;无订单进仓冲红。其中自营无订单进仓冲红,在选择了相应的需要冲红的已审核无订单进仓单后,使其录入的件数和细数为原进仓单的相反数,然后保存,修改,经过审核后即可实现冲红操作功能。

效果图:

图1.1

功能实现:

1.    自营无订单进仓冲红单所用到的表与表之间的关系图



表1:冲红单表(Offset)

用于存放自营无订单进仓冲红单信息

列名

数据类型

主键/外键

说明

Offset_id

int

主键

冲红单id

Repertory_enter_id

int

外键

进仓单id

Review_deny

Bit

审核否

Record_number

nchar(20)

记录编号

Registrant_id

int

外键

登记人id

Auditor_id

int

外键

审核人id

Review_time

datetime

审核时间

Review_time

datetime

登记时间

表2:进仓单表(Repertory_enter)

用于存放商品进仓单信息

列名

数据类型

主键/外键

说明

Repertory_enter_id

int

主键

进仓单id

Repertory_place_id

int

外键

仓库地点id

Indent_id

int

外键

订单id

Hava_indent_deny

Bit

有无订单否

Receiver_id

int

外键

收货人id

Record_number

nchar(20)

记录编号

Registrant_id

int

外键

登记人id

Register_time

datetime

登记时间

Auditor_id

int

外键

审核人id

Review_time

datetime

审核时间

Affix_count

nchar(10)

附件张数

Type_of_operation_pubid

int

外键

经营方式pubid

Original_number

nchar(20)

原始单号

Agreement_id

int

外键

合同id

Review_deny

Bit

审核否

YouXiaoFou

Bit

有效否

表3:进仓明细表(Repertory_enter_detail)

用于记录进仓明细单信息

列名

数据类型

主键/外键

说明

Repertory_enter_detail_id

int

主键

进仓明细id

Repertory_enter_detail_Farid

int

外键

进仓明细farid

Repertory_enter_id

int

外键

进仓id

Goods_id

int

外键

商品id

Repertory_enter_packages

decimal(18,0)

入库件数

Repertory_enter_quantity

decimal(18,0)

入库细数

Giveaway_quantity

decimal(18,0)

物扣数量

Review_deny

bit

审核否

Auditor_id

int

外键

审核人id

Review_time

datetime

审核时间

ChongHong_deny

Bit

冲红否

表4:员工表(Eemployee)

用于记录员工信息

列名

数据类型

主键/外键

说明

Employee_id

int

主键

员工id

Employee_number

nchar(12)

员工编号

Employee_name

nchar(10)

员工名称

Department_id

int

外键

部门id

Duties_id

int

外键

职务id

Sex

int

外键

性别pubid

 

2.    实现自营无订单进仓冲红单界面效果图


                                                图2.1

2.1   实现该功能的界面代码

<!DOCTYPE html>
<html>
<head><meta content="text/javascript;charset=utf-8" /><title>自营无订单冲红处理</title><link href="../../Content/jquery-easyui-1.3.3/themes/icon.css" rel="stylesheet" /><link href="../../Content/jquery-easyui-1.3.3/demo/demo.css" rel="stylesheet" /><link href="../../Content/jquery-easyui-1.3.3/themes/default/easyui.css" rel="stylesheet" /><link href="../../Content/MyCSS/PublicCSS.css" rel="stylesheet" /><script src="../../Content/jquery-easyui-1.3.3/jquery.min.js"></script><script src="../../Content/jquery-easyui-1.3.3/jquery.easyui.min.js"></script><script src="../../Content/jquery-easyui-1.3.3/easyloader.js"></script><link href="../../Content/yxsss/js_css/yu.css" rel="stylesheet" /><script src="../../Content/yxsss/js_css/yu.js"></script><style type="text/css">body { text-align: center; font-size: 20px; }input { margin-top: 1px; margin-left: 5px; margin-right: 5px; font-size: 15px; }button { height: 28px; font-size: 20px; margin: 1px 3px 1px 3px; }div > button { margin: 15px 4px auto 15px; }#weibu tr td { height: 30px; }.myimg:hover { margin-top: 3px; margin-left: 3px; }</style>
</head>
<body style="text-align: center">
<div style="display: none">
<div class="easyui-window" title="" id="wWDingDanJinHuoChuLi" style="display: none; text-align: center; border-spacing: 0; padding: 0; border: 0 solid white; height: 600px;"data-options="fit:true,collapsible:false,minimizable:false,maximizable:false,closable:false,draggable:false,resizable:false,shadow:false,modal:true,center:true"><div style="padding: 5px; background: #e0ffff; color: #4169e1; font-size: 20px; margin: 0 0 auto;" border="1">无订单冲红处理</div><table id="tbWDingDanJinHuoChuLi" style="width: 780px; height: 20px; padding: 0; border: none;"><tr><td style="vertical-align: middle"><input type="button" value="记录编号" οnclick="OpenZiYingJinCangDanChaZhao()" style="width: 100px;" /><input type="text" @*οnclick="SelectWuDingDanJinCangRecord_number()"*@ id="txtWuDingDanCHJiLuBianMa" style="width: 120px; color: red; margin-left: 5px;" /></td><td style="vertical-align: middle"><input type="button" value="进货部门" style="width: 100px;" /><input type="text" id="bumendaima" style="width: 40px; text-align: center; margin-left: 5px" /></td><td style="vertical-align: middle"><div style="border-bottom: #000 1px solid; width: 180px;"><input id="txtBuMenMC" readonly="readonly" style="width: 240px; margin-left: 5px; border: none; color: #0000FF; font-size: 15px;" /></div></td></tr></table><table style="width: 780px; height: 150px; padding: 0; border: none;"><tr><td style="width: 180px; text-align: center; font-size: 15px;">合同号:</td><td><div style="border-bottom: #000 1px solid; width: 100px;"><input id="AgreementCode" readonly="readonly" style="width: 100px; border: none; color: #0000FF; font-size: 17px;" /></div></td><td style="text-align: center; font-size: 15px;">库存地点:</td><td><input class="easyui-combobox" id="RepertoryPlaceIdentifier" data-options="panelHeight:100" style="width: 145px; text-align: center" /></td><td><div style="border-bottom: #000 1px solid; width: 180px;"><input readonly="readonly" id="kucunMC" style="width: 180px; border: none; color: #0000FF; font-size: 17px;" /></div></td></tr><tr><td style="width: 110px; text-align: center; font-size: 15px;">结算方式:</td><td><div style="border-bottom: #000 1px solid; width: 100px;"><input readonly="readonly" id="jiesuanfangshi" style="width: 100px; border: none; color: #0000FF; font-size: 17px;" /></div></td><td style="text-align: right; font-size: 15px;">附件:<input type="text" id="txtFuJianZhangShu" style="width: 40px" />张数</td><td colspan="2" align="right" style="font-size: 15px;">原始进货单号:<input type="text" id="txtTongJinCang" style="width: 180px;" /></td></tr><tr><td style="width: 110px; text-align: center; font-size: 15px;">买手:</td><td><div style="border-bottom: #000 1px solid; width: 80px;"><input readonly="readonly" id="maijia" style="width: 80px; border: none; color: #0000FF; font-size: 17px;" /></div></td><td style="text-align: center; font-size: 15px;">收货人:</td><td><input class="easyui-combobox" id="shouhuorenbianhao" data-options="panelHeight:100" style="width: 145px; text-align: center" /></td><td><div style="border-bottom: #000 1px solid; width: 180px;"><input readonly="readonly" id="ReceiverName" style="width: 180px; border: none; color: #0000FF; font-size: 17px;" /></div></td></tr><tr><td style="width: 120px; text-align: center; font-size: 15px;">往来单位:</td><td style="width: 160px;" colspan="2"><div style="border-bottom: #000 1px solid; width: 300px;"><input readonly="readonly" id="SupplyUnits" style="width: 300px; border: none; color: #0000FF; font-size: 17px;" /></div></td><td style="vertical-align: middle"><input type="button" id="piliangxuanshangpin" value="批量选商品" οnclick="OpenPiLiangXuanShangPin()" style="width: 100px; text-align: right; font-size: 17px;" /></td><td><button οnclick="SelectWDJinCangChongHongDan()"><img src="../../Content/image/2012092109942.png" />查询</button></td></tr></table><div class="easyui-panel" style="width: 785px; height: 243px;"><table id="tb进窗信息" class="easyui-datagrid" style="width: 3780px;" data-options="rownumbers:true,idField:'Goods_id',singleSelect:true,onClickRow:onClickRowMingXi,@*onAfterEdit:onAfterEdit,*@fit:true,pagination:true,frozenColumns:[[{field:'ShanChu',width:40,title:'删除',align:'center',formatter:deleteSelect}]]"><thead><tr><th data-options="field:'Goods_id',hidden:true,width:80,align:'center'">商品ID</th><th data-options="field:'Repertory_enter_detail_id',hidden:true,width:80,align:'center'">进仓明细ID</th><th data-options="field:'Goods_code',width:80,align:'center'">商品代码</th><th data-options="field:'Goods_bar_code',width:80,align:'center'">商品条码</th><th data-options="field:'Goods_name',width:80,align:'center'">商品名称</th><th data-options="field:'Quality_content',width:80,align:'center'">包装含量</th><th data-options="field:'NumberOfUnits',editor:'numberbox',width:80,align:'center',styler:cellStyler">入库件数</th><th data-options="field:'Shipments_quantity',width:80,editor:'numberbox',align:'center',styler:cellStyler">入库细数</th><th data-options="field:'WuGouShuLiang',editor:'numberbox',width:80,align:'center',styler:cellStyler">物扣数量</th><th data-options="field:'Tax_inclusive_price',width:80,align:'center'">含税进价</th><th data-options="field:'Input_ratio',width:80,align:'center'">进项税率</th><th data-options="field:'Purchase_bid',width:80,align:'center'">采购进价</th><th data-options="field:'Art_No',width:80,align:'center'">货号</th><th data-options="field:'Format_model',width:80,align:'center'">规格型号</th><th data-options="field:'JiLiangDanWei',width:80,align:'center'">计量单位</th><th data-options="field:'Retail_unit_price',width:80,align:'center'">零售单价</th><th data-options="field:'MaiJia',width:80,hidden:true,align:'center'">买手</th><th data-options="field:'Vender_bar_code_deny',width:80,align:'center'">厂家条码否</th><th data-options="field:'Goods_abbreviation',width:80,align:'center'">商品简称</th><th data-options="field:'Plncode_PLN',width:80,align:'center'">PLN码</th><th data-options="field:'Goods_name',width:80,align:'center'">商品标记</th><th data-options="field:'Copy_record_deny',width:80,align:'center'">复制记录否</th><th data-options="field:'Contract_number',width:80,align:'center'">合同号</th><th data-options="field:'Manufacturer_name',width:80,align:'center'">生产厂家</th><th data-options="field:'Producing_area_name',width:80,align:'center'">产地</th><th data-options="field:'ShiYongDuiXiang',width:80,align:'center'">使用对象</th><th data-options="field:'Goods_colours',width:80,align:'center'">商品花色</th><th data-options="field:'Goods_rademark_name',width:80,align:'center'">商品商标</th><th data-options="field:'ShangPinFenLei',width:80,align:'center'">商品分类</th><th data-options="field:'BaoZhiQi',width:80,align:'center'">保质期</th><th data-options="field:'Output_ratio',width:80,align:'center'">销项税率</th><th data-options="field:'Count_scale',width:80,align:'center'">统计比例</th><th data-options="field:'ZhiLiangDengJi',width:80,align:'center'">质量等级</th><th data-options="field:'JiYingJiJie',width:80,align:'center'">经营季节</th><th data-options="field:'Permit_decimal_deny',width:80,align:'center'">允许小数否</th><th data-options="field:'ChanPinZhuangTai',width:80,align:'center'">产品状态</th><th data-options="field:'DengJiRen',width:80,align:'center'">登记人</th><th data-options="field:'Register_time',width:80,align:'center'">登记时间</th><th data-options="field:'ShenHeRen',width:80,align:'center'">审核人</th><th data-options="field:'Review_time',width:80,align:'center'">审核时间</th><th data-options="field:'GengXinRen',width:80,align:'center'">更新人</th><th data-options="field:'Update_Time',width:80,align:'center'">更新时间</th><th data-options="field:'Self_fix_goods_deny',width:80,align:'center'">自订货否</th><th data-options="field:'Mini_fix_goods_deny',width:80,align:'center'">最小订货数</th></tr></thead></table></div><table id="weibu" style="width: 715px; height: 35px"><tr><td style="font-size: 15px; width: 60px">登记人</td><td style="width: 50px"><div style="border-bottom: #000 1px solid; width: 180px;"><input class="easyui-combobox" id="dengjiren" data-options="url:'/ShangPinJinChuangDan/SelectEmployee',valueField:'ID',textField:'MC'" style="width: 180px; border: none; color: #0000FF; font-size: 17px;" /></div></td><td style="font-size: 15px">登记时间</td><td style="width: 250px"><div style="border-bottom: #000 1px solid; width: 180px;"><input class="easyui-datetimebox" data-options="formatter:myformatter" id="datdengjishijian" style="width: 180px; border: none; color: #0000FF; font-size: 17px;" /></div></td></tr><tr><td style="font-size: 15px; width: 60px">审核人</td><td style="width: 50px"><div style="border-bottom: #000 1px solid; width: 180px;"><input class="easyui-combobox" id="Auditor" data-options="url:'/ShangPinJinChuangDan/SelectEmployee',valueField:'ID',textField:'MC'" style="width: 180px; border: none; color: #0000FF; font-size: 17px;" /></div></td><td style="font-size: 15px">审核时间</td><td><div style="border-bottom: #000 1px solid; width: 180px;"><input class="easyui-datetimebox" data-options="formatter:myformatter" id="datshenheshijian" style="width: 180px; border: none; color: #0000FF; font-size: 17px;" /></div></td></tr></table><button οnclick="OpenwYiShenHeWDDJC(); " id="TianJia"><img src="../../Content/image/add.png" />添加</button><button οnclick="UpdateWDJinCangCH();"><img src="../../Content/image/table_edit.png" />修改</button><button οnclick="DeleteWDJinCangCHDan();" id="ShanChu"><img src="../../Content/image/delete.png" />删除</button><button id="BaoCun" οnclick="BaoCunWDJCChongHong();"><img src="../../Content/image/disk.png" />保存</button><button οnclick="qingKong();" id="FanQi"><img src="../../Content/image/01.png" />放弃</button><button οnclick="ShenHeWDJinCangChongHong();" id="ShenHe"><img src="../../Content/image/ok.gif" />审核</button><button id="DaYin"><img src="../../Content/image/2012081511202.png" />打印</button><button id="TuiChu" οnclick=" parent.jinCang();"><img src="../../Content/image/2012080412301.png" />退出</button></div></div>
</body>
</html>

3. 对无订单进仓冲红的记录编号的操作

效果图:


3.1 实现该功能的界面代码



3.2 在JavaScript中的代码实现


3.3 实现该功能的控制器代码

#region 生成配货单据public ActionResult SelectWuDingDanJinCangCangHongRecord_number(){//实例化DataTable接收对象_myWuDingDanJinCangChongHong的方法GetOddNumbers中数据返回的数据DataTable dt = _myWuDingDanJinCangChongHong.GetOddNumbers(8);DataTable dt2 = _myWuDingDanJinCangChongHong.GetDayMaxQuantity(17);//查询获取当前日最大单据数string patchNumber = dt.Rows[0]["Prefixs"].ToString().Trim();//声明变量接收获取表dt中["Prefixs"]列单元格的值string patchCount = dt2.Rows[0][0].ToString();//声明变量patchCount,dt2表中的总长度//for循环并判断总的长度与dt.Rows[0]["Suffix_number"]作比较for (int i = patchCount.Length; i < Convert.ToInt32(dt.Rows[0]["Suffix_number"].ToString().Trim()); i++){patchCount = "0" + patchCount;//符合条件的要在patchCount前加“0”}string recordNumber = patchNumber + patchCount;//对自营无订单进仓冲红单记录编号的并接return Json(recordNumber, JsonRequestBehavior.AllowGet);}#endregion

3.4 实现该功能逻辑层代码

#region 获取当前日最大单据public DataTable GetDayMaxQuantity(int dayMaxQuantityId){SqlParameter[] sql ={new SqlParameter("@NB", SqlDbType.Char),new SqlParameter("@Day_max_quantity_id",SqlDbType.Int), };sql[0].Value = "GetDayMaxQuantity";sql[1].Value = dayMaxQuantityId;DataTable dt = _myDalMethod.DAL_SelectDB_Par("Update_Day_Max_Count", sql);return dt;}#endregion#region 获取记录编号前缀public DataTable GetOddNumbers(int intOddNumbersId){SqlParameter[] sql ={new SqlParameter("@NB", SqlDbType.Char),new SqlParameter("@Odd_numbers_id",SqlDbType.Int), };sql[0].Value = "GetOddNumbers";sql[1].Value = intOddNumbersId;DataTable dt = _myDalMethod.DAL_SelectDB_Par("Update_Day_Max_Count", sql);return dt;}#endregion

3.5 实现该功能存储过程

if(@NB='GetDayMaxCount')      --获取日最大单数
begin
SELECT     Day_max_count
FROM         Day_max_quantity
where Day_max_quantity_id=@Day_max_quantity_id
end
if(@NB='GetOddNumbers')     --获取记录编号/批次号前缀
begin
SELECT     Odd_numbers_id,Suffix_number,(rtrim(Prefix)+CONVERT(varchar(12),GETDATE(),112))as Prefixs
FROM         Odd_numbers
WHERE     (Odd_numbers_id = @Odd_numbers_id)
end

4. 对“添加”按钮的操作

4.1 点击“添加”按钮将会弹出“选择已审核无订单进仓单”的窗口

界面效果图

                                          

                                                                        图4.1

4.2 实现该功能的界面代码

4.3 在JavaScript中的代码实现

1.1  在JavaScript中的代码实现
//打开已审核无订单进仓单(选择已审核无订单进仓)function OpenwYiShenHeWDDJC() {//对记录编号的操作$.getJSON("/ZiYingWuDingDanJinCangChongHong/SelectWuDingDanJinCangCangHongRecord_number", function (value) {$("#txtWuDingDanCHJiLuBianMa").val(value);});//打开“选择已审核无订单进仓单”的窗口$('#wXuanZeYiShenHeWDDJCDanXiAll').window('open');//对“选择已审核无订单进仓单”窗口中DGV的数据查询$.getJSON("/ZiYingWuDingDanJinCangChongHong/SelectYiShenHeWdjcChongHong", function (data) {$('#tbXuanZeYiShenHeWDDJCDan').datagrid('loadData', data);});
}//模糊查询已审核无订单进仓单function MohuSelectYiShenHeWdjcChongHong() {$.getJSON("/ZiYingWuDingDanJinCangChongHong/MohuSelectYiShenHeWdjcChongHong?strBlur=" + $('#strBlur').val(), function (data) {$('#tbXuanZeYiShenHeWDDJCDan').datagrid('loadData', data);});}

4.4 实现该功能的控制器操作

#region 查询已审核无订单进仓单信息(冲红单)public ActionResult SelectYiShenHeWdjcChongHong(){DataTable dt = _myWuDingDanJinCangChongHong.SelectYiShenHeWdjcChongHong();=List<Dictionary<string, object>> listReturn = ConvertHelper.DtToList(dt);return Json(listReturn, JsonRequestBehavior.AllowGet);}#endregion
#region 模糊查询已审核无定进仓信息(冲红单)public ActionResult MohuSelectYiShenHeWdjcChongHong(string strBlur){DataTable dt = _myWuDingDanJinCangChongHong.MohuSelectYiShenHeWdjcChongHong(strBlur);List<Dictionary<string, object>> listReturn = ConvertHelper.DtToList(dt);return Json(listReturn, JsonRequestBehavior.AllowGet);}#endregion

4.5 实现该功能逻辑层的操作

#region 查询已审核无订单进仓单信息(冲红单)public DataTable SelectYiShenHeWdjcChongHong(){SqlParameter[] sql ={new SqlParameter("@NB", SqlDbType.Char),};sql[0].Value = "SelectYiShenHeWdjcChongHong";DataTable dt = _myDalMethod.DAL_SelectDB_Par("NOOrderFormOffsetEntry", sql);return dt;}#endregion
#region 模糊查询已审核无定进仓信息(冲红单)public DataTable MohuSelectYiShenHeWdjcChongHong(string trBlur){SqlParameter[] sql ={new SqlParameter("@NB", SqlDbType.Char),new SqlParameter("@strBlur", SqlDbType.Char),};sql[0].Value = "MohuSelectYiShenHeWdjcChongHong";sql[1].Value = trBlur;DataTable dt = _myDalMethod.DAL_SelectDB_Par("NOOrderFormOffsetEntry", sql);return dt;}#endregion


4.6 实现该功能的存储过程

--查询已审核无订单进仓单信息(冲红单)
if(@NB='SelectYiShenHeWdjcChongHong')
begin
SELECT     Repertory_enter.Repertory_enter_id, Repertory_enter.Hava_indent_deny, Repertory_enter.Record_number, Repertory_enter.Agreement_id, Repertory_enter.Repertory_place_id, Agreement.Contract_number, Department.Department_name, Repertory_enter.Review_deny, Department.Department_code, Department.Department_id, Repertory_place.Repertory_place_name, Attribute_gather_detail.Attribute_gather_detail_name AS settlement, Repertory_enter.Affix_count, Repertory_enter.Original_number, Eemployee.Employee_name AS maijia, Repertory_enter.Receiver_id, Eemployee_1.Employee_number AS Receivecoad, Eemployee_1.Employee_name AS ReceiverName, Enterprise_name.Chinese, Repertory_place.Repertory_place_identifier, Repertory_enter.Registrant_id, CONVERT(varchar(20), Repertory_enter.Register_time, 120) AS Register_time, Eemployee_2.Employee_number AS dengjirencoad, Eemployee_2.Employee_name AS dengjiren, Repertory_enter.Auditor_id, CONVERT(varchar(20), Repertory_enter.Review_time, 120) AS Review_time, Eemployee_3.Employee_name AS Auditor, Attribute_gather_detail_1.Attribute_gather_detail_name AS jiesuanfangshi
FROM         Repertory_enter INNER JOINAgreement ON Repertory_enter.Agreement_id = Agreement.Agreement_id INNER JOINDepartment ON Agreement.Purchase_unit_id = Department.Department_id INNER JOINRepertory_place ON Repertory_enter.Repertory_place_id = Repertory_place.Repertory_place_id INNER JOINAttribute_gather_detail ON Agreement.Settlement_pubid = Attribute_gather_detail.Attribute_gather_detail_id INNER JOINEemployee ON Agreement.Purchasing_agent_id = Eemployee.Employee_id INNER JOINEemployee AS Eemployee_1 ON Repertory_enter.Receiver_id = Eemployee_1.Employee_id INNER JOINSupply_units ON Agreement.Supply_units_id = Supply_units.Supply_units_id INNER JOINEnterprise_name ON Supply_units.Enterprise_name_id = Enterprise_name.Enterprise_name_id INNER JOINEemployee AS Eemployee_2 ON Repertory_enter.Registrant_id = Eemployee_2.Employee_id INNER JOINEemployee AS Eemployee_3 ON Repertory_enter.Auditor_id = Eemployee_3.Employee_id INNER JOINAttribute_gather_detail AS Attribute_gather_detail_1 ON Agreement.Settlement_pubid = Attribute_gather_detail_1.Attribute_gather_detail_id
where Repertory_enter.Review_deny='True'and Repertory_enter.Hava_indent_deny='false'  and Repertory_enter.chongHongFou='false'
end
--模糊查询已审核无定进仓信息(冲红单)
if(@NB='MohuSelectYiShenHeWdjcChongHong')
begin
SELECT     Repertory_enter.Repertory_enter_id, Repertory_enter.Hava_indent_deny, Repertory_enter.Record_number, Repertory_enter.Agreement_id, Repertory_enter.Repertory_place_id, Agreement.Contract_number, Department.Department_name, Repertory_enter.Review_deny, Department.Department_code, Department.Department_id, Repertory_place.Repertory_place_name, Attribute_gather_detail.Attribute_gather_detail_name AS settlement, Repertory_enter.Affix_count, Repertory_enter.Original_number, Eemployee.Employee_name AS maijia, Repertory_enter.Receiver_id, Eemployee_1.Employee_number AS Receivecoad, Eemployee_1.Employee_name AS ReceiverName, Enterprise_name.Chinese, Repertory_place.Repertory_place_identifier, Repertory_enter.Registrant_id, CONVERT(varchar(20), Repertory_enter.Register_time, 120) AS Register_time, Eemployee_2.Employee_number AS dengjirencoad, Eemployee_2.Employee_name AS dengjiren, Repertory_enter.Auditor_id, CONVERT(varchar(20), Repertory_enter.Review_time, 120) AS Review_time, Eemployee_3.Employee_name AS Auditor, Attribute_gather_detail_1.Attribute_gather_detail_name AS jiesuanfangshi
FROM         Repertory_enter INNER JOINAgreement ON Repertory_enter.Agreement_id = Agreement.Agreement_id INNER JOINDepartment ON Agreement.Purchase_unit_id = Department.Department_id INNER JOINRepertory_place ON Repertory_enter.Repertory_place_id = Repertory_place.Repertory_place_id INNER JOINAttribute_gather_detail ON Agreement.Settlement_pubid = Attribute_gather_detail.Attribute_gather_detail_id INNER JOINEemployee ON Agreement.Purchasing_agent_id = Eemployee.Employee_id INNER JOINEemployee AS Eemployee_1 ON Repertory_enter.Receiver_id = Eemployee_1.Employee_id INNER JOINSupply_units ON Agreement.Supply_units_id = Supply_units.Supply_units_id INNER JOINEnterprise_name ON Supply_units.Enterprise_name_id = Enterprise_name.Enterprise_name_id INNER JOINEemployee AS Eemployee_2 ON Repertory_enter.Registrant_id = Eemployee_2.Employee_id INNER JOINEemployee AS Eemployee_3 ON Repertory_enter.Auditor_id = Eemployee_3.Employee_id INNER JOINAttribute_gather_detail AS Attribute_gather_detail_1 ON Agreement.Settlement_pubid = Attribute_gather_detail_1.Attribute_gather_detail_id
where Repertory_enter.Review_deny='True'and Repertory_enter.Hava_indent_deny='false'
and Repertory_enter.Record_number like '%'+RTRIM(@strBlur)+'%'
end

5 对自营无订单进仓冲红单录入的功能所以操作代码

JavaScript中代码

//单击无定单进仓冲红(绑定冲红单)var repertoryEnterid = 0;function onClickWDJCCH(rowIndex, rowData) {$('#wXuanZeYiShenHeWDDJCDanXiAll').window('close');$('#bumendaima').val(rowData.Department_code);$('#txtBuMenMC').val(rowData.Department_name);$('#AgreementCode').val(rowData.Contract_number);$('#RepertoryPlaceIdentifier').combobox('setValue', rowData.Repertory_place_identifier);$('#kucunMC').val(rowData.Repertory_place_name);$('#jiesuanfangshi').val(rowData.jiesuanfangshi);$('#txtFuJianZhangShu').val(rowData.Affix_count);$('#txtTongJinCang').val(rowData.Record_number);$('#maijia').val(rowData.maijia);$('#shouhuorenbianhao').combobox('setValue', rowData.Receivecoad);$('#ReceiverName').val(rowData.ReceiverName);$('#SupplyUnits').val(rowData.Chinese);repertoryEnterid = rowData.Repertory_enter_id;BingDingWDJCCHMingXi(rowData.Repertory_enter_id);
}
控制器代码://绑定冲红单根据(无定单进仓id)var repertoryEnterDetailid = 0;function BingDingWDJCCHMingXi(repertoryEnterid) {$.getJSON("/ZiYingWuDingDanJinCangChongHong/BingDingWdjcchMingXi?repertoryEnterid=" + repertoryEnterid, function (data) {$('#tb进窗信息').datagrid('loadData', data);repertoryEnterDetailid = data[0].Repertory_enter_detail_id;});
}#region 绑定无订单进仓冲红明细public ActionResult BingDingWdjcchMingXi(int repertoryEnterid){DataTable dt = _myWuDingDanJinCangChongHong.BingDingWdjcchMingXi(repertoryEnterid);dt.Columns.Add("YiRuKuShu", typeof(int));dt.Columns.Add("HaiYaoRuKuShu", typeof(int));//for循环遍历,对DGV中数据的处理,并使其数据为原来无订单进仓单的数据的相反数for (int i = 0; i < dt.Rows.Count; i++){int giveawayQuantity = Convert.ToInt32(dt.Rows[i]["WuGouShuLiang"]);int repertoryEnterPackages = Convert.ToInt32(dt.Rows[i]["NumberOfUnits"]);int repertoryEnterQuantity = Convert.ToInt32(dt.Rows[i]["Shipments_quantity"]);int rpdetailid = Convert.ToInt32(dt.Rows[i]["Repertory_enter_detail_id"]);var zongyaoRuKuShu = -(Convert.ToInt32(dt.Rows[i]["ZongYaoRuKuShu"]));DataTable k = _myWuDingDanJinCangChongHong.SelectYiRuKuShu(rpdetailid);int yirukushu = Convert.ToInt32(k.Rows[0]["yirukushu"]);dt.Rows[i]["YiRuKuShu"] = yirukushu;dt.Rows[i]["HaiYaoRuKuShu"] = zongyaoRuKuShu - yirukushu;dt.Rows[i]["NumberOfUnits"] = -repertoryEnterPackages;dt.Rows[i]["Shipments_quantity"] = -repertoryEnterQuantity;dt.Rows[i]["WuGouShuLiang"] = -giveawayQuantity;}List<Dictionary<string, object>> listReturn = ConvertHelper.DtToList(dt);return Json(listReturn, JsonRequestBehavior.AllowGet);}
逻辑层:
#region 绑定无订单进仓冲红明细public DataTable BingDingWdjcchMingXi(int repertoryEnterId){SqlParameter[] sql ={new SqlParameter("@NB", SqlDbType.Char),new SqlParameter("@Repertory_enter_id", SqlDbType.Int),};sql[0].Value = "BingDingWdjcchMingXi";sql[1].Value = repertoryEnterId;DataTable dt = _myDalMethod.DAL_SelectDB_Par("NOOrderFormOffsetEntry", sql);return dt;}#endregion
存储过程:
--绑定无订单进仓冲红明细
if(@NB='BingDingWdjcchMingXi')
begin
SELECT     Goods.Goods_code, Goods.Goods_bar_code, Goods.Goods_name, Goods.Art_No, Goods.Format_model, Attribute_gather_detail.Attribute_gather_detail_name AS JiLiangDanWei, Goods.Goods_abbreviation, Goods.Plncode_PLN, Goods.Agreement_id, Attribute_gather_detail_1.Attribute_gather_detail_name AS ShiYongDuiXiang, Goods.Goods_colours, Goods.Input_ratio, Goods.Output_ratio, Goods.Count_scale, Goods.Quality_content, Attribute_gather_detail_2.Attribute_gather_detail_name AS ZhiLiangDengJi, Manage_season.Manage_season_name AS JiYingJiJie, Goods.Permit_decimal_deny, Goods.Copy_record_deny, Goods.Vender_bar_code_deny, Attribute_gather_detail_3.Attribute_gather_detail_name AS ShangPinBiaoJi, Manufacturer.Manufacturer_name, Goods_producing_area.Producing_area_name, Attribute_gather_detail_4.Attribute_gather_detail_name AS ChanPinZhuangTai, CONVERT(varchar(20), Goods.Register_time, 120) AS Register_time, CONVERT(varchar(20), Goods.Review_time, 120) AS Review_time, CONVERT(varchar(20), Goods.Update_Time, 120) AS Update_Time, Goods.Retail_unit_price, Goods.Purchase_bid, Goods.Self_fix_goods_deny, Goods.Mini_fix_goods_deny, Attribute_gather_detail_5.Attribute_gather_detail_name AS ShangPinFenLei, Agreement.Contract_number, Goods_rademark.Goods_rademark_name, Attribute_gather_detail_6.Attribute_gather_detail_name AS BaoZhiQi, Repertory_enter_detail.Repertory_enter_id, Repertory_enter_detail.Goods_id, Repertory_enter_detail.Repertory_enter_packages AS NumberOfUnits, Repertory_enter_detail.Repertory_enter_quantity AS Shipments_quantity, Repertory_enter_detail.Giveaway_quantity AS WuGouShuLiang, Goods.Purchase_bid * (CAST(Goods.Input_ratio AS decimal(18, 5)) / 100 + 1) AS Tax_inclusive_price, Goods.Purchase_bid AS Expr1, Eemployee_1.Employee_name AS DengJiRen, Eemployee_2.Employee_name AS GengXinRen, Eemployee.Employee_name AS ShenHeRen, Repertory_enter_detail.Repertory_enter_detail_id,(Repertory_enter_detail.Repertory_enter_packages *(cast(Goods.Quality_content AS decimal(18, 5)))+Repertory_enter_detail.Giveaway_quantity) AS ZongYaoRuKuShuFROM         Goods INNER JOINAttribute_gather_detail ON Goods.Unit_of_measurement_pubid = Attribute_gather_detail.Attribute_gather_detail_id INNER JOINAttribute_gather_detail AS Attribute_gather_detail_1 ON Goods.Use_target_pubid = Attribute_gather_detail_1.Attribute_gather_detail_id INNER JOINAttribute_gather_detail AS Attribute_gather_detail_2 ON Goods.Quality_grade_pubid = Attribute_gather_detail_2.Attribute_gather_detail_id INNER JOINManage_season ON Goods.Manage_season_id = Manage_season.Manage_season_id INNER JOINAttribute_gather_detail AS Attribute_gather_detail_3 ON Goods.Goods_tab_pubid = Attribute_gather_detail_3.Attribute_gather_detail_id INNER JOINManufacturer ON Goods.Manufacturer_id = Manufacturer.Manufacturer_id INNER JOINGoods_producing_area ON Goods.Producing_area_id = Goods_producing_area.Producing_area_id INNER JOINAttribute_gather_detail AS Attribute_gather_detail_4 ON Goods.Product_status_pubid = Attribute_gather_detail_4.Attribute_gather_detail_id INNER JOINEemployee AS Eemployee_1 ON Goods.Registrant_id = Eemployee_1.Employee_id INNER JOINEemployee ON Goods.Auditor_id = Eemployee.Employee_id INNER JOINEemployee AS Eemployee_2 ON Goods.Update_person_id = Eemployee_2.Employee_id INNER JOINAttribute_gather_detail AS Attribute_gather_detail_5 ON Goods.Goods_classify_pubid = Attribute_gather_detail_5.Attribute_gather_detail_id INNER JOINAgreement ON Goods.Agreement_id = Agreement.Agreement_id INNER JOINGoods_rademark ON Goods.Goods_rademark_id = Goods_rademark.Goods_rademark_id INNER JOINAttribute_gather_detail AS Attribute_gather_detail_6 ON Goods.Quality_guarantee_period_pubid = Attribute_gather_detail_6.Attribute_gather_detail_id INNER JOINRepertory_enter_detail ON Goods.Goods_id = Repertory_enter_detail.Goods_id
where Repertory_enter_detail.Repertory_enter_id=@Repertory_enter_id  AND (Repertory_enter_detail.Repertory_enter_detail_Farid = 0)
end
6.对“保存”按钮的功能的操作代码
在JavaScript中的代码:
//新增无订单进仓冲红function BaoCunWDJCChongHong() {ui.confirm('是否新增???', function (k) {if (k) {if ($('#shouhuorenbianhao').combobox('getValue') == "" || $('#dengjiren').combobox('getValue') == "" ||$('#RepertoryPlaceIdentifier').combobox('getValue') == "" || $('#txtJiLuBianMa').val() == "" ||$('#datdengjishijian').datetimebox('getValue') == "") {ui.error("数据不完整,新增失败!", 1000, false);return false;}//新增冲红单$.getJSON("/ZiYingWuDingDanJinCangChongHong/Insert_Offsert?" +"repertoryEnterId=" + repertoryEnterid + "&" +"recordNumber=" + $('#txtWuDingDanCHJiLuBianMa').val() + "&" +"registrantId=" + $('#dengjiren').combobox('getValue') + "&" +"registerTime=" + $('#datdengjishijian').datetimebox('getValue'),function (data) {if (data > 0) {$("#tb进窗信息").datagrid("endEdit", $('#tb进窗信息').datagrid('getRowIndex', $('#tb进窗信息').datagrid('getSelected')));var dataMingXi = $('#tb进窗信息').datagrid('getRows');for (var i = 0; i < dataMingXi.length; i++) {//新增新进仓明细$.getJSON("/ZiYingWuDingDanJinCangChongHong/Insert_NewRepertoryEnterDetail?" +"repertoryEnterId=" + repertoryEnterid + '&' +"goodsId=" + dataMingXi[i].Goods_id + '&' +"repertoryEnterQuantity=" + dataMingXi[i].Shipments_quantity + '&' +"repertoryEnterPackages=" + dataMingXi[i].NumberOfUnits + "&" +"giveawayQuantity=" + dataMingXi[i].WuGouShuLiang);}ui.alert('新增进仓冲红单保存成功!!!', 1000, false);QingChu();$('#Auditor').combobox({ disabled: false });$('#datshenheshijian').datetimebox({ disabled: false });} else {ui.alert('新增进仓冲红单保存失败!!!', 1000, false);}});}});
}
控制代码:
#region 保存新增//新增新进仓单明细(进仓冲红明细)public void Insert_NewRepertoryEnterDetail(string repertoryEnterId, string goodsId,string repertoryEnterQuantity, string repertoryEnterPackages,string giveawayQuantity){_myWuDingDanJinCangChongHong.Insert_NewRepertoryEnterDetail(Convert.ToInt32(repertoryEnterId),Convert.ToInt32(goodsId),Convert.ToDecimal(repertoryEnterQuantity),Convert.ToDecimal(repertoryEnterPackages),Convert.ToDecimal(giveawayQuantity));}//新增冲红单public int Insert_Offsert(string repertoryEnterId, string recordNumber,string registrantId, string registerTime){DataTable dt = _myWuDingDanJinCangChongHong.Insert_Offsert(Convert.ToInt32(repertoryEnterId),recordNumber,Convert.ToInt32(registrantId),Convert.ToDateTime(registerTime));return Convert.ToInt32(dt.Rows[0][0].ToString());}#endregion
逻辑层代码:
#region 保存新增//新增新进仓单明细(进仓冲红明细)public int Insert_NewRepertoryEnterDetail(int repertoryEnterId, int goodsId,decimal repertoryEnterQuantity, decimal repertoryEnterPackages,decimal giveawayQuantity){SqlParameter[] sql ={new SqlParameter("@NB", SqlDbType.Char),new SqlParameter("@Repertory_enter_id", SqlDbType.Int),new SqlParameter("@Goods_id", SqlDbType.Int),new SqlParameter("@Repertory_enter_quantity", SqlDbType.Decimal),new SqlParameter("@Repertory_enter_packages", SqlDbType.Decimal),new SqlParameter("@Giveaway_quantity", SqlDbType.Decimal),};sql[0].Value = "Insert_NewRepertoryEnterDetail";sql[1].Value = repertoryEnterId;sql[2].Value = goodsId;sql[3].Value = repertoryEnterQuantity;sql[4].Value = repertoryEnterPackages;sql[5].Value = giveawayQuantity;int dt = _myDalMethod.DAL_OPTableDB_Par("NOOrderFormOffsetEntry", sql);return dt;}//新增冲红单public DataTable Insert_Offsert(int repertoryEnterId,string recordNumber, int registrantId, DateTime registerTime){SqlParameter[] sql ={new SqlParameter("@NB", SqlDbType.Char),new SqlParameter("@Repertory_enter_id", SqlDbType.Int),new SqlParameter("@Record_number", SqlDbType.Char),new SqlParameter("@Registrant_id", SqlDbType.Int),new SqlParameter("@Register_time", SqlDbType.DateTime),};sql[0].Value = "Insert_Offsert";sql[1].Value = repertoryEnterId;sql[2].Value = recordNumber;sql[3].Value = registrantId;sql[4].Value = registerTime;DataTable dt = _myDalMethod.DAL_SelectDB_Par("NOOrderFormOffsetEntry", sql);return dt;}#endregion
#region 保存新增//新增新进仓单明细(进仓冲红明细)public int Insert_NewRepertoryEnterDetail(int repertoryEnterId, int goodsId,decimal repertoryEnterQuantity, decimal repertoryEnterPackages,decimal giveawayQuantity){SqlParameter[] sql ={new SqlParameter("@NB", SqlDbType.Char),new SqlParameter("@Repertory_enter_id", SqlDbType.Int),new SqlParameter("@Goods_id", SqlDbType.Int),new SqlParameter("@Repertory_enter_quantity", SqlDbType.Decimal),new SqlParameter("@Repertory_enter_packages", SqlDbType.Decimal),new SqlParameter("@Giveaway_quantity", SqlDbType.Decimal),};sql[0].Value = "Insert_NewRepertoryEnterDetail";sql[1].Value = repertoryEnterId;sql[2].Value = goodsId;sql[3].Value = repertoryEnterQuantity;sql[4].Value = repertoryEnterPackages;sql[5].Value = giveawayQuantity;int dt = _myDalMethod.DAL_OPTableDB_Par("NOOrderFormOffsetEntry", sql);return dt;}//新增冲红单public DataTable Insert_Offsert(int repertoryEnterId,string recordNumber, int registrantId, DateTime registerTime){SqlParameter[] sql ={new SqlParameter("@NB", SqlDbType.Char),new SqlParameter("@Repertory_enter_id", SqlDbType.Int),new SqlParameter("@Record_number", SqlDbType.Char),new SqlParameter("@Registrant_id", SqlDbType.Int),new SqlParameter("@Register_time", SqlDbType.DateTime),};sql[0].Value = "Insert_Offsert";sql[1].Value = repertoryEnterId;sql[2].Value = recordNumber;sql[3].Value = registrantId;sql[4].Value = registerTime;DataTable dt = _myDalMethod.DAL_SelectDB_Par("NOOrderFormOffsetEntry", sql);return dt;}#endregion
存储过程:
--新增冲红单
if(@NB='Insert_Offsert')
begin
begin tran
INSERT INTO Offset(Repertory_enter_id,Record_number,Registrant_id, Register_time,Review_deny)
VALUES     (@Repertory_enter_id,@Record_number,@Registrant_id,@Register_time,'false')
select @@IDENTITY UPDATE    Day_max_quantity
SET              Day_max_count = Day_max_count + 1
WHERE     (Day_max_quantity_id = 20)
commit tran
end
--新增新进仓单明细(进仓冲红明细)
if(@NB='Insert_NewRepertoryEnterDetail')
begin
INSERT INTO Repertory_enter_detail(Repertory_enter_detail_Farid,Repertory_enter_id, Goods_id, Repertory_enter_packages,Repertory_enter_quantity, Giveaway_quantity,ChongHong_deny)
VALUES     (0,@Repertory_enter_id,@Goods_id,@Repertory_enter_packages,@Repertory_enter_quantity,@Giveaway_quantity,'true')
end

7.对“修改”按钮的操作,所以功能的代码实现

JavaScript中代码:
//修改无订单进仓冲红function UpdateWDJinCangCH() {if (offsetId > 0) {$.getJSON("/ZiYingWuDingDanJinCangChongHong/UpdateWdJinCangChongHong?offsetId=" + offsetId + "&" +"repertoryEnterId=" + repertoryEnterId + "&" +"registrantId=" + $('#dengjiren').combobox('getValue') + "&" +"datdengjishijian=" + $('#datdengjishijian').datetimebox('getValue'),function (data) {if (data > 0) {ui.alert('修改无定进仓冲红单成功!!!', 1000, false);QingChu();}});}}
控制器代码:
#region 修改进仓冲红单public int UpdateWdJinCangChongHong(string offsetId, string repertoryEnterId,string registrantId, string datdengjishijian){int dt = _myWuDingDanJinCangChongHong.UpdateWdJinCangChongHong(Convert.ToInt32(offsetId),Convert.ToInt32(repertoryEnterId),Convert.ToInt32(registrantId),Convert.ToDateTime(datdengjishijian));return dt;}#endregion
逻辑层代码:
#region 修改进仓冲红单public int UpdateWdJinCangChongHong(int offsetId, int repertoryEnterId, int registrantId, DateTime registerTime){SqlParameter[] sql ={new SqlParameter("@NB", SqlDbType.Char),new SqlParameter("@Offset_id", SqlDbType.Int),new SqlParameter("@Repertory_enter_id", SqlDbType.Int),new SqlParameter("@Registrant_id", SqlDbType.Int),new SqlParameter("@Register_time", SqlDbType.DateTime),};sql[0].Value = "UpdateWdJinCangChongHong";sql[1].Value = offsetId;sql[2].Value = repertoryEnterId;sql[3].Value = registrantId;sql[4].Value = registerTime;return _myDalMethod.DAL_OPTableDB_Par("NOOrderFormOffsetEntry", sql);}#endregion
存储过程:
--修改无订单进仓冲红
if(@NB='UpdateWdJinCangChongHong')
begin
UPDATE    Offset
SET              Repertory_enter_id =@Repertory_enter_id, Registrant_id =@Registrant_id, Register_time =@Register_time
where Offset.Offset_id=@Offset_id
end
8.对“放弃”按钮的功能操作
//清空function qingKong() {$('#txtWuDingDanJiLuBianMa').val('');$('#bumendaima').val('');$('#txtBuMenMC').val('');$('#AgreementCode').val('');$('#RepertoryPlaceIdentifier').combobox('clear');$('#kucunMC').val('');$('#jiesuanfangshi').val('');$('#txtFuJianZhangShu').val('');$('#txtTongJinCang').val('');$('#maijia').val('');$('#shouhuorenbianhao').combobox('clear');$('#ReceiverName').val('');$('#SupplyUnits').val('');$('#tb进窗信息').datagrid('loadData', { total: 0, rows: [] });$('#dengjiren').combobox('clear');$('#datdengjishijian').datetimebox('clear');$('#Auditor').combobox('clear');$('#datshenheshijian').datetimebox('clear');parent.document.getElementById("labTips").innerHTML = "";
}
8.对“审核”按钮的功能操作代码
在JavaScript中:
//审核无定单进仓冲红单function ShenHeWDJinCangChongHong() {var auditor = $('#Auditor').combobox('getValue');var shenheshijian = $('#datshenheshijian').datetimebox('getValue');var jCchMingXi = $('#tb进窗信息').datagrid('getRows');var goodsid = 0;for (var i = 0; i < jCchMingXi.length; i++) {goodsid += jCchMingXi[i].Goods_id + ",";}$.getJSON("/ZiYingWuDingDanJinCangChongHong/ShenHeWdJinCangChongHong?repertoryPlaceId=" + repertoryPlaceId + "&" +"goodsid=" + goodsid + "&" +"offsetId=" + offsetId + "&" +"auditor=" + auditor + "&" +"shenheshijian=" + shenheshijian, function (data) {var tip = "";if (data == "审核成功!!!") {ui.alert('审核成功!', 1000, false);} else {ui.error('审核失败!详情请看右栏...', 1000, false);var strs1 = data.split('+');for (var j = 0; j < strs1.length; j++) {tip += "<li style='font-size:15px;margin-left:1px;'>" + strs1[j] + "</li>";}}if (tip != "") {parent.document.getElementById("labTips").innerHTML = "<ol >" + tip + "</ol>";}});}
控制器代码:
#region 审核进仓冲红单public ActionResult ShenHeWdJinCangChongHong(int repertoryPlaceId, string goodsid, int offsetId, int auditor, DateTime shenheshijian){string[] goodIds = goodsid.Split(',');string msg = "";var stocksid = new List<int>();var chongHongShuList = new List<int>();for (int i = 0; i < goodIds.Length - 1; i++){DataTable dt = _myWuDingDanJinCangChongHong.SelectStockQuantity(repertoryPlaceId, Convert.ToInt32(goodIds[i]));int stockQuantity = Convert.ToInt32(dt.Rows[0]["Stock_quantity"]);int stockId = Convert.ToInt32(dt.Rows[0]["Stock_id"]);DataTable dt1 = _myWuDingDanJinCangChongHong.SelectJcchMingXi(offsetId);int repertoryEnterQuantity = Convert.ToInt32(dt1.Rows[0]["Repertory_enter_quantity"]);int giveawayQuantity = Convert.ToInt32(dt1.Rows[0]["Giveaway_quantity"]);var zongChongHongShu = repertoryEnterQuantity + giveawayQuantity;if (stockQuantity > -zongChongHongShu){stocksid.Add(stockId);chongHongShuList.Add(zongChongHongShu);}else{msg += "库存不足!";}}if (msg == ""){for (int i = 0; i < stocksid.Count; i++){_myWuDingDanJinCangChongHong.UpateStockQuary(stocksid[i], chongHongShuList[i]);}_myWuDingDanJinCangChongHong.Insert_JCCHAuditorAndReview_time(auditor, shenheshijian);_myWuDingDanJinCangChongHong.UpateJcchdShenHeFou(offsetId);msg = "审核成功!!!";}return Json(msg, JsonRequestBehavior.AllowGet);}#endregion
逻辑层代码:#region 审核进仓冲红单//(1)查询库存数根据仓库id,商品idpublic DataTable SelectStockQuantity(int repertoryPlaceId, int goodsid){SqlParameter[] sql ={new SqlParameter("@NB", SqlDbType.Char),new SqlParameter("@Repertory_place_id", SqlDbType.Int),new SqlParameter("@Goods_id", SqlDbType.Int),};sql[0].Value = "SelectStockQuantity";sql[1].Value = repertoryPlaceId;sql[2].Value = goodsid;DataTable dt = _myDalMethod.DAL_SelectDB_Par("NOOrderFormOffsetEntry", sql);return dt;}//(2)查询进仓明细(每条单的总冲红数)public DataTable SelectJcchMingXi(int offsetId){SqlParameter[] sql ={new SqlParameter("@NB", SqlDbType.Char),new SqlParameter("@Offset_id", SqlDbType.Int),};sql[0].Value = "SelectJcchMingXi";sql[1].Value = offsetId;DataTable dt = _myDalMethod.DAL_SelectDB_Par("NOOrderFormOffsetEntry", sql);return dt;}//(3)修改库存数量public void UpateStockQuary(int stockId, Decimal stockQuantity){SqlParameter[] sql ={new SqlParameter("@NB", SqlDbType.Char),new SqlParameter("@Stock_id", SqlDbType.Int),new SqlParameter("@Stock_quantity", SqlDbType.Decimal),};sql[0].Value = "UpateStockQuary";sql[1].Value = stockId;sql[2].Value = stockQuantity;_myDalMethod.DAL_SelectDB_Par("NOOrderFormOffsetEntry", sql);}//(4)修改进仓冲红单的审核否public void UpateJcchdShenHeFou(int offsetId){SqlParameter[] sql ={new SqlParameter("@NB", SqlDbType.Char),new SqlParameter("@Offset_id",SqlDbType.Int),};sql[0].Value = "UpateJCCHDShenHeFou";sql[1].Value = offsetId;_myDalMethod.DAL_SelectDB_Par("NOOrderFormOffsetEntry", sql);}//(5)新增进仓冲红的审核人和审核时间public void Insert_JCCHAuditorAndReview_time(int auditor, DateTime shenheshijian){SqlParameter[] sql ={new SqlParameter("@NB", SqlDbType.Char),new SqlParameter("@Auditor_id", SqlDbType.Int),new SqlParameter("@Review_time", SqlDbType.DateTime),};sql[0].Value = "Insert_JCCHAuditorAndReview_time";sql[1].Value = auditor;sql[2].Value = shenheshijian;_myDalMethod.DAL_SelectDB_Par("NOOrderFormOffsetEntry", sql);}#endregion
存储过程:
--审核无定单进仓冲红
--()查询库存数根据仓库id和商品id
if(@NB='SelectStockQuantity')
begin
SELECT     isnull(Stock_quantity,0) as Stock_quantity,Stock_id
FROM         Stock
where Repertory_place_id=@Repertory_place_id and Goods_id=@Goods_id
end
--(2)查询无定进仓明细(每条单的总冲红数根据冲红id
if(@NB='SelectJcchMingXi')
begin
SELECT     Repertory_enter_detail.Repertory_enter_quantity, Repertory_enter_detail.Giveaway_quantity, Repertory_enter_detail.Repertory_enter_packages, Offset.Offset_id, Offset.Repertory_enter_id
FROM         Repertory_enter_detail INNER JOINOffset ON Repertory_enter_detail.Repertory_enter_id = Offset.Repertory_enter_id
where  Offset.Offset_id=@Offset_id
end
--(3)修改库存数量
if(@NB='UpateStockQuary')
begin
UPDATE    Stock
SET              Stock_quantity =Stock_quantity-@Stock_quantity
where Stock_id=@Stock_id
end
--(4)修改进仓冲红单的审核否
if(@NB='UpateJcchdShenHeFou')
begin
begin tran
UPDATE    Offset
SET              Review_deny = 'true'
where Offset_id=@Offset_idUPDATE    Repertory_enter
SET              YouXiaoFou ='false'
where Repertory_enter_id=(SELECT     Repertory_enter_id
FROM         Offset where Offset_id=@Offset_id)
UPDATE    Repertory_enter
SET              ChongHongFou ='true'
where Repertory_enter_id=(SELECT     Repertory_enter_id
FROM         Offset
WHERE     (Offset_id = @Offset_id))commit tran
end
--(5)新增进仓冲红的审核人和审核时间
if(@NB='Insert_JCCHAuditorAndReview_time')
begin
INSERT INTO Offset(Auditor_id, Review_time)
VALUES     (@Auditor_id,@Review_time)
end

            

仅供初学者使用,禁止商业用途。

每件事情都必须有一个期限,否则,大多数人都会有多少时间就花掉多少时间。

经验不是发生在一个人身上的事件,而是一个人如何看待发生在他身上的事。



大型商贸系统(进货管理)技术解析(五)自营无订单进仓冲红单相关推荐

  1. 大型商贸系统(进货管理)技术解析(三)自营进仓冲红单

    大型商贸系统(进货管理)技术解析(三)自营进仓冲红单 功能介绍:        进仓冲红单通过选择已审核进仓单抵消某张已审核过的进仓单使其进货无效.进仓冲红包括自营进仓冲红:无订单进仓冲红.其中自营进 ...

  2. 大型商贸系统(进货管理)技术解析(四)自营无订单进仓单

    大型商贸系统(进货管理)技术解析(四)自营无订单进仓单 功能介绍:        自营无订单进仓单为进货店的客户进行开单,是根据合同来进仓.对于自营无订单进仓单,该系统提供了2种方式:(1)实现一次性 ...

  3. 大型商贸系统(进货管理)技术解析(二)自营进仓单录入

    大型商贸系统(进货管理)技术解析(二)自营进仓单录入 功能介绍: 自营进仓单录入为进货店的客户进行开单,是根据商品订单来进仓.对于商品进仓,系统提供了2种方式:(1)实现一次性全部将需求的商品信息进行 ...

  4. 大型商贸系统(进货管理)技术解析(六)查询进仓单

    大型商贸系统(进货管理)技术解析(六)查询进仓单 功能介绍:     查询进仓单为客户提供了对录入的各种进仓单情况进行方便快速查询,更具审核否,有无订单否,原始单号,记录编号等条件,不定条件查询的功能 ...

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

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

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

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

  7. WCF医院管理系统技术解析(五)体检登记(四)

    WCF医院管理系统技术解析(五)体检登记(四)涉及拼音简码 体检登记中的新增病人(需要注意的是:该病人不经过挂号和处方,只是到医院进行体检)与医院中的前台登记病人不同. 对于这种情况:我的思路是:该病 ...

  8. 深度 | 面向云原生数据湖的元数据管理技术解析

    简介: 作者:沐远.明惠 背景 数据湖当前在国内外是比较热的方案,MarketsandMarkets市场调研显示预计数据湖市场规模在2024年会从2019年的79亿美金增长到201亿美金.一些企业已经 ...

  9. 苹果电动汽车热管理技术解析

    摘要: 本文以苹果电动汽车热管理系统专利为基础,对其电动汽车热管理系统技术新思路进行分析,为电动汽车热管理系统设计提供参考. 本文以苹果电动汽车热管理系统专利为基础,对其电动汽车热管理系统技术新思路进 ...

最新文章

  1. 自定义控件 DotNetBar
  2. 鸿蒙系统支持最低处理器,这四款华为手机可升级到鸿蒙系统,老机型居多,最低只需千元!...
  3. c语言 int64 t占位符,为什么我会得到“您必须为dtype int64提供占位符张量输出值”?...
  4. 部分博客中的代码已放到了GitHub上,欢迎大家下载阅读!
  5. java yyyy m d_日期-Java 8时间API:如何将格式“ MM.yyyy”的字符串解析为LocalD
  6. CSS3与页面布局学习笔记(三)——BFC、定位、浮动、7种垂直居中方法
  7. 大数据学习笔记47:Flume - 下载、安装与配置
  8. 实现后台高级查询(基础版)
  9. 20 年前,微软怎样改变了我们鼠标的使用方式?| 极客头条
  10. [linux/ unix] 查看占用端口的 进程ID 的区别
  11. Python报错:ValueError: operands could not be broadcast together with shapes
  12. mysql backup 使用_MySQLBackup 使用说明
  13. 抖音为何能一夜爆火?
  14. AMiner 会议论文推荐第十四期
  15. Branches ‘develop‘ and ‘origin/develop‘ have diverged. Fatal: And branch ‘develop‘ may be fast-forwa
  16. 大规模异构图召回在美团到店推荐广告的应用
  17. 微信H5如何直接关注公众号
  18. vba中取小数点后两位数_如何在Excel中提取小数点后面的数字?
  19. mysql按1-12月查询统计数据
  20. 2021年氯化工艺复审考试及氯化工艺作业模拟考试

热门文章

  1. CG-光栅图形学消隐算法-学习笔记
  2. 安卓手机导出通话记录到Excel
  3. 浏览器解析问题造成的存储型跨站漏洞(DVBBS为例)
  4. 东莞注塑MES管理系统具有哪些功能
  5. Package Manager 搜索不到资源包的问题
  6. ubuntu下安装Firefox中国版解决Ubuntu与Windows下Firefox账号同步问题
  7. 关于windos 10 恶意软件删除工具的使用
  8. visual basic李天生第二章笔记
  9. 卖着3元冰淇淋、均价6元奶茶的蜜雪冰城怎么赚钱?
  10. 太极软件qn的代码_太极QN插件高级验证码手性碳原子