1
zrg
2 天以前 c4c02944532a9bfda6de9a0cd85a9dfa631ed003
WebAPI/DLL/ClsSc_MESBeginWorkBill.cs
@@ -9,12 +9,13 @@
    {
        public Models.ClsSc_MESBeginWorkBillMain omodel = new Models.ClsSc_MESBeginWorkBillMain();
        public List<Models.ClsSc_MESBeginWorkBillSub> DetailColl = new List<Models.ClsSc_MESBeginWorkBillSub>();
        public List<Models.ClsSc_MESBeginWorkBillSub_RelationBill> DetailCol2 = new List<Models.ClsSc_MESBeginWorkBillSub_RelationBill>();
        //public List<Model.ClsSc_MESBeginWorkBillSub_Item> DetailColl1 = new List<Model.ClsSc_MESBeginWorkBillSub_Item>();
        public ClsSc_MESBeginWorkBill()
        {
            base.MvarItemKeySub = "Sc_MESBeginWorkBillSub";
            base.MvarItemKeySub2 = "";
            base.MvarItemKeySub2 = "Sc_MESBeginWorkBillSub_RelationBill";
            base.MvarItemKeySub3 = "";
            base.MvarItemKeySub4 = "";
            base.MvarItemKey="Sc_MESBeginWorkBillMain";
@@ -66,6 +67,8 @@
            try
            {
                DataSet Ds = oCn.RunProcReturn("Exec h_p_Sc_MESBeginWorkBill_AfterSaveCtrl " + HInterID.ToString() + "," + HICMOInterID.ToString() + "," + HICMOEntryID.ToString() + ",'" + HICMOBillNo + "'," + OperationType.ToString(), "h_p_Sc_MESBeginWorkBill_AfterSaveCtrl");
                LogService.Write("开工:2.6.1");
                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
                {
                    sReturn = "保存后判断失败!";
@@ -73,9 +76,12 @@
                }
                else
                {
                    LogService.Write("开工:2.6.2"+ Ds.Tables[0].Rows[0]["HBack"]);
                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
                    {
                        LogService.Write("开工:2.6.3");
                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
                        LogService.Write("开工:2.6.4");
                        return false;
                    }
                }
@@ -147,13 +153,47 @@
                ",HAddr='" + omodel.HAddr + "'" +
                ",HBarCodeMaker='" + omodel.HBarCodeMaker + "'" +
                ",HBarCodeMakeDate='" + omodel.HBarCodeMakeDate + "'" +
                ",HWorkShiftID='" + omodel.HWorkShiftID + "'" +
                " where HInterID=" + lngBillKey.ToString());
                //删除关联
                DeleteRelation(ref sReturn, lngBillKey);
                //删除子表
                DeleteBillSub(lngBillKey);
                DeleteBillSub2(lngBillKey);
                //插入子表
                omodel.HInterID = lngBillKey;
                //插入子表_副产计划
                foreach (Models.ClsSc_MESBeginWorkBillSub_RelationBill oSub in DetailCol2)
                {
                    string subSql = "insert into Sc_MESBeginWorkBillSub_RelationBill " +
                        "(HInterID, HEntryID,HBillNo_bak, HSourceInterID, HSourceEntryID, HSourceBillNo, HSourceBillType, HRemark, " +
                        "HRelationBillInterID, HRelationBillEntryID, HRelationBillNo, HRelationBillType, HICMOInterID, HICMOEntryID, HICMOBillNo, " +
                        "HProcExchInterID, HProcExchEntryID, HProcExchBillNo, HMaterID, HProcID) " +
                        "values(" +
                        "'" + omodel.HInterID.ToString() + "'," +
                        "'" + oSub.HEntryID.ToString() + "'," +
                        "'" + omodel.HBillNo + "'," +
                        "'" + oSub.HSourceInterID + "'," +
                        "'" + oSub.HSourceEntryID + "'," +
                        "'" + oSub.HSourceBillNo + "'," +
                        "'" + oSub.HSourceBillType + "'," +
                        "'" + oSub.HRemark + "'," +
                        "'" + oSub.HRelationBillInterID + "'," +
                        "'" + oSub.HRelationBillEntryID + "'," +
                        "'" + oSub.HRelationBillNo + "'," +
                        "'" + oSub.HRelationBillType + "'," +
                        "'" + oSub.HICMOInterID + "'," +
                        "'" + oSub.HICMOEntryID + "'," +
                        "'" + oSub.HICMOBillNo + "'," +
                        "'" + oSub.HProcExchInterID + "'," +
                        "'" + oSub.HProcExchEntryID + "'," +
                        "'" + oSub.HProcExchBillNo + "'," +
                        "'" + oSub.HMaterID + "'," +
                        "'" + oSub.HProcID + "')";
                    oCn.RunProc(subSql);
                }
                foreach (Models.ClsSc_MESBeginWorkBillSub oSub in DetailColl)
                {
                    //oCn.RunProc("Insert into Sc_MESBeginWorkBillSub " +
@@ -219,6 +259,7 @@
        {
            try
            {
                LogService.Write("开工:2.2");
                DataSet ds;
                //得到mainid
                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
@@ -229,7 +270,7 @@
                {
                    return false;
                }
                LogService.Write("开工:2.3");
                //主表
                oCn.RunProc("Insert Into Sc_MESBeginWorkBillMain " +
                "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
@@ -238,7 +279,7 @@
                ",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HBeginWorkTime,HSourceID" +
                ",HSourceInterID_Main,HSourceEntryID_Main,HSourceBillNo_Main,HSourceBillType_Main" +
                ",HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType" +
                 ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate,HRunStatus,HSourceBeginQty" +
                 ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate,HRunStatus,HSourceBeginQty,HWorkShiftID" +
                ") " +
                " 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 + "'" +
@@ -246,9 +287,41 @@
                ",'" + omodel.HProcExchBillNo + "'," + omodel.HMaterID.ToString() + "," + omodel.HProcID.ToString() + "," + omodel.HICMOQty.ToString() + "," + omodel.HPlanQty.ToString() + ",getdate()," + omodel.HSourceID.ToString() +
                ",'" + omodel.HMainSourceInterID.ToString() + "'," + omodel.HMainSourceEntryID.ToString() + ",'" + omodel.HMainSourceBillNo.ToString() + "','" + omodel.HMainSourceBillType.ToString() + "'" +
                ",'" + omodel.HMainSourceInterID.ToString() + "'," + omodel.HMainSourceEntryID.ToString() + ",'" + omodel.HMainSourceBillNo.ToString() + "','" + omodel.HMainSourceBillType.ToString() + "'" +
                "," + omodel.HGroupID.ToString() + "," + omodel.HDeptID.ToString() + "," + omodel.HEmpID.ToString() + ",'" + omodel.HBarCode + "','" + omodel.HAddr + "','" + omodel.HBarCodeMaker + "',getdate(),'"+ omodel.HRunStatus + "','"+ omodel.HSourceBeginQty.ToString() + "'" +
                "," + omodel.HGroupID.ToString() + "," + omodel.HDeptID.ToString() + "," + omodel.HEmpID.ToString() + ",'" + omodel.HBarCode + "','" + omodel.HAddr + "','" + omodel.HBarCodeMaker + "',getdate(),'"+ omodel.HRunStatus + "','"+ omodel.HSourceBeginQty.ToString() + "','" + omodel.HWorkShiftID.ToString() + "'" +
              ") ");
                //插入子表
                foreach (Models.ClsSc_MESBeginWorkBillSub_RelationBill oSub in DetailCol2)
                {
                    string subSql = "insert into Sc_MESBeginWorkBillSub_RelationBill " +
                        "(HInterID, HEntryID,HBillNo_bak, HSourceInterID, HSourceEntryID, HSourceBillNo, HSourceBillType, HRemark, " +
                        "HRelationBillInterID, HRelationBillEntryID, HRelationBillNo, HRelationBillType, HICMOInterID, HICMOEntryID, HICMOBillNo, " +
                        "HProcExchInterID, HProcExchEntryID, HProcExchBillNo, HMaterID, HProcID) " +
                        "values(" +
                        "'" + omodel.HInterID.ToString() + "'," +
                        "'" + oSub.HEntryID.ToString() + "'," +
                        "'" + omodel.HBillNo + "'," +
                        "'" + oSub.HSourceInterID + "'," +
                        "'" + oSub.HSourceEntryID + "'," +
                        "'" + oSub.HSourceBillNo + "'," +
                        "'" + oSub.HSourceBillType + "'," +
                        "'" + oSub.HRemark + "'," +
                        "'" + oSub.HRelationBillInterID + "'," +
                        "'" + oSub.HRelationBillEntryID + "'," +
                        "'" + oSub.HRelationBillNo + "'," +
                        "'" + oSub.HRelationBillType + "'," +
                        "'" + oSub.HICMOInterID + "'," +
                        "'" + oSub.HICMOEntryID + "'," +
                        "'" + oSub.HICMOBillNo + "'," +
                        "'" + oSub.HProcExchInterID + "'," +
                        "'" + oSub.HProcExchEntryID + "'," +
                        "'" + oSub.HProcExchBillNo + "'," +
                        "'" + oSub.HMaterID + "'," +
                        "'" + oSub.HProcID + "')";
                    oCn.RunProc(subSql);
                }
                LogService.Write("开工:2.4");
                //再次验证 保存是否 合理
                ds = oCn.RunProcReturn("exec h_p_JIT_MESBeginWorkBill_SaveCtrl @HInterId=" + omodel.HInterID + "", "h_p_JIT_MESBeginWorkBill_SaveCtrl");
                if (ds == null || ds.Tables[0].Rows.Count <= 0) 
@@ -263,13 +336,7 @@
                    oCn.RollBack();
                    return false;
                }
                //保存后控制
                if (!AfterSave(omodel.HInterID, omodel.HICMOInterID, omodel.HICMOEntryID, omodel.HICMOBillNo, 1, ref sReturn))
                {
                    oCn.RollBack();
                    return false;
                }
                LogService.Write("开工:2.5");
                //获取最近的上模单  把工单跟模具进行绑定
                ds = oCn.RunProcReturn(@"select  HICMOInterID,HICMOEntryID,HSourceInterID,HSourceEntryID,HSourceID from Sc_ICMOBillStatus_Tmp where HInterID=" + omodel.HMainSourceInterID.ToString(), "Sc_ICMOBillStatus_Tmp");
@@ -283,14 +350,29 @@
                    string HSourceID = ds.Tables[0].Rows[0]["HSourceID"].ToString();
                    ds = oCn.RunProcReturn(@"select  HMouldID from Sc_MouldUpperBillMain a
inner join Sc_MouldUpperBillSub b on a.HInterID = b.HInterID where HICMOInterID=" + HICMOInterID + " and HICMOEntryID=" + HICMOEntryID + " and HProcExchInterID=" + HSourceInterID + " and  HProcExchEntryID=" + HSourceEntryID + " and HSourceID=" + HSourceID + " order by HMakeDate desc", "Sc_MouldUpperBillMain");
                        inner join Sc_MouldUpperBillSub b on a.HInterID = b.HInterID where HICMOInterID=" + HICMOInterID + " and HICMOEntryID=" + HICMOEntryID + " and HProcExchInterID=" + HSourceInterID + " and  HProcExchEntryID=" + HSourceEntryID + " and HSourceID=" + HSourceID + " order by HMakeDate desc", "Sc_MouldUpperBillMain");
                    if (ds.Tables[0].Rows.Count > 0)
                    {
                        oCn.RunProc("update Sc_ICMOBillStatus_Tmp set HMouldID= " + ds.Tables[0].Rows[0]["HMouldID"].ToString() + " where HInterID=" + omodel.HMainSourceInterID.ToString());
                    }
                    else
                    {
                        ds = oCn.RunProcReturn(@"select  HMouldID from Sc_MouldUpperBillMain a
                        inner join Sc_MouldUpperBillSub b on a.HInterID = b.HInterID where  HSourceID=" + HSourceID + " order by HMakeDate desc", "Sc_MouldUpperBillMain");
                        if (ds.Tables[0].Rows.Count > 0)
                        {
                            oCn.RunProc("update Sc_ICMOBillStatus_Tmp set HMouldID= " + ds.Tables[0].Rows[0]["HMouldID"].ToString() + " where HInterID=" + omodel.HMainSourceInterID.ToString());
                        }
                    }
                }
                LogService.Write("开工:2.6  " + omodel.HInterID + "," + omodel.HICMOInterID + ", " + omodel.HICMOEntryID + ", " + omodel.HICMOBillNo + ", 1");
                //保存后控制
                if (!AfterSave(omodel.HInterID, omodel.HICMOInterID, omodel.HICMOEntryID, omodel.HICMOBillNo, 1, ref sReturn))
                {
                    oCn.RollBack();
                    return false;
                }
                LogService.Write("开工:2.7");
                sReturn = omodel.HInterID.ToString();
                oCn.Commit();
                return true;