using QMAPP.BLL.Sys; using QMAPP.DAL.Sys; using QMAPP.Entity.Sys; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Net; using System.Net.Http; using System.Threading.Tasks; using System.Web.Http; using WebAPI.App_Start; using WebAPI.Models; namespace WebAPI.Controllers { public class InventoryController : ApiController { public Response> GetPlanList(string state) { //state = ok //state = nok var result = new Response>(); List List_plan = new List(); var sqlScript = ""; sqlScript = $"select top 10 * from T_PP_ORDERPLAN_PAOMO order by PLAN_DATE desc"; DataSet dataSet = SqlHelper.ExecuteDataset(Config.maindbConnectionString, CommandType.Text, sqlScript); if (dataSet.Tables[0].Rows.Count > 0) { foreach (DataRow row in dataSet.Tables[0].Rows) { OrderPlan_PaoMo OrderPlan = new OrderPlan_PaoMo(); OrderPlan.PID = row["PID"].ToString(); OrderPlan.PLAN_NO = row["PLAN_NO"].ToString(); OrderPlan.PLAN_SEQ = row["PLAN_SEQ"].ToString(); OrderPlan.PLAN_STATE = row["PLAN_STATE"].ToString(); OrderPlan.MATERIAL_CODE = row["MATERIAL_CODE"].ToString(); OrderPlan.PBOM_CODE = row["PBOM_CODE"].ToString(); OrderPlan.ROUTE_CODE = row["ROUTE_CODE"].ToString(); OrderPlan.QTY = row["QTY"].ToString(); OrderPlan.COMPLETE_QTY = row["COMPLETE_QTY"].ToString(); OrderPlan.PLAN_DATE = row["PLAN_DATE"].ToString(); OrderPlan.SHIFT_CODE = row["SHIFT_CODE"].ToString(); List_plan.Add(OrderPlan); } result.Result = List_plan; } else { result.Code = 201; result.Message = "用户信息不存在"; } return result; } [HttpGet] public Response> GetDefectDictList() { //state = ok //state = nok var result = new Response>(); List List_plan = new List(); var sqlScript = ""; sqlScript = $"select * from T_AW_MENDRECORDERERP where TYPE_CODE = 'BC316_ASSLINE' order by MFGCODE "; DataSet dataSet = SqlHelper.ExecuteDataset(Config.maindbConnectionString, CommandType.Text, sqlScript); if (dataSet.Tables[0].Rows.Count > 0) { foreach (DataRow row in dataSet.Tables[0].Rows) { DefectDict OrderPlan = new DefectDict(); OrderPlan.PID = row["PID"].ToString(); OrderPlan.MFGCODETYPE = row["MFGCODETYPE"].ToString(); OrderPlan.MFGCODETYPENAME = row["MFGCODETYPENAME"].ToString(); OrderPlan.TYPE_CODE = row["TYPE_CODE"].ToString(); OrderPlan.MFGCODE = row["MFGCODE"].ToString(); OrderPlan.MFGNAME = row["MFGNAME"].ToString(); List_plan.Add(OrderPlan); } result.Result = List_plan; } else { result.Code = 201; result.Message = "用户信息不存在"; } return result; } public async Task Insert() { var request = await this.Request.Content.ReadAsStringAsync(); var requeststr = request.Replace("\r", "").Replace("\n", ""); var resObj = JsonHelper.Instance.JsonToObj(requeststr); if (resObj.State == "2") { var sql = $"select * from T_PA_InOutPut_InventoryLog where ProductCode = '{resObj.ProductCode}' and State = '1'"; DataSet dataSet = SqlHelper.ExecuteDataset(Config.maindbConnectionString, CommandType.Text, sql); if (dataSet.Tables[0].Rows.Count > 0) { var sql2 = $"update T_PA_InOutPut_Inventory set State = '2' ,UpdateUser='{resObj.User}',UpdateDate='{DateTime.Now}'where PID = (SELECT TOP 1 PID FROM T_PA_InOutPut_Inventory WHERE ProductCode = '{resObj.ProductCode}' ORDER BY UpdateDate DESC) "; SqlData.InsertWare(sql2); var sql_log = $"INSERT INTO [dbo].[T_PA_InOutPut_InventoryLog] ([PID], [ProductCode], [Type], [State], [CreateUser], [CreateDate]) VALUES " + $"(NEWID(), '{resObj.ProductCode}', '1', '2', '{resObj.User}', '{DateTime.Now}');"; SqlData.InsertWare(sql_log); } else { var ResponseNOK = new Response(); ResponseNOK.Code = 400; ResponseNOK.Message = "当前条码未进行上悬链操作,禁止下悬链!"; return Ok(ResponseNOK); } } else if (resObj.State == "1") { var sql = $"select * from T_PA_InOutPut_InventoryLog where ProductCode = '{resObj.ProductCode}' and State = '1'"; DataSet dataSet = SqlHelper.ExecuteDataset(Config.maindbConnectionString, CommandType.Text, sql); if (dataSet.Tables[0].Rows.Count <= 0) { var sql2 = $"INSERT INTO [dbo].[T_PA_InOutPut_Inventory] ([PID], [ProductCode], [Type], [State], [CreateUser], [CreateDate], [UpdateUser], [UpdateDate], [Remark1], [Remark2], [Remark3], [PlanID], [MFGNAME]) VALUES " + $"(NEWID(), '{resObj.ProductCode}', '1', '1', '{resObj.User}', '{DateTime.Now}', '{resObj.User}', '{DateTime.Now}', NULL, NULL, NULL, '{resObj.PlanID}', NULL);"; SqlData.InsertWare(sql2); var sql_log = $"INSERT INTO [dbo].[T_PA_InOutPut_InventoryLog] ([PID], [ProductCode], [Type], [State], [CreateUser], [CreateDate]) VALUES " + $"(NEWID(), '{resObj.ProductCode}', '1', '1', '{resObj.User}', '{DateTime.Now}');"; SqlData.InsertWare(sql_log); } else { var ResponseNOK = new Response(); ResponseNOK.Code = 400; ResponseNOK.Message = "零件已在悬链上,禁止重复操作!"; return Ok(ResponseNOK); } } else if (resObj.State == "3" || resObj.State == "4") { var sql = $"select * from T_PA_InOutPut_InventoryLog where ProductCode = '{resObj.ProductCode}' and State in ('3','4')"; DataSet dataSet = SqlHelper.ExecuteDataset(Config.maindbConnectionString, CommandType.Text, sql); if (dataSet.Tables[0].Rows.Count <= 0) { var sql2 = $"INSERT INTO [dbo].[T_PA_InOutPut_Inventory] ([PID], [ProductCode], [Type], [State], [CreateUser], [CreateDate], [UpdateUser], [UpdateDate], [Remark1], [Remark2], [Remark3], [PlanID], [MFGNAME]) VALUES " + $"(NEWID(), '{resObj.ProductCode}', '{resObj.Type}', '{resObj.State}', '{resObj.User}', '{DateTime.Now}', '{resObj.User}', '{DateTime.Now}', NULL, NULL, NULL, '{resObj.PlanID}', '{resObj.MFGNAME}');"; SqlData.InsertWare(sql2); var sql_log = $"INSERT INTO [dbo].[T_PA_InOutPut_InventoryLog] ([PID], [ProductCode], [Type], [State], [CreateUser], [CreateDate]) VALUES " + $"(NEWID(), '{resObj.ProductCode}', '{resObj.Type}', '{resObj.State}', '{resObj.User}', '{DateTime.Now}');"; SqlData.InsertWare(sql_log); } else { var ResponseNOK = new Response(); ResponseNOK.Code = 400; ResponseNOK.Message = "禁止重复操作!"; return Ok(ResponseNOK); } } var Response = new Response(); return Ok(Response); } } }