/// <summary> /// 基础物料数据信息 /// </summary> /// <param name="materialInfoJson">物料信息json串</param> /// <param name="operateType">操作类型:1增加、2更新、3删除</param> /// <returns></returns> public string MaterialInfo(string materialInfoJson, string operateType) { //materialInfoJson = GetMaterialTestJson();//测试 ResponseData response = new ResponseData(); try { MaterialInfo materialInfo = Newtonsoft.Json.JsonConvert.DeserializeObject <MaterialInfo>(materialInfoJson); if (materialInfo == null) { response.Describe = "物料基础数据格式错误!"; response.Status = false; MainFrameHandler.GetMainFrame().WriteLog("WMS_To_ERP服务", "", "提示", response.Describe + "信息内容:" + materialInfoJson); return(response.ToJson()); } if (materialInfo.material_class == "" || materialInfo.material_class == null) { response.Describe = "物料基础数据的物料大类为空!"; response.Status = false; MainFrameHandler.GetMainFrame().WriteLog("WMS_To_ERP服务", "", "提示", response.Describe + "信息内容:" + materialInfoJson); return(response.ToJson()); } Goods_ClassModel gsClassModel = bllGoods_Class.GetModelByClassName(materialInfo.material_class);//物料大类型 if (gsClassModel == null) { gsClassModel = new Goods_ClassModel(); gsClassModel.Goods_Class_Name = materialInfo.material_class; string gsClassMainID = Guid.NewGuid().ToString(); gsClassModel.Goods_Class_ID = gsClassMainID; gsClassModel.Goods_Class_Flag = "true"; bllGoods_Class.Add(gsClassModel); } else { gsClassModel.Goods_Class_Name = materialInfo.material_class; gsClassModel.Goods_Class_Flag = "true"; bllGoods_Class.Update(gsClassModel); } if (operateType != "1" && operateType != "2" && operateType != "3") { response.Describe = "接口操作标识错误!operateType,1为增加,2为更新,3为删除!"; response.Status = false; MainFrameHandler.GetMainFrame().WriteLog("WMS_To_ERP服务", "", "提示", response.Describe + "信息内容:" + materialInfoJson); return(response.ToJson()); } switch (operateType) { case "1": //增加 { GoodsModel existgoods = bllGoods.GetModelByCode(materialInfo.material_code); if (existgoods != null) { response.Describe = "物料基础数据添加失败,已经存在此物料编码:" + materialInfo.material_code; response.Status = false; MainFrameHandler.GetMainFrame().WriteLog("WMS_To_ERP服务", "", "提示", response.Describe + "信息内容:" + materialInfoJson); return(response.ToJson()); } GoodsModel goods = new GoodsModel(); goods.Goods_ID = Guid.NewGuid().ToString(); goods.Goods_Code = materialInfo.material_code; goods.Goods_Class_ID = gsClassModel.Goods_Class_ID; goods.Goods_Suppier_Code = materialInfo.material_supplier_code; goods.Goods_Category = materialInfo.material_category; goods.Goods_Name = materialInfo.material_name; if (materialInfo.material_enabled == true) { goods.Goods_Flag = "1"; } else { goods.Goods_Flag = "0"; } goods.Goods_Type = materialInfo.material_category; goods.Goods_Unit = materialInfo.material_unit; goods.Goods_Model = materialInfo.material_model; bllGoods.Add(goods); GoodsPropertyOperate(goods.Goods_ID, "shelflife", "保质期", materialInfo.material_shelflife.ToString(), true); //保质期 break; } case "2": //更新 { GoodsModel goods = bllGoods.GetModelByCode(materialInfo.material_code); if (goods == null) { response.Describe = "物料基础数据更新失败,不存此物料编码:" + materialInfo.material_code; response.Status = false; MainFrameHandler.GetMainFrame().WriteLog("WMS_To_ERP服务", "", "提示", response.Describe + "信息内容:" + materialInfoJson); return(response.ToJson()); } goods.Goods_Code = materialInfo.material_code; goods.Goods_Class_ID = gsClassModel.Goods_Class_ID; goods.Goods_Suppier_Code = materialInfo.material_supplier_code; goods.Goods_Name = materialInfo.material_name; if (materialInfo.material_enabled == true) { goods.Goods_Flag = "1"; } else { goods.Goods_Flag = "0"; } goods.Goods_Type = materialInfo.material_category; goods.Goods_Unit = materialInfo.material_unit; goods.Goods_Model = materialInfo.material_model; bllGoods.Update(goods); GoodsPropertyOperate(goods.Goods_ID, "shelflife", "保质期", materialInfo.material_shelflife.ToString(), false); //保质期 break; } case "3": { bllGoods.DeleteByCode(materialInfo.material_code); bllGoodsProperty.DeleteByGoodsCode(materialInfo.material_code); break; } default: { response.Status = false; response.Describe = "操作类型错误,operateType,1为增加,2为更新,3为删除!"; return(response.ToJson()); } } response.Describe = "物料基础数据导入成功!"; response.Status = true; MainFrameHandler.GetMainFrame().WriteLog("WMS_To_ERP服务", "", "提示", response.Describe + "信息内容:" + materialInfoJson); return(response.ToJson()); } catch (Exception ex) { response.Describe = "物料基础数据导入失败!错误原因:" + ex.StackTrace.ToString(); response.Status = false; MainFrameHandler.GetMainFrame().WriteLog("WMS_To_ERP服务", "", "提示", response.Describe + "信息内容:" + materialInfoJson); return(response.ToJson()); } }