/// <summary> /// 下达部署生产任务 /// </summary> /// <param name="ri">待生产的毛坯(其是下达生产任务的依据)</param> /// <param name="prodTask">待下达生产任务相关基本信息</param> /// <returns></returns> public int DeployProdTask(Raw_Inv rawInv, Prod_Task prodTask) { int flag = 0; Prod_CmdDetail pc = pcInstance.GetModel(string.Format(" AND Cmd_Code='{0}'",prodTask.TaskDetail_CmdCode)); try { //Instance.idb.BeginTransaction(); //riInstance.Instance.idb.BeginTransaction(Instance.idb.GetTransaction()); prodTask.Task_Stat = OperationTypeEnum.ProdTaskStatEnum.Deploying.ToString(); //下达任务数量 --》与生产命令所需数量 不一定相等 //prodTask.TaskDetail_Num = pc.CmdDetail_Num; if (AddProdTask(prodTask) > 0) { //下达任务成功后回写毛坯库存表 riInstance.DeployRawInv(rawInv.RI_Code, prodTask.TaskDetail_Num); flag= 1; } //Instance.idb.CommitTransaction(); } catch (Exception e) { Instance.idb.RollbackTransaction(); } return flag; }
public bool Add(Raw_Inv inv) { bool flag = false; if (Instance.Add(inv) > 0) { flag = true; } return flag; }
public int Update(Raw_Inv obj) { return Instance.Update(obj); }
/// <summary> /// 检验入库 /// </summary> /// <param name="main"></param> public void UpdateRaw(Raw_Main main) { #region 毛坯入库 Raw_Main mainRaw = instance.GetByKey(main.RawMain_ID); main.RawMain_Checker = SessionConfig.UserCode; instance.Update(mainRaw); List<Raw_Detail> list = rdInstance.GetByRawMainCode(main.RawMain_Code); foreach (var detail in list) { detail.RDetail_OCmd = DateTime.Now; rdInstance.Update(detail); var dlist = pcInstance.GetMapListForCheck(detail.RDetail_Command, detail.RDetail_PartNo); foreach (var code in dlist) { code.PMap_RawStat = "In"; code.PMap_RawDate = DateTime.Now; code.PMap_RawMainCode = detail.RawMain_Code; pcInstance.UpdateProdMap(code); } Prod_Command cmd = cmdInstance.GetModel(string.Format(" AND Cmd_Code='{0}'", detail.RDetail_Command)); //采购的毛坯数量 int num = detail.RDetail_Num; Raw_Inv rInv = new Raw_Inv(); //库存记录参考的入库记录 rInv.RI_RefRawCode = detail.RawMain_Code; rInv.RI_RefDetailCode = detail.RDetail_Code; rInv.RI_Code = rnvInstance.GenerateRawInvCode(); rInv.RI_CmdCode = detail.RDetail_Command; rInv.RI_CompCode = detail.RDetail_PartNo; rInv.RI_RawCode = main.RawMain_Code; //rInv.RI_CompName=detail.RDetail_PartNo rInv.RI_InOperator = SessionConfig.UserCode; rInv.RI_InTime = DateTime.Now; rInv.RI_AvailableNum = num; rInv.RI_Sum = num; rInv.RI_UsedNum = 0; //Prod_Command command = cmdInstance.GetModel(string.Format(" AND Cmd_Code='{0}'", detail.RDetail_Command)); rInv.RI_Customer = cmd.Cmd_Dep_Name; var re=rnvInstance.Add(rInv); #region 指令数量回写 Prod_CmdDetail cmdDetail = pcInstance.GetModel(string.Format(" AND CmdDetail_ID='{0}'",detail.RDetail_DCommand)); //采购入库数量回写 cmdDetail.CmdDetail_DNum = cmdDetail.CmdDetail_DNum + num; pcInstance.Update(cmdDetail); int count=Common.C_Class.Utils.TypeConverter.ObjectToInt(cmd.Cmd_Udef3); cmd.Cmd_Udef3 = (count+num).ToString(); cmdInstance.Update(cmd); #endregion } #endregion }