222
schangxiang@126.com
2024-12-18 4a68e02a9dbffe0b215ceb1d9758ccb17329e523
222
已修改15个文件
689 ■■■■■ 文件已修改
CC/iWareCC_ASRS/FormCC.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CC/iWareCC_ASRS/ThreadService/05_BZ30(齐套验证)/DataProcess_ValidateQiTao.cs 268 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CC/iWareCC_ASRS/WCF/CCWcfService.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CC/iWareCC_ASRS/WCF/ICCWcfService.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/mes_Package_UnLine_Record/component/editDialog.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/mes_Package_UnLine_Record/index.vue 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKitting/index.vue 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Connected Services/CCWcfService/ConnectedService.json 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Connected Services/CCWcfService/Reference.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsOrder/Mes_Package_UnLine_Record.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/Mes_Package_UnLine_Record/Dto/Mes_Package_UnLine_RecordInput.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/Mes_Package_UnLine_Record/Dto/Mes_Package_UnLine_RecordOutput.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/Mes_Package_UnLine_Record/Mes_Package_UnLine_RecordService.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/Dto/ValidateQiTaoOutput.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs 189 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CC/iWareCC_ASRS/FormCC.cs
@@ -250,7 +250,7 @@
            new Thread(PushPackageCodeToMes.Handler).Start();
            new Thread(PushPaperCutToMes.Handler).Start();
            new Thread(DataProcess_ValidateQiTao.Handler).Start();
            //new Thread(DataProcess_ValidateQiTao.Handler).Start();
            //*/
            #endregion
