服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2024-10-16 6f2a940062c7a19875a5261758ab2ffc10f8a492
包装工序装配生产订单获取
已修改4个文件
71 ■■■■■ 文件已修改
Tiger.Business.MES/Transaction/Position.cs 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/WorkAction/PackingAction.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/MES_WIP_PKG.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/Transaction/Position.cs
@@ -410,24 +410,24 @@
            //保存工步的数据库提交操作到提交操作列表
            if (!Steps.IsNullOrEmpty())
            {
                var commitList = new List<Action>();
                foreach (var step in Steps.OrderBy(q => q.Sequence))
                {
                    commitList.Add(step.DBSubmitAction);
                }
                var commitList = new List<Action>();
                foreach (var step in Steps.OrderBy(q => q.Sequence))
                {
                    commitList.Add(step.DBSubmitAction);
                }
                //记录工序耗时
                var ids = CurWipSNHiss.Select(q => q.ID).ToList().Clone();
                commitList.Add(() =>
                {
                    EndAt = DateTime.Now;
                    GetCommitDB().Updateable<MES_WIP_HIS>().SetColumns(q => q.ELAPSED_TIME == ElapsedTime.TotalMilliseconds.ToInt64()).Where(q => ids.Contains(q.ID)).ExecuteCommand();
                });
                {
                    EndAt = DateTime.Now;
                    GetCommitDB().Updateable<MES_WIP_HIS>().SetColumns(q => q.ELAPSED_TIME == ElapsedTime.TotalMilliseconds.ToInt64()).Where(q => ids.Contains(q.ID)).ExecuteCommand();
                });
                //增加附加的保存内容
                if (!appendToSave.IsNullOrEmpty())
                {
                    commitList.Add(appendToSave);
                }
                DBCommitList.Add(CurSN, commitList);
                DBCommitList.Add(CurSN, commitList);
            }
            else
            {
@@ -560,7 +560,7 @@
                                case "GetBoxQR":
                                    return action is PackingAction ? GetBoxCode(lvars, action as PackingAction) : "";
                                case "GetCardQR":
                                    return action is PackingAction ? GetCardCode(lvars, action as PackingAction) : "";
                                    return action is PackingAction ? GetCardOrBoxQR(GetCardCode(lvars), lvars, action as PackingAction) : "";
                                case "GetCardSN":
                                    List<string> minPkgList = new List<string>();
                                    var _pkaction = action is PackingAction ? action as PackingAction : null;
@@ -572,7 +572,7 @@
                                case "GetDescription":
                                    return WorkBatch.Product.ITEM_DESC;
                                case "GetFengZ":
                                    return WorkBatch.Product.ExtInfo.Packaging;
                                    return WorkBatch.Product.ExtInfo.Packaging;
                                case "GetPAndO":
                                    return WorkBatch.WO.SALES_CONTRACT;
                                case "GetLTD":
@@ -580,7 +580,7 @@
                                case "GetHWDate":
                                    List<string> list = new List<string>();
                                    var _action = action is PackingAction ? action as PackingAction : null;
                                    if (_action!=null)
                                    if (_action != null)
                                    {
                                        list = GetMinPkgList(_action);
                                    }
@@ -595,20 +595,38 @@
                                    return $"{qtylist.Count}PCS";
                                case "GetModel":
                                    return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo?.Model);
                                case "GetInput":
                                case "GetInput":
                                    return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo?.Input);
                                case "GetOutput":
                                case "GetOutput":
                                    return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo?.OutPut);
                                case "GetPower":
                                case "GetPower":
                                    return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo?.Power);
                                case "GetAccuracy":
                                case "GetAccuracy":
                                    return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo?.Accuracy);
                                case "GetVarByWo":
                                    return GetLabelVarWo(lv, "");
                                case "GetLOTNO":
                                    var _orderAction = action is PackingAction ? action as PackingAction : null;
                                    if (_orderAction != null)
                                    {
                                        var snList = _orderAction.GetMinPackageList(_orderAction.CurPkg.Item).Select(q => q.FLOW_SN);
                                        return string.Join(",", Biz.Db.Queryable<MES_CUST_SN>()
                                                .Where((q) => snList.Contains(q.FLOW_SN))
                                                .Select((q) => q.WORK_ORDER).Distinct());
                                    }
                                    return "";
                                case "GetNOTES":
                                    return WorkBatch.Product.ExtInfo?.Remark;
                                case "GetXH":
                                    return GetCardCode(lvars);
                                case "GetCardNo":
                                    return "";
                                case "GetCardTotal":
                                    return "";
                                case "GetModelSpec": //Model+空格+SPEC,
                                    return $"{WorkBatch.Product.ExtInfo?.Model} {WorkBatch.Product.SPEC}";
                                case "GetDATE":
                                    return $"{DateTime.Now.ToString("yyyy/MM/dd")}";
                                default:
                                    return "";
                            }
