/// <summary>
        /// 物料信息添加
        /// </summary>
        /// <returns></returns>
        public async Task <MessageModel <AgitationItems> > AddMaterial(AddMaterialParam model)
        {
            MessageModel <AgitationItems> message = new MessageModel <AgitationItems>();
            CoatModel result = new CoatModel();

            string[] ItemValueArray = model.StrMaterialnfor.Split('#');
            result = _mapper.Map <CoatModel>(model);
            result.StrMaterialNO = ItemValueArray[0];
            var mCount = await _dal.MeterialByBom(result);

            if (mCount.Count <= 0)
            {
                message.msg = result.StrMaterialNO + "BOM中不存在该料号,请确认!";
                return(message);
            }
            AgitationItems aiModel = new AgitationItems();

            aiModel.item_No     = ItemValueArray[0];
            aiModel.item_Batch  = ItemValueArray[1];
            aiModel.item_name   = ItemValueArray[2];
            aiModel.item_Number = ItemValueArray[3];
            message.msg         = "";
            message.success     = true;
            message.response    = aiModel;
            return(message);
        }
        /// <summary>
        /// 物料信息添加
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <MessageModel <AgitationItems> > GetItemInfo(AgitationGetItemInfoParam model)
        {
            MessageModel <AgitationItems> message = new MessageModel <AgitationItems>();

            if (string.IsNullOrEmpty(model.stepModel.STEP_NAME))
            {
                message.msg = "请选择工序";
                return(message);
            }
            AgitationItems result = new AgitationItems();

            try
            {
                string[] ItemValueArray = model.StrMaterialnfor.Split('#');
                result.item_No     = ItemValueArray[0].Trim();
                result.item_Batch  = ItemValueArray[1].Trim();
                result.item_Number = ItemValueArray[2].Trim();
                result.item_name   = ItemValueArray[3].Trim();
                result.putNumber   = model.StrMaterialNumber.Trim();
            }
            catch (Exception ex)
            {
                message.msg = "物料信息:物料号#物料批号#数量#名称,请确认!";
                return(message);
            }



            //校验物料信息(惠州)
            model.stepModel.ITEM_CODE       = result.item_No;
            model.stepModel.POWDER_MATERIAL = result.item_name;
            model.stepModel.POWDER_Value    = model.StrMaterialNumber.Trim().ObjToFloat();
            bool isCheck = await _dal.CheckMartter(model.stepModel);

            if (!isCheck && model.stepModel.template)
            {
                message.success = false;
                message.msg     = "物料信息校验出错,请确认物料是否维护或者超过上下限";
                return(message);
            }

            if (result.item_name == "正极打胶" || result.item_name == "负极打胶")
            {
                var data = await _dal.GetTimeCheck(result);

                if (data != null)
                {
                    if (data.CMC > 0 || data.PVDF > 0)
                    {
                        if (data.timeDifference != null)
                        {
                            message.msg = "亲,PVDF/CMC胶液已超期,请处理!";
                            //message.response = result;
                            return(message);
                        }
                    }
                }
                else
                {
                    message.msg = "亲,出货牌不存在哦,请确认!";
                    //message.response = result;
                    return(message);
                }
            }
            message.msg      = "";
            message.success  = true;
            message.response = result;
            return(message);
        }
        /// <summary>
        /// 当前步骤获取基础信息
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <MessageModel <AgitationStrstepNameSelecteReturns> > StrstepNameSelecte(AgitationStrstepNameSelecteParam model)
        {
            MessageModel <AgitationStrstepNameSelecteReturns> message = new MessageModel <AgitationStrstepNameSelecteReturns>();
            AgitationStrstepNameSelecteReturns reModel = new AgitationStrstepNameSelecteReturns();
            var result = await _dal.StrstepNameSelecte(model);

            if (result.Count > 0)
            {
                reModel.MONITOR   = result[0].MONITOR;
                reModel.USERNAME  = result[0].USERNAME;
                reModel.next_step = result[0].next_step;
                int j = 0;
                foreach (var item in result)
                {
                    string StrItem_Name  = item.item_name;
                    string StrItem_Value = item.item_value;
                    if (StrItem_Name == "公转转速")
                    {
                        reModel.publicSpeed = StrItem_Value;
                    }
                    else if (StrItem_Name == "自转转速")
                    {
                        reModel.selfVelocity = StrItem_Value;
                    }
                    else if (StrItem_Name == "搅拌时间")
                    {
                        reModel.stirTime = StrItem_Value;
                    }
                    else if (StrItem_Name == "温度")
                    {
                        reModel.temperature = StrItem_Value;
                    }
                    else if (StrItem_Name == "真空度")
                    {
                        reModel.vacuum = StrItem_Value;
                    }
                    else if (StrItem_Name == "粘度")
                    {
                        reModel.viscosity = StrItem_Value;
                    }
                    else if (StrItem_Name == "细度")
                    {
                        reModel.fineness = StrItem_Value;
                    }
                    else if (StrItem_Name == "过筛况")
                    {
                        reModel.filter = StrItem_Value;
                    }
                    else if (StrItem_Name == "除铁要求")
                    {
                        reModel.chutie = StrItem_Value;
                    }
                    else
                    {
                        //添加物料信息数据
                        string[]       ItemValueArray = StrItem_Value.Split('|');
                        AgitationItems items          = new AgitationItems();
                        items.item_name   = item.item_name;
                        items.item_Batch  = ItemValueArray[0];
                        items.item_No     = ItemValueArray[1];
                        items.item_Number = item.ITEM_WEIGHT;
                        reModel.items.Add(items);
                    }
                }
                //重复的步骤可以重复输入
                if (result[0].current_steps == result[0].next_step)
                {
                    message.msg      = "";
                    message.response = reModel;
                    message.success  = true;
                    return(message);
                }
                message.success  = true;
                message.msg      = "";
                message.response = reModel;
            }
            else
            {
                message.msg      = "";
                message.response = reModel;
            }
            return(message);
        }
Example #4
0
        /// <summary>
        /// 检查打胶的CMC/PVDF胶液的有效期
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <AgitationGetItemInfo> GetTimeCheck(AgitationItems model)
        {
            string strLook = string.Format(@"SELECT t.out_qty, t.TECHNOLOGY, t.type_name , instr(UPPER(s.item_value), 'CMC') AS CMC , instr(UPPER(s.item_value), 'PVDF') AS PVDF , to_char(t.coatingdate, 'yyyy-mm-dd hh24:mi:ss') AS coatingdate , ROUND(TO_NUMBER(sysdate - t.effectivedate) * 24 * 60) AS  timeDifference FROM T_MES_MACHINE_USEINFO t, T_MES_STIR_INFO S WHERE (s.shipment_no = t.shipment_no AND s.item_name = '溶液名称' AND t.shipment_no = '{0}')", model.item_No);

            return(await base.SqlQuerySingleAsync <AgitationGetItemInfo>(strLook, new { }));
        }