/// <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); }
/// <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 { })); }