예제 #1
0
 /// <summary>
 /// 校验回温时间和烘烤温度不能为空
 /// </summary>
 /// <param name="curDgvr"></param>
 /// <param name="checkMsg"></param>
 /// <returns></returns>
 private bool CheckTime(DataGridViewRow curDgvr, out string checkMsg)
 {
     foreach (DataGridViewRow dgvr in dgv_SencondClass.Rows)
     {
         if (dgvr.Index == curDgvr.Index)
         {
             continue;
         }
         if (!(dgvr.Cells["TemperatureMaxTime"].Value == null && dgvr.Cells["TemperatureMinTime"].Value == null))
         {
             if (SqlInput.ChangeNullToInt(dgvr.Cells["TemperatureMaxTime"].Value, 0) >= SqlInput.ChangeNullToInt(curDgvr.Cells["TemperatureMaxTime"].Value, 0) &&
                 SqlInput.ChangeNullToInt(dgvr.Cells["TemperatureMinTime"].Value, 0) <= SqlInput.ChangeNullToInt(curDgvr.Cells["TemperatureMaxTime"].Value, 0) ||
                 SqlInput.ChangeNullToInt(dgvr.Cells["TemperatureMaxTime"].Value, 0) >= SqlInput.ChangeNullToInt(curDgvr.Cells["TemperatureminTime"].Value, 0) &&
                 SqlInput.ChangeNullToInt(dgvr.Cells["TemperatureMinTime"].Value, 0) <= SqlInput.ChangeNullToInt(curDgvr.Cells["TemperatureminTime"].Value, 0))
             {
                 checkMsg = "回温时间不能交叉";
                 return(false);
             }
         }
         //            if (!(dgvr.Cells["RoastMaxTemperature"].Value == null && dgvr.Cells["RoastMinTemperature"].Value == null))
         //            {
         //                if (SqlInput.ChangeNullToInt(dgvr.Cells["RoastMaxTemperature"].Value, 0) >= SqlInput.ChangeNullToInt(curDgvr.Cells["RoastMaxTemperature"].Value, 0)
         //&& SqlInput.ChangeNullToInt(dgvr.Cells["RoastMinTemperature"].Value, 0) <= SqlInput.ChangeNullToInt(curDgvr.Cells["RoastMaxTemperature"].Value, 0)
         //|| SqlInput.ChangeNullToInt(dgvr.Cells["RoastMaxTemperature"].Value, 0) >= SqlInput.ChangeNullToInt(curDgvr.Cells["RoastMinTemperature"].Value, 0)
         //&& SqlInput.ChangeNullToInt(dgvr.Cells["RoastMinTemperature"].Value, 0) <= SqlInput.ChangeNullToInt(curDgvr.Cells["RoastMinTemperature"].Value, 0))
         //                {
         //                    checkMsg = "烘烤温度不能交叉";
         //                    return false;
         //                }
         //            }
     }
     checkMsg = "OK";
     return(true);
 }
예제 #2
0
        /// <summary>
        /// 校验附料盘
        /// </summary>
        /// <returns></returns>
        private bool CheckFSn(out string result_sn)
        {
            result_sn = string.Empty;
            if (txtMsn.Text == txtFsn.Text)
            {
                new PubUtils().ShowNoteNGMsg("附料盘与主料盘不能相同", 1, grade.OrdinaryError);
                return(false);
            }
            string    serialnumber = txtFsn.Text;
            DataTable dtval        = Bll_Bllb_StockInfo_tbsi.ValidateSN(serialnumber);

            if (dtval.Rows.Count == 0)
            {
                new PubUtils().ShowNoteNGMsg("料盘编码不在库或数量为0", 1, grade.OrdinaryError);
                return(false);
            }
            if (materialcode != dtval.Rows[0]["MaterialCode"].ToString())
            {
                new PubUtils().ShowNoteNGMsg("主料盘与该料盘的料号不一致", 1, grade.OrdinaryError);
                return(false);
            }
            if (trv_node.Nodes.Find(result_sn, true).Length > 0)
            {
                new PubUtils().ShowNoteNGMsg("该料盘编码已存在", 1, grade.OrdinaryError);
                return(false);
            }
            result_sn = dtval.Rows[0]["SerialNumber"].ToString();
            dicTrvSn.Add(result_sn, SqlInput.ChangeNullToInt(dtval.Rows[0]["Qty"], 0));
            currentQty   += SqlInput.ChangeNullToInt(dtval.Rows[0]["Qty"], 0);
            lblTotal.Text = currentQty.ToString();
            return(true);
        }
예제 #3
0
        public static void InsertOrUpdateWipGroupStatistics(Model_Bllb_groupStatistics_tbgs obj)
        {
            //判断记录是否存在
            string strSql = string.Format(@"SELECT COUNT(1) FROM T_Bllb_groupStatistics_tbgs WHERE SfcNo='{0}' AND TBTG_ID='{1}'", obj.SfcNo, obj.TBTG_ID);

            if (SqlInput.ChangeNullToInt(CIT.Wcf.Utils.NMS.GetTableCount(PubUtils.uContext, strSql), 0) == 0)//新增
            {
                strSql = string.Format(@"INSERT INTO T_Bllb_groupStatistics_tbgs(SFCNO,TBTG_ID,PASS_NUM,ERROR_NUM) VALUES('{0}','{1}',{2},{3})", obj.SfcNo, obj.TBTG_ID, obj.PASS_NUM, obj.ERROR_NUM);
                CIT.Wcf.Utils.NMS.ExecTransql(PubUtils.uContext, strSql);
            }
        }
예제 #4
0
        /// <summary>
        /// 检验主料盘
        /// </summary>
        /// <returns></returns>
        private bool CheckMSn()
        {
            string    serialNumber    = txtMsn.Text;
            DataTable dt_MainMaterial = Bll_Bllb_StockInfo_tbsi.ValidateSN(serialNumber);

            if (dt_MainMaterial.Rows.Count == 0)
            {
                new PubUtils().ShowNoteNGMsg("主料号不在库或数量为0", 1, grade.OrdinaryError);
                return(false);
            }
            materialcode  = dt_MainMaterial.Rows[0]["MaterialCode"].ToString();
            currentQty   += SqlInput.ChangeNullToInt(dt_MainMaterial.Rows[0]["QTY"], 0);
            lblTotal.Text = currentQty.ToString();
            return(true);
        }
예제 #5
0
        /// <summary>
        /// 校验容器条码规则
        /// </summary>
        /// <param name="ruleName">规则名称</param>
        /// <param name="ContainerSN">容器SN</param>
        /// <param name="productCode">容器内产品的产品代码</param>
        /// <param name="msg"></param>
        /// <returns></returns>
        public static bool CheckContainerSNRule(string ruleName, string ContainerSN, string productCode, ref string msg)
        {
            string    strSql  = string.Format(@"SELECT IS_CHECK_SN_LENGTH, SN_LENGTH,IS_CHECK_SAME_STRING,SAME_STRING,SAME_STRING_BEGIN,
MATERIAL_FLAG,MATERIAL_LENGTH,MATERIAL_CODE_BEGIN,SN_BEGIN FROM T_Bllb_barcodeRule_tbbr T WHERE T.RULE_NAME ='{0}'", ruleName);
            DataTable dt_Rule = CIT.Wcf.Utils.NMS.QueryDataTable(PubUtils.uContext, strSql);

            if (dt_Rule.Rows.Count > 0)
            {
                //检验长度
                if (SqlInput.ChangeNullToString(dt_Rule.Rows[0]["IS_CHECK_SN_LENGTH"]) == "Y" & SqlInput.ChangeNullToInt(dt_Rule.Rows[0]["SN_LENGTH"], 0) != ContainerSN.Length)
                {
                    msg = "容器条码长度不正确";
                    return(false);
                }
                //校验固定字符
                if (SqlInput.ChangeNullToString(dt_Rule.Rows[0]["IS_CHECK_SAME_STRING"]) == "Y")
                {
                    string sameString = SqlInput.ChangeNullToString(dt_Rule.Rows[0]["SAME_STRING"]);
                    int    length     = sameString.Length;
                    int    begin      = SqlInput.ChangeNullToInt(dt_Rule.Rows[0]["SAME_STRING_BEGIN"], 0) - 1;//数据库保存是从1开始,实际中位置编号是从0开始,故要减1
                    if (ContainerSN.Substring(begin, length) != sameString)
                    {
                        msg = "容器条码的固定字符不正确";
                        return(false);
                    }
                }
                //校验产品代码
                if (SqlInput.ChangeNullToString(dt_Rule.Rows[0]["MATERIAL_FLAG"]) != "0")
                {
                    int length   = SqlInput.ChangeNullToInt(dt_Rule.Rows[0]["MATERIAL_LENGTH"], 0);
                    int m_begin  = SqlInput.ChangeNullToInt(dt_Rule.Rows[0]["MATERIAL_CODE_BEGIN"], 0) - 1;
                    int sn_begin = SqlInput.ChangeNullToInt(dt_Rule.Rows[0]["SN_BEGIN"], 0) - 1;
                    if (ContainerSN.Substring(sn_begin, length) != productCode.Substring(m_begin, length))
                    {
                        msg = "容器条码中的产品代码不正确";
                        return(false);
                    }
                }
            }

            return(true);
        }
예제 #6
0
 private void cbo_MaterialCode_SelectedIndexChanged(object sender, EventArgs e)
 {
     //cbo_MaterialCode.TextChanged -= cbo_MaterialCode_TextChanged;
     txt_MaterialDesc.Text = string.Empty;
     if (cbo_MaterialCode.Text != string.Empty)
     {
         DataTable dt_Spec = bll_Material.SelectNameAndSpec(cbo_MaterialCode.Text.Split('*')[0]);
         if (dt_Spec.Rows.Count == 0)
         {
             new PubUtils().ShowNoteNGMsg("未维护该物料基础信息!", 1, grade.OrdinaryError);
             cbo_PO_SelectedIndexChanged(null, null);
             return;
         }
         else
         {
             txt_MaterialDesc.Text = SqlInput.ChangeNullToString(dt_Spec.Rows[0]["Spec"]);
             txt_MinPackage.Text   = SqlInput.ChangeNullToInt(dt_Spec.Rows[0]["PackagingMin"], 1).ToString();
         }
     }
     //cbo_MaterialCode.TextChanged += cbo_MaterialCode_TextChanged;
 }
예제 #7
0
        /// <summary>
        /// 打印外包装标签
        /// </summary>
        /// <param name="SN"></param>
        /// <returns></returns>
        public static bool PrintContain_1_Info(string SN, string lableName, ref string msg)
        {
            if (SN == string.Empty)
            {
                msg = "箱条码不能为空";
                return(false);
            }
            else if (lableName == string.Empty)
            {
                msg = "打印标签不能为空";
                return(false);
            }
            Model.Model_PackageInfo _obj_PackageInfo = new Model_PackageInfo();
            T_Bllb_packageOne_tbpo  tbpo             = new T_Bllb_packageOne_tbpo();
            string    strSql = string.Format(@"select isnull(SUM(tbpi.QTY),0) as QTY,sfc.PO,tbpo.CONTAINER_SN_1 AS BOXID,
SFC.Product AS PRODUCTCODE,'12个月' as ACTIVE_LENGTH 
from T_Bllb_packageOne_tbpo as tbpo     
inner join T_Bllb_productInfo_tbpi as tbpi on tbpo.TBPS_ID=tbpi.TBPS_ID
inner join SfcDatProduct sfc on sfc.SfcNo=tbpi.SfcNo                                
where tbpo.CONTAINER_SN_1='{0}' GROUP BY sfc.PO,tbpo.CONTAINER_SN_1,SFC.Product", SN);
            DataTable dt_qty = NMS.QueryDataTable(PubUtils.uContext, strSql.ToString());

            if (dt_qty.Rows.Count == 0)
            {
                msg = "条码不是箱条码";
                return(false);
            }

            _obj_PackageInfo.QTY = SqlInput.ChangeNullToInt(dt_qty.Rows[0]["QTY"], 0).ToString();//容器实装数量
            if (_obj_PackageInfo.QTY == "0")
            {
                msg = "箱子中没有产品";
                return(false);
            }
            _obj_PackageInfo.PO            = SqlInput.ChangeNullToString(dt_qty.Rows[0]["PO"]);
            _obj_PackageInfo.PRODUCTCODE   = SqlInput.ChangeNullToString(dt_qty.Rows[0]["PRODUCTCODE"]);
            _obj_PackageInfo.P1            = SqlInput.ChangeNullToString(dt_qty.Rows[0]["PRODUCTCODE"]);
            _obj_PackageInfo.ACTIVE_LENGTH = "12个月";
            _obj_PackageInfo.BEGIN_DATE    = DateTime.Now.ToString("yyyyMMdd");
            _obj_PackageInfo.END_DATE      = DateTime.Now.AddMonths(12).ToString("yyyyMMdd");
            _obj_PackageInfo.E1            = DateTime.Now.AddMonths(12).ToString("yyyyMMdd");
            _obj_PackageInfo.BOXID         = SqlInput.ChangeNullToString(dt_qty.Rows[0]["BOXID"]);

            if (Bll_Common.GetSysParameter("DZ", "DZ006", ref msg))
            {
                string[] strs = msg.Split('|');
                if (strs.Length >= 2)
                {
                    _obj_PackageInfo.SUPPLIER      = strs[0];
                    _obj_PackageInfo.SUPPLIER_CODE = strs[1];
                }
                else
                {
                    msg = "在系统参数【单值】中的【DZ006】配置供应商信息";
                    return(false);
                }
            }
            else
            {
                msg = "在系统参数【单值】中的【DZ006】配置供应商信息";
                return(false);
            }

            if (_obj_PackageInfo.PrintOwn(lableName))
            {
                //标识为已打印外包装标签
                strSql = string.Format("update T_Bllb_packageOne_tbpo set PRINT_FLAG='Y' where CONTAINER_SN_1='{0}'", tbpo.CONTAINER_SN_1);
                NMS.ExecTransql(PubUtils.uContext, strSql);
            }
            return(true);
        }
예제 #8
0
        private void btn_ok_Click(object sender, EventArgs e)
        {
            T_Bllb_StorageDoc_tbsd         SC  = new T_Bllb_StorageDoc_tbsd();
            T_Bllb_StorageDocMaterial_tsdm SCD = new T_Bllb_StorageDocMaterial_tsdm();
            bool isSucess = false;

            if (_IsAddOrEdit == false)//新增
            {
                if (txt_DOC_NO.Text != string.Empty)
                {
                    SC.S_Doc_NO = txt_DOC_NO.Text.Trim();//单据号
                }
                if (cbo_SourceStorage.SelectedValue.ToString() != string.Empty)
                {
                    SC.Source_Storage = cbo_SourceStorage.SelectedValue.ToString();//原仓库
                }
                if (cbo_TargetStorage.SelectedValue.ToString() != string.Empty)
                {
                    SC.Target_Storage = cbo_TargetStorage.SelectedValue.ToString();//目的仓库
                }
                if (txt_memo.Text != string.Empty)
                {
                    SC.Memo = txt_memo.Text.Trim();//备注
                }
                if (cbo_SourceStorage.SelectedValue.ToString() == cbo_TargetStorage.SelectedValue.ToString())
                {
                    new PubUtils().ShowNoteNGMsg("原仓库不能跟目的仓库相同", 2, grade.OrdinaryError);
                    return;
                }
                lstMaterial.Clear();
                foreach (DataGridViewRow row in dgv_MaterialMoveAdd.Rows)
                {
                    if (!ValiMaterialCode(row))
                    {
                        return;
                    }
                    SCD.S_Doc_NO     = txt_DOC_NO.Text.Trim();
                    SCD.RowNumber    = SqlInput.ChangeNullToInt(row.Cells["RowNumber"].Value, 0);    //行号
                    SCD.MaterialCode = SqlInput.ChangeNullToString(row.Cells["MaterialCode"].Value); //料号
                    row.Cells["StorageQTY"].Value = Bll_Bllb_StockInfo_tbsi.GetQty(cbo_SourceStorage.SelectedValue.ToString(), SqlInput.ChangeNullToString(row.Cells["MaterialCode"].Value));
                    SCD.QTY      = SqlInput.ChangeNullToInt(row.Cells["StorageQTY"].Value, 0);       //库存量
                    SCD.Plan_Qty = SqlInput.ChangeNullToInt(row.Cells["Plan_Qty"].Value, 0);         //计划数量
                    lstMaterial.Add(SCD);
                    SCD = new T_Bllb_StorageDocMaterial_tsdm();
                }
                if (lstMaterial.Count > 0)
                {
                    if (Bll_Bllb_StorageDoc_tbsd.InsertDoc(SC))
                    {
                        isSucess = Bll_Bllb_StorageDocMaterial_tsdm.InsertMaterial(lstMaterial);
                    }
                }
            }
            else//修改
            {
                lstMaterial.Clear();
                foreach (DataGridViewRow row in dgv_MaterialMoveAdd.Rows)
                {
                    if (!ValiMaterialCode(row))
                    {
                        return;
                    }
                    SCD.S_Doc_NO     = txt_DOC_NO.Text.Trim();
                    SCD.RowNumber    = SqlInput.ChangeNullToInt(row.Cells["RowNumber"].Value, 0);    //行号
                    SCD.MaterialCode = SqlInput.ChangeNullToString(row.Cells["MaterialCode"].Value); //料号
                    row.Cells["StorageQTY"].Value = Bll_Bllb_StockInfo_tbsi.GetQty(cbo_SourceStorage.SelectedValue.ToString(), SqlInput.ChangeNullToString(row.Cells["MaterialCode"].Value));
                    SCD.QTY      = SqlInput.ChangeNullToInt(row.Cells["StorageQTY"].Value, 0);       //库存量
                    SCD.Plan_Qty = SqlInput.ChangeNullToInt(row.Cells["Plan_Qty"].Value, 0);         //计划数量
                    lstMaterial.Add(SCD);
                    SCD = new T_Bllb_StorageDocMaterial_tsdm();
                }
                if (lstMaterial.Count > 0)
                {
                    string strWhere = string.Format("S_Doc_NO ='{0}'", txt_DOC_NO.Text.Trim());
                    if (Bll_Bllb_StorageDocMaterial_tsdm.DeleteMaterial(strWhere))
                    {
                        isSucess = Bll_Bllb_StorageDocMaterial_tsdm.InsertMaterial(lstMaterial);
                    }
                }
            }
            if (isSucess)
            {
                new PubUtils().ShowNoteOKMsg("保存成功!");
                this.result = DialogResult.OK;
                this.Close();
            }
        }
예제 #9
0
        private bool ValiMaterialCode(DataGridViewRow row)
        {
            if (row.Cells["MaterialCode"].EditedFormattedValue.ToString() == string.Empty)
            {
                new PubUtils().ShowNoteNGMsg("料号不能为空", 2, grade.RepeatedError);
                return(false);
            }

            string    strSql           = string.Format("select * from T_Bllb_StockInfo_tbsi where MaterialCode='{0}'", row.Cells["MaterialCode"].EditedFormattedValue);
            DataTable dt_MaterialExist = NMS.QueryDataTable(PubUtils.uContext, strSql);

            if (dt_MaterialExist.Rows.Count == 0)
            {
                new PubUtils().ShowNoteNGMsg("料号不存在", 2, grade.OrdinaryError);
                return(false);
            }
            if (_IsAddOrEdit == true && dgv_MaterialMoveAdd.Rows.Count == 1)
            {
                return(true);
            }
            if (_IsAddOrEdit == false)
            {
                string    str_Exist = string.Format("select * from T_Bllb_StorageDocMaterial_tsdm where MaterialCode='{0}' and S_Doc_NO='{1}'", row.Cells["MaterialCode"].EditedFormattedValue, txt_DOC_NO.Text.Trim());
                DataTable dt_Exist  = NMS.QueryDataTable(PubUtils.uContext, str_Exist);
                if (dt_Exist.Rows.Count > 0)
                {
                    new PubUtils().ShowNoteNGMsg("单据不能添加重复的料号", 2, grade.OrdinaryError);
                    return(false);
                }
            }

            foreach (DataGridViewRow dgvr in dgv_MaterialMoveAdd.Rows)
            {
                if (dgvr.Index == row.Index)
                {
                    continue;
                }
                if (SqlInput.ChangeNullToString(dgvr.Cells["MaterialCode"].EditedFormattedValue) == SqlInput.ChangeNullToString(row.Cells["MaterialCode"].EditedFormattedValue))
                {
                    new PubUtils().ShowNoteNGMsg("料号不能重复添加", 2, grade.OrdinaryError);
                    return(false);
                }
            }
            if (row.Cells["StorageQTY"].Value != null)
            {
                if (row.Cells["Plan_Qty"].EditedFormattedValue == null)
                {
                    new PubUtils().ShowNoteNGMsg("计划数量不能为空", 2, grade.OrdinaryError);
                    return(false);
                }
            }

            if (!(row.Cells["Plan_Qty"].Value == null && row.Cells["StorageQTY"].Value == null))
            {
                if (SqlInput.ChangeNullToInt(row.Cells["Plan_Qty"].EditedFormattedValue, 0) > SqlInput.ChangeNullToInt(row.Cells["StorageQTY"].Value, 0))
                {
                    new PubUtils().ShowNoteNGMsg("计划数量必须小于库存数量", 2, grade.OrdinaryError);
                    return(false);
                }
            }

            return(true);
        }
예제 #10
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_ok_Click(object sender, EventArgs e)
        {
            bool isSuccess             = false;
            T_Bllb_SecondClass_tbsc SC = new T_Bllb_SecondClass_tbsc();

            lstInsert.Clear();
            foreach (DataGridViewRow row in dgv_SencondClass.Rows)
            {
                if (!ValidataInput(row))
                {
                    return;
                }
                if (cbo_Type.SelectedValue.ToString() != string.Empty)//类型
                {
                    SC.Type = cbo_Type.Text.ToString();
                }
                if (txt_Class.Text.Trim() != string.Empty)//等级
                {
                    SC.Class = txt_Class.Text.Trim();
                }
                if (row.Cells["OrderNum"].Value != null)//序号
                {
                    SC.OrderNum = SqlInput.ChangeNullToString(row.Cells["OrderNum"].Value);
                }
                if (row.Cells["Condition"].Value != null)//条件
                {
                    SC.Condition = SqlInput.ChangeNullToString(row.Cells["Condition"].Value);
                }

                if (row.Cells["TemperatureMaxTime"].Value != null)//最大回温时间
                {
                    SC.TemperatureMaxTime = SqlInput.ChangeNullToInt(row.Cells["TemperatureMaxTime"].Value, 0);
                }

                if (row.Cells["TemperatureMinTime"].Value != null)//最小回温时间
                {
                    SC.TemperatureMinTime = SqlInput.ChangeNullToInt(row.Cells["TemperatureMinTime"].Value, 0);
                }

                if (row.Cells["ExposeTime"].Value != null)//暴露时间
                {
                    SC.ExposeTime = SqlInput.ChangeNullToInt(row.Cells["ExposeTime"].Value, 0);
                }

                if (row.Cells["InHouseTime"].Value != null)//冷藏时间
                {
                    SC.InHouseTime = SqlInput.ChangeNullToInt(row.Cells["InHouseTime"].Value, 0);
                }
                if (row.Cells["SplitTime"].Value != null)//拆分次数
                {
                    SC.SplitTime = SqlInput.ChangeNullToString(row.Cells["SplitTime"].Value);
                }

                if (row.Cells["RoastMaxTemperature"].Value != null)//最大烘烤温度
                {
                    SC.RoastMaxTemperature = SqlInput.ChangeNullToDecimal(row.Cells["RoastMaxTemperature"].Value, 0);
                }

                if (row.Cells["RoastMinTemperature"].Value != null)//最小烘烤温度
                {
                    SC.RoastMinTemperature = SqlInput.ChangeNullToDecimal(row.Cells["RoastMinTemperature"].Value, 0);
                }
                if (row.Cells["RoastTime"].Value != null)//烘烤时间
                {
                    SC.RoastTime = SqlInput.ChangeNullToInt(row.Cells["RoastTime"].Value, 0);
                }
                if (row.Cells["Remark"].Value != null)//备注
                {
                    //SC.Remark = row.Cells["Remark"].Value.ToString();
                    SC.Remark = SqlInput.ChangeNullToString(row.Cells["Remark"].Value);
                }
                lstInsert.Add(SC);
                SC = new T_Bllb_SecondClass_tbsc();
            }
            if (lstInsert.Count > 0)
            {
                isSuccess = T_Bllb_SecondClass_tbsc_DAL.Insert(lstInsert);
            }
            if (isSuccess)
            {
                new PubUtils().ShowNoteOKMsg("保存成功!");
                this.result = DialogResult.OK;
                this.Close();
            }
        }
예제 #11
0
        private bool ValidataInput(DataGridViewRow row)
        {
            string msg = string.Empty;

            if (txt_Class.Text == string.Empty)
            {
                new PubUtils().ShowNoteNGMsg("等级不能为空", 2, grade.RepeatedError);
                return(false);
            }
            string sqlcmd = string.Format("SELECT * FROM T_Bllb_SecondClass_tbsc WHERE Type='{0}' AND Class='{1}'", cbo_Type.Text, txt_Class.Text.Trim());

            if (NMS.QueryDataTable(PubUtils.uContext, sqlcmd).Rows.Count > 0)
            {
                new PubUtils().ShowNoteNGMsg("该类型的等级已存在", 2, grade.RepeatedError);
                return(false);
            }

            //if (/*row.Cells["TemperatureMaxTime"].Value == null && row.Cells["TemperatureMinTime"].Value == null &&*/ /*row.Cells["ExposeTime"].Value == null && */row.Cells["InHouseTime"].Value == null && row.Cells["SplitTime"].Value == null/* && row.Cells["RoastMaxTemperature"].Value == null && row.Cells["RoastMinTemperature"].Value == null && row.Cells["RoastTime"].Value == null */&& row.Cells["Remark"].Value == null)
            //    continue;
            if (cbo_Type.SelectedValue.ToString() == "2")
            {
                if (!CheckTime(row, out msg))
                {
                    MsgBox.Error(msg);
                    return(false);
                }
            }
            if (cbo_Type.SelectedValue.ToString() == "0" || cbo_Type.SelectedValue.ToString() == "1")
            {
                if (row.Cells["TemperatureMinTime"].Value == null)
                {
                    new PubUtils().ShowNoteNGMsg("最小回温时间不能为空", 2, grade.RepeatedError);
                    return(false);
                }
                if (row.Cells["TemperatureMaxTime"].Value == null)
                {
                    new PubUtils().ShowNoteNGMsg("最大回温时间不能为空", 2, grade.RepeatedError);
                    return(false);
                }
            }
            if (cbo_Type.SelectedValue.ToString() == "2")
            {
                if (row.Cells["RoastMinTemperature"].Value == null)
                {
                    new PubUtils().ShowNoteNGMsg("最小烘烤温度不能为空", 2, grade.RepeatedError);
                    return(false);
                }
                if (row.Cells["RoastMaxTemperature"].Value == null)
                {
                    new PubUtils().ShowNoteNGMsg("最大烘烤温度不能为空", 2, grade.RepeatedError);
                    return(false);
                }
                if (row.Cells["RoastTime"].Value == null)
                {
                    new PubUtils().ShowNoteNGMsg("烘烤时间不能为空", 2, grade.RepeatedError);
                    return(false);
                }
                if (row.Cells["ExposeTime"].Value == null || SqlInput.ChangeNullToInt(row.Cells["ExposeTime"].Value, 0) == 0)
                {
                    new PubUtils().ShowNoteNGMsg("暴露时间不能为空", 2, grade.RepeatedError);
                    return(false);
                }
            }
            if ((row.Cells["TemperatureMinTime"].Value != null && row.Cells["TemperatureMaxTime"].Value != null) && SqlInput.ChangeNullToInt(row.Cells["TemperatureMinTime"].Value, 0) >= SqlInput.ChangeNullToInt(row.Cells["TemperatureMaxTime"].Value, 0))
            {
                new PubUtils().ShowNoteNGMsg("最小回温时间必须小于最大回温时间", 2, grade.RepeatedError);
                return(false);
            }
            if ((row.Cells["RoastMinTemperature"].Value != null && row.Cells["RoastMaxTemperature"].Value != null) && SqlInput.ChangeNullToDecimal(row.Cells["RoastMinTemperature"].Value, 0) >= SqlInput.ChangeNullToDecimal(row.Cells["RoastMaxTemperature"].Value, 0))
            {
                new PubUtils().ShowNoteNGMsg("最小烘烤温度必须小于最大烘烤温度", 2, grade.RepeatedError);
                return(false);
            }
            return(true);
        }
예제 #12
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static bool Update(MdcdatMaterial M)
        {
            string strSql = string.Format(@"update MdcdatMaterial set MaterialCode='{0}',MaterialName='{1}',Type='{2}',HouseCode='{3}',HouseCode1='{4}',HouseCode2='{5}',IsMSD='{6}',IsSendCheck='{7}',SecondMaterialClass='{8}',IncomingType='{9}',PackageType='{10}',PackagingMax='{11}',PackagingMin='{12}',ShelfLifeTime='{13}',SafeQty='{14}',Updator='{15}',UpdateTime=getdate() where MaterialCode='{0}'", M.MaterialCode, M.MaterialName, M.Type, M.HouseCode, M.HouseCode1, M.HouseCode2, M.IsMSD, M.IsSendCheck, M.SecondMaterialClass, M.INCOMINGTYPE, M.PackageType, M.PackagingMax, M.PackagingMin, SqlInput.ChangeNullToInt(M.ShelfLifeTime, 0), SqlInput.ChangeNullToInt(M.SafeQty, 0), PubUtils.uContext.UserID);

            return(NMS.ExecTransql(PubUtils.uContext, strSql));
        }
예제 #13
0
        //执行打印
        private void Printing()
        {
            int MinQty     = SqlInput.ChangeNullToInt(txt_MinPackage.Text.Trim(), 0);
            int TotalQty   = SqlInput.ChangeNullToInt(txt_Qty.Text.Trim(), 0);
            int packageQty = TotalQty / MinQty;
            int lastQty    = TotalQty % MinQty;

            if (lastQty > 0)
            {
                packageQty++;
            }
            string snString      = string.Empty;
            string barCodeString = string.Empty;

            Model.Model_MaterialBarCode bar = new Model.Model_MaterialBarCode();
            Dictionary <string, string> dic = new Dictionary <string, string>();

            for (int i = 1; i <= packageQty; i++)//循环打印条码
            {
                dic.Clear();
                snString = getSN();
                if (string.IsNullOrEmpty(snString))
                {
                    new PubUtils().ShowNoteNGMsg("获取流水码失败!", 1, grade.SevereError);
                    return;
                }

                txtSN.Text = snString;

                barCodeString     = snString + "|" + cbo_MaterialCode.Text.Trim() + "|" + txt_Qty.Text.Trim() + "|" + txt_SUPPLIER_CODE.Text.Trim() + "|" + DateTime.Parse(dtpProductionDate.Text.Trim()).ToString("yyyyMMdd");
                bar.SUPPLIER_CODE = txt_SUPPLIER_CODE.Text.Trim();      //供应商代码
                dic.Add("SUPPLIER_CODE", bar.SUPPLIER_CODE);
                bar.MaterialCode = cbo_MaterialCode.Text.Split('*')[0]; //物料代码
                dic.Add("MaterialCode", bar.MaterialCode);
                bar.RowNumber = cbo_MaterialCode.Text.Split('*')[1];    //行号
                dic.Add("RowNumber", bar.RowNumber);
                bar.MaterialDesc = txt_MaterialDesc.Text.Trim();        //型号规格
                dic.Add("MaterialDesc", bar.MaterialDesc);
                bar.QTY = MinQty.ToString();                            //数量
                if (i == packageQty)
                {
                    dic.Add("QTY", lastQty.ToString());
                }
                else
                {
                    dic.Add("QTY", MinQty.ToString());
                }

                bar.BEGIN_DATE = dtpProductionDate.Value.ToString("yyMMdd"); //生产日期
                dic.Add("BEGIN_DATE", bar.BEGIN_DATE);
                bar.PO = cbo_PO.Text.Trim();                                 //采购订单号
                dic.Add("PO", bar.PO + "|" + bar.RowNumber);
                bar.SN = snString;
                dic.Add("SN", bar.SN);
                bar.QRCODE = bar.SUPPLIER_CODE + "|" + bar.MaterialCode + "|" + bar.SN + "|Q" + bar.QTY + "|D" + bar.BEGIN_DATE + "|" + bar.PO + "|" + bar.RowNumber;
                dic.Add("QRCODE", bar.QRCODE);
                Common.BLL.Bll_Print.PrintTemplet("来料打印", dic);
            }

            Reset();
        }
예제 #14
0
        /// <summary>
        /// 验证输入的资料是否有问题
        /// </summary>
        /// <returns></returns>
        private bool Validation()
        {
            #region 校验输入
            if (string.IsNullOrEmpty(txt_MaterialCode.Text.Trim()))
            {
                new PubUtils().ShowNoteNGMsg("请输入物料编码!", 1, grade.SevereError);
                return(false);
            }
            if (string.IsNullOrEmpty(txt_MinPackage.Text.Trim()))
            {
                new PubUtils().ShowNoteNGMsg("未获取最小包装数!", 1, grade.SevereError);
                return(false);
            }
            if (string.IsNullOrEmpty(txt_Qty.Text.Trim()))
            {
                txt_Qty.Focus();
                new PubUtils().ShowNoteNGMsg("请输入数量!", 1, grade.SevereError);
                return(false);
            }
            if (txt_PO.Text == string.Empty)
            {
                new PubUtils().ShowNoteNGMsg("请选择采购单", 1, grade.SevereError);
                return(false);
            }
            //if (string.IsNullOrEmpty(txtLotNo.Text.Trim()))
            //{
            //    new PubUtils().ShowNoteNGMsg("请输入LotNo", 1, grade.SevereError);
            //    return false;
            //}
            if (string.IsNullOrEmpty(txt_MPN.Text.Trim()))
            {
                new PubUtils().ShowNoteNGMsg("请输入MPN", 1, grade.SevereError);
                return(false);
            }
            int Qty;
            if (!int.TryParse(txt_Qty.Text.Trim(), out Qty))
            {
                new PubUtils().ShowNoteNGMsg("来料数量为数字", 1, grade.SevereError);
                return(false);
            }
            if (Qty <= 0)
            {
                new PubUtils().ShowNoteNGMsg("来料数量为正整数", 1, grade.SevereError);
                return(false);
            }
            if (txt_Qty.Text.Trim().Contains('.'))
            {
                new PubUtils().ShowNoteNGMsg("来料数量不能为小数", 1, grade.SevereError);
                return(false);
            }
            if (txt_DateCode.Text.Trim().Length != 8)
            {
                new PubUtils().ShowNoteNGMsg("DateCode八位有效", 1, grade.SevereError);
                return(false);
            }
            if (!Regex.IsMatch(txt_DateCode.Text.Trim(), @"(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229)"))
            {
                //new PubUtils().ShowNoteNGMsg("DateCode格式yyyyMMdd", 1, grade.SevereError);
                MsgBox.Error("DateCode格式yyyyMMdd");
                return(false);
            }
            string sql_check_mpn = string.Format(@"
SELECT  LocalMaterialCode ,
        SupplyMaterialCode,
        Supply,
        Remark,
        TBMR_ID
FROM[dbo].[T_Bllb_MaterialRelation_Tbmr] {0}", string.Format(" where SupplyMaterialCode='{0}' and LocalMaterialCode='{1}' ", txt_MPN.Text.Trim(), txt_MaterialCode.Text.Trim()));
            if (NMS.QueryDataTable(PubUtils.uContext, sql_check_mpn).Rows.Count == 0)
            {
                new PubUtils().ShowNoteNGMsg("物料关系不存在", 1, grade.SevereError);
                return(false);
            }
            #endregion
            #region 校验采购单是否关闭、 清点数量
            DataTable dt_po = NMS.QueryDataTable(PubUtils.uContext, "select Status,POID from T_Bllb_POMain_tbpm where PO='" + txt_PO.Text.Trim() + "'");
            if (SqlInput.ChangeNullToString(dt_po.Rows[0][0]) == "2")
            {
                new PubUtils().ShowNoteNGMsg("来料所属采购单已关闭", 1, grade.SevereError);
                return(false);
            }
            else
            {
                poid = SqlInput.ChangeNullToString(dt_po.Rows[0]["POID"]);
            }
            string    strSql      = string.Format(@"
SELECT  PO_DetailID ,
        Quantity ,
        ClearQty
FROM    dbo.T_Bllb_PODetail_tbpd
WHERE   PO_DetailID = '{0}'", dgvrSelected.Cells["PO_DetailID"].Value.ToString());
            DataTable dt_podetail = NMS.QueryDataTable(PubUtils.uContext, strSql);
            if (dt_podetail.Rows.Count == 0)
            {
                new PubUtils().ShowNoteNGMsg("采购单中不存在此物料", 1, grade.SevereError);
                return(false);
            }
            else
            {
                if (SqlInput.ChangeNullToInt(dt_podetail.Rows[0]["Quantity"], 0) < SqlInput.ChangeNullToInt(dt_podetail.Rows[0]["ClearQty"], 0) + SqlInput.ChangeNullToInt(txt_Qty.Text.Trim(), 0))
                {
                    //new PubUtils().ShowNoteNGMsg(string.Format("采购订单{0}清点数量将会超过计划数", txt_MaterialCode.Text.Trim()), 1, grade.SevereError);
                    MsgBox.Error(string.Format("采购订单{0}清点数量将会超过计划数", txt_MaterialCode.Text.Trim()));
                    return(false);
                }
                po_detailid = dt_podetail.Rows[0][0].ToString();
            }
            #endregion
            //return false;//测试用
            return(true);//正式用
        }
예제 #15
0
        //执行打印
        private void Printing()
        {
            #region 采购清点
            string doc_no       = string.Empty;                 //清点单号
            string MaterialCode = txt_MaterialCode.Text.Trim(); //料号
            int    qty          = 0;
            qty = SqlInput.ChangeNullToInt(txt_Qty.Text, 0);    //数量
            //判断清点单是否已生成,若无则自动生成清点单
            DataTable dt_doc = NMS.QueryDataTable(PubUtils.uContext, string.Format("SELECT S_Doc_NO  FROM T_Bllb_StorageDoc_tbsd WHERE PO='{0}'and DATEDIFF(DAY,GETDATE(),Create_Time)=0 AND S_Doc_Type='1' AND Close_Flag='N' ORDER BY Create_Time DESC", txt_PO.Text.Trim()));
            if (dt_doc.Rows.Count == 0)
            {
                dt_doc = NMS.QueryDataTable(PubUtils.uContext, "SELECT  TOP 1 RIGHT(S_Doc_NO,4)+1  FROM T_Bllb_StorageDoc_tbsd WHERE DATEDIFF(DAY,GETDATE(),Create_Time)=0  AND S_Doc_Type='1' ORDER BY Create_Time DESC");
                if (dt_doc.Rows.Count > 0)
                {
                    doc_no = "QD" + DateTime.Now.ToString("yyMMdd") + SqlInput.ChangeNullToInt(dt_doc.Rows[0][0], 0).ToString("0000");
                }
                else
                {
                    doc_no = "QD" + DateTime.Now.ToString("yyMMdd") + "0001";
                }

                string sql_qd_insert = string.Format(@"INSERT INTO dbo.T_Bllb_StorageDoc_tbsd
                                                    ( S_Doc_NO ,
                                                      S_Doc_Type ,
                                                      Create_Time ,
                                                      Creator ,
                                                      PO ,
                                                      POID
                                                    )
                                            VALUES  ( '{0}' , -- S_Doc_NO - nvarchar(50)
                                                      '1' , -- S_Doc_Type - nvarchar(10)
                                                      GETDATE() , -- Create_Time - datetime
                                                      '{1}' , -- Creator - nvarchar(50)
                                                      '{2}' , -- PO - nvarchar(50)
                                                      '{3}' -- POID - nvarchar(50)      
                                                    )", doc_no, PubUtils.uContext.UserID, txt_PO.Text.Trim(), poid);

                NMS.ExecTransql(PubUtils.uContext, sql_qd_insert);
            }
            else
            {
                doc_no = dt_doc.Rows[0][0].ToString();
            }
            int    totalQty  = 0;
            string sql_exist = string.Format(@"SELECT S_Doc_NO,QTY FROM T_Bllb_StorageDocMaterial_tsdm WHERE S_Doc_NO='{0}' and MaterialCode='{1}'", doc_no, txt_MaterialCode.Text.Trim());
            //判断清点单中是否已存在某物料
            DataTable dt_doc_material = NMS.QueryDataTable(PubUtils.uContext, sql_exist);
            if (dt_doc_material.Rows.Count == 0)
            {
                string sql_insert = string.Format(@"INSERT INTO dbo.T_Bllb_StorageDocMaterial_tsdm
                                                    ( S_Doc_NO ,
                                                      MaterialCode ,
                                                      QTY ,
                                                      PO_DetailID 
                                                    )
                                            VALUES  ( '{0}' , -- S_Doc_NO - nvarchar(50)
                                                      '{1}' , -- MaterialCode - nvarchar(50)
                                                       {2} , -- QTY - int
                                                      '{3}'  -- PO_DetailID - nvarchar(50) 
                                                    )", doc_no, MaterialCode, qty, po_detailid);

                NMS.ExecTransql(PubUtils.uContext, sql_insert);
                totalQty = qty;
            }
            else
            {
                string sql_update = string.Format(@"UPDATE T_Bllb_StorageDocMaterial_tsdm SET QTY=QTY+{1} WHERE S_Doc_NO='{0}' and MaterialCode='{2}'", doc_no, qty, txt_MaterialCode.Text.Trim());
                NMS.ExecTransql(PubUtils.uContext, sql_update);
                totalQty = SqlInput.ChangeNullToInt(dt_doc_material.Rows[0]["QTY"].ToString(), 0) + qty;
            }
            if (IsSendCheck)
            {
                //判断是否存在IQC单据若无,则新增
                iqc_no = string.Empty;//IQC检验单号
                string    sql_iqc_no = string.Format(@"
SELECT  [IQC_NO]
FROM    T_Bllb_IQCDoc_tbid
WHERE   S_DOC_NO = '{0}'
        AND OVER_FLAG = 'N'
        AND CREATE_TIME >= CONVERT(CHAR(10), GETDATE(), 120)
        AND Type = 'IQC' AND MaterialCode='{1}'", doc_no, txt_MaterialCode.Text.Trim());
                DataTable dt_IQC     = NMS.QueryDataTable(PubUtils.uContext, sql_iqc_no);
                if (dt_IQC.Rows.Count > 0)//修改送检数量
                {
                    iqc_no = dt_IQC.Rows[0][0].ToString();
                    string sql_iqc_update = string.Format(@"UPDATE T_Bllb_IQCDoc_tbid SET QTY=QTY+{1} WHERE IQC_NO='{0}' AND MaterialCode='{2}'", iqc_no, txt_Qty.Text.Trim(), txt_MaterialCode.Text.Trim());
                    NMS.ExecTransql(PubUtils.uContext, sql_iqc_update);
                }
                else//新增IQC单据
                {
                    DataTable dt_iqcwater = NMS.QueryDataTable(PubUtils.uContext, @"
SELECT TOP 1
        RIGHT(IQC_NO, 4) + 1
FROM    T_Bllb_IQCDoc_tbid
WHERE   CREATE_TIME >= CONVERT(CHAR(10), GETDATE(), 120)
        AND Type = 'IQC'
ORDER BY IQC_NO DESC ");
                    if (dt_iqcwater.Rows.Count > 0)
                    {
                        iqc_no = "IQC" + DateTime.Now.ToString("yyMMdd") + SqlInput.ChangeNullToInt(dt_iqcwater.Rows[0][0], 0).ToString("0000");
                    }
                    else
                    {
                        iqc_no = "IQC" + DateTime.Now.ToString("yyMMdd") + "0001";//IQC检验单号
                    }
                    string sql_iql_insert = string.Format(@"INSERT INTO dbo.T_Bllb_IQCDoc_tbid
                                                    ( IQC_NO ,
                                                      MaterialCode ,         
                                                      QTY ,     
                                                      CREATE_TIME ,   
		                                              S_DOC_NO,
		                                              PO
                                                    )
                                            VALUES  ( '{0}' , 
                                                      '{1}' ,  
                                                      {2} ,      
                                                      GETDATE() ,
		                                              '{3}',
		                                              '{4}' 
                                                    )", iqc_no, MaterialCode, qty, doc_no, txt_PO.Text.Trim());
                    NMS.ExecTransql(PubUtils.uContext, sql_iql_insert);
                }
            }
            //采购单物料清点数累计
            string sql_qd = string.Format(@" UPDATE T_Bllb_PODetail_tbpd SET ClearQty= ISNULL(ClearQty,0)+{2}  WHERE PO='{0}'  and MaterialCode='{1}'", txt_PO.Text.Trim(), MaterialCode, qty);
            NMS.ExecTransql(PubUtils.uContext, sql_qd);
            #endregion

            int MinQty     = SqlInput.ChangeNullToInt(txt_MinPackage.Text.Trim(), 0);
            int TotalQty   = SqlInput.ChangeNullToInt(txt_Qty.Text.Trim(), 0);
            int packageQty = TotalQty / MinQty;
            int lastQty    = TotalQty % MinQty;
            if (lastQty > 0)
            {
                packageQty++;
            }
            string snString                 = string.Empty;
            string barCodeString            = string.Empty;
            Model.Model_MaterialBarCode bar = new Model.Model_MaterialBarCode();
            Dictionary <string, string> dic = new Dictionary <string, string>();
            for (int i = 1; i <= packageQty; i++)//循环打印条码
            {
                dic.Clear();
                snString = GetSnNumber(); //getSN();
                if (string.IsNullOrEmpty(snString))
                {
                    new PubUtils().ShowNoteNGMsg("获取流水码失败!", 1, grade.SevereError);
                    return;
                }
                bar.MaterialCode = txt_MaterialCode.Text.Trim();//物料代码
                dic.Add("MaterialCode", bar.MaterialCode);
                if (i == packageQty && lastQty != 0)
                {
                    bar.QTY = lastQty.ToString();//数量
                    dic.Add("QTY", lastQty.ToString());
                }
                else
                {
                    bar.QTY = MinQty.ToString();//数量
                    dic.Add("QTY", MinQty.ToString());
                }
                bar.BEGIN_DATE = txt_DateCode.Text.Trim(); //生产日期
                dic.Add("BEGIN_DATE", bar.BEGIN_DATE);
                bar.PO = txt_PO.Text.Trim();               //采购订单号
                dic.Add("PO", bar.PO);
                bar.MPN = txt_MPN.Text.Trim();             //MPN
                dic.Add("MPN", bar.MPN);
                bar.SN = snString;
                dic.Add("SN", bar.SN);
                bar.QRCODE = snString;
                dic.Add("QRCODE", bar.QRCODE);
                string sql_detail_insert = string.Format(@"
                                        INSERT INTO dbo.T_Bllb_StorageDocDetail_tbsdd
                                                ( S_Doc_NO ,
                                                  MaterialCode ,
                                                  QTY ,
                                                  Create_Time ,
                                                  Creator ,
                                                  SerialNumber ,  
                                                  PO_DetailID,
                                                  Lot_No,
                                                  MPN,
                                                  DateCode,
                                                  Version
                                                )
                                        VALUES  ( '{0}' , -- S_Doc_NO - nvarchar(50)
                                                  '{1}' , -- MaterialCode - nvarchar(50)
                                                  {2} , -- QTY - int
                                                  GETDATE() , -- Create_Time - datetime
                                                  '{3}' , -- Creator - nvarchar(50)
                                                  '{4}' , -- SerialNumber - nvarchar(50)   
                                                  '{5}',  -- PO_DetailID - nvarchar(50)
                                                  '{6}',
                                                  '{7}',
                                                  '{8}',
                                                  '{9}'
                                                )", doc_no, MaterialCode, bar.QTY, PubUtils.uContext.UserID, bar.QRCODE, po_detailid, txtLotNo.Text.Trim(), txt_MPN.Text.Trim(), txt_DateCode.Text.Trim(), txtVersion.Text.Trim());
                NMS.ExecTransql(PubUtils.uContext, sql_detail_insert);
                string sql_barcode_log = string.Format(@"
INSERT INTO dbo.T_Bllb_MaterialLog_tbml
        ( SerialNumber ,
          CreateTime ,
          OperateType ,
          MaterialCode ,
          QTY ,
          Creator ,
          TBML_ID 
        )
VALUES  ( '{0}' , -- SerialNumber - nvarchar(200)
          GETDATE() , -- CreateTime - datetime
          '清点' , -- OperateType - nvarchar(50)
          '{1}' , -- MaterialCode - nvarchar(50)
          '{2}', -- QTY - int
          '{3}' , -- Creator - nvarchar(50)
          '{4}'  -- TBML_ID - nvarchar(50)
        )", bar.QRCODE, txt_MaterialCode.Text.Trim(), bar.QTY, PubUtils.uContext.UserID, Guid.NewGuid().ToString());
                NMS.ExecTransql(PubUtils.uContext, sql_barcode_log);
                if (IsSendCheck)
                {
                    //保存物料SN到IQC单据中
                    string sql_sn_iqc = string.Format(@"
                INSERT INTO T_Bllb_IQCProduct_tbip(
                                        TBIP_ID,
                                        IQC_NO,
                                        SERIAL_NUMBER,
                                        QTY)
                                        VALUES( 
                                        '{0}',
                                        '{1}',
                                        '{2}',{3})",
                                                      Guid.NewGuid(), iqc_no, bar.QRCODE, bar.QTY
                                                      );
                    NMS.ExecTransql(PubUtils.uContext, sql_sn_iqc);
                }
                Common.BLL.Bll_Print.PrintTemplet("安费诺来料打印", dic);
                bar = new Model.Model_MaterialBarCode();
            }
            new PubUtils().ShowNoteOKMsg("打印成功");
            ClearControl();
            txt_MPN.Focus();
        }