WebAPI/DLL/ClsSc_MESEndWorkBill.cs
@@ -7,9 +7,9 @@
{
    public  class ClsSc_MESEndWorkBill:DBUtility.ClsXt_BaseBill
    {
        public Model.ClsSc_MESEndWorkBillMain omodel = new Model.ClsSc_MESEndWorkBillMain();
        public List<Model.ClsSc_MESEndWorkBillSub> DetailColl = new List<Model.ClsSc_MESEndWorkBillSub>();
        //public List<Model.ClsSc_MESEndWorkBillSub_Item> DetailColl1 = new List<Model.ClsSc_MESEndWorkBillSub_Item>();
        public Models.ClsSc_MESEndWorkBillMain omodel = new Models.ClsSc_MESEndWorkBillMain();
        public List<Models.ClsSc_MESEndWorkBillSub> DetailColl = new List<Models.ClsSc_MESEndWorkBillSub>();
        //public List<Models.ClsSc_MESEndWorkBillSub_Item> DetailColl1 = new List<Models.ClsSc_MESEndWorkBillSub_Item>();
        public ClsSc_MESEndWorkBill()
        {
            base.MvarItemKeySub = "Sc_MESEndWorkBillSub";
@@ -31,6 +31,7 @@
        }
       
        #endregion   自定义方法
        //修改单据
        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
        {
@@ -38,59 +39,6 @@
            {
                //
                oCn.BeginTran();
                string sql = string.Format(@"UpDate Sc_MESEndWorkBillMain set  " +
                " HBillNo='" + omodel.HBillNo + "'" +  //固定赋值===============
                ",HDate='" + omodel.HDate + "'" +
                ",HYear='" + omodel.HYear.ToString() + "'" +
                ",HPeriod='" + omodel.HPeriod.ToString() + "'" +
                ",HBillStatus='" + omodel.HBillStatus + "'" +
                ",HRemark='" + omodel.HRemark + "'" +
                //",HBacker='"+omodel.HBacker+"'"+
                //",HBackDate='" + omodel.HBackDate + "'" +
                //",HBackRemark='"+omodel.HBackRemark+"'"+
                //",HChecker='" + omodel.HChecker + "'" +
                //",HCheckDate='" + omodel.HCheckDate + "'" +
                //",HMaker='" + omodel.HMaker + "'" +
                //",HMakeDate='" + omodel.HMakeDate + "'" +
                ",HUpDater='" + omodel.HMaker + "'" +
                ",HUpDateDate=getdate()" +
                //",HCloseMan='" + omodel.HCloseMan + "'" +
                //",HCloseDate='" + omodel.HCloseDate + "'" +
                //",HCloseType="+omodel.HCloseType.ToString()+
                //",HDeleteMan='" + omodel.HDeleteMan + "'" +
                //",HDeleteDate='" + omodel.HDeleteDate + "'" +
                ",HPrintQty=" + omodel.HPrintQty.ToString() +
                //========================================
                //",HSupID=" + omodel.HSupID.ToString() +
                //",HEmpID=" + omodel.HEmpID.ToString() +
                ",HICMOInterID=" + omodel.HICMOInterID.ToString() +
                ",HICMOBillNo='" + omodel.HICMOBillNo + "'" +
                ",HProcPlanInterID=" + omodel.HProcPlanInterID.ToString() +
                ",HProcPlanEntryID=" + omodel.HProcPlanEntryID.ToString() +
                ",HProcPlanBillNo='" + omodel.HProcPlanBillNo + "'" +
                ",HProcExchInterID=" + omodel.HProcExchInterID.ToString() +
                ",HProcExchEntryID=" + omodel.HProcExchEntryID.ToString() +
                ",HProcExchBillNo='" + omodel.HProcExchBillNo + "'" +
                ",HMaterID=" + omodel.HMaterID.ToString() +
                ",HProcID=" + omodel.HProcID.ToString() +
                ",HICMOQty=" + omodel.HICMOQty.ToString() +
                ",HPlanQty=" + omodel.HPlanQty.ToString() +
                ",HEndWorkTime='" + omodel.HEndWorkTime + "'" +
                ",HSourceID=" + omodel.HSourceID.ToString() +
                ",HGroupID=" + omodel.HGroupID.ToString() +
                ",HDeptID=" + omodel.HDeptID.ToString() +
                ",HEmpID=" + omodel.HEmpID.ToString() +
                ",HQty=" + omodel.HQty.ToString() +
                ",HBadCount=" + omodel.HBadCount.ToString() +
                ",HWasterQty=" + omodel.HWasterQty.ToString() +
                ",HWasterQty2=" + omodel.HWasterQty2.ToString() +
                ",HSelfBadCount=" + omodel.HSelfBadCount.ToString() +
                ",HPieceQty=" + omodel.HPieceQty.ToString() +
                ",HReportType='" + omodel.HReportType + "'" +
                ",HBarCode='" + omodel.HBarCode + "'" +
                ",HAddr='" + omodel.HAddr + "'" +
                ",HBarCodeMaker='" + omodel.HBarCodeMaker + "'" +
                ",HBarCodeMakeDate='" + omodel.HBarCodeMakeDate + "' where HInterID=" + lngBillKey.ToString()+"");
                //更新主表
                oCn.RunProc("UpDate Sc_MESEndWorkBillMain set  " +
                " HBillNo='" + omodel.HBillNo + "'" +  //固定赋值===============
@@ -106,7 +54,7 @@
                //",HCheckDate='" + omodel.HCheckDate + "'" +
                //",HMaker='" + omodel.HMaker + "'" +
                //",HMakeDate='" + omodel.HMakeDate + "'" +
                ",HUpDater='" + omodel.HMaker + "'" +
                ",HUpDater='" + omodel.HUpDater + "'" +
                ",HUpDateDate=getdate()" +
                //",HCloseMan='" + omodel.HCloseMan + "'" +
                //",HCloseDate='" + omodel.HCloseDate + "'" +
@@ -152,7 +100,7 @@
                DeleteBillSub(lngBillKey);
                //插入子表
                omodel.HInterID = lngBillKey;
                foreach (Model.ClsSc_MESEndWorkBillSub oSub in DetailColl)
                foreach (Models.ClsSc_MESEndWorkBillSub oSub in DetailColl)
                {
                    //oCn.RunProc("Insert into Sc_MESEndWorkBillSub " +
                    //  " (HInterID,HBillNo_bak,HEntryID,HCloseMan" +
@@ -218,63 +166,39 @@
                oCn.RunProc("Insert Into Sc_MESEndWorkBillMain " +
                "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
                ",HYear,HPeriod,HRemark" +
                ",HICMOInterID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" +
                ",HICMOInterID,HICMOEntryID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" +
                ",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HEndWorkTime,HSourceID" +
                ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate" +
                ",HQty,HBadCount,HWasterQty,HWasterQty2,HSelfBadCount,HPieceQty"+
                ",HSourceInterID_Main,HSourceEntryID_Main,HSourceBillNo_Main,HSourceBillType_Main" +
                ",HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType" +
                ",HQty,HBadCount,HWasterQty,HWasterQty2,HSelfBadCount,HPieceQty" +
                ") " +
                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'," + omodel.HBillStatus.ToString() + ",getdate(),'" + omodel.HMaker + "',getdate()" +
                "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'" +
                "," + omodel.HICMOInterID.ToString() + ",'" + omodel.HICMOBillNo + "'," + omodel.HProcPlanInterID.ToString() + "," + omodel.HProcPlanEntryID.ToString() + ",'" + omodel.HProcPlanBillNo + "'," + omodel.HProcExchInterID.ToString() + "," + omodel.HProcExchEntryID.ToString() +
                "," + omodel.HICMOInterID.ToString() + ",'" + omodel.HICMOEntryID + "','" + omodel.HICMOBillNo + "'," + omodel.HProcPlanInterID.ToString() + "," + omodel.HProcPlanEntryID.ToString() + ",'" + omodel.HProcPlanBillNo + "'," + omodel.HProcExchInterID.ToString() + "," + omodel.HProcExchEntryID.ToString() +
                ",'" + omodel.HProcExchBillNo + "'," + omodel.HMaterID.ToString() + "," + omodel.HProcID.ToString() + "," + omodel.HICMOQty.ToString() + "," + omodel.HPlanQty.ToString() + ",getdate()," + omodel.HSourceID.ToString() +
                "," + omodel.HGroupID.ToString() + "," + omodel.HDeptID.ToString() + "," + omodel.HEmpID.ToString() + ",'" + omodel.HBarCode + "','" + omodel.HAddr + "','" + omodel.HBarCodeMaker + "',getdate()" +
                "," + omodel.HMainSourceInterID.ToString() + "," + omodel.HMainSourceEntryID.ToString() + ",'" + omodel.HMainSourceBillNo.ToString() + "','" + omodel.HMainSourceBillType + "'" +
                "," + omodel.HMainSourceInterID.ToString() + "," + omodel.HMainSourceEntryID.ToString() + ",'" + omodel.HMainSourceBillNo.ToString() + "','" + omodel.HMainSourceBillType + "'" +
                "," + omodel.HQty.ToString() + "," + omodel.HBadCount.ToString() + "," + omodel.HWasterQty.ToString() + "," + omodel.HWasterQty2.ToString() + "," + omodel.HSelfBadCount.ToString() + "," + omodel.HPieceQty.ToString() +
                ") ");
                //插入子表
                foreach (Model.ClsSc_MESEndWorkBillSub oSub in DetailColl)
                //再次验证 保存是否 合理
                DataSet ds = oCn.RunProcReturn("exec h_p_JIT_MESEndWorkBill_SaveCtrl @HInterId=" + omodel.HInterID + "", "h_p_JIT_MESEndWorkBill_SaveCtrl");
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    //oCn.RunProc("Insert into Sc_MESEndWorkBillSub " +
                    //  " (HInterID,HBillNo_bak,HEntryID,HCloseMan" +
                    //  ",HEntryCloseDate,HCloseType,HRemark,HSourceInterID" +
                    //  ",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                    //  ",HDotCheckItemID,HDotCheckItem,HDotCheckPart,HClaim,HManagerID" +
                    //  ") values("
                    //  + omodel.HInterID.ToString() + ",'" + oSub.HBillNo_bak + "'," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "'" +
                    //  ",getdate()," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'," + oSub.HSourceInterID.ToString() +
                    //  "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                    //  "," + oSub.HDotCheckItemID.ToString() + ",'" + oSub.HDotCheckItem + "','" + oSub.HDotCheckPart + "','" + oSub.HClaim + "'," + oSub.HManagerID.ToString() +
                    //  ") ");
                    sReturn = "无验证数据!";
                    oCn.RollBack();
                    return false;
                }
                //foreach (Model.ClsSc_MESEndWorkBillSub_Item oSub2 in DetailColl1)
                //{
                //    oCn.RunProc("Insert into Sc_MESEndWorkBillSub_Item " +
                //      " (HInterID,HBillNo_bak,HEntryID,HCloseMan" +
                //      ",HEntryCloseDate,HCloseType,HRemark,HSourceInterID" +
                //      ",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                //      ",HMaintainItemID,HMaintainItem,HMaintainPart,HClaim,HManagerID" +
                //      ") values("
                //      + omodel.HInterID.ToString() + ",'" + oSub2.HBillNo_bak + "'," + oSub2.HEntryID.ToString() + ",'" + oSub2.HCloseMan + "'" +
                //      ",getdate()," + Convert.ToString(oSub2.HCloseType ? 1 : 0) + ",'" + oSub2.HRemark + "'," + oSub2.HSourceInterID.ToString() +
                //      "," + oSub2.HSourceEntryID.ToString() + ",'" + oSub2.HSourceBillNo + "','" + oSub2.HSourceBillType + "'," + oSub2.HRelationQty.ToString() + "," + oSub2.HRelationMoney.ToString() +
                //      "," + oSub2.HMaintainItemID.ToString() + ",'" + oSub2.HMaintainItem + "','" + oSub2.HMaintainPart + "','" + oSub2.HClaim + "'," + oSub2.HManagerID.ToString() +
                //      ") ");
                //}
                //
                //foreach (Model.ClsSc_MESEndWorkBillSub oSub in DetailColl)
                //{
                //    Ds = oCn.RunProcReturn("exec h_p_Sc_MESEndWorkBill_Qty " + oSub.HICMOInterID, "");
                //    if (Ds.Tables[0].Rows.Count == 0)
                //        return;
                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
                //    {
                //        sReturn = "汇报数量超过计划数量!不允许保存";
                //        return false;
                //    }
                //}
                //
                sReturn = "新增单据成功!";
                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;
            }
@@ -367,7 +291,7 @@
                DetailColl.Clear();//清空
                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
                {
                    Model.ClsSc_MESEndWorkBillSub oSub = new Model.ClsSc_MESEndWorkBillSub();
                    Models.ClsSc_MESEndWorkBillSub oSub = new Models.ClsSc_MESEndWorkBillSub();
                    // 固定赋值===============================================
                    //oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
                    //oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
@@ -486,15 +410,58 @@
            }
        }
        //删除单据
        public override bool DeleteBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                oCn.BeginTran();
                //判断是否允许删除
                DataSet ds = oCn.RunProcReturn("exec h_p_JIT_MESEndWorkBill_DelCtrl @HInterId=" + lngBillKey + "", "h_p_JIT_MESBeginWorkBill_SaveCtrl");
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    sReturn = "无验证数据!";
                    return false;
                }
                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "2")
                {
                    sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                    return false;
                }
                //删除关联关系
                oCn.RunProc("exec h_p_JIT_MESEndWorkBill_DelRelation @HInterId=" + lngBillKey + "");
                //删除明细表
                oCn.RunProc("Delete From " + MvarItemKeySub + "  where HInterID=" + lngBillKey.ToString());
                //删除主表
                oCn.RunProc("Delete From " + MvarItemKey + "  where HInterID=" + lngBillKey.ToString());
                sReturn = "删除单据成功!";
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                oCn.RollBack();
                throw (e);
            }
        }
        //审核
        public bool CheckBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                string HChecker = DBUtility.ClsPub.CurUserName;
                string HCheckDate = DBUtility.ClsPub.GetServerDate(-1);
                oCn.RunProc(" Update " + MvarItemKey + " set HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' Where HInterID=" + lngBillKey.ToString());
                oCn.BeginTran();
                oCn.RunProc(" Update " + MvarItemKey + " set HBillStatus='2',HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' Where HInterID=" + lngBillKey.ToString());
                //根据开工单内码 设置 生产状态表 开工状态(先把 本资源全部工单 设置为非开工状态,再设置本单对应得源单 为开工状态)
                oCn.RunProc("exec h_p_JIT_MESBeginWorkBill_BeginWork @HInterId=" + lngBillKey + ",@flag='完工'");
                oCn.Commit();
                //生成调拨单
                //得到调拨单 mainid 单据号
                //long NewInterID = DBUtility.ClsPub.CreateBillID("1207", ref DBUtility.ClsPub.sExeReturnInfo);