@@ -681,7 +699,8 @@
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        private List<string> GetMinPkgList(PackingAction action) {
        private List<string> GetMinPkgList(PackingAction action)
        {
            List<string> list = new List<string>();
            if (action.CurPkg.Item.PKG_LEVEL == 1)
            {
@@ -711,10 +730,10 @@
        /// <param name="lvars"></param>
        /// <param name="action"></param>
        /// <returns></returns>
        private string GetCardCode(List<BAS_LABEL_VAR> lvars, PackingAction action)
        private string GetCardCode(List<BAS_LABEL_VAR> lvars)
        {
            var cardCode = Biz.CodeRule["CartonNo"]?.Generate("B", $"{WorkBatch.Batch.BATCH_NO}-{WorkBatch.Batch.PLAN_QTY}-").Data.ToString() ?? "" ;
            return GetCardOrBoxQR(cardCode, lvars, action);
            var cardCode = Biz.CodeRule["CartonNo"]?.Generate("B", $"{WorkBatch.Batch.BATCH_NO}-{WorkBatch.Batch.PLAN_QTY}-").Data.ToString() ?? "";
            return cardCode;
        }
        /// <summary>
@@ -730,7 +749,7 @@
            var wo = WorkBatch.Batch.ORDER_NO;
            var snList = string.Join("\r\n", minPkgList);
            if (snList.IsNullOrEmpty()) { snList = $"{CurSN}"; }
            var itemCode = action.CurPkg.ITEM_CODE;
            var itemCode = action.CurPkg.CustSN?.ITEM_CODE;
            var weight = action.CurPkg.WeightInfo.Weight;
            var unit = action.CurPkg.WeightInfo.Unit.ToUpper();
            var model = WorkBatch.Product.ExtInfo.Model;
Tiger.Business.MES/WorkAction/PackingAction.cs
@@ -75,7 +75,7 @@
                    RULE_CODE = PkgRule.RULE_CODE,
                    RULE_NAME = PkgRule.RULE_NAME,
                    PROD_CODE = CurPosition.WorkBatch.WO.ITEM_CODE,
                    ITEM_CODE = Biz.Db.Queryable<MES_CUST_SN>().Where(q => q.FLOW_SN == CurPosition.CurWipSNs.First().FLOW_SN).First()?.ITEM_CODE,
                    CustSN = Biz.Db.Queryable<MES_CUST_SN>().Where(q => q.FLOW_SN == CurPosition.CurWipSNs.First().FLOW_SN).First(),
                    Item = new WipPkgItem()
                    {
                        PKG_CODE = max.PKG_CODE,
@@ -559,6 +559,7 @@
                    CurPkgItem.Package.OPER_CODE = CurPosition.CurWipSNs.First().OPER_CODE;
                    CurPkgItem.Package.SEGMENT = CurPosition.CurWipSNs.First().SEGMENT;
                    CurPkgItem.Package.ACT_ID = NodeAct.ID;
                    CurPkgItem.Package.FLOW_SN = CurPosition.CurWipSNs.First().FLOW_SN;
                    FinishLevel++;
                    //完成包装的层级小于最外层包装层级
                    if (FinishLevel < PkgRule.Details.Max(q => q.PKG_LEVEL))
@@ -621,6 +622,7 @@
                            OPER_CODE = CurPosition.CurWipSNs.First().OPER_CODE,
                            SEGMENT = CurPosition.CurWipSNs.First().SEGMENT,
                            ACT_ID = NodeAct.ID,
                            FLOW_SN = CurPosition.CurWipSNs.First().FLOW_SN,
                        };
                        FinishLevel++;
                        //完成包装的层级小于最外层包装层级
Tiger.Model.Net/Entitys/MES/MES_WIP_PKG.cs
@@ -142,6 +142,8 @@
        */
        [SugarColumn(IsIgnore = true)]
        public string ACT_ID { get; set; }
        [SugarColumn(IsIgnore = true)]
        public string FLOW_SN { get; set; }
        #endregion
        #region 外键属性
Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs
@@ -163,7 +163,7 @@
        public string RULE_CODE { get; set; }
        public string RULE_NAME { get; set; }
        public string PROD_CODE { get; set; }
        public string ITEM_CODE { get; set; }
        public MES_CUST_SN CustSN { get; set; }
        public WipPkgItem Item { get; set; }
        public bool NeedWeighing { get; set; } = false;
        public bool IsWeighed { get; set; } = false;