using Cksoft.Data; using Cksoft.Data.Repository; using Cksoft.Unity; using DllEapDal.OFILM; using DllEapEntity; using DllEapEntity.OFILM; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Text; namespace DllEapBll.OFILM { [Route("eap/api/[controller]/[action]")] public class ProductPlanController : ControllerBase { [HttpPost] public EapResponse Upload([FromBody] WorkingProcedureDto str) { string usercode = Request.Headers["usercode"]; List wps = new List(); List columns = new List(); if (str.Sheet1.Count > 0) { foreach (string it in str.Sheet1[0]) { columns.Add(it); } } foreach (List it in str.Sheet1) { if (it.Count > 7 && it[1] != "楼层") { for (int i = 6; i < it.Count; i++) { Productionplan workingProcedure = new Productionplan(); workingProcedure.Park = it[0]?.Trim(); workingProcedure.Floor = it[1]?.Trim(); workingProcedure.MachineType = it[2]?.Trim(); workingProcedure.Customer = it[3]?.Trim(); workingProcedure.Technology = it[4]?.Trim(); workingProcedure.TechnologyCode = it[5]?.Trim(); //workingProcedure.MonthPlan = it[6]?.Trim().Replace('-', '0').Replace(",", ""); workingProcedure.DayPlan = it[i]?.Trim().Replace('-', '0').Replace(",", ""); workingProcedure.PlanTime = DateTime.Now.ToString("yyyy") + "-" + DateFormat( columns[i]); workingProcedure.RecCode = usercode; workingProcedure.ModCode = usercode; workingProcedure.RecTime = DateTime.Now; workingProcedure.ModTime = DateTime.Now; wps.Add(workingProcedure); } } } IDatabase db = null; string errormsg = string.Empty; Object er = null; try { db = DbFactory.Base("eap"); var dal = new ProductPlanDal(db); db.BeginTrans(); int ck = dal.CheckSame(wps, ref er); var res = dal.Adds(wps, usercode, ref errormsg); //上传成功,上传机种未包含在UPH及工序 if (ck < 0 && res > 0) { db.Commit(); return new EapResponse() { Code = -2, Data = er }; } //上传失败,上传机种未包含在UPH及工序 if (ck < 0 && res < 0) { db.Rollback(); return new EapResponse() { Code = -3, Msg = errormsg, Data = er }; } //上传失败,上传机种已经包含在UPH及工序 if (ck > 0 && res < 0) { db.Rollback(); return new EapResponse() { Code = -1, Msg = errormsg }; } db.Commit(); return new EapResponse() { Code = 1, Msg = "" }; } catch (Exception e) { errormsg = e.Message; return new EapResponse { Code = -1, Msg = errormsg }; } finally { if (db != null) db.Close(); } } public string DateFormat(string str) { try { string dt = str?.Replace("月", "-").Replace("日", ""); dt = dt.Split('-')[0].PadLeft(2, '0')+"-"+ dt.Split('-')[1].PadLeft(2,'0'); return dt; } catch (Exception ex) { return ""; } } } }