using System; using System.Collections.Generic; using System.Linq; using System.Text; using WMS.Model.RK; using System.Data; using WMS.IData; using WMS.Common; using WMS.Model.Base; using WMS.Model.Stock; using WMS.Model; using WMS.DBUtility; namespace WMS.Business { public class BussAutoRk : IBussFactory { public DataSet GetTaksAllData() { return DataProvider.Instance.AutoRkData.GetTaksAllData(); } public DataTable GetLocDataRow(string decId,string hgh) { DataTable tb = DataProvider.Instance.AutoRkData.GetLocDataRow(decId,hgh); return tb; } public DataTable GetStandStorage(string STORAGE_ID) { DataTable dt = DataProvider.Instance.AutoRkData.GetStandStorage(STORAGE_ID); return dt; } /// /// 拼盘 /// /// /// /// public string MergerCtl(string locId, string newLocid, string oldCtl, string ctl, string STORAGE_ID, string outStand) { DataProvider.Instance.AutoRkData.UpdateLocCtlSts(locId, "0", STORAGE_ID); Transaction = DataProvider.Instance.TranOracle; logList.Add(DataProvider.Instance.logData); DataProvider.Instance.MIStock.UpdateMisLocData(newLocid, locId, STORAGE_ID, ctl); logList.Add(DataProvider.Instance.logData); DataProvider.Instance.PickingWaveGoods.DelCtlPickGoods(oldCtl, STORAGE_ID); logList.Add(DataProvider.Instance.logData); string plcId = DataProvider.Instance.AutoRkData.GetPlcId(); IBussFactory.Instance().OrderMesAdd("","",plcId, "", outStand, "", STORAGE_ID, ctl, 1, "1", "", "-1"); TaCmtOrRak(); return ErrText; } /// /// 查询批次明细 /// /// /// public List GetProduceDataList() { DataTable dt = DataProvider.Instance.AutoRkData.GetProduceDataList(); List list = ConvertHelper.ConvertToList(dt); return list; } /// /// /// /// /// 物料 /// 站台 /// 库位 /// 仓储 /// 托盘 /// 数量 /// 是否立体库 /// 原库位 /// 状态 public void OrderMesAdd(string wipEntityId,string height,string plcid, string itemCode, string locator, string locid,string STORAGE_ID,string podCode, decimal quantity, string auto,string whseloc, string sts) { string taskID = ""; string lotCode = ""; AutoRkGoodsInfo onInfo = new AutoRkGoodsInfo(); onInfo.WAREHOUSING_ID = taskID; onInfo.instand = locator; onInfo.GOODSID = itemCode; onInfo.CTL = podCode; onInfo.ProDucLotId = lotCode; onInfo.ACC_NUM = quantity; onInfo.SHELF_NUM = quantity; onInfo.STORAGE_ID = STORAGE_ID; onInfo.LOCATION_ID = locid; onInfo.STATUS = sts; onInfo.Whseloc = whseloc; onInfo.LOT_ID = "SHD" + DateTime.Now.ToString("yyyyMMddHHmmssfff"); onInfo.PROVIDER_ID = wipEntityId; onInfo.High = height; if (auto=="1") { onInfo.TASKTYPE = "1"; if (plcid.Trim().Length == 0) { onInfo.PlcID = DataProvider.Instance.DocumentTable.GetSeq("SEQ_PLC_TASKVAL"); } else { onInfo.PlcID = plcid; } } else if(auto == "3") { onInfo.TASKTYPE = "AGV"; } DataProvider.Instance.AutoRkData.InsertGoodsInfoShelf(onInfo); Transaction = DataProvider.Instance.TranOracle; logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); } /// /// 生成上架任务 /// public void OrderAdd() { StorageLotModel lotModel = new StorageLotModel(); List allList = new List(); lotModel.STATUS = "0"; DataTable tb = DataProvider.Instance.StorageLot.GetStorageList(lotModel); if(tb!=null) { if(tb.Rows.Count>0) { foreach (DataRow row in tb.Rows) { CodeDiskModel model = new CodeDiskModel(); model.LOT_ID = row["LOT_ID"].ToString(); model.STORAGE_ID= row["STO_ID"].ToString(); DataTable tbInfo = DataProvider.Instance.CodeDisk.GetCodeDisk(model); if (tbInfo != null) { if (tbInfo.Rows.Count > 0) { string orderId = IBussFactory.Instance().GetDocumentStream("上架单"); List listDisk = ConvertHelper.ConvertToList(tbInfo); foreach (CodeDiskModel rowInfo in listDisk) { AutoRkGoodsInfo onInfo = new AutoRkGoodsInfo(); onInfo.GOODS_MEASURE_ID = rowInfo.GOODS_MEASURE_ID; onInfo.ACC_NUM = rowInfo.Goods_Num; onInfo.CTL = rowInfo.Pallet_id; onInfo.STORAGE_ID = rowInfo.STORAGE_ID; onInfo.STORAGE_AREA_ID = rowInfo.Storage_area_id; onInfo.UNIT = rowInfo.Unit; onInfo.SHELF_NUM = 0; onInfo.UPGOODS_ID = orderId; onInfo.GOODSID = rowInfo.Goods_id; onInfo.WAREHOUSING_ID = rowInfo.Warehousing_id; onInfo.PROVIDER_ID = rowInfo.PROVIDER_ID; onInfo.LOT_ID = row["LOT_ID"].ToString(); onInfo.BarCode = rowInfo.BarCode; onInfo.Whseloc = ""; onInfo.instand = rowInfo.ConveyorID; onInfo.ProDucLotId = rowInfo.ProDucLotId; onInfo.STATUS = "0"; if (rowInfo.AUTOSTS) { onInfo.SHELF_NUM = onInfo.ACC_NUM; if (allList.Count(r => r.CTL == rowInfo.Pallet_id) > 0) { onInfo.PlcID = allList.Find(r => r.CTL == rowInfo.Pallet_id).PlcID; } else { onInfo.PlcID = plcIdSeq(); } onInfo.TASKTYPE = "LTK"; } else { onInfo.PlcID = "0"; onInfo.TASKTYPE = "RF"; } allList.Add(onInfo); } //allList.Clear(); } } } TaskData(allList, "410", "", ""); } } } /// /// 入库单取消任务 /// /// /// public string CancelTaskLot(string lotId, string goodsId, string ProDucLotId) { DataProvider.Instance.AutoRkData.DelTaskGoodInfo(lotId, goodsId, ProDucLotId); Transaction = DataProvider.Instance.TranOracle; logList.Add(DataProvider.Instance.logData); DataProvider.Instance.AutoRkData.UpdateProductSts(ProDucLotId); logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); return ErrText; } /// /// 查询空库位 /// /// public List GetNullLocalData() { DataTable dt = DataProvider.Instance.AutoRkData.GetNullLocalData(); List list = ConvertHelper.ConvertToList(dt); return list; } public string UpdatePlcIdData(string locID) { DataProvider.Instance.AutoRkData.UpdatePlcIdData(locID); Transaction = DataProvider.Instance.TranOracle; logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); return ErrText; } public List GetRkData(string taskType) { DataTable dt = DataProvider.Instance.AutoRkData.GetRkData(taskType); List info = new List(); if (dt!=null) { info = ConvertHelper.ConvertToList(dt); } return info; } /// /// 查询入库任务 /// /// public List GetTaskInData() { DataTable dt = DataProvider.Instance.AutoRkData.GetTaskInData(""); List list = ConvertHelper.ConvertToList(dt); return list; } /// /// 更新入库状态 /// /// /// /// public string UpadateTaskData(string ctl, string locId, string barcode, string pskw, decimal sheNum, decimal psNum) { //string ctl = listOnShelfGoodsModel.CTL; //string locId = listOnShelfGoodsModel.LOCATION_ID; //string goodsId = listOnShelfGoodsModel.GOODSID; //decimal SHELF_NUM = listOnShelfGoodsModel.SHELF_NUM; DataProvider.Instance.AutoRkData.UpadateTaskData(ctl, locId, barcode, pskw,sheNum, psNum) ; logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); return ErrText; } //public List GetCodeData(string code) //{ // DataTable dt = DataProvider.Instance.AutoRkData.GetCodeData(code); // List list = ConvertHelper.ConvertToList(dt); // return list; //} /// /// PLC返回查询入库的信息 /// /// /// public List GetTaskLocInTask(string locId) { DataTable dt = DataProvider.Instance.AutoRkData.GetTaskLocInTask(locId); List list = ConvertHelper.ConvertToList(dt); return list; } /// /// 查询空库位 /// /// public StorageAreaLocationModel GetNullLocal(decimal hgt, string sts) { DataTable dt = DataProvider.Instance.AutoRkData.GetNotNullGoodIdLocal(hgt); List list = ConvertHelper.ConvertToList(dt); if (list.Count > 0) { return list[0]; } return null; } /// /// 查询异常订单 /// /// public DataTable GetexceData() { return DataProvider.Instance.AutoRkData.GetexceData(); } public DataTable GetexceData2() { return DataProvider.Instance.AutoRkData.GetExceData2(); } public void UpdateEcxeData(string plcId, string type,string status) { if (type != "in") { DataProvider.Instance.AutoRkData.UpdateEcxeOutData (plcId, status); } else { //DataProvider.Instance.AutoRkData.UpdateEcxeData(plcId, status); } } public void UpDate_TaskTime(string plcId) { //查询要提升优先级的任务状态是否为新建代下发 string sql = "select * from T_CK_PICKINGWAVEGOODS where PLCID='" + plcId + "' and STATUS=0 "; DataSet dt = OracleHelper.ExecuteDataset(CommandType.Text, sql); if (dt != null && dt.Tables[0].Rows.Count > 0) { //更新下发时间 string str = $@" UPDATE T_CK_PICKINGWAVEGOODS SET ware_date = ( SELECT MIN(t2.ware_date) - INTERVAL '1' MINUTE FROM T_CK_PICKINGWAVEGOODS t2 WHERE TRUNC(t2.ware_date) = TRUNC(SYSDATE) ), ck_type = 1 WHERE PLCID= '{plcId}' AND TRUNC(ware_date) = TRUNC(SYSDATE) "; int row=OracleHelper.ExecuteNonQuery(CommandType.Text, str); if(row>0) { SystemCommon.ShowInfoMessageBox($"当前任务号{plcId}任务已经提到最前"); return; } } else { SystemCommon.ShowInfoMessageBox($"当前任务号{plcId}任务不可提升优先级"); return; } } public void DeleteEcxeData(string plcId, string status) { if (status == "0") { string sql = "select * from T_CK_PICKINGWAVEGOODS where PLCID='" + plcId + "'"; DataSet dt = OracleHelper.ExecuteDataset(CommandType.Text, sql); if (dt.Tables[0].Rows[0]["STATUS"].ToString()=="0"|| dt.Tables[0].Rows[0]["STATUS"].ToString() == "9") { DataProvider.Instance.AutoRkData.DeleteEcxeOutData(plcId); } else { SystemCommon.ShowInfoMessageBox("状态不对,不能删除"); // DataProvider.Instance.AutoRkData.DeleteEcxeData(plcId); } } } public DataTable GetPlcDataHigh(string decId) { DataTable dt = DataProvider.Instance.AutoRkData.GetPlcDataHigh(decId); return dt; } //string station public List GetUpShelfGoodsData() { //if(station!="0") //{ // string[] sl = station.Split(','); // if (sl.Length ==0) // { // return null; // } // station = sl[0]; // for (int i=1;i RkgoodsInfo = ConvertHelper.ConvertToList(dt); return RkgoodsInfo; } public string DeleteTaskData(string ctl) { DataTable tb = DataProvider.Instance.AutoRkData.GetWmsData(ctl); if (tb != null) { if (tb.Rows.Count > 0) { string sts = tb.Rows[0]["status"].ToString(); if (sts == "1") { DataProvider.Instance.AutoRkData.update_location(ctl); return "删除成功"; } else if (sts == "0") { DataProvider.Instance.AutoRkData.DeleteTaskData(ctl); return "删除成功"; } else { return "状态不允许删除"; } } } return "删除失败"; } /// /// 立体库入库完成 /// /// public string WriteMisData(string userid) { //AutoRkGoodsInfo goodsInfo = new AutoRkGoodsInfo(); DataTable table = DataProvider.Instance.AutoRkData.GetOnShelfGoodsData(); DataTable erpData = new DataTable(); if (table != null) { if (table.Rows.Count > 0) { string ctl = table.Rows[0]["ctl"].ToString(); string taskType = table.Rows[0]["taskType"].ToString(); string STORAGE_ID = table.Rows[0]["STORAGE_ID"].ToString(); if (taskType == "LTK") { table = DataProvider.Instance.AutoRkData.GetCtlDataOn(ctl, STORAGE_ID); List RkgoodsInfo = ConvertHelper.ConvertToList(table); if (RkgoodsInfo == null) { return "Error"; } if(RkgoodsInfo[0].GOODSID=="hk") { string oldloc = RkgoodsInfo[0].Whseloc; string loc = RkgoodsInfo[0].LOCATION_ID; string storage = RkgoodsInfo[0].STORAGE_ID; DataProvider.Instance.MIStock.UpdateMisLocData(loc, oldloc, storage, ""); Transaction = DataProvider.Instance.TranOracle; logList.Add(DataProvider.Instance.logData); DataProvider.Instance.AutoRkData.UpdateLocCtlSts(oldloc, "0", storage); logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); return ErrText; } foreach (AutoRkGoodsInfo goodsInfo in RkgoodsInfo) { MIStockModel miStock = new MIStockModel(); miStock.AREA_ID = ""; miStock.BARCODE = goodsInfo.GOODSID; miStock.CTL = goodsInfo.CTL; miStock.DOCCTNUMBER = goodsInfo.LOT_ID.Trim(); miStock.ProDucLotId = goodsInfo.ProDucLotId; miStock.GOODS_ID = goodsInfo.GOODSID; miStock.SHELVES_NUM = goodsInfo.SHELF_NUM; // miStock.baozhiqi = goodsInfo.baozhiqi; miStock.LOCATION_ID = goodsInfo.LOCATION_ID; miStock.UNIT = goodsInfo.UNIT; miStock.PRODUCTION_DATE = goodsInfo.PRODUCTION_DATE; miStock.PUTIN_ID = goodsInfo.UPGOODS_ID; miStock.Whseloc = goodsInfo.Whseloc; miStock.High = goodsInfo.High; miStock.WGH = goodsInfo.WGH; miStock.STORAGE_MODE = goodsInfo.STORAGE_MODE; miStock.PACKING_NUM = goodsInfo.GOODSVOLUME; miStock.Customer_Id = goodsInfo.Customer_Id; DataProvider.Instance.MIStock.InsertMIStock(miStock); Transaction = DataProvider.Instance.TranOracle; logList.Add(DataProvider.Instance.logData); ///删除任务表写入备份表 ///删除生产任务表写入备份 /// } DataProvider.Instance.AutoRkData.InsertUpGoodsBak(RkgoodsInfo[0].CTL, ""); logList.Add(DataProvider.Instance.logData); DataProvider.Instance.AutoRkData.DeleteGoodInfo(RkgoodsInfo[0].CTL,""); logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); } else { List RkgoodsInfo = ConvertHelper.ConvertToList(table); MIStockModel miStock = new MIStockModel(); miStock.AREA_ID = ""; miStock.BARCODE = RkgoodsInfo[0].BarCode.ToString(); miStock.CTL = RkgoodsInfo[0].CTL.ToString(); ; miStock.DOCCTNUMBER = RkgoodsInfo[0].LOT_ID.Trim(); miStock.ProDucLotId = RkgoodsInfo[0].ProDucLotId; miStock.GOODS_ID = RkgoodsInfo[0].GOODSID; miStock.SHELVES_NUM = RkgoodsInfo[0].SHELF_NUM; // miStock.baozhiqi = goodsInfo.baozhiqi; miStock.LOCATION_ID = RkgoodsInfo[0].LOCATION_ID; miStock.UNIT = RkgoodsInfo[0].UNIT; miStock.PRODUCTION_DATE = RkgoodsInfo[0].PRODUCTION_DATE; miStock.PUTIN_ID = RkgoodsInfo[0].UPGOODS_ID; miStock.Whseloc = RkgoodsInfo[0].Whseloc; miStock.High = RkgoodsInfo[0].High; miStock.WGH = RkgoodsInfo[0].WGH; miStock.STORAGE_MODE = RkgoodsInfo[0].STORAGE_MODE; miStock.PACKING_NUM = RkgoodsInfo[0].GOODSVOLUME; miStock.Customer_Id = RkgoodsInfo[0].Customer_Id; miStock.STORAGE_ID = RkgoodsInfo[0].STORAGE_ID; miStock.AREA_ID = RkgoodsInfo[0].STORAGE_AREA_ID; miStock.GOODS_MEASURE_ID = RkgoodsInfo[0].GOODS_MEASURE_ID; DataProvider.Instance.MIStock.InsertMIStock(miStock); Transaction = DataProvider.Instance.TranOracle; logList.Add(DataProvider.Instance.logData); DataProvider.Instance.AutoRkData.InsertUpGoodsBak(RkgoodsInfo[0].CTL, miStock.GOODS_ID); logList.Add(DataProvider.Instance.logData); DataProvider.Instance.AutoRkData.DeleteGoodInfo(RkgoodsInfo[0].CTL, miStock.GOODS_ID); logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); } } } return ErrText; } /// /// 获取改批次的数量 /// /// /// public string plcIdSeq() { string plcIDSeq = DataProvider.Instance.DocumentTable.GetSeq("SEQ_PLC_TASKVAL"); return plcIDSeq; } public string UpdateScan2Sts(string code) { DataProvider.Instance.AutoRkData.UpdateScan2Sts(code); Transaction = DataProvider.Instance.TranOracle; logList.Add(DataProvider.Instance.logData); DataProvider.Instance.AutoRkData.UpdatePlcData(); logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); return ErrText; } public string GetStrSql(List lis, string conveID) { string[] MOdeLis = { "202", "204", "205", "208", "209", "212", "213", "216", "217", "219" }; string sqlstr = string.Empty; if (MOdeLis.Contains(conveID)) { sqlstr = "update [T_ConveyorStatus] set AutoMode='" + lis[0] + "',ManualMode='" + lis[1] + "',AlarmMode='" + lis[2] + "',LoadMode='" + lis[3] + "',OverSize='" + lis[4] + "',OutEnable='" + lis[5] + "',InEnable='" + lis[6] + "' ,plcid='" + lis[8] + "' ,Mode='" + lis[7] + "'where ConveyorID='" + conveID + "';"; } else { sqlstr = "update [T_ConveyorStatus] set AutoMode='" + lis[0] + "',ManualMode='" + lis[1] + "',AlarmMode='" + lis[2] + "',LoadMode='" + lis[3] + "',OverSize='" + lis[4] + "',OutEnable='" + lis[5] + "',InEnable='" + lis[6] + "' ,plcid='" + lis[7] + "'where ConveyorID='" + conveID + "';"; } return sqlstr; } public bool UpdateConveSts(List lis, string conveID) { return DataProvider.Instance.AutoRkData.UpdateConveSts(lis, conveID); } public void UpdateYkLoc( string loc) { DataProvider.Instance.MIStock.UpdateYKLoc(loc); logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); } public List GetScan2Data(string code) { DataTable tb = DataProvider.Instance.AutoRkData.GetScan2Data(code); if (tb != null) { return ConvertHelper.ConvertToList(tb); } return null; } public DataTable GetFdData(string decId,string station) { return DataProvider.Instance.AutoRkData.GetFdData(decId, station); } public DataTable GetTasks(string decId) { return DataProvider.Instance.AutoRkData.GetTasks(decId); } public DataTable GetTasks2(string decId) { return DataProvider.Instance.AutoRkData.GetTasks2(decId); } public void UpdateDecDataSts(string decId,string sts,string STORAGE_ID) { DataProvider.Instance.AutoRkData.UpdateDecDataSts(decId,sts, STORAGE_ID); } public string UpdateOpSts(string plcID) { DataTable tb= DataProvider.Instance.AutoRkData.GetPlcIdOpLoc(plcID); if (tb != null) { if (tb.Rows.Count > 0) { if (tb.Rows[0]["LOCATION_ID"].ToString() == "") { DataProvider.Instance.AutoRkData.UpdateOpSts(plcID); return ""; } } } return "Task not Delete"; } public DataTable GetConveyorModeData(string decid) { return DataProvider.Instance.AutoRkData.GetConveyorModeData(decid); } /// ///下发任务 /// /// /// /// public string TaskData(List goodsInfos, string station,string plcid,string status ) { //string goodsID = ""; //string ctl = ""; //decimal num = 0; // List goodsInfos = new List(); if (goodsInfos != null) { int i = 0; // string plcId = DataProvider.Instance.AutoRkData.GetPlcId(); foreach (AutoRkGoodsInfo mRk in goodsInfos) { //写到入库上架表 //AutoRkGoodsInfo goodsInfo = new AutoRkGoodsInfo(); //goodsInfo.ONDATE = System.DateTime.Now; //goodsInfo.HASVOLUME = 1; //goodsInfo.GOODSID = goodsID; //goodsInfo.LOCATION_ID = ""; //goodsInfo.instand = station; //goodsInfo.CTL = ctl; //goodsInfo.SHELF_NUM = num; //goodsInfo.High = "0"; //mRk.PlcID = plcid; //goodsInfo.STORAGE_MODE = ""; //goodsInfo.GOODSVOLUME = 0; //goodsInfo.STATUS = status; DataProvider.Instance.AutoRkData.InsertGoodsInfoShelf(mRk); //if (i == 0) // { Transaction = DataProvider.Instance.TranOracle; // i++; // } //写备份表 logList.Add(DataProvider.Instance.logData); DataProvider.Instance.StorageLot.SetDocStatus("1", mRk.LOT_ID); logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); } } return ErrText; } /// /// 查询改条码是否已经入库 /// /// public string GetMisLocId(string barcode) { string locid = string.Empty; DataTable tale = DataProvider.Instance.AutoRkData.GetMisLocId(barcode); if (tale != null) { if (tale.Rows.Count > 0) { locid = tale.Rows[0]["LOCATION_ID"].ToString(); } } return locid; } public List GettaskWcs(string sts) { List list = new List(); DataTable tb= DataProvider.Instance.AutoRkData.GetTaskInData(sts); if (tb != null) { list = ConvertHelper.ConvertToList(tb); } return list; } /// /// 立体库入库完成 /// /// public string WriteMesData() { //AutoRkGoodsInfo goodsInfo = new AutoRkGoodsInfo(); DataTable table = DataProvider.Instance.AutoRkData.GetOnShelfGoodsData(); // DataTable erpData = new DataTable(); if (table != null) { try { if (table.Rows.Count > 0) { foreach (DataRow row in table.Rows) { string ctl = table.Rows[0]["ctl"].ToString(); string Whseloc = table.Rows[0]["Whseloc"].ToString();//原库位 string LOCATION_ID = table.Rows[0]["LOCATION_ID"].ToString(); string STORAGE_ID = table.Rows[0]["STORAGE_ID"].ToString(); string TASKTYPE = table.Rows[0]["TASKTYPE"].ToString(); if (TASKTYPE == "1" || TASKTYPE == "10")//入库任务、回库任务 { table = DataProvider.Instance.AutoRkData.GetCtlDataOn(ctl, STORAGE_ID); if (table != null) { if (table.Rows.Count > 0) { List RkgoodsInfo = ConvertHelper.ConvertToList(table); if (RkgoodsInfo == null) { return "Error"; } if (RkgoodsInfo[0].TASKTYPE == "10") { string oldloc = RkgoodsInfo[0].Whseloc; string loc = RkgoodsInfo[0].LOCATION_ID; string storage = RkgoodsInfo[0].STORAGE_ID; DataProvider.Instance.MIStock.UpdateMisLocData(loc, oldloc, storage, ""); Transaction = DataProvider.Instance.TranOracle; logList.Add(DataProvider.Instance.logData); DataProvider.Instance.AutoRkData.UpdateLocCtlSts(oldloc, "0", storage); logList.Add(DataProvider.Instance.logData); DataProvider.Instance.AutoRkData.InsertUpGoodsBak(ctl, ""); logList.Add(DataProvider.Instance.logData); DataProvider.Instance.AutoRkData.DeleteGoodInfo(ctl, ""); logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); return ErrText; } foreach (AutoRkGoodsInfo goodsInfo in RkgoodsInfo) { MIStockModel miStock = new MIStockModel(); miStock.DOCCTNUMBER = goodsInfo.GOODS_MEASURE_ID;//销售订单 miStock.BARCODE = goodsInfo.BarCode;//箱号 miStock.CTL = goodsInfo.CTL; miStock.NOTICE_ID = goodsInfo.LOT_ID.Trim();//入库单号 miStock.ProDucLotId = goodsInfo.ProDucLotId; miStock.GOODS_ID = goodsInfo.GOODSID; miStock.SHELVES_NUM = goodsInfo.SHELF_NUM;//包装数量800 miStock.LOCATION_ID = goodsInfo.LOCATION_ID;//货位 miStock.UNIT = goodsInfo.UNIT; miStock.PRODUCTION_DATE = goodsInfo.ONDATE; miStock.PUTIN_ID = goodsInfo.LOT_ID; miStock.WARE_DATE = DateTime.Now; miStock.GOODS_SKU = goodsInfo.SCALE_UNIT;//周期 miStock.STORAGE_MODE = goodsInfo.STORAGE_MODE; miStock.PACKING_NUM = goodsInfo.ACC_NUM;//每包数量800 miStock.Customer_Id = goodsInfo.Customer_Id; miStock.STORAGE_ID = goodsInfo.STORAGE_AREA_ID; miStock.PROVIDER_ID = goodsInfo.PROVIDER_ID; miStock.REMARK = goodsInfo.GOODS_MEASURE_ID;//销售订单 miStock.VERSION = goodsInfo.UNIT; miStock.GOODS_TYPEID = goodsInfo.GOODS_TYPEID; miStock.GOODS_TYPENAME = goodsInfo.baozhiqi; //miStock.GOODS_SKU = goodsInfo.TASKTYPE; miStock.GOODS_NAME = goodsInfo.GOODSNAME; miStock.GOODSVOLUME = goodsInfo.STOCK_NUM;//包数量 DataProvider.Instance.MIStock.InsertMIStock(miStock); Transaction = DataProvider.Instance.TranOracle; logList.Add(DataProvider.Instance.logData); ///删除任务表写入备份表 ///删除生产任务表写入备份 DataProvider.Instance.AutoRkData.InsertUpGoodsBak(ctl, miStock.BARCODE); logList.Add(DataProvider.Instance.logData); DataProvider.Instance.AutoRkData.DeleteGoodInfo(ctl, miStock.BARCODE); logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); } } } } else { DataProvider.Instance.MIStock.UpdateMisLocData(LOCATION_ID, Whseloc, STORAGE_ID, ctl); Transaction = DataProvider.Instance.TranOracle; logList.Add(DataProvider.Instance.logData); DataProvider.Instance.AutoRkData.UpdateLocCtlSts(Whseloc, "0", STORAGE_ID); logList.Add(DataProvider.Instance.logData); DataProvider.Instance.AutoRkData.InsertUpGoodsBak(ctl, ""); logList.Add(DataProvider.Instance.logData); DataProvider.Instance.AutoRkData.DeleteGoodInfo(ctl, ""); logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); } } } } catch (Exception ex) { return ex.ToString(); } } return ErrText; } } }