CC/iWareCC_ASRS/ThreadService/05_BZ30(ÆëÌ×ÑéÖ¤)/DataProcess_ValidateQiTao.cs
@@ -1,149 +1,149 @@
using Admin.NET.Application;
using iWareCC.Common.Helper;
using iWareCC.StationService;
using iWareCommon.Common.Globle;
using iWareCommon.Utils;
using iWareModel;
using iWareSql.DataAccess;
using iWareSql.DBModel;
using iWareSql.WmsDBModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Remoting.Messaging;
using System.ServiceModel.Configuration;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using WZ.Useful.Commons;
using XiGang.Core.Model;
//using Admin.NET.Application;
//using iWareCC.Common.Helper;
//using iWareCC.StationService;
//using iWareCommon.Common.Globle;
//using iWareCommon.Utils;
//using iWareModel;
//using iWareSql.DataAccess;
//using iWareSql.DBModel;
//using iWareSql.WmsDBModel;
//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Runtime.Remoting.Messaging;
//using System.ServiceModel.Configuration;
//using System.Text;
//using System.Threading;
//using System.Threading.Tasks;
//using WZ.Useful.Commons;
//using XiGang.Core.Model;
namespace iWareCC.ThreadService
{
    /// <summary>
    /// BZ30齐套验证
    /// </summary>
    public static class DataProcess_ValidateQiTao
    {
        public static async void Handler()
        {
            var alertMsg = "";
            LogType logType = LogType.DataProcess_ValidateQiTao;
            while (true)
            {
                Thread.Sleep(2000);//休眠2秒,将休眠写到前面,是为了下面的continue方法执行后不显示错误信息的提示!!!【EditBy shaocx,2022-05-24】
                SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = string.Empty;
                try
                {
                    //if (SystemValue.isAllowRuning_DataProcess_ValidateQiTao && SystemValue.isStartedModel)
                    if (SystemValue.isStartedModel)
                    {
                        var rgvLocation = StationLocationEnum.BZ30.ToString();
//namespace iWareCC.ThreadService
//{
//    /// <summary>
//    /// BZ30齐套验证
//    /// </summary>
//    public static class DataProcess_ValidateQiTao
//    {
//        public static async void Handler()
//        {
//            var alertMsg = "";
//            LogType logType = LogType.DataProcess_ValidateQiTao;
//            while (true)
//            {
//                Thread.Sleep(2000);//休眠2秒,将休眠写到前面,是为了下面的continue方法执行后不显示错误信息的提示!!!【EditBy shaocx,2022-05-24】
//                SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = string.Empty;
//                try
//                {
//                    //if (SystemValue.isAllowRuning_DataProcess_ValidateQiTao && SystemValue.isStartedModel)
//                    if (SystemValue.isStartedModel)
//                    {
//                        var rgvLocation = StationLocationEnum.BZ30.ToString();
                        using (WmsDBModel wmsDB = new WmsDBModel())
                        {
                            var bz30Config = wmsDB.SysConfig.Where(x => x.Code == "wms_bz30_qitao").FirstOrDefault();
                            if (bz30Config == null)
                            {
                                SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = $"没有配置 wms_bz30_qitao å€¼";
                                continue;
                            }
                            var configValue = bz30Config.Value;
                            if (string.IsNullOrEmpty(configValue) || configValue.IndexOf('|') <= -1)
                            {
                                SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = $"配置 wms_bz30_qitao å€¼{configValue}为空或不正确";
                                continue;
                            }
                            var configValues = configValue.Split('|');
                            var packageCode = configValues[0];
                            var qitaoValue = configValues[1];//齐套  ä¸é½å¥—
                            var _UnlinePerson = configValues[2];
                            bool iscomplete = false;
                            if (qitaoValue.Equals("齐套"))
                            {
                                iscomplete = true;
                            }
                            //TODO:推送给PLC åŽ»å“ªä¸ªæ–¹å‘ï¼Ÿ
//                        using (WmsDBModel wmsDB = new WmsDBModel())
//                        {
//                            var bz30Config = wmsDB.SysConfig.Where(x => x.Code == "wms_bz30_qitao").FirstOrDefault();
//                            if (bz30Config == null)
//                            {
//                                SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = $"没有配置 wms_bz30_qitao å€¼";
//                                continue;
//                            }
//                            var configValue = bz30Config.Value;
//                            if (string.IsNullOrEmpty(configValue) || configValue.IndexOf('|') <= -1)
//                            {
//                                SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = $"配置 wms_bz30_qitao å€¼{configValue}为空或不正确";
//                                continue;
//                            }
//                            var configValues = configValue.Split('|');
//                            var packageCode = configValues[0];
//                            var qitaoValue = configValues[1];//齐套  ä¸é½å¥—
//                            var _UnlinePerson = configValues[2];
//                            bool iscomplete = false;
//                            if (qitaoValue.Equals("齐套"))
//                            {
//                                iscomplete = true;
//                            }
//                            //TODO:推送给PLC åŽ»å“ªä¸ªæ–¹å‘ï¼Ÿ
                            using (StationServiceClient client = new StationServiceClient())
                            {
                                var res = client.WriteQiTaoInfo((int)EDevice.Station, rgvLocation, iscomplete);
                                if (!res.result)
                                {
                                    SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = $"{rgvLocation.ToString()}-推送给PLC是否齐套失败,ChangeModeAsync è¿”回:{res.resMsg}";
                                    continue;
                                }
                                else
                                {
                                    Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-推送给PLC是否齐套 æˆåŠŸ,ChangeModeAsync,参数: ç«™ç‚¹{rgvLocation}");
                                }
                            }
                            //
//                            using (StationServiceClient client = new StationServiceClient())
//                            {
//                                var res = client.WriteQiTaoInfo((int)EDevice.Station, rgvLocation, iscomplete);
//                                if (!res.result)
//                                {
//                                    SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = $"{rgvLocation.ToString()}-推送给PLC是否齐套失败,ChangeModeAsync è¿”回:{res.resMsg}";
//                                    continue;
//                                }
//                                else
//                                {
//                                    Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-推送给PLC是否齐套 æˆåŠŸ,ChangeModeAsync,参数: ç«™ç‚¹{rgvLocation}");
//                                }
//                            }
//                            //
                            //更新值
                            bz30Config.Value = "";
                            var package = wmsDB.mes_package_gather.Where(x => x.PackageCode == packageCode).FirstOrDefault();
                            if (package != null)
                            {
                                package.UpiStatus = (int)UpiStatusEnum.已下线;
                                package.AreaCode = (int)AreaCodeEnum.下线区域;
                            }
                            var upiList = wmsDB.mes_batchOrderUPI_new.Where(x => x.PackageCode == packageCode).ToList();
                            foreach (var item in upiList)
                            {
                                item.UpiStatus = (int)UpiStatusEnum.已下线;
                                item.AreaCode = (int)AreaCodeEnum.下线区域;
                                item.UpdateTime = DateTime.Now;
                            }
                            //删除队列信息
                            var lineQueue = wmsDB.mes_package_linequeue.Where(x => x.PackageCode == packageCode).FirstOrDefault();
                            if (lineQueue != null)
                            {
                                wmsDB.mes_package_linequeue.Remove(lineQueue);
                            }
//                            //更新值
//                            bz30Config.Value = "";
//                            var package = wmsDB.mes_package_gather.Where(x => x.PackageCode == packageCode).FirstOrDefault();
//                            if (package != null)
//                            {
//                                package.UpiStatus = (int)UpiStatusEnum.已下线;
//                                package.AreaCode = (int)AreaCodeEnum.下线区域;
//                            }
//                            var upiList = wmsDB.mes_batchOrderUPI_new.Where(x => x.PackageCode == packageCode).ToList();
//                            foreach (var item in upiList)
//                            {
//                                item.UpiStatus = (int)UpiStatusEnum.已下线;
//                                item.AreaCode = (int)AreaCodeEnum.下线区域;
//                                item.UpdateTime = DateTime.Now;
//                            }
//                            //删除队列信息
//                            var lineQueue = wmsDB.mes_package_linequeue.Where(x => x.PackageCode == packageCode).FirstOrDefault();
//                            if (lineQueue != null)
//                            {
//                                wmsDB.mes_package_linequeue.Remove(lineQueue);
//                            }
                            //处理表  mes_order_gather
                            var errmsg = "";
                            var result = MyExtendHelper.HandlerOrderGather(wmsDB, package, qitaoValue, _UnlinePerson, out errmsg);
                            if (result == false)
                            {
                                SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = errmsg;
                                continue;
                            }
//                            //处理表  mes_order_gather
//                            var errmsg = "";
//                            var result = MyExtendHelper.HandlerOrderGather(wmsDB, package, qitaoValue, _UnlinePerson, out errmsg);
//                            if (result == false)
//                            {
//                                SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = errmsg;
//                                continue;
//                            }
                            //新增下线记录
                            //判断如果包已经下线了,就不再写入下线记录了
                            var existPackObj = wmsDB.mes_package_unline_record.Where(x => x.PackageCode == package.PackageCode).FirstOrDefault();
                            if (existPackObj == null)
                            {
                                mes_package_unline_record record = new mes_package_unline_record();
                                record = ClassHelper.RotationMapping<mes_package_unline_record, mes_package_gather>(package);
                                record.Id = Yitter.IdGenerator.YitIdHelper.NextId();
                                record.CreateTime = DateTime.Now;
                                record.UpdateTime = DateTime.Now;
                                record.OpRemark = "下线";
                                wmsDB.mes_package_unline_record.Add(record);
                            }
//                            //新增下线记录
//                            //判断如果包已经下线了,就不再写入下线记录了
//                            var existPackObj = wmsDB.mes_package_unline_record.Where(x => x.PackageCode == package.PackageCode).FirstOrDefault();
//                            if (existPackObj == null)
//                            {
//                                mes_package_unline_record record = new mes_package_unline_record();
//                                record = ClassHelper.RotationMapping<mes_package_unline_record, mes_package_gather>(package);
//                                record.Id = Yitter.IdGenerator.YitIdHelper.NextId();
//                                record.CreateTime = DateTime.Now;
//                                record.UpdateTime = DateTime.Now;
//                                record.OpRemark = "下线";
//                                wmsDB.mes_package_unline_record.Add(record);
//                            }
                            WmsRecordUpiProcessHandler.SaveWmsRecordPackageProcess(wmsDB, package, "BZ30", "齐套验证");
//                            WmsRecordUpiProcessHandler.SaveWmsRecordPackageProcess(wmsDB, package, "BZ30", "齐套验证");
                            wmsDB.SaveChanges();
                        }
                    }
//                            wmsDB.SaveChanges();
//                        }
//                    }
                }
                catch (Exception ex)
                {
                    SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao += " å‡ºçް异叏:" + ex.Message + SysGloble.SPLIT_STR;
                    Log4NetHelper.WriteErrorLog(logType, " å‡ºçŽ°å¼‚å¸¸ï¼š" + ex.Message, ex);
                }
            }
        }
//                }
//                catch (Exception ex)
//                {
//                    SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao += " å‡ºçް异叏:" + ex.Message + SysGloble.SPLIT_STR;
//                    Log4NetHelper.WriteErrorLog(logType, " å‡ºçŽ°å¼‚å¸¸ï¼š" + ex.Message, ex);
//                }
//            }
//        }
    }
}
//    }
//}
CC/iWareCC_ASRS/WCF/CCWcfService.cs
@@ -120,5 +120,32 @@
            }
        }
        /// <summary>
        /// ä¸‹çº¿æ”¾è¡Œæ–¹å‘
        /// </summary>
        /// <param name="iscomplete"></param>
        /// <returns></returns>
        public FunRetEntity WriteQiTaoInfo(bool iscomplete)
        {
            try
            {
                using (StationServiceClient client = new StationServiceClient())
                {
                    var res = client.WriteQiTaoInfo((int)EDevice.Station, StationLocationEnum.BZ30.ToString(), iscomplete);
                    if (!res.result)
                    {
                        return FunRetEntity.Fail(res.resMsg);
                    }
                }
                return FunRetEntity.Success("成功", "");
            }
            catch (Exception ex)
            {
                return FunRetEntity.Fail("异常:" + ex.Message);
            }
        }
    }
}
CC/iWareCC_ASRS/WCF/ICCWcfService.cs
@@ -47,5 +47,14 @@
        [OperationContract]
        FunRetEntity WriteStation_PartClear();
        /// <summary>
        /// ä¸‹çº¿æ”¾è¡Œæ–¹å‘
        /// </summary>
        /// <param name="iscomplete"></param>
        /// <returns></returns>
        [OperationContract]
        FunRetEntity WriteQiTaoInfo(bool iscomplete);
    }
}
LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/mes_Package_UnLine_Record/component/editDialog.vue
@@ -30,6 +30,27 @@
                        
                    </el-col>
                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
                        <el-form-item label="下线位置" prop="location">
                            <el-input v-model="ruleForm.location" placeholder="请输入下线位置" maxlength="50" show-word-limit clearable />
                        </el-form-item>
                    </el-col>
                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
                        <el-form-item label="总包数" prop="allPackageNum">
                            <el-input-number v-model="ruleForm.allPackageNum" placeholder="请输入总包数" clearable />
                        </el-form-item>
                    </el-col>
                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
                        <el-form-item label="当前第几包下线" prop="curUnlineIndexPackageNum">
                            <el-input-number v-model="ruleForm.curUnlineIndexPackageNum" placeholder="请输入当前第几包下线" clearable />
                        </el-form-item>
                    </el-col>
                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
                        <el-form-item label="生产单号" prop="info5">
                            <el-input v-model="ruleForm.info5" placeholder="请输入生产单号" maxlength="60" show-word-limit clearable />
                            
