コード例 #1
0
ファイル: Bll_ProdTask.cs プロジェクト: youthjoy/hferp
        /// <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;
        }
コード例 #2
0
ファイル: Bll_Raw_Inv.cs プロジェクト: youthjoy/hferp
        public bool Add(Raw_Inv inv)
        {
            bool flag = false;

            if (Instance.Add(inv) > 0)
            {
                flag = true;
            }

            return flag;
        }
コード例 #3
0
ファイル: Bll_Raw_Inv.cs プロジェクト: youthjoy/hferp
 public int Update(Raw_Inv obj)
 {
     return Instance.Update(obj);
 }
コード例 #4
0
ファイル: Bll_Raw_Main.cs プロジェクト: youthjoy/hferp
        /// <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
        }