using System; 
 | 
using System.Collections.Generic; 
 | 
using System.Data; 
 | 
using System.Linq; 
 | 
using System.Web; 
 | 
using ViewAPI; 
 | 
  
 | 
namespace WebAPI.DLL 
 | 
{ 
 | 
    public class ClsSc_ICMOStepBillWorkQtyStatus_Tmp : DBUtility.ClsXt_BaseBill 
 | 
    { 
 | 
        //生产产量状态临时表 
 | 
        public Models.ClsSc_ICMOBillWorkQtyStatus_Tmp omodel = new Models.ClsSc_ICMOBillWorkQtyStatus_Tmp(); 
 | 
  
 | 
        public ClsSc_ICMOStepBillWorkQtyStatus_Tmp() 
 | 
        { 
 | 
            base.MvarItemKeySub = ""; 
 | 
            base.MvarItemKeySub2 = ""; 
 | 
            base.MvarItemKeySub3 = ""; 
 | 
            base.MvarItemKeySub4 = ""; 
 | 
            base.MvarItemKey = "Sc_ICMOBillWorkQtyStatus_Tmp"; 
 | 
            base.MvarReportTitle = "生产产量状态临时表(工序)"; 
 | 
            base.BillType = "3724"; 
 | 
        } 
 | 
  
 | 
        #region 固定代码 
 | 
  
 | 
        ~ClsSc_ICMOStepBillWorkQtyStatus_Tmp() 
 | 
        { 
 | 
        } 
 | 
  
 | 
        #endregion   自定义方法 
 | 
  
 | 
        //修改单据 
 | 
        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                // 
 | 
                oCn.BeginTran(); 
 | 
                //更新主表 
 | 
                oCn.RunProc("UpDate Sc_ICMOBillWorkQtyStatus_Tmp set  " + 
 | 
                "HSourceID=" + omodel.HSourceID.ToString() + 
 | 
                ",HReportType=" + omodel.HReportType.ToString() + 
 | 
                ",HPieceQty=" + omodel.HPieceQty.ToString() + 
 | 
                ",HQty=" + omodel.HQty.ToString() + 
 | 
                ",HBarCode='" + omodel.HBarCode + "'" + 
 | 
                ",HAddr='" + omodel.HAddr + "'" + 
 | 
                ",HSourceInterID=" + omodel.HSourceInterID.ToString() + 
 | 
                ",HSourceEntryID=" + omodel.HSourceEntryID.ToString() + 
 | 
                ",HSourceBillNo='" + omodel.HSourceBillNo + "'" + 
 | 
                ",HSplitNO='" + omodel.HSplitNO + "'" + 
 | 
                ",HSourceBillType='" + omodel.HSourceBillType + "'" + 
 | 
                ",HRelationInterID=" + omodel.HRelationInterID.ToString() + 
 | 
                ",HRelationEntryID=" + omodel.HRelationEntryID.ToString() + 
 | 
                ",HRelationBillNo='" + omodel.HRelationBillNo + "'" + 
 | 
                ",HReportEntryID=" + omodel.HReportEntryID.ToString() + 
 | 
                ",HGroupID=" + omodel.HGroupID.ToString() + 
 | 
                ",HWorkManID=" + omodel.HWorkManID.ToString() + 
 | 
                ",HBadQty=" + omodel.HBadQty.ToString() + 
 | 
                ",HWasterQty=" + omodel.HWasterQty.ToString() + 
 | 
                " where HInterID=" + lngBillKey.ToString()); 
 | 
                //删除关联 
 | 
                DeleteRelation(ref sReturn, lngBillKey); 
 | 
  
 | 
                sReturn = "修改单据成功!"; 
 | 
                oCn.Commit(); 
 | 
                return true; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                sReturn = e.Message; 
 | 
                oCn.RollBack(); 
 | 
                throw (e); 
 | 
            } 
 | 
        } 
 | 
        //新增单据 
 | 
        public override bool AddBill(ref string sReturn) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                //得到mainid 
 | 
                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
                //若MAINDI重复则重新获取 
 | 
                oCn.BeginTran(); 
 | 
                //主表 
 | 
  
 | 
                oCn.RunProc("Insert Into Sc_ICMOBillWorkQtyStatus_Tmp   " + 
 | 
               "(HInterID,HBillType,HSourceID,HReportType,HPieceQty" + 
 | 
               ",HMaterID,HGroupID,HWorkManID,HWorkReportDate,HDate" + 
 | 
               ",HBillSubType,HBillNo,HICMOInterID,HICMOEntryID,HICMOBillNo" + 
 | 
               ",HPlanQty,HQty,HBadQty,HWasterQty,HBarCode,HAddr,HMaker,HMakeDate" + 
 | 
               ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSplitNO,HSourceBillType" + 
 | 
               ",HRelationInterID,HRelationEntryID,HRelationBillNo,HReportEntryID,HProcID" + 
 | 
               ") " + 
 | 
                " values(" + omodel.HInterID.ToString() + ",'" + BillType + "'," + omodel.HSourceID.ToString() + "," + omodel.HReportType.ToString() + "," + omodel.HPieceQty.ToString() + 
 | 
                "," + omodel.HMaterID.ToString() + ",'" + omodel.HGroupID + "','" + omodel.HWorkManID + "','" + omodel.HWorkReportDate + "','" + omodel.HDate + "'" + 
 | 
                ",'" + omodel.HBillSubType.ToString() + "','" + omodel.HBillNo + "','" + omodel.HICMOInterID + "','" + omodel.HICMOEntryID + "','" + omodel.HICMOBillNo + "'" + 
 | 
                "," + omodel.HPlanQty.ToString() + "," + omodel.HQty.ToString() + "," + omodel.HBadQty.ToString() + "," + omodel.HWasterQty.ToString() + ",'" + omodel.HBarCode + "','" + omodel.HAddr + "','" + omodel.HMaker + "','" + omodel.HMakeDate + "'" + 
 | 
                "," + omodel.HSourceInterID.ToString() + "," + omodel.HSourceEntryID.ToString() + ",'" + omodel.HSourceBillNo + "','" + omodel.HSplitNO + "','" + omodel.HSourceBillType + "'" + 
 | 
                "," + omodel.HRelationInterID.ToString() + "," + omodel.HRelationEntryID.ToString() + ",'" + omodel.HRelationBillNo + "'," + omodel.HReportEntryID.ToString() + ",'" + omodel.HProcID + "'" + 
 | 
                ") "); 
 | 
                //更新关联数量 
 | 
                //AddNewRelation(ref sReturn, omodel.HInterID); 
 | 
                //更新关联数量 
 | 
                oCn.RunProc("exec h_p_Sc_UpDateICMOBillStepStatusRelation_Add " + omodel.HInterID); 
 | 
                //回填 生产状态表  日计划  为 已完工 状态 
 | 
                //oCn.RunProc("exec h_p_Sc_UpDateICMOBillQualityStatus " + omodel.HICMOStatusInterID.ToString() + ",3"); 
 | 
  
 | 
                //再次验证 保存是否 合理 
 | 
                DataSet ds = oCn.RunProcReturn("exec h_p_JIT_ICMOBillWorkQtyStatus_SaveCtrl @HInterId=" + omodel.HInterID + "", "h_p_JIT_ICMOBillWorkQtyStatus_SaveCtrl"); 
 | 
                if (ds == null || ds.Tables[0].Rows.Count <= 0) 
 | 
                { 
 | 
                    sReturn = "无验证数据!"; 
 | 
                    oCn.RollBack(); 
 | 
                    return false; 
 | 
                } 
 | 
                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "2") 
 | 
                { 
 | 
                    sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); 
 | 
                    oCn.RollBack(); 
 | 
                    return false; 
 | 
                } 
 | 
  
 | 
  
 | 
                sReturn = omodel.HInterID.ToString(); 
 | 
  
 | 
                oCn.Commit(); 
 | 
                return true; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                sReturn = e.Message; 
 | 
                oCn.RollBack(); 
 | 
                throw (e); 
 | 
            } 
 | 
        } 
 | 
        //显示单据 
 | 
        public override bool ShowBill(Int64 lngBillKey, ref string sReturn) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                //查询主表 
 | 
                DataSet Ds; 
 | 
                Ds = oCn.RunProcReturn("Select * from Sc_ICMOBillWorkQtyStatus_Tmp Where HInterID=" + lngBillKey.ToString(), "Sc_ICMOBillWorkQtyStatus_Tmp"); 
 | 
                if (Ds.Tables[0].Rows.Count == 0) 
 | 
                { 
 | 
                    sReturn = "单据未找到!"; 
 | 
                    return false; 
 | 
                } 
 | 
                //赋值 
 | 
                omodel.HInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]); 
 | 
                omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]); 
 | 
                omodel.HSourceID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSourceID"]); 
 | 
                omodel.HReportType = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HReportType"]); 
 | 
                omodel.HPieceQty = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPieceQty"]); 
 | 
                omodel.HQty = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HQty"]); 
 | 
                omodel.HBarCode = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBarCode"]); 
 | 
                omodel.HAddr = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HAddr"]); 
 | 
                omodel.HMaker = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HMaker"]); 
 | 
                omodel.HMakeDate = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HMakeDate"]); 
 | 
                omodel.HSourceInterID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HSourceInterID"]); 
 | 
                omodel.HSourceEntryID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HSourceEntryID"]); 
 | 
                omodel.HSourceBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSourceBillNo"]); 
 | 
                omodel.HSplitNO = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSplitNO"]); 
 | 
                omodel.HSourceBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSourceBillType"]); 
 | 
                omodel.HRelationInterID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HRelationInterID"]); 
 | 
                omodel.HRelationEntryID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HRelationEntryID"]); 
 | 
                omodel.HRelationBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRelationBillNo"]); 
 | 
                omodel.HReportEntryID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HReportEntryID"]); 
 | 
                omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim(); 
 | 
                omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim(); 
 | 
                omodel.HUpDateDate = Ds.Tables[0].Rows[0]["HUpDateDate"].ToString().Trim(); 
 | 
                omodel.HUpDater = Ds.Tables[0].Rows[0]["HUpDater"].ToString().Trim(); 
 | 
                omodel.HBackDate = Ds.Tables[0].Rows[0]["HBackDate"].ToString().Trim(); 
 | 
                omodel.HBacker = Ds.Tables[0].Rows[0]["HBacker"].ToString().Trim(); 
 | 
                omodel.HCheckDate = Ds.Tables[0].Rows[0]["HCheckDate"].ToString().Trim(); 
 | 
                omodel.HChecker = Ds.Tables[0].Rows[0]["HChecker"].ToString().Trim(); 
 | 
                omodel.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim(); 
 | 
                omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim(); 
 | 
                omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim(); 
 | 
                omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim(); 
 | 
  
 | 
                sReturn = "显示单据成功!"; 
 | 
                return true; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                sReturn = e.Message; 
 | 
                throw (e); 
 | 
            } 
 | 
        } 
 | 
  
 | 
  
 | 
        //审核 
 | 
        public bool CheckBill(int HSourceID, int HSourceInterID, int HSourceEntryID, string HSourceBillNo, int HICMOInterID, int HICMOEntryID, Int64 lngBillKey, string HBillNo, string procName, string sUser, ref string sReturn) 
 | 
        { 
 | 
            string sql = ""; 
 | 
            DataSet ds; 
 | 
            try 
 | 
            { 
 | 
                string HChecker = DBUtility.ClsPub.CurUserName; 
 | 
                string HCheckDate = DBUtility.ClsPub.GetServerDate(-1); 
 | 
                oCn.BeginTran(); 
 | 
                oCn.RunProc(" Update " + MvarItemKey + " set HBillStatus='2',HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' Where HInterID=" + lngBillKey.ToString()); 
 | 
                sReturn = "审核单据成功!"; 
 | 
  
 | 
                //审核后控制===============================================Begin================================================================ 
 | 
                sql = "exec " + procName + " " + lngBillKey + ",'" + HBillNo + "','" + sUser + "'"; 
 | 
                ds = oCn.RunProcReturn(sql, procName); 
 | 
                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) 
 | 
                { 
 | 
                    sReturn = "审核过程中出错,请与网络管理人员联系"; 
 | 
                    oCn.RollBack(); 
 | 
                    return false; 
 | 
                } 
 | 
                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") 
 | 
                { 
 | 
                    sReturn = ds.Tables[0].Rows[0]["HRemark"].ToString(); 
 | 
                    oCn.RollBack(); 
 | 
                    return false; 
 | 
                } 
 | 
                //审核后控制===============================================End================================================================ 
 | 
  
 | 
                oCn.Commit(); 
 | 
                //生成调拨单 
 | 
                //得到调拨单 mainid 单据号 
 | 
                //long NewInterID = DBUtility.ClsPub.CreateBillID("1207", ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
                //string NewBillNo = DBUtility.ClsPub.CreateBillCode("1207", ref DBUtility.ClsPub.sExeReturnInfo, true);//得到新单号 
 | 
                //oCn.RunProc("exec h_p_Kf_MoveStockBill_Add " + lngBillKey.ToString() + "," + NewInterID.ToString() + ",'" + NewBillNo + "','" + HChecker + "'"); 
 | 
                // 
 | 
                sReturn = ""; 
 | 
                return true; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                sReturn = e.Message; 
 | 
                throw (e); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        //反审核 
 | 
        public bool AbandonCheck(int HSourceID, int HSourceInterID, int HSourceEntryID, string HSourceBillNo, int HICMOInterID, int HICMOEntryID, Int64 lngBillKey, string HBillNo, string procName, string sUser, ref string sReturn) 
 | 
        { 
 | 
            string sql = ""; 
 | 
            DataSet ds; 
 | 
            try 
 | 
            { 
 | 
                string HChecker = DBUtility.ClsPub.CurUserName; 
 | 
                string HCheckDate = DBUtility.ClsPub.GetServerDate(-1); 
 | 
                oCn.BeginTran(); 
 | 
                //还原单据状态为未审核状态 
 | 
                oCn.RunProc(" Update " + MvarItemKey + " set HBillStatus='1',HChecker='',HCheckDate='' Where HInterID=" + lngBillKey.ToString()); 
 | 
                sReturn = "反审核单据成功!"; 
 | 
  
 | 
                //审核后控制===============================================Begin================================================================ 
 | 
                sql = "exec " + procName + " " + lngBillKey + ",'" + HBillNo + "','" + sUser + "'"; 
 | 
                ds = oCn.RunProcReturn(sql, procName); 
 | 
                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) 
 | 
                { 
 | 
                    sReturn = "反审核过程中出错,请与网络管理人员联系"; 
 | 
                    oCn.RollBack(); 
 | 
                    return false; 
 | 
                } 
 | 
                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") 
 | 
                { 
 | 
                    sReturn = ds.Tables[0].Rows[0]["HRemark"].ToString(); 
 | 
                    oCn.RollBack(); 
 | 
                    return false; 
 | 
                } 
 | 
                //审核后控制===============================================End================================================================ 
 | 
  
 | 
                oCn.Commit(); 
 | 
                //生成调拨单 
 | 
                //得到调拨单 mainid 单据号 
 | 
                //long NewInterID = DBUtility.ClsPub.CreateBillID("1207", ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
                //string NewBillNo = DBUtility.ClsPub.CreateBillCode("1207", ref DBUtility.ClsPub.sExeReturnInfo, true);//得到新单号 
 | 
                //oCn.RunProc("exec h_p_Kf_MoveStockBill_Add " + lngBillKey.ToString() + "," + NewInterID.ToString() + ",'" + NewBillNo + "','" + HChecker + "'"); 
 | 
                // 
 | 
                sReturn = ""; 
 | 
                return true; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                sReturn = e.Message; 
 | 
                throw (e); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        //判断是否完工 
 | 
        public bool IsEnded(long HInterID, ref string sReturn) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                DataSet DS; 
 | 
                DS = oCn.RunProcReturn("exec h_p_Sc_ICMOReportBill_WMSQty " + HInterID.ToString(), "Sc_ICMOReportBillSub_WMS"); 
 | 
                if (DS.Tables[0].Rows.Count == 0) 
 | 
                { 
 | 
                    return false; 
 | 
                } 
 | 
                if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HBool"]) != "") 
 | 
                { 
 | 
                    sReturn = "已完工!"; 
 | 
                    return true; 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    sReturn = "未完工!"; 
 | 
                    return false; 
 | 
                } 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                sReturn = e.Message; 
 | 
                throw (e); 
 | 
            } 
 | 
        } 
 | 
  
 | 
  
 | 
  
 | 
  
 | 
    } 
 | 
} 
 |