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, ref string sReturn) { 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 = "审核单据成功!"; 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, ref string sReturn) { 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 = "审核单据成功!"; 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); } } } }