Exemple #1
0
 public string SaveIndividualEmployeeShift(Int64 UserId, int Shift, DateTime FromDate, DateTime ToDate, Int64 MgrId)
 {
     using (var dac = new ShiftDac())
     {
         return(dac.SaveIndividualEmployeeShift(UserId, Shift, FromDate, ToDate, MgrId));
     }
 }
Exemple #2
0
 public Shifts GetShiftMasterWithId(Int64 shiftId)
 {
     using (var dac = new ShiftDac())
     {
         return(dac.GetShiftMasterWithId(shiftId));
     }
 }
Exemple #3
0
 public EmpShift GetEmployeeShiftDetails(Int64 UserId, string RequestMenuUser, long LeaduserId)
 {
     using (var dac = new ShiftDac())
     {
         return(dac.GetEmployeeShiftDetails(UserId, RequestMenuUser, LeaduserId));
     }
 }
Exemple #4
0
 public string SaveShiftMaster(int shiftId, string shiftName, TimeSpan fromTime, TimeSpan ToTime, Int64 MgrId)
 {
     using (var dac = new ShiftDac())
     {
         return(dac.SaveShiftMaster(shiftId, shiftName, fromTime, ToTime, MgrId));
     }
 }
Exemple #5
0
 public List <Shifts> GetShiftMaster()
 {
     using (var dac = new ShiftDac())
     {
         return(dac.GetShiftMaster());
     }
 }
Exemple #6
0
 public List <ShiftEmployees> GetShiftDetailsForUsers(Int64 userId, string RequestMenuUser)
 {
     using (var dac = new ShiftDac())
     {
         return(dac.GetShiftDetailsForUsers(userId, RequestMenuUser));
     }
 }
Exemple #7
0
 public List <ShiftAllocation> GetShiftAllocation(Int64 UserId, string RequestMenuUser)
 {
     using (var dac = new ShiftDac())
     {
         return(dac.GetShiftAllocation(UserId, RequestMenuUser));
     }
 }
Exemple #8
0
        public void Create(ShiftInfo oParam)
        {
            TransactionOptions options = new TransactionOptions();

            options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
            options.Timeout        = TransactionManager.DefaultTimeout;

            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options))
            {
                oParam.SysNo   = SequenceDac.GetInstance().Create("St_Shift_Sequence");
                oParam.ShiftID = getShiftID(oParam.SysNo);
                //建立主表记录
                int rowsAffected = new ShiftDac().InsertMaster(oParam);
                if (rowsAffected != 1)
                {
                    throw new BizException("insert shift master error");
                }
                foreach (ShiftItemInfo item in oParam.itemHash.Values)
                {
                    item.ShiftSysNo = oParam.SysNo;

                    rowsAffected = new ShiftDac().InsertItem(item);
                    if (rowsAffected != 1)
                    {
                        throw new BizException("insert shift item error");
                    }
                    InventoryManager.GetInstance().SetAvailableQty(oParam.StockSysNoA, item.ProductSysNo, item.ShiftQty);
                }

                scope.Complete();
            }
        }
Exemple #9
0
        public bool DeleteShift(int i)
        {
            ShiftDac dac = new ShiftDac();

            return(dac.DeleteShift(i));
        }
Exemple #10
0
        public ShiftVO GetShiftByID(int i)
        {
            ShiftDac dac = new ShiftDac();

            return(dac.GetShiftByID(i));
        }
Exemple #11
0
        public bool UpdateShift(ShiftVO vo)
        {
            ShiftDac dac = new ShiftDac();

            return(dac.UpdateShift(vo));
        }
Exemple #12
0
        public bool InsertShift(ShiftVO vo)
        {
            ShiftDac dac = new ShiftDac();

            return(dac.InsertShift(vo));
        }
Exemple #13
0
        public DataTable GetShiftAll()
        {
            ShiftDac dac = new ShiftDac();

            return(dac.GetShiftAll());
        }
Exemple #14
0
 public DataTable Retrieve()
 {
     return(ShiftDac.Retrieve().Tables[0]);
 }
Exemple #15
0
        public void Import()
        {
            /* 涉及的问题
             * 1 还货记录的处理
             * 2 库存的处理
             * 3 状态的处理
             * 4 还有单据id的对应,这个要特别注意
             */
            if (!AppConfig.IsImportable)
            {
                throw new BizException("Is Importable is false");
            }

            string  sql = " select top 1 sysno from st_shift";
            DataSet ds  = SqlHelper.ExecuteDataSet(sql);

            if (Util.HasMoreRow(ds))
            {
                throw new BizException("the table shift is not empty");
            }

            TransactionOptions options = new TransactionOptions();

            options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
            options.Timeout        = TransactionManager.DefaultTimeout;

            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options))
            {
                string  sql_old = @"select 
								old.sysno, old.shiftid, stocka_con.newsysno as stocksysnoa, stockb_con.newsysno as stocksysnob,
								create_con.newsysno as createusersysno,
								audit_con.newsysno as auditusersysno,
								out_con.newsysno as outusersysno,
								in_con.newsysno as inusersysno,
								createtime, audittime,outstocktime as outtime,instocktime as intime,
								auditstatus, productstatus, note, '1' as status
							from 
								ipp2003..st_shift as old, 
								ippconvert..sys_user as create_con,
								ippconvert..sys_user as audit_con,
								ippconvert..sys_user as out_con,
								ippconvert..sys_user as in_con,
								ippconvert..stock as stocka_con,
								ippconvert..Stock as stockb_con
							where 
								old.createusersysno *= create_con.oldsysno and
								old.auditusersysno *= audit_con.oldsysno and
								old.outstockusersysno *= out_con.oldsysno and
								old.instockusersysno *= in_con.oldsysno and
								old.stocksysnoa = stocka_con.oldsysno and
								old.stocksysnob = stockb_con.oldsysno
								order by old.sysno"                                ;
                DataSet ds_old  = SqlHelper.ExecuteDataSet(sql_old);
                if (!Util.HasMoreRow(ds_old))
                {
                    return;
                }
                foreach (DataRow dr in ds_old.Tables[0].Rows)
                {
                    /* newStatus	aduit	product
                     * abandon		-1		n/a
                     * origin		0		n/a
                     * verified		1		n/a
                     *
                     * StillInA		n/a		0
                     * OnTheRoad	n/a		1
                     * AlreadyInB	n/a		2
                     */
                    int newStatus     = (int)AppEnum.ShiftStatus.Origin;
                    int auditStatus   = Util.TrimIntNull(dr["auditStatus"]);
                    int productStatus = Util.TrimIntNull(dr["productStatus"]);
                    if (auditStatus == -1)
                    {
                        newStatus = (int)AppEnum.ShiftStatus.Abandon;
                    }
                    if (auditStatus == 0)
                    {
                        newStatus = (int)AppEnum.ShiftStatus.Origin;
                    }
                    if (auditStatus == 0)
                    {
                        newStatus = (int)AppEnum.ShiftStatus.Verified;
                    }
                    if (productStatus == 1)
                    {
                        newStatus = (int)AppEnum.ShiftStatus.OutStock;
                    }
                    if (productStatus == 2)
                    {
                        newStatus = (int)AppEnum.ShiftStatus.InStock;
                    }


                    ShiftInfo oInfo = new ShiftInfo();
                    map(oInfo, dr);
                    oInfo.Status = newStatus;

                    if (new ShiftDac().InsertMaster(oInfo) != 1)
                    {
                        throw new BizException("master expected one row error");
                    }

                    //insert item
                    string sql_item = @"select '0' as sysno,
										ShiftSysNo, con_product.newsysno as productsysno, shiftqty
									from 
										ipp2003..St_Shift_Item si, ippconvert..productbasic as con_product
									where si.productsysno = con_product.oldsysno and ShiftSysNo="                                     + oInfo.SysNo;

                    DataSet ds_item = SqlHelper.ExecuteDataSet(sql_item);
                    if (!Util.HasMoreRow(ds_item))
                    {
                        continue;
                    }
                    foreach (DataRow drItem in ds_item.Tables[0].Rows)
                    {
                        ShiftItemInfo oItem = new ShiftItemInfo();
                        map(oItem, drItem);

                        int resultitem = new ShiftDac().InsertItem(oItem);
                        if (resultitem < 1)
                        {
                            throw new BizException("insert item row < 1");
                        }

                        //调整库存
                        if (oInfo.Status == (int)AppEnum.ShiftStatus.Origin || oInfo.Status == (int)AppEnum.ShiftStatus.Verified)
                        {
                            InventoryManager.GetInstance().SetAvailableQty(oInfo.StockSysNoA, oItem.ProductSysNo, oItem.ShiftQty);
                        }
                    }
                }

                string  sqlMaxSysNo = "select top 1 sysno from ipp2003..st_shift order by sysno desc";
                DataSet dsMax       = SqlHelper.ExecuteDataSet(sqlMaxSysNo);
                if (!Util.HasMoreRow(dsMax))
                {
                    throw new BizException("got max sysno error");
                }
                int maxSysNo = Util.TrimIntNull(dsMax.Tables[0].Rows[0]["sysno"]);
                // 将自动生成的sysno填到目前的最大单据号
                int newSysNo;
                do
                {
                    newSysNo = SequenceDac.GetInstance().Create("St_Shift_Sequence");
                } while (newSysNo < maxSysNo);


                scope.Complete();
            }
        }