@@ -178,6 +199,8 @@
    //自行添加其他规则
    const rules = ref<FormRules>({
        packageCode: [{required: true, message: '请输入包装号!', trigger: 'blur',},],
        allPackageNum: [{required: true, message: '请输入总包数!', trigger: 'blur',},],
        curUnlineIndexPackageNum: [{required: true, message: '请输入当前第几包下线!', trigger: 'blur',},],
        planNo: [{required: true, message: '请输入批次号!', trigger: 'blur',},],
        orderId: [{required: true, message: '请输入订单号!', trigger: 'blur',},],
        isDelete: [{required: true, message: '请选择软删除!', trigger: 'change',},],
LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/mes_Package_UnLine_Record/index.vue
@@ -5,7 +5,7 @@
        <el-row>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
            <el-form-item label="关键字">
              <el-input v-model="queryParamsMes_Package_UnLine_Record.searchKey" clearable="" placeholder="包装号,生产单号,批次号,订单号,销售合同单号,第几包,经销店名称,产品名称,客户名称,自提or发货,包装部件总数量,包装面积,备注,创建人,修改人"/>
              <el-input v-model="queryParamsMes_Package_UnLine_Record.searchKey" clearable="" placeholder="包装号,下线位置,生产单号,批次号,订单号,销售合同单号,第几包,经销店名称,产品名称,客户名称,自提or发货,包装部件总数量,包装面积,备注,创建人,修改人"/>
              
            </el-form-item>
          </el-col>
@@ -21,6 +21,24 @@
                <el-option v-for="(item,index) in getEnumUpiFlagData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
                
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_Package_UnLine_Record">
            <el-form-item label="下线位置">
              <el-input v-model="queryParamsMes_Package_UnLine_Record.location" clearable="" placeholder="请输入下线位置"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_Package_UnLine_Record">
            <el-form-item label="总包数">
              <el-input-number v-model="queryParamsMes_Package_UnLine_Record.allPackageNum"  clearable="" placeholder="请输入总包数"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_Package_UnLine_Record">
            <el-form-item label="当前第几包下线">
              <el-input-number v-model="queryParamsMes_Package_UnLine_Record.curUnlineIndexPackageNum"  clearable="" placeholder="请输入当前第几包下线"/>
              
            </el-form-item>
          </el-col>
@@ -120,6 +138,12 @@
              
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_Package_UnLine_Record">
            <el-form-item label="修改时间">
              <el-date-picker placeholder="请选择修改时间" value-format="YYYY/MM/DD  HH:mm:ss" type="datetimerange" :default-time="defaultTimeRange" v-model="queryParamsMes_Package_UnLine_Record.updateTimeRange" />
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
            <el-form-item>
              <el-button-group style="display: flex; align-items: center;">
@@ -153,6 +177,9 @@
              <el-tag>{{ getEnumDesc(scope.row.upiFlag, getEnumUpiFlagData_Index)}}</el-tag>
            </template>
          </el-table-column>
        <el-table-column prop="location" label="下线位置"  show-overflow-tooltip="" />
        <el-table-column prop="allPackageNum" label="总包数"  show-overflow-tooltip="" />
        <el-table-column prop="curUnlineIndexPackageNum" label="当前第几包下线"  show-overflow-tooltip="" />
        <el-table-column prop="info5" label="生产单号"  show-overflow-tooltip="" />
        <el-table-column prop="planNo" label="批次号"  show-overflow-tooltip="" />
        <el-table-column prop="orderId" label="订单号"  show-overflow-tooltip="" />
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKitting/index.vue
@@ -34,7 +34,7 @@
            <br />
            <div class="detailBox" style="height: calc(65vh)">
                <div class="titleTip">
                    <div class="" v-show="isSuccess == '成功' && qiTaoReuslt=='齐套' ">
                    <div class="" v-show="isSuccess == '成功' && isNewOrder===false ">
                        <svg t="1732788314050" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11359" width="100" height="100">
                            <path
                                d="M874.119618 149.859922A510.816461 510.816461 0 0 0 511.997 0.00208a509.910462 509.910462 0 0 0-362.119618 149.857842c-199.817789 199.679789-199.817789 524.581447 0 724.260236a509.969462 509.969462 0 0 0 362.119618 149.857842A508.872463 508.872463 0 0 0 874.119618 874.120158c199.836789-199.679789 199.836789-524.581447 0-724.260236zM814.94268 378.210681L470.999043 744.132295a15.359984 15.359984 0 0 1-5.887994 4.095996c-1.751998 1.180999-2.913997 2.362998-5.276994 2.913997a34.499964 34.499964 0 0 1-13.469986 2.914997 45.547952 45.547952 0 0 1-12.897986-2.303998l-4.095996-2.363997a45.291952 45.291952 0 0 1-7.009992-4.095996l-196.902793-193.789796a34.126964 34.126964 0 0 1-10.555989-25.186973c0-9.37399 3.583996-18.74698 9.98399-25.186974a36.429962 36.429962 0 0 1 50.372947 0l169.98382 167.423824L763.389735 330.220732a37.059961 37.059961 0 0 1 50.371947-1.732998 33.647965 33.647965 0 0 1 11.165988 25.186973 35.544963 35.544963 0 0 1-9.98399 24.575974v-0.04z m0 0"
@@ -42,9 +42,9 @@
                                p-id="11360"
                            ></path>
                        </svg>
                         <p class="okText">{{_packageCode}} ã€{{qiTaoReuslt}}】!</p>
                         <p class="okText">【{{qiTaoReuslt}}】!</p>
                    </div>
                    <div class="" v-show="isSuccess == '成功' && qiTaoReuslt=='不齐套' ">
                    <div class="" v-show="isSuccess == '成功' && isNewOrder ">
                        <svg t="1732842594517" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4303" width="100" height="100">
                            <path
                                d="M549.044706 512l166.189176-166.249412a26.383059 26.383059 0 0 0 0-36.98447 26.383059 26.383059 0 0 0-37.044706 0L512 475.015529l-166.249412-166.249411a26.383059 26.383059 0 0 0-36.98447 0 26.383059 26.383059 0 0 0 0 37.044706L475.015529 512l-166.249411 166.249412a26.383059 26.383059 0 0 0 0 36.98447 26.383059 26.383059 0 0 0 37.044706 0L512 548.984471l166.249412 166.249411a26.383059 26.383059 0 0 0 36.98447 0 26.383059 26.383059 0 0 0 0-37.044706L548.984471 512zM512 1024a512 512 0 1 1 0-1024 512 512 0 0 1 0 1024z"
@@ -52,7 +52,7 @@
                                p-id="4304"
                            ></path>
                        </svg>
                        <p class="no_okText">{{_packageCode}} ã€{{qiTaoReuslt}}】!</p>
                        <p class="no_okText">【{{qiTaoReuslt}}】!</p>
                    </div>
                    <div class="" v-show="isSuccess && isSuccess != '成功'">
                        <svg t="1732842594517" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4303" width="100" height="100">
@@ -66,7 +66,14 @@
                    </div>
                </div>
                <ul>
                    <li>
                        <span class="text_left">包装编号:</span>
                        <span class="text_rt">{{ tableData.packageCode }}</span>
                    </li>
                    <li>
                        <span class="text_left">生产单号:</span>
                        <span class="text_rt">{{ tableData.info5 }}</span>
                    </li>
                    <li>
                        <span class="text_left">批次号:</span>
                        <span class="text_rt">{{ tableData.planNo }}</span>
@@ -91,10 +98,6 @@
                    <li>
                        <span class="text_left">销售合同单号:</span>
                        <span class="text_rt">{{ tableData.info4 }}</span>
                    </li>
                    <li>
                        <span class="text_left">第几包:</span>
                        <span class="text_rt">{{ tableData.info6 }}</span>
                    </li>
                    <li>
                        <span class="text_left">产品名称:</span>
@@ -223,6 +226,7 @@
//=======================end鼠标定位 ç”¨äºŽå¼•用输入框=====================
const isSuccess = ref('');
const qiTaoReuslt = ref('');
const isNewOrder = ref('');
const _packageCode = ref('');
// æŸ¥è¯¢æ“ä½œ 888888888
const handleQuery = async () => {
@@ -243,6 +247,7 @@
    tableData.value ={};
    isSuccess.value ='';
    qiTaoReuslt.value ='' ;
    isNewOrder.value ='';
};
function handleResponse(res: any) {
    tableData.value = res.data.result ?? {};
@@ -251,16 +256,19 @@
    if (res.data.code == 200) {
        isSuccess.value = '成功';
        qiTaoReuslt.value = res.data.result ? res.data.result.qiTaoReuslt : '';
        isNewOrder.value = res.data.result ? res.data.result.isNewOrder : '';
        //qiTaoReuslt.value ='齐套';// æ¨¡æ‹Ÿ
    } else if (res.data.code == 400) {
        loading.value = false;
        isSuccess.value = res.data.message || '未查询到数据';
        qiTaoReuslt.value ='' ;
        isNewOrder.value ='' ;
        return;
    } else {
        loading.value = false;
        isSuccess.value = '';
        qiTaoReuslt.value ='' ;
        isNewOrder.value ='' ;
        ElMessage.warning('网络异常 è¯·æ±‚失败');
        return;
    }
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Connected Services/CCWcfService/ConnectedService.json
@@ -29,11 +29,11 @@
      "BouncyCastle.Cryptography, {BouncyCastle.Cryptography, 2.3.0}",
      "COSXML, {Tencent.QCloud.Cos.Sdk, 5.4.32}",
      "Crc32.NET, {Crc32.NET, 1.2.0}",
      "D:\\code\\LA24030-LuLI_PackageLine\\LA24030_LuLiPackageLine_Wms\\Admin.NET.Application\\bin\\Debug\\net6.0\\Admin.NET.Core.dll",
      "D:\\code\\LA24030-LuLI_PackageLine\\LA24030_LuLiPackageLine_Wms\\Admin.NET.Application\\bin\\Debug\\net6.0\\Admin.NET.Plugin.ApprovalFlow.dll",
      "D:\\code\\LA24030-LuLI_PackageLine\\LA24030_LuLiPackageLine_Wms\\Admin.NET.Application\\bin\\Debug\\net6.0\\Admin.NET.Plugin.DingTalk.dll",
      "D:\\code\\LA24030-LuLI_PackageLine\\LA24030_LuLiPackageLine_Wms\\Admin.NET.Application\\bin\\Debug\\net6.0\\Admin.NET.Plugin.GoView.dll",
      "D:\\code\\LA24030-LuLI_PackageLine\\LA24030_LuLiPackageLine_Wms\\Admin.NET.Application\\bin\\Debug\\net6.0\\Admin.NET.Plugin.ReZero.dll",
      "D:\\code\\LA24030-LuLI_PackageLine\\LA24030_LuLiPackageLine_Wms\\Admin.NET.Application\\bin\\Release\\net6.0\\Admin.NET.Core.dll",
      "D:\\code\\LA24030-LuLI_PackageLine\\LA24030_LuLiPackageLine_Wms\\Admin.NET.Application\\bin\\Release\\net6.0\\Admin.NET.Plugin.ApprovalFlow.dll",
      "D:\\code\\LA24030-LuLI_PackageLine\\LA24030_LuLiPackageLine_Wms\\Admin.NET.Application\\bin\\Release\\net6.0\\Admin.NET.Plugin.DingTalk.dll",
      "D:\\code\\LA24030-LuLI_PackageLine\\LA24030_LuLiPackageLine_Wms\\Admin.NET.Application\\bin\\Release\\net6.0\\Admin.NET.Plugin.GoView.dll",
      "D:\\code\\LA24030-LuLI_PackageLine\\LA24030_LuLiPackageLine_Wms\\Admin.NET.Application\\bin\\Release\\net6.0\\Admin.NET.Plugin.ReZero.dll",
      "DmProvider, {SqlSugarCore.Dm, 1.3.0}",
      "DocumentFormat.OpenXml, {DocumentFormat.OpenXml, 2.7.2}",
      "DynamicExpresso.Core, {DynamicExpresso.Core, 2.3.3}",
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Connected Services/CCWcfService/Reference.cs
@@ -80,6 +80,9 @@
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ICCWcfService/WriteStation_PartClear", ReplyAction="http://tempuri.org/ICCWcfService/WriteStation_PartClearResponse")]
        System.Threading.Tasks.Task<CCWcfService.FunRetEntity> WriteStation_PartClearAsync();
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ICCWcfService/WriteQiTaoInfo", ReplyAction="http://tempuri.org/ICCWcfService/WriteQiTaoInfoResponse")]
        System.Threading.Tasks.Task<CCWcfService.FunRetEntity> WriteQiTaoInfoAsync(bool iscomplete);
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.1.0")]
@@ -152,6 +155,11 @@
            return base.Channel.WriteStation_PartClearAsync();
        }
        
        public System.Threading.Tasks.Task<CCWcfService.FunRetEntity> WriteQiTaoInfoAsync(bool iscomplete)
        {
            return base.Channel.WriteQiTaoInfoAsync(iscomplete);
        }
        public virtual System.Threading.Tasks.Task OpenAsync()
        {
            return System.Threading.Tasks.Task.Factory.FromAsync(((System.ServiceModel.ICommunicationObject)(this)).BeginOpen(null, null), new System.Action<System.IAsyncResult>(((System.ServiceModel.ICommunicationObject)(this)).EndOpen));
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsOrder/Mes_Package_UnLine_Record.cs
@@ -24,6 +24,18 @@
        public UpiFlagEnum? UpiFlag { get; set; } = UpiFlagEnum.正常;
        /// <summary>
        /// ä¸‹çº¿ä½ç½®(BZ-33 BZ-32)
        /// </summary>
        [SugarColumn(ColumnName = "Location", ColumnDescription = "下线位置", Length = 50)]
        public string? Location { get; set; }
        [SugarColumn(ColumnName = "AllPackageNum", ColumnDescription = "总包数")]
        public int AllPackageNum { get; set; }
        [SugarColumn(ColumnName = "CurUnlineIndexPackageNum", ColumnDescription = "当前第几包下线")]
        public int CurUnlineIndexPackageNum { get; set; }
        /// <summary>
        /// ç”Ÿäº§å•号
        /// </summary>
        [SugarColumn(ColumnName = "Info5", ColumnDescription = "生产单号", Length = 60)]
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/Mes_Package_UnLine_Record/Dto/Mes_Package_UnLine_RecordInput.cs
@@ -19,6 +19,21 @@
        public virtual Admin.NET.Application.UpiFlagEnum? UpiFlag { get; set; }
        
        /// <summary>
        /// ä¸‹çº¿ä½ç½®
        /// </summary>
        public virtual string Location { get; set; }
        /// <summary>
        /// æ€»åŒ…æ•°
        /// </summary>
        public virtual int AllPackageNum { get; set; }
        /// <summary>
        /// å½“前第几包下线
        /// </summary>
        public virtual int CurUnlineIndexPackageNum { get; set; }
        /// <summary>
        /// ç”Ÿäº§å•号
        /// </summary>
        public virtual string Info5 { get; set; }
@@ -151,6 +166,21 @@
        public Admin.NET.Application.UpiFlagEnum? UpiFlag { get; set; }
        
        /// <summary>
        /// ä¸‹çº¿ä½ç½®
        /// </summary>
        public string? Location { get; set; }
        /// <summary>
        /// æ€»åŒ…æ•°
        /// </summary>
        public int? AllPackageNum { get; set; }
        /// <summary>
        /// å½“前第几包下线
        /// </summary>
        public int? CurUnlineIndexPackageNum { get; set; }
        /// <summary>
        /// ç”Ÿäº§å•号
        /// </summary>
        public string? Info5 { get; set; }
@@ -234,6 +264,15 @@
         /// åˆ›å»ºæ—¶é—´èŒƒå›´
         /// </summary>
         public List<DateTime?> CreateTimeRange { get; set; } 
        /// <summary>
        /// ä¿®æ”¹æ—¶é—´
        /// </summary>
        public DateTime? UpdateTime { get; set; }
        /// <summary>
         /// ä¿®æ”¹æ—¶é—´èŒƒå›´
         /// </summary>
         public List<DateTime?> UpdateTimeRange { get; set; }
    }
    /// <summary>
@@ -248,6 +287,18 @@
        public override string PackageCode { get; set; }
        
        /// <summary>
        /// æ€»åŒ…æ•°
        /// </summary>
        [Required(ErrorMessage = "总包数不能为空")]
        public override int AllPackageNum { get; set; }
        /// <summary>
        /// å½“前第几包下线
        /// </summary>
        [Required(ErrorMessage = "当前第几包下线不能为空")]
        public override int CurUnlineIndexPackageNum { get; set; }
        /// <summary>
        /// æ‰¹æ¬¡å·
        /// </summary>
        [Required(ErrorMessage = "批次号不能为空")]
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/Mes_Package_UnLine_Record/Dto/Mes_Package_UnLine_RecordOutput.cs
@@ -21,6 +21,21 @@
    public Admin.NET.Application.UpiFlagEnum? UpiFlag { get; set; }
    
    /// <summary>
    /// ä¸‹çº¿ä½ç½®
    /// </summary>
    public string Location { get; set; }
    /// <summary>
    /// æ€»åŒ…æ•°
    /// </summary>
    public int AllPackageNum { get; set; }
    /// <summary>
    /// å½“前第几包下线
    /// </summary>
    public int CurUnlineIndexPackageNum { get; set; }
    /// <summary>
    /// ç”Ÿäº§å•号
    /// </summary>
    public string Info5 { get; set; }
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/Mes_Package_UnLine_Record/Mes_Package_UnLine_RecordService.cs
@@ -127,6 +127,7 @@
        var query = _rep.AsQueryable()
            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
                u.PackageCode.Contains(input.SearchKey.Trim())
                || u.Location.Contains(input.SearchKey.Trim())
                || u.Info5.Contains(input.SearchKey.Trim())
                || u.PlanNo.Contains(input.SearchKey.Trim())
                || u.OrderId.Contains(input.SearchKey.Trim())
@@ -144,6 +145,9 @@
            )
            .WhereIF(!string.IsNullOrWhiteSpace(input.PackageCode), u => u.PackageCode.Contains(input.PackageCode.Trim()))
            .WhereIF(input.UpiFlag.HasValue, u => u.UpiFlag == input.UpiFlag)
            .WhereIF(!string.IsNullOrWhiteSpace(input.Location), u => u.Location.Contains(input.Location.Trim()))
            .WhereIF(input.AllPackageNum>0, u => u.AllPackageNum == input.AllPackageNum)
            .WhereIF(input.CurUnlineIndexPackageNum>0, u => u.CurUnlineIndexPackageNum == input.CurUnlineIndexPackageNum)
            .WhereIF(!string.IsNullOrWhiteSpace(input.Info5), u => u.Info5.Contains(input.Info5.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.PlanNo), u => u.PlanNo.Contains(input.PlanNo.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.OrderId), u => u.OrderId.Contains(input.OrderId.Trim()))
@@ -167,6 +171,16 @@
                query = query.Where(u => u.CreateTime <= end);
            }
        } 
        if(input.UpdateTimeRange != null && input.UpdateTimeRange.Count >0)
        {
            DateTime? start= input.UpdateTimeRange[0].Value;
            query = query.WhereIF(start.HasValue, u => u.UpdateTime >= start);
            if (input.UpdateTimeRange.Count >1 && input.UpdateTimeRange[1].HasValue)
            {
                var end = input.UpdateTimeRange[1].Value;
                query = query.Where(u => u.UpdateTime <= end);
            }
        }
        return query;
       }
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/Dto/ValidateQiTaoOutput.cs
@@ -11,6 +11,12 @@
{
    /// <summary>
    /// æ˜¯å¦æ˜¯æ–°è®¢å•
    /// </summary>
    public virtual bool IsNewOrder { get; set; }
    /// <summary>
    /// é½å¥—结果
    /// </summary>
    public virtual string QiTaoReuslt { get; set; }
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs
@@ -29,6 +29,7 @@
    private readonly SqlSugarRepository<Mes_Upi_LineQueue> _mes_Upi_LineQueueRep;
    private readonly SqlSugarRepository<Mes_Package_LineQueue> _mes_Package_LineQueueRep;
    private readonly SqlSugarRepository<WmsRecordUpiNg> _wmsRecordUpiNgRep;
    private readonly SqlSugarRepository<Mes_Package_UnLine_Record> _mes_Package_UnLine_RecordRep;
    private readonly WmsCommonnQueryService _wmsCommonnQueryService;
    public WmsOperationTaskService(
@@ -43,6 +44,7 @@
        , SqlSugarRepository<WmsRecordUpiNg> wmsRecordUpiNgRep
        , WmsCommonnQueryService wmsCommonnQueryService
        , SqlSugarRepository<Mes_Package_LineQueue> mes_Package_LineQueueRep
        , SqlSugarRepository<Mes_Package_UnLine_Record> mes_Package_UnLine_RecordRep
        )
    {
        _mes_Package_LineQueueRep = mes_Package_LineQueueRep;
@@ -57,6 +59,7 @@
        _wmsRecordUpiProcessRep = wmsRecordUpiProcessRep;
        _wmsRecordPackageProcessRep = wmsRecordPackageProcessRep;
        _mes_Upi_LineQueueRep = mes_Upi_LineQueueRep;
        _mes_Package_UnLine_RecordRep = mes_Package_UnLine_RecordRep;
    }
@@ -216,7 +219,7 @@
    }
    /// <summary>
    /// åˆ¤æ–­é½å¥—
    /// ä¸‹çº¿æ”¾è¡Œ
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
@@ -238,81 +241,55 @@
            throw Oops.Oh($"没有找到包号{input.PackageCode}的汇总数据");
        }
        var sysConfig = await _sysConfigRep.GetFirstAsync(x => x.Code == CommonConst.WmsBZ30_QiTao);
        if (sysConfig == null)
        if (package.UpiStatus == UpiStatusEnum.已下线)
        {
            throw Oops.Oh($"没有配置 åˆ¤æ–­é½å¥— å€¼");
            throw Oops.Oh($"包{input.PackageCode}已下线");
        }
        if (!string.IsNullOrEmpty(sysConfig.Value) && sysConfig.Value.Trim() != "无")
        var unlineObj = await _mes_Package_UnLine_RecordRep.AsQueryable().Where(x => x.PackageCode == input.PackageCode).FirstAsync();
        if (unlineObj != null)
        {
            throw Oops.Oh($"判断齐套值已经存在值{sysConfig.Value},不允许操作");
            throw Oops.Oh($"包号{input.PackageCode}已经下线");
        }
        //判断是否是新生产订单
        var _QiTaoReuslt = "";
        bool isNewOrder = false;
        string _location = "BZ-33";
        var lastPackageUnline = await _mes_Package_UnLine_RecordRep.AsQueryable().Where(x => x.UpiFlag == UpiFlagEnum.正常).OrderByDescending(x => x.Id).FirstAsync();
        if (lastPackageUnline == null)
        {//认为是新生产订单
            isNewOrder = true;
        }
        else
        {
            if (lastPackageUnline.Info5 != package.Info5)
            {//认为是新生产订单
                isNewOrder = true;
                if (lastPackageUnline.Location == "BZ-33")
                {
                    _location = "BZ-32";
                }
                else
                {
                    _location = "BZ-33";
                }
            }
            else
            {
                _location = lastPackageUnline.Location;
            }
        }
        if (string.IsNullOrEmpty(_location))
        {//默认
            _location = "BZ-33";
        }
        _QiTaoReuslt = (bool)isNewOrder ? "新订单" : "当前订单";
        //记录工作时间和工作人
        var curUserName = App.User.FindFirst(ClaimConst.RealName)?.Value;
        var setValue = "";
        var _QiTaoReuslt = "";
        bool isNeedQueryQiTao = true;
        var order = await _mesOrderGatherRep.AsQueryable().Where(x => x.Info5 == package.Info5).FirstAsync();
        if (order == null)
        {
        }
        else
        {
            if (order.IsKitting != null)
            {
                _QiTaoReuslt = (bool)order.IsKitting ? "齐套" : "不齐套";
                isNeedQueryQiTao = false;
            }
        }
        if (isNeedQueryQiTao)
        {
            var other_orderList = await _mesPackageGatherRep.AsQueryable().Where(x => x.Info5 == package.Info5 && x.PackageCode != input.PackageCode).ToListAsync();
            var num = other_orderList.Where(x => x.UpiStatus == UpiStatusEnum.初始).Count();
            if (num > 0)
            {
                //不齐套
                _QiTaoReuslt = "不齐套";
            }
            else
            {
                _QiTaoReuslt = "齐套";
            }
        }
        setValue = $"{input.PackageCode}|{_QiTaoReuslt}|" + curUserName;
        if (package.UpiStatus == UpiStatusEnum.已下线)
        {
            throw Oops.Oh($"包已下线,齐套结果[{_QiTaoReuslt}]");
        }
        if (order == null)
        {
            Mes_Order_Gather newOrder = new Mes_Order_Gather()
            {
                Info5 = package.Info5,
                IsKitting = _QiTaoReuslt == "齐套" ? true : false,
                PlanNo = package.PlanNo,
                OrderId = package.OrderId
            };
            await _mesOrderGatherRep.InsertAsync(newOrder);
        }
        else
        {
            order.IsKitting = _QiTaoReuslt == "齐套" ? true : false;
            await _mesOrderGatherRep.UpdateAsync(order);
        }
        sysConfig.Value = setValue;
        await _sysConfigRep.UpdateAsync(sysConfig);
        //*/
        var sysConfig_wms_unline_oper = await _sysConfigRep.GetFirstAsync(x => x.Code == CommonConst.wms_unline_oper);
        if (sysConfig_wms_unline_oper == null)
@@ -334,8 +311,78 @@
        }
        //请求PLC
        //判断方向
        bool myLocation = false;
        if (_location == "BZ-33")
        {
            myLocation = false;
        }
        else
        {
            myLocation = true;
        }
        var client = await WCFServiceHelper.GetWCFService_SAPCC_Client(_sysConfigRep);
        var res = await client.WriteQiTaoInfoAsync(myLocation);
        if (res.result == false)
        {
            throw Oops.Oh(res.resMsg);
        }
        //更新数据
        package.UpiStatus = UpiStatusEnum.已下线;
        package.AreaCode = AreaCodeEnum.下线区域;
        await _mesPackageGatherRep.UpdateAsync(package);
        var upiList = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.PackageCode == input.PackageCode).ToListAsync();
        foreach (var item in upiList)
        {
            item.UpiStatus = UpiStatusEnum.已下线;
            item.AreaCode = AreaCodeEnum.下线区域;
            item.UpdateTime = DateTime.Now;
        }
        await _mesBatchOrderUpiRep.UpdateRangeAsync(upiList);
        //删除队列信息
        var lineQueue = await _mes_Package_LineQueueRep.AsQueryable().Where(x => x.PackageCode == input.PackageCode).FirstAsync();
        if (lineQueue != null)
        {
            await _mes_Package_LineQueueRep.DeleteAsync(lineQueue);
        }
        //处理表  mes_order_gather
        await UpdateOrderGather(package, false);
        var _cretaorName = App.User.FindFirst(ClaimConst.RealName)?.Value;
        //新增下线记录表
        var all_upiList = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.Info5 == package.Info5).ToListAsync();
        var all_unlineList = await _mes_Package_UnLine_RecordRep.AsQueryable().Where(x => x.Info5 == package.Info5).ToListAsync();
        Mes_Package_UnLine_Record record = new Mes_Package_UnLine_Record();
        record = package.Adapt<Mes_Package_UnLine_Record>();
        record.Id = Yitter.IdGenerator.YitIdHelper.NextId();
        record.Location = _location;
        record.AllPackageNum = all_upiList.GroupBy(x => x.PackageCode).Count();
        record.CurUnlineIndexPackageNum = all_unlineList.GroupBy(x => x.PackageCode).Count() + 1;
        record.CreateTime = DateTime.Now;
        record.CreateUserName = _cretaorName;
        await _mes_Package_UnLine_RecordRep.InsertAsync(record);
        //记录包履历
        WmsRecordPackageProcess wmsRecordPackage = new WmsRecordPackageProcess();
        wmsRecordPackage = package.Adapt<WmsRecordPackageProcess>();
        wmsRecordPackage.Id = Yitter.IdGenerator.YitIdHelper.NextId();
        wmsRecordPackage.Location = "";
        wmsRecordPackage.OperRemark = "正常下线";
        wmsRecordPackage.CreateTime = DateTime.Now;
        wmsRecordPackage.CreateUserName = _cretaorName;
        await _wmsRecordPackageProcessRep.InsertAsync(wmsRecordPackage);
        output = package.Adapt<ValidateQiTaoOutput>();
        output.QiTaoReuslt = _QiTaoReuslt;
        output.QiTaoReuslt = _QiTaoReuslt + $",第{record.CurUnlineIndexPackageNum}包下线,共{record.AllPackageNum}包";
        output.IsNewOrder = isNewOrder;
        //output.IsNewOrder = false;
        return output;
    }
@@ -518,7 +565,7 @@
    }
    /// <summary>
    /// ä¸‹çº¿æ›´æ–° è®¢å•表数据
    /// å…¬å…±-下线更新 è®¢å•表数据
    /// </summary>
    /// <param name="singlePackage"></param>
    /// <returns></returns>