/// <summary>
        /// 创建包装交易对象
        /// </summary>
        /// <param name="loginUser"></param>
        /// <returns></returns>
        public static PackageTranDetailInfo CreatePackageTranDetailInfo(string loginUser)
        {
            PackageTranDetailInfo packageTranDetailInfo = new PackageTranDetailInfo();

            packageTranDetailInfo.CreateUser = loginUser;
            packageTranDetailInfo.CreateDate = DateTime.Now;
            packageTranDetailInfo.ValidFlag  = true;
            return(packageTranDetailInfo);
        }
 /// <summary>
 /// 根据交易记录获取目标库存对象
 /// </summary>
 /// <param name="tranDetailsInfo"></param>
 /// <param name="zonesInfo"></param>
 /// <param name="stocksInfo"></param>
 public void GetTargetPackageStocksInfo(PackageTranDetailInfo packageTranDetailInfo, ref PackageStocksInfo packageStocksInfo)
 {
     ///工厂
     packageStocksInfo.Plant = packageTranDetailInfo.Plant;
     ///器具号
     packageStocksInfo.PackageNo = packageTranDetailInfo.PackageNo;
     ///存贮区编码
     packageStocksInfo.ZoneNo = packageTranDetailInfo.TargetZone;
     ///仓库编码
     packageStocksInfo.WmNo = packageTranDetailInfo.TargetWm;
     ///库位
     packageStocksInfo.Dloc = packageTranDetailInfo.TargetDloc;
 }
 /// <summary>
 /// 满包装出库
 /// </summary>
 /// <param name="packageStocksInfo"></param>
 /// <param name="packageTranDetailInfo"></param>
 /// <param name="loginUser"></param>
 /// <returns></returns>
 public string FullPackageStocksDownSql(PackageStocksInfo packageStocksInfo, PackageTranDetailInfo packageTranDetailInfo, string loginUser)
 {
     return("update [LES].[TT_PCM_PACKAGE_STOCKS] "
            + "set [STOCK] = [STOCK] - " + packageTranDetailInfo.PackageQty.GetValueOrDefault() + ""
            + ",[FULL_STOCK] = [FULL_STOCK] - " + packageTranDetailInfo.PackageQty.GetValueOrDefault() + ""
            + ",[MODIFY_USER] = '" + loginUser + "'"
            + ",[MODIFY_DATE] = GETDATE() "
            + "where [ID] =" + packageStocksInfo.Id + ";"
            + "update [LES].[TT_PCM_PACKAGE_TRAN_DETAIL] "
            + "set [STATUS] = " + (int)PackageTranStateConstants.TREATED + ""
            + ",[MODIFY_USER] = '" + loginUser + "'"
            + ",[MODIFY_DATE] = GETDATE() "
            + "where [ID] = " + packageTranDetailInfo.Id + ";");
 }
 /// <summary>
 /// 获取新增包装交易数据的语句
 /// </summary>
 /// <param name="packageTranDetailInfo"></param>
 /// <returns></returns>
 public static string CreatePackageTranDetailSql(PackageTranDetailInfo packageTranDetailInfo)
 {
     return("insert into [LES].[TT_PCM_PACKAGE_TRAN_DETAIL] (" +
            "FID, " +
            "TRAN_NO, " +
            "TRAN_TYPE, " +
            "BARCODE_DATA, " +
            "PART_NO, " +
            "PLANT, " +
            "ASSEMBLY_LINE, " +
            "SUPPLIER_NUM, " +
            "WM_NO, " +
            "ZONE_NO, " +
            "DLOC, " +
            "TARGET_WM, " +
            "TARGET_ZONE, " +
            "TARGET_DLOC, " +
            "PACKAGE_NO, " +
            "PACKAGE_CNAME, " +
            "PACKAGE_ENAME, " +
            "PACKAGE, " +
            "PACKAGE_QTY, " +
            "STATUS, " +
            "COMMENTS, " +
            "VALID_FLAG, CREATE_USER, CREATE_DATE) values(" +
            "NEWID()," +                                                    ///FID
            "N'" + packageTranDetailInfo.TranNo + "'," +                    ///TRAN_NO,
            "" + packageTranDetailInfo.TranType.GetValueOrDefault() + "," + ///TRAN_TYPE,
            "N'" + packageTranDetailInfo.BarcodeData + "'," +               ///@BARCODE_DATA,
            "N'" + packageTranDetailInfo.PartNo + "'," +                    ///@PART_NO,
            "N'" + packageTranDetailInfo.Plant + "'," +                     ///@PLANT,
            "N'" + packageTranDetailInfo.AssemblyLine + "'," +              ///@ASSEMBLY_LINE,
            "N'" + packageTranDetailInfo.SupplierNum + "'," +               ///@SUPPLIER_NUM,
            "N'" + packageTranDetailInfo.WmNo + "'," +                      ///@WM_NO,
            "N'" + packageTranDetailInfo.ZoneNo + "'," +                    ///@ZONE_NO,
            "N'" + packageTranDetailInfo.Dloc + "'," +                      ///@DLOC,
            "N'" + packageTranDetailInfo.TargetWm + "'," +                  ///@TARGET_WM,
            "N'" + packageTranDetailInfo.TargetZone + "'," +                ///@TARGET_ZONE,
            "N'" + packageTranDetailInfo.TargetDloc + "'," +                ///@TargetDloc,
            "N'" + packageTranDetailInfo.PackageNo + "'," +                 ///@PACKAGE_NO,
            "N'" + packageTranDetailInfo.PackageCname + "'," +              ///@PACKAGE_CNAME,
            "N'" + packageTranDetailInfo.PackageEname + "'," +              ///@PACKAGE_ENAME,
            packageTranDetailInfo.Package.GetValueOrDefault() + "," +       ///@PACKAGE,
            packageTranDetailInfo.PackageQty.GetValueOrDefault() + "," +    ///@PACKAGE_QTY,
            (int)PackageTranStateConstants.UNTREATED + "," +                ///@STATUS,
            "N'" + packageTranDetailInfo.Comments + "'," +                  ///@COMMENTS,
            "1,N'" + packageTranDetailInfo.CreateUser + "',GETDATE()" +     ///VALID_FLAG, CREATE_USER, CREATE_DATE
            ");");
 }
        /// <summary>
        /// 根据出库单明细获取包装器具的交易记录
        /// </summary>
        /// <param name="outputDetailInfos"></param>
        /// <param name="loginUser"></param>
        /// <returns></returns>
        public static string CreatePackageTranDetailsSql(List <OutputDetailInfo> outputDetailInfos, string loginUser)
        {
            List <PackageApplianceInfo> packageApplianceInfos = new PackageApplianceDAL().GetList("" +
                                                                                                  "[PACKAGE_NO] in ('" + string.Join("','", outputDetailInfos.Select(d => d.PackageModel).ToArray()) + "')", string.Empty);
            string sql = string.Empty;

            foreach (OutputDetailInfo outputDetailInfo in outputDetailInfos)
            {
                ///
                PackageTranDetailInfo packageTranDetailInfo = CreatePackageTranDetailInfo(loginUser);
                ///
                GetPackageTranDetailInfo(outputDetailInfo, ref packageTranDetailInfo);
                ///
                PackageApplianceInfo packageApplianceInfo = packageApplianceInfos.FirstOrDefault(d => d.PackageNo == outputDetailInfo.PackageModel);
                GetPackageTranDetailInfo(packageApplianceInfo, ref packageTranDetailInfo);
                ///
                sql += PackageTranDetailDAL.CreatePackageTranDetailSql(packageTranDetailInfo);
            }
            return(sql);
        }
Beispiel #6
0
        /// <summary>
        /// 创建新器具库存
        /// </summary>
        /// <param name="packageTranDetailInfo"></param>
        /// <param name="maintainPartsInfo"></param>
        /// <param name="sourceFlag"></param>
        /// <returns></returns>
        private PackageStocksInfo HandlingPackageStocksData(PackageTranDetailInfo packageTranDetailInfo, MaintainPartsInfo maintainPartsInfo, bool sourceFlag)
        {
            ///新建包装库存对象
            PackageStocksInfo packageStocksInfo = packageStocksBLL.CreatePackageStocksInfo(loginUser);

            /// 更新物料基础信息
            packageStocksBLL.UpdateMaintainPartsInfo(maintainPartsInfo, ref packageStocksInfo);
            /// 来源库存对象信息填充
            if (sourceFlag)
            {
                packageStocksBLL.GetSourcePackageStocksInfo(packageTranDetailInfo, ref packageStocksInfo);
            }
            ///目标库存对象信息填充
            else
            {
                packageStocksBLL.GetTargetPackageStocksInfo(packageTranDetailInfo, ref packageStocksInfo);
            }
            ///获取库存数据主键
            packageStocksInfo.Id = packageStocksBLL.GetPackageStocksId(packageStocksInfo);
            return(packageStocksInfo);
        }
        /// <summary>
        /// 根据入库单明细获取包装器具的交易记录
        /// </summary>
        /// <param name="receiveDetailInfos"></param>
        /// <param name="logUser"></param>
        /// <param name="orderNo"></param>
        /// <param name="plant"></param>
        /// <param name="wmNo"></param>
        /// <param name="assemblyLine"></param>
        /// <returns></returns>
        public static string CreatePackageTranDetailsSql(List <ReceiveDetailInfo> receiveDetailInfos, string loginUser)
        {
            List <PackageApplianceInfo> packageApplianceInfos = new PackageApplianceDAL().GetList("" +
                                                                                                  "[PACKAGE_NO] in ('" + string.Join("','", receiveDetailInfos.Select(d => d.PackageModel).ToArray()) + "')", string.Empty);
            string sql = string.Empty;

            foreach (ReceiveDetailInfo receiveDetailInfo in receiveDetailInfos)
            {
                ///创建包装交易对象
                PackageTranDetailInfo packageTranDetailInfo = CreatePackageTranDetailInfo(loginUser);
                ///填充入库明细数据
                GetPackageTranDetailInfo(receiveDetailInfo, ref packageTranDetailInfo);
                ///包装基础数据
                PackageApplianceInfo packageApplianceInfo = packageApplianceInfos.FirstOrDefault(d => d.PackageNo == receiveDetailInfo.PackageModel);
                ///填充包装基础数据
                GetPackageTranDetailInfo(packageApplianceInfo, ref packageTranDetailInfo);
                ///
                sql += PackageTranDetailDAL.CreatePackageTranDetailSql(packageTranDetailInfo);
            }
            return(sql);
        }
Beispiel #8
0
        /// <summary>
        /// 根据条件筛选器具库存数据
        /// </summary>
        /// <param name="packageStocksInfos"></param>
        /// <param name="packageTranDetailInfo"></param>
        /// <param name="sourceFlag"></param>
        /// <returns></returns>
        private PackageStocksInfo GetPackageStocksData(List <PackageStocksInfo> packageStocksInfos, PackageTranDetailInfo packageTranDetailInfo, bool sourceFlag)
        {
            PackageStocksInfo packageStocksInfo = new PackageStocksInfo();

            ///来源
            if (sourceFlag)
            {
                packageStocksInfo = packageStocksInfos.FirstOrDefault(d =>
                                                                      d.Plant == packageTranDetailInfo.Plant &&
                                                                      d.WmNo == packageTranDetailInfo.WmNo &&
                                                                      d.ZoneNo == packageTranDetailInfo.ZoneNo &&
                                                                      d.Dloc == packageTranDetailInfo.Dloc);
            }
            ///目标
            else
            {
                packageStocksInfo = packageStocksInfos.FirstOrDefault(d =>
                                                                      d.Plant == packageTranDetailInfo.Plant &&
                                                                      d.WmNo == packageTranDetailInfo.TargetWm &&
                                                                      d.ZoneNo == packageTranDetailInfo.TargetZone &&
                                                                      d.Dloc == packageTranDetailInfo.TargetDloc);
            }
            return(packageStocksInfo);
        }
 /// <summary>
 /// InsertInfo
 /// </summary>
 /// <param name="info"></param>
 /// <returns></returns>
 public long InsertInfo(PackageTranDetailInfo info)
 {
     return(dal.Add(info));
 }
 /// <summary>
 /// PackageApplianceInfo->PackageTranDetailInfo
 /// </summary>
 /// <param name="packageApplianceInfo"></param>
 /// <param name="packageTranDetailInfo"></param>
 public static void GetPackageTranDetailInfo(PackageApplianceInfo packageApplianceInfo, ref PackageTranDetailInfo packageTranDetailInfo)
 {
     if (packageApplianceInfo == null)
     {
         return;
     }
     packageTranDetailInfo.PackageCname = packageApplianceInfo.PackageCname;
     packageTranDetailInfo.PackageEname = packageApplianceInfo.PackageEname;
 }
 /// <summary>
 /// OutputDetailInfo->PackageTranDetailInfo
 /// </summary>
 /// <param name="outputDetailInfo"></param>
 /// <param name="packageTranDetailInfo"></param>
 private static void GetPackageTranDetailInfo(OutputDetailInfo outputDetailInfo, ref PackageTranDetailInfo packageTranDetailInfo)
 {
     packageTranDetailInfo.TranNo       = outputDetailInfo.TranNo;
     packageTranDetailInfo.TranType     = (int)PackageTranTypeConstants.FullMovement;
     packageTranDetailInfo.BarcodeData  = string.Empty;
     packageTranDetailInfo.PartNo       = outputDetailInfo.PartNo;
     packageTranDetailInfo.Plant        = outputDetailInfo.Plant;
     packageTranDetailInfo.AssemblyLine = outputDetailInfo.AssemblyLine;
     packageTranDetailInfo.SupplierNum  = outputDetailInfo.SupplierNum;
     packageTranDetailInfo.WmNo         = outputDetailInfo.WmNo;
     packageTranDetailInfo.ZoneNo       = outputDetailInfo.ZoneNo;
     packageTranDetailInfo.Dloc         = outputDetailInfo.Dloc;
     packageTranDetailInfo.TargetWm     = outputDetailInfo.TargetWm;
     packageTranDetailInfo.TargetZone   = outputDetailInfo.TargetZone;
     packageTranDetailInfo.TargetDloc   = outputDetailInfo.TargetDloc;
     packageTranDetailInfo.PackageNo    = outputDetailInfo.PackageModel;
     packageTranDetailInfo.Package      = outputDetailInfo.Package;
     packageTranDetailInfo.PackageQty   = outputDetailInfo.ActualBoxNum;
     packageTranDetailInfo.Comments     = outputDetailInfo.Comments;
 }
 /// <summary>
 /// ReceiveDetailInfo->PackageTranDetailInfo
 /// </summary>
 /// <param name="receiveDetailInfo"></param>
 /// <param name="packageTranDetailInfo"></param>
 public static void GetPackageTranDetailInfo(ReceiveDetailInfo receiveDetailInfo, ref PackageTranDetailInfo packageTranDetailInfo)
 {
     packageTranDetailInfo.TranNo = receiveDetailInfo.TranNo;
     ///随货入库
     packageTranDetailInfo.TranType     = (int)PackageTranTypeConstants.FullInbound;
     packageTranDetailInfo.BarcodeData  = string.Empty;
     packageTranDetailInfo.PartNo       = receiveDetailInfo.PartNo;
     packageTranDetailInfo.Plant        = receiveDetailInfo.Plant;
     packageTranDetailInfo.AssemblyLine = receiveDetailInfo.AssemblyLine;
     packageTranDetailInfo.SupplierNum  = receiveDetailInfo.SupplierNum;
     packageTranDetailInfo.WmNo         = receiveDetailInfo.WmNo;
     packageTranDetailInfo.ZoneNo       = receiveDetailInfo.ZoneNo;
     packageTranDetailInfo.Dloc         = receiveDetailInfo.Dloc;
     packageTranDetailInfo.TargetWm     = receiveDetailInfo.TargetWm;
     packageTranDetailInfo.TargetZone   = receiveDetailInfo.TargetZone;
     packageTranDetailInfo.TargetDloc   = receiveDetailInfo.TargetDloc;
     packageTranDetailInfo.PackageNo    = receiveDetailInfo.PackageModel;
     packageTranDetailInfo.Package      = receiveDetailInfo.Package;
     packageTranDetailInfo.PackageQty   = receiveDetailInfo.ActualBoxNum;
     packageTranDetailInfo.Comments     = receiveDetailInfo.Comments;
 }