Beispiel #1
0
        /// <summary>
        /// Create QmisAsnPullSheetInfo
        /// </summary>
        /// <param name="loginUser"></param>
        /// <returns>QmisAsnPullSheetInfo</returns>
        public static QmisAsnPullSheetInfo CreateQmisAsnPullSheetInfo(string loginUser)
        {
            QmisAsnPullSheetInfo info = new QmisAsnPullSheetInfo();

            ///FID,
            info.Fid = Guid.NewGuid();

            ///VALID_FLAG,是否逻辑删除
            info.ValidFlag = true;
            ///CREATE_USER,创建用户
            info.CreateUser = loginUser;
            ///CREATE_DATE,创建时间
            info.CreateDate = DateTime.Now;
            ///PROCESS_FLAG,处理状态
            info.ProcessFlag = (int)ProcessFlagConstants.Untreated;
            ///ZS_FLAG,是否直送工位
            info.ZsFlag = null;
            ///EPGRP,采购组
            info.Epgrp = null;
            ///TARGET_PLACE,目标库存地
            info.TargetPlace = null;
            ///PURCHASE_GROUP,采购组
            info.PurchaseGroup = null;

            return(info);
        }
        public static BdAsnInfo GetBdAsnInfo(QmisAsnPullSheetInfo qmisAsnPullSheetInfo)
        {
            BdAsnInfo bdAsnInfo = new BdAsnInfo();

            bdAsnInfo.asnNo         = qmisAsnPullSheetInfo.AsnNo;
            bdAsnInfo.orderNo       = qmisAsnPullSheetInfo.OrderNo;
            bdAsnInfo.partNo        = qmisAsnPullSheetInfo.PartNo;
            bdAsnInfo.supplierNo    = qmisAsnPullSheetInfo.SupplierNo;
            bdAsnInfo.totalNo       = qmisAsnPullSheetInfo.TotalNo.GetValueOrDefault().ToString();
            bdAsnInfo.checkMode     = qmisAsnPullSheetInfo.CheckMode;
            bdAsnInfo.factory       = qmisAsnPullSheetInfo.Plant;
            bdAsnInfo.arrivalDate   = qmisAsnPullSheetInfo.ArrivalDate.GetValueOrDefault().ToString("yyyy-MM-dd HH:mm:ss");
            bdAsnInfo.targetPlace   = qmisAsnPullSheetInfo.TargetPlace;
            bdAsnInfo.purchaseGroup = qmisAsnPullSheetInfo.PurchaseGroup;
            bdAsnInfo.id            = qmisAsnPullSheetInfo.LogFid.GetValueOrDefault().ToString();

            return(bdAsnInfo);
        }
Beispiel #3
0
 public long InsertInfo(QmisAsnPullSheetInfo info)
 {
     return(dal.Add(info));
 }
Beispiel #4
0
 /// <summary>
 /// -> QmisAsnPullSheetInfo
 /// </summary>
 /// <param name="qmisAsnPullSheetInfo"></param>
 public static void GetQmisAsnPullSheetInfo(ref QmisAsnPullSheetInfo qmisAsnPullSheetInfo)
 {
 }
Beispiel #5
0
 /// <summary>
 /// ReceiveDetailInfo -> QmisAsnPullSheetInfo
 /// </summary>
 /// <param name="qmisAsnPullSheetInfo"></param>
 public static void GetQmisAsnPullSheetInfo(ReceiveDetailInfo receiveDetailInfo, ref QmisAsnPullSheetInfo info)
 {
     if (receiveDetailInfo == null)
     {
         return;
     }
     ///PLANT,工厂
     info.Plant = receiveDetailInfo.Plant;
     ///ASN_NO,ASN单号
     info.AsnNo = receiveDetailInfo.TranNo;
     ///ORDER_NO,拉动单号
     info.OrderNo = receiveDetailInfo.RunsheetNo;
     ///PART_NO,物料编号
     info.PartNo = receiveDetailInfo.PartNo;
     ///SUPPLIER_NO,供应商编码
     info.SupplierNo = receiveDetailInfo.SupplierNum;
     ///ARRIVAL_DATE,预计到达时间
     info.ArrivalDate = DateTime.Now;
 }
Beispiel #6
0
        /// <summary>
        /// 入库免检物料重新校验检验模式
        /// </summary>
        /// <param name="receiveInfo"></param>
        /// <param name="receiveDetailInfos"></param>
        /// <param name="loginUser"></param>
        /// <param name="inspectionFlag"></param>
        /// <returns></returns>
        public static string ReloadInspectionMode(ReceiveInfo receiveInfo, ref List <ReceiveDetailInfo> receiveDetailInfos, string loginUser)
        {
            ///是否启用质量系统接口
            string enableQmisFlag = new ConfigDAL().GetValueByCode("ENABLE_QMIS_FLAG");
            ///获取所有涉及的检验模式,只获取单据中免检物料
            List <PartInspectionModeInfo> partInspectionModeInfos = new PartInspectionModeDAL().GetList("" +
                                                                                                        "[PART_NO] in ('" + string.Join("','", receiveDetailInfos.Where(d => d.InspectionMode.GetValueOrDefault() == (int)InspectionModeConstants.ExemptionInspection).Select(d => d.PartNo).ToArray()) + "') and " +
                                                                                                        "[SUPPLIER_NUM] in ('" + string.Join("','", receiveDetailInfos.Select(d => d.SupplierNum).ToArray()) + "')",
                                                                                                        string.Empty);
            ///LOG_FID
            Guid          logFid  = Guid.NewGuid();
            StringBuilder @string = new StringBuilder();

            foreach (ReceiveDetailInfo receiveDetailInfo in receiveDetailInfos)
            {
                PartInspectionModeInfo partInspectionModeInfo = partInspectionModeInfos.FirstOrDefault(d => d.PartNo == receiveDetailInfo.PartNo && d.SupplierNum == receiveDetailInfo.SupplierNum);
                ///没有检验模式时如何处理,按照批检处理,TODO:增加系统配置
                if (partInspectionModeInfo == null)
                {
                    partInspectionModeInfo = new PartInspectionModeInfo();
                    partInspectionModeInfo.InspectionMode = (int)InspectionModeConstants.BatchInspection;
                }
                ///检验模式无变化时,不产生检验任务
                if (partInspectionModeInfo.InspectionMode == receiveDetailInfo.InspectionMode)
                {
                    continue;
                }
                ///将当前检验模式写入入库单明细
                receiveDetailInfo.InspectionMode = partInspectionModeInfo.InspectionMode;
                ///TODO:可以加入LES质量检验模块数据内容生成逻辑
                ///是否启用质量系统接口
                if (enableQmisFlag.ToLower() != "true")
                {
                    continue;
                }
                ///QMIS检验模式
                int qmisCheckMode = 0;
                switch (partInspectionModeInfo.InspectionMode.GetValueOrDefault())
                {
                case (int)InspectionModeConstants.SamplingInspection: qmisCheckMode = (int)QmisInspectionModeConstants.Sampling; break;

                case (int)InspectionModeConstants.BatchInspection: qmisCheckMode = (int)QmisInspectionModeConstants.Batch; break;

                default: continue;
                }
                ///
                QmisAsnPullSheetInfo qmisAsnPullSheetInfo = QmisAsnPullSheetBLL.CreateQmisAsnPullSheetInfo(loginUser);
                ///
                QmisAsnPullSheetBLL.GetQmisAsnPullSheetInfo(receiveDetailInfo, ref qmisAsnPullSheetInfo);
                ///LOG_FID,日志外键
                qmisAsnPullSheetInfo.LogFid = logFid;
                ///CHECK_MODE,检验模式
                qmisAsnPullSheetInfo.CheckMode = qmisCheckMode.ToString();
                ///TOTAL_NO,送检数量,TODO:送检数量即为实收数量?
                qmisAsnPullSheetInfo.TotalNo = Convert.ToInt32(receiveDetailInfo.ActualQty.GetValueOrDefault());
                ///
                @string.AppendLine(QmisAsnPullSheetDAL.GetInsertSql(qmisAsnPullSheetInfo));
            }
            if (@string.Length > 0)
            {
                @string.AppendLine(CommonBLL.GetCreateOutboundLogSql("QMIS", logFid, "LES-QMIS-002", receiveInfo.ReceiveNo, loginUser));
            }
            return(@string.ToString());
        }