Пример #1
0
        //提交按钮
        protected void Commite_reinspect(object sender, EventArgs e)
        {
            string item_name  = select_name_reinspect.Value.Trim();
            string datecode   = DateCode_reinspect.Value.Trim();
            string frame_name = Request.Form["frame_name_reinspect"]; //frame_name_reinspect.Value;
            string status     = reinspect_select.Value;
            string remark     = remark_reinspect.Value.Trim();

            //判断输入框输入数据是否超出范围
            StrItem_name(item_name);
            StrRemark(remark);
            StrDatecode(datecode);

            bool   flag;
            string temp_flag;
            string check_user = "";

            try
            {
                check_user = Session["LoginName"].ToString();
            }
            catch (Exception ex)
            {
                PageUtil.showToast(this, "请重新登录!");
                return;
            }

            Reinspect_parameterDC reinspectdc = new Reinspect_parameterDC();

            if (!reinspectdc.checkItem_name(item_name))
            {
                PageUtil.showToast(this, "该料号未设置复验周期,无法复验!");
                return;
            }


            DateTime check_time = new DateTime();

            check_time = DateTime.Now;
            int     item_id, frame_key;
            DataSet list;
            PnDC    pn = new PnDC();
            PoDC    DC = new PoDC();

            try
            {
                item_id   = DC.getItem_idByItem_name(item_name);
                frame_key = DC.getFrame_keyByFrame_name(frame_name);
            }
            catch
            {
                PageUtil.showToast(this, "输入格式错误!");
                return;
            }

            //判断库存明细表中是否存在该料号、库别和料架
            DataSet table = DC.getItems_onhand_qty_detailByITEM_NAMEandSubinventoryandFrame_key(item_name, datecode, frame_key);

            if (table != null && table.Tables[0].Rows.Count > 0)
            {
                temp_flag = reinspect.getLineNumByPoHeaderId(item_id, datecode, frame_key)[0].ToString();
                //如果复验状态是PASS,则需要复验
                if ((temp_flag.Equals("PENDING")))
                {
                    int unique_id = reinspect.getSome(item_name, datecode, frame_name, status);
                    //判断是否存在
                    if (unique_id == -1)
                    {
                        //不存在,新增一条数据
                        flag = reinspect.insertReinspectHeader(item_name, datecode, frame_name, status, remark, check_user, check_time);
                        PageUtil.showToast(this, "该料号未复验过,复验成功!");
                    }
                    else
                    {
                        //已存在,更新数据
                        flag = reinspect.updateReinspectHeader(unique_id, status, remark, check_user, check_time);
                        PageUtil.showToast(this, "该料号已复验过,更新成功!");
                    }
                    if (flag)
                    {
                        Material_ioDC iodc = new Material_ioDC();
                        if (iodc.updateStatus(item_name, datecode, frame_name, status, check_time))
                        {
                            pending(sender, e);
                            PageUtil.showToast(this, "库存信息更新成功!");
                        }
                        else
                        {
                            PageUtil.showToast(this, "库存信息更新失败!");
                        }
                    }
                    else
                    {
                        PageUtil.showToast(this, "操作失败!");
                    }
                }
                else
                {
                    PageUtil.showToast(this, "该料不需要复验!");
                }
            }
            else
            {
                PageUtil.showToast(this, "没有该条数据!");
                return;
            }
            CleanAllMeassage_Click(sender, e);
        }