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

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

功能介绍:

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

效果图:


图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 JOIN
                      Agreement ON Repertory_enter.Agreement_id = Agreement.Agreement_id INNER JOIN
                      Department ON Agreement.Purchase_unit_id = Department.Department_id INNER JOIN
                      Repertory_place ON Repertory_enter.Repertory_place_id = Repertory_place.Repertory_place_id INNER JOIN
                      Attribute_gather_detail ON Agreement.Settlement_pubid = Attribute_gather_detail.Attribute_gather_detail_id INNER JOIN
                      Eemployee ON Agreement.Purchasing_agent_id = Eemployee.Employee_id INNER JOIN
                      Eemployee AS Eemployee_1 ON Repertory_enter.Receiver_id = Eemployee_1.Employee_id INNER JOIN
                      Supply_units ON Agreement.Supply_units_id = Supply_units.Supply_units_id INNER JOIN
                      Enterprise_name ON Supply_units.Enterprise_name_id = Enterprise_name.Enterprise_name_id INNER JOIN
                      Eemployee AS Eemployee_2 ON Repertory_enter.Registrant_id = Eemployee_2.Employee_id INNER JOIN
                      Eemployee AS Eemployee_3 ON Repertory_enter.Auditor_id = Eemployee_3.Employee_id INNER JOIN
                      Attribute_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 JOIN
                      Agreement ON Repertory_enter.Agreement_id = Agreement.Agreement_id INNER JOIN
                      Department ON Agreement.Purchase_unit_id = Department.Department_id INNER JOIN
                      Repertory_place ON Repertory_enter.Repertory_place_id = Repertory_place.Repertory_place_id INNER JOIN
                      Attribute_gather_detail ON Agreement.Settlement_pubid = Attribute_gather_detail.Attribute_gather_detail_id INNER JOIN
                      Eemployee ON Agreement.Purchasing_agent_id = Eemployee.Employee_id INNER JOIN
                      Eemployee AS Eemployee_1 ON Repertory_enter.Receiver_id = Eemployee_1.Employee_id INNER JOIN
                      Supply_units ON Agreement.Supply_units_id = Supply_units.Supply_units_id INNER JOIN
                      Enterprise_name ON Supply_units.Enterprise_name_id = Enterprise_name.Enterprise_name_id INNER JOIN
                      Eemployee AS Eemployee_2 ON Repertory_enter.Registrant_id = Eemployee_2.Employee_id INNER JOIN
                      Eemployee AS Eemployee_3 ON Repertory_enter.Auditor_id = Eemployee_3.Employee_id INNER JOIN
                      Attribute_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 ZongYaoRuKuShu
                     
FROM         Goods INNER JOIN
                      Attribute_gather_detail ON Goods.Unit_of_measurement_pubid = Attribute_gather_detail.Attribute_gather_detail_id INNER JOIN
                      Attribute_gather_detail AS Attribute_gather_detail_1 ON Goods.Use_target_pubid = Attribute_gather_detail_1.Attribute_gather_detail_id INNER JOIN
                      Attribute_gather_detail AS Attribute_gather_detail_2 ON Goods.Quality_grade_pubid = Attribute_gather_detail_2.Attribute_gather_detail_id INNER JOIN
                      Manage_season ON Goods.Manage_season_id = Manage_season.Manage_season_id INNER JOIN
                      Attribute_gather_detail AS Attribute_gather_detail_3 ON Goods.Goods_tab_pubid = Attribute_gather_detail_3.Attribute_gather_detail_id INNER JOIN
                      Manufacturer ON Goods.Manufacturer_id = Manufacturer.Manufacturer_id INNER JOIN
                      Goods_producing_area ON Goods.Producing_area_id = Goods_producing_area.Producing_area_id INNER JOIN
                      Attribute_gather_detail AS Attribute_gather_detail_4 ON Goods.Product_status_pubid = Attribute_gather_detail_4.Attribute_gather_detail_id INNER JOIN
                      Eemployee AS Eemployee_1 ON Goods.Registrant_id = Eemployee_1.Employee_id INNER JOIN
                      Eemployee ON Goods.Auditor_id = Eemployee.Employee_id INNER JOIN
                      Eemployee AS Eemployee_2 ON Goods.Update_person_id = Eemployee_2.Employee_id INNER JOIN
                      Attribute_gather_detail AS Attribute_gather_detail_5 ON Goods.Goods_classify_pubid = Attribute_gather_detail_5.Attribute_gather_detail_id INNER JOIN
                      Agreement ON Goods.Agreement_id = Agreement.Agreement_id INNER JOIN
                      Goods_rademark ON Goods.Goods_rademark_id = Goods_rademark.Goods_rademark_id INNER JOIN
                      Attribute_gather_detail AS Attribute_gather_detail_6 ON Goods.Quality_guarantee_period_pubid = Attribute_gather_detail_6.Attribute_gather_detail_id INNER JOIN
                      Repertory_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,商品id
		public 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 JOIN
                      Offset 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_id

UPDATE    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
            

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

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

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

 















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值