From c78ebb4eaf20848753102b05c98c6cf9c2b8c26b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE=E7=94=B7?= <446507344@qq.com> Date: Fri, 26 Apr 2024 08:45:55 +0800 Subject: [PATCH] 11 --- .../FIS/PaoMoDoorPlankPlanBLL.cs | 1803 +++++++++++++++++ APPQ5/QMAPP.FJC.BLL/QMAPP.FJC.BLL.csproj | 1 + APPQ5/QMAPP.FJC.Entity/FIS/PaoMoOrderPlan.cs | 207 ++ APPQ5/QMAPP.FJC.Entity/FIS/ZhuSuOrderPlan.cs | 207 ++ .../QMAPP.FJC.Entity/QMAPP.FJC.Entity.csproj | 2 + APPQ5/QMAPP.FJC.Web/App_Data/Menu.xml | 32 + 6 files changed, 2252 insertions(+) create mode 100644 APPQ5/QMAPP.FJC.BLL/FIS/PaoMoDoorPlankPlanBLL.cs create mode 100644 APPQ5/QMAPP.FJC.Entity/FIS/PaoMoOrderPlan.cs create mode 100644 APPQ5/QMAPP.FJC.Entity/FIS/ZhuSuOrderPlan.cs diff --git a/APPQ5/QMAPP.FJC.BLL/FIS/PaoMoDoorPlankPlanBLL.cs b/APPQ5/QMAPP.FJC.BLL/FIS/PaoMoDoorPlankPlanBLL.cs new file mode 100644 index 0000000..48eb5e5 --- /dev/null +++ b/APPQ5/QMAPP.FJC.BLL/FIS/PaoMoDoorPlankPlanBLL.cs @@ -0,0 +1,1803 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using QMAPP.BLL; +using QMAPP.FJC.Entity.FIS; +using QMAPP.Entity; +using QMFrameWork.Log; +using QMAPP.FJC.Entity; +using QMFrameWork.Data; +using QMAPP.FJC.DAL.FIS; +using System.Data; +using QMAPP.FJC.BLL.Dict; +using QMAPP.MD.Entity; +using QMAPP.MD.DAL; +using QMAPP.FJC.DAL.ProductionPlan; +using QMAPP.FJC.Entity.ProductionPlan; +using QMFrameWork.Common.Util; +using QMAPP.FJC.Entity.FileCopy.FIS; +using QMAPP.FJC.DAL.TianJin; + +namespace QMAPP.FJC.BLL.FIS +{ + public class PaoMoDoorPlankPlanBLL : BaseBLL + { + #region 获取信息 + /// + /// 获取信息 + /// + /// 条件 + /// 信息 + public DataResult Get(PaoMoOrderPlan model) + { + DataResult result = new DataResult(); + try + { + result.Result = new DoorPlankPlanDAL().Get(model); + } + catch (Exception ex) + { + LogManager.LogHelper.Error(new LogInfo() + { + ErrorInfo = ex, + Tag = ex.StackTrace, + Info = "订单计划信息逻辑层-获取信息!" + }); + result.IsSuccess = false; + result.Msg = Resource.SystemException; + throw ex; + } + result.IsSuccess = true; + return result; + } + /// + /// 获取FIS插单的位置 + /// + /// + /// + public DataResult GetFISInsertPos(PaoMoOrderPlan model) + { + DataResult result = new DataResult(); + try + { + var dal= new DoorPlankPlanDAL(); + var position =dal.Get(model); + if (position == null) + { + throw new Exception("获取FIS插单位置信息失败!"); + } + if(!string.Equals(position.PLANSOURCE,EnumGeter.WORKORDERTYPE.FIS.GetHashCode().ToString())) + { + result.Msg = "只能选择FIS计划作为插单位置!"; + result.IsSuccess = false; + return result; + } + result.Result = position; + } + catch (Exception ex) + { + LogManager.LogHelper.Error(new LogInfo() + { + ErrorInfo = ex, + Tag = ex.StackTrace, + Info = "订单计划信息逻辑层-获取信息!" + }); + result.IsSuccess = false; + result.Msg = Resource.SystemException; + throw ex; + } + result.IsSuccess = true; + return result; + } + #endregion + + #region 获取列表 + /// + /// 获取列表 + /// + /// 条件 + /// 数据页 + /// 数据页 + public DataResult GetList(PaoMoOrderPlan condition, DataPage page) + { + DataResult result = new DataResult(); + try + { + //获取订单计划信息列表 + DataPage dataPage = new DoorPlankPlanDAL().GetList(condition, page); + List list = page.Result as List; + #region 显示类型 + //处理字典信息 + DictManageBLL dictPRODUCEREQUIRE = new DictManageBLL(DictKind.PRODUCEREQUIRE); + DictManageBLL dictPLANSOURCE = new DictManageBLL(DictKind.PLANSOURCE); + DictManageBLL dictPLANSTATE = new DictManageBLL(DictKind.PLAN_STATE); + foreach (var info in list) + { + info.PRODUCEREQUIRE = dictPRODUCEREQUIRE.GetDictValue(info.PRODUCEREQUIRE); + info.PLANSOURCE = dictPLANSOURCE.GetDictValue(info.PLANSOURCE); + info.PLAN_STATE = dictPLANSTATE.GetDictValue(info.PLAN_STATE); + } + #endregion + result.Result = dataPage; + } + catch (Exception ex) + { + LogManager.LogHelper.Error(new LogInfo() + { + ErrorInfo = ex, + Tag = ex.StackTrace, + Info = "信息逻辑层-获取列表!" + }); + result.IsSuccess = false; + result.Msg = Resource.SystemException; + throw ex; + } + result.IsSuccess = true; + return result; + } + #endregion + + #region 信息是否重复 + /// + /// 判断名称是否存在 + /// + /// + /// true:已存在;fasel:不存在。 + public int ExistsOrderPlan(PaoMoOrderPlan model) + { + try + { + return new DoorPlankPlanDAL().ExistsOrderPlan(model); + } + catch (Exception ex) + { + throw ex; + } + } + #endregion + + #region 插入信息 + /// + /// 插入信息(单表) + /// + /// 信息 + /// 插入行数 + public DataResult Insert(PaoMoOrderPlan model) + { + DataResult result = new DataResult(); + //基本信息 + model.PID = Guid.NewGuid().ToString(); + model.PLAN_STATE = "0"; + model.PLANSOURCE = model.PLANSOURCE; + //int no = new DoorPlankPlanDAL().GetNum(model); + //model.PLAN_SEQ = model.PLAN_DATE.ToString("yyyyMMdd") + no; + + Pbom pbomcode = new PbomDAL().Get(new Pbom { MATERIAL_CODE = model.MATERIAL_CODE }); + model.PBOM_CODE = pbomcode.PBOM_CODE; + string workcentercode = new WorkCellDAL().GetWorkcenter(model.ORDER_TYPE); + model.WORKCENTER_CODE = workcentercode; + if (model.WORKCENTER_CODE != "") + { + string factory = new FactoryDAL().GetFactoryWithWorkcenter(model.WORKCENTER_CODE); + model.FACTORY_CODE = factory; + } + QMAPP.MD.Entity.ProcessRoute routecode = new QMAPP.MD.DAL.ProcessRouteDAL().RouteWithMaterial(model.MATERIAL_CODE); + //QMAPP.MD.Entity.ProcessRoute routecode = new QMAPP.MD.DAL.ProcessRouteDAL().RouteWithMaterial(model.MATERIAL_CODE); + model.ROUTE_CODE = routecode != null ? routecode.ROUTE_CODE : ""; + model.CREATEUSER = this.LoginUser.UserID; + model.CREATEDATE = DateTime.Now; + model.UPDATEUSER = model.CREATEUSER; + model.UPDATEDATE = model.CREATEDATE; + DoorPlankPlanDAL cmdDAL = new DoorPlankPlanDAL(); + try + { + //if (ExistsOrderPlan(model) >0) + //{ + // result.IsSuccess = false; + // result.Msg = Resource.MaterielCodeIsHave; + // return result; + //} + + FISPlan condition = new FISPlan(); + condition.PREFIX = "DP"; + condition.DATASTR = model.PLAN_DATE.ToString("yyyyMMdd"); + //获取流水号 + FISPlan info = this.GetOrderPlanSeq(condition); + //计划单号 + model.PLAN_NO = condition.PREFIX + condition.DATASTR + info.SEQSTR; + result.Result = new DoorPlankPlanDAL().Insert(model); + } + catch (Exception ex) + { + LogManager.LogHelper.Error(new LogInfo() + { + ErrorInfo = ex, + Tag = ex.StackTrace, + Info = "信息逻辑层-插入信息!" + }); + result.IsSuccess = false; + result.Msg = Resource.SystemException; + throw ex; + } + result.IsSuccess = true; + return result; + } + #endregion + + #region 插入信息 + /// + /// 插入信息(单表) + /// + /// 信息 + /// 插入行数 + public DataResult TJInsert(PaoMoOrderPlan model) + { + DataResult result = new DataResult(); + //基本信息 + + try + { + model.PID = Guid.NewGuid().ToString(); + model.PLAN_STATE = "0"; + model.PLANSOURCE = model.PLANSOURCE; + + var materialcode = ""; + if (model.MATERIAL_CODE.Substring(model.MATERIAL_CODE.Length - 1, 1) == "L" || model.MATERIAL_CODE.Substring(model.MATERIAL_CODE.Length - 1, 1) == "R") + { + if (model.MATERIAL_CODE.Contains("018D")|| model.MATERIAL_CODE.Contains("493D")) + { + materialcode = model.MATERIAL_CODE; + } + else + { + materialcode = model.MATERIAL_CODE.Substring(model.MATERIAL_CODE.Length - 1, 1); + } + + } + else + materialcode = model.MATERIAL_CODE; + Pbom pbomcode = new PbomDAL().TJGet(new Pbom { MATERIAL_CODE = materialcode }); + model.PBOM_CODE = pbomcode.PBOM_CODE; + + string workcentercode = new WorkCellDAL().GetWorkcenter(model.ORDER_TYPE); + + if (model.MATERIAL_CODE.Contains("018D")) + workcentercode = workcentercode.Replace("770B","018D"); + + if (model.MATERIAL_CODE.Contains("493D")) + workcentercode = workcentercode.Replace("770B", "493D"); + + model.WORKCENTER_CODE = workcentercode; + if (model.WORKCENTER_CODE != "") + { + string factory = new FactoryDAL().GetFactoryWithWorkcenter(model.WORKCENTER_CODE); + model.FACTORY_CODE = factory; + } + QMAPP.MD.Entity.ProcessRoute routecode = new QMAPP.MD.DAL.ProcessRouteDAL().RouteWithMaterial(model.MATERIAL_CODE); + //QMAPP.MD.Entity.ProcessRoute routecode = new QMAPP.MD.DAL.ProcessRouteDAL().RouteWithMaterial(model.MATERIAL_CODE); + + var listMatral = new TJDoorPlankPlanDAL(); + var ListMachine = listMatral.GetListMachine(model.MATERIAL_CODE); + if (ListMachine.Count <= 0) + { + model.ROUTE_CODE = routecode.ROUTE_CODE; + } + else + { + foreach (var MA in ListMachine) + { + if (MA.MATERIALNAME.Contains("左")) + { + if (model.MATERIAL_CODE.Contains("018")) + model.ROUTE_CODE = "DP_L_ASSEMBLY_018D"; + else if (model.MATERIAL_CODE.Contains("493")) + model.ROUTE_CODE = "DP_L_ASSEMBLY_493D"; + else if (model.MATERIAL_CODE.Contains("304")) + model.ROUTE_CODE = "DP_L_ASSEMBLY_304D"; + else + { + if (MA.MATERIALNAME.Contains("304")) + model.ROUTE_CODE = "DP_L_ASSEMBLY_304D"; + else + model.ROUTE_CODE = "DP_L_ASSEMBLY_770B"; + } + + } + else if (MA.MATERIALNAME.Contains("右")) + { + if (model.MATERIAL_CODE.Contains("018")) + model.ROUTE_CODE = "DP_R_ASSEMBLY_018D"; + else if (model.MATERIAL_CODE.Contains("493")) + model.ROUTE_CODE = "DP_R_ASSEMBLY_493D"; + else if (model.MATERIAL_CODE.Contains("304")) + model.ROUTE_CODE = "DP_R_ASSEMBLY_304D"; + else + { + if (MA.MATERIALNAME.Contains("304")) + model.ROUTE_CODE = "DP_R_ASSEMBLY_304D"; + else + model.ROUTE_CODE = "DP_R_ASSEMBLY_770B"; + } + + } + } + } + + + //model.ROUTE_CODE = "DP_ASSEMBLY_770B"; + model.CREATEUSER = this.LoginUser.UserID; + model.CREATEDATE = DateTime.Now; + model.UPDATEUSER = model.CREATEUSER; + model.UPDATEDATE = model.CREATEDATE; + DoorPlankPlanDAL cmdDAL = new DoorPlankPlanDAL(); + FISPlan condition = new FISPlan(); + condition.PREFIX = "DP"; + condition.DATASTR = model.PLAN_DATE.ToString("yyyyMMdd"); + //获取流水号 + FISPlan info = this.GetOrderPlanSeq(condition); + //计划单号 + model.PLAN_SEQ = info.SEQSTR; + model.PLAN_NO = condition.PREFIX + condition.DATASTR + info.SEQSTR; + result.Result = new DoorPlankPlanDAL().Insert(model); + + //if (model.MATERIAL_CODE.Length <= 10) + //{ + // //var listMatral = new TJDoorPlankPlanDAL(); + // //var ListMachine = listMatral.GetListMachine(model.MATERIAL_CODE); + // foreach (var Machint in ListMachine) + // { + // model.PID = Guid.NewGuid().ToString(); + // model.PLAN_STATE = "0"; + // model.PLANSOURCE = model.PLANSOURCE; + // model.MATERIAL_CODE = Machint.MATERIALNO; + // model.MATERIAL_NAME = Machint.MATERIALNAME; + // Pbom pbomcode = new PbomDAL().Get(new Pbom { MATERIAL_CODE = Machint.MATERIALNO }); + // model.PBOM_CODE = pbomcode.PBOM_CODE; + // string workcentercode = new WorkCellDAL().GetWorkcenter(model.ORDER_TYPE); + // model.WORKCENTER_CODE = workcentercode; + // if (model.WORKCENTER_CODE != "") + // { + // string factory = new FactoryDAL().GetFactoryWithWorkcenter(model.WORKCENTER_CODE); + // model.FACTORY_CODE = factory; + // } + // QMAPP.MD.Entity.ProcessRoute routecode = new QMAPP.MD.DAL.ProcessRouteDAL().RouteWithMaterial(Machint.MATERIALNO); + // //QMAPP.MD.Entity.ProcessRoute routecode = new QMAPP.MD.DAL.ProcessRouteDAL().RouteWithMaterial(model.MATERIAL_CODE); + // model.ROUTE_CODE = routecode != null ? routecode.ROUTE_CODE : ""; + // model.CREATEUSER = this.LoginUser.UserID; + // model.CREATEDATE = DateTime.Now; + // model.UPDATEUSER = model.CREATEUSER; + // model.UPDATEDATE = model.CREATEDATE; + // DoorPlankPlanDAL cmdDAL = new DoorPlankPlanDAL(); + // FISPlan condition = new FISPlan(); + // condition.PREFIX = "DP"; + // condition.DATASTR = model.PLAN_DATE.ToString("yyyyMMdd"); + // //获取流水号 + // FISPlan info = this.GetOrderPlanSeq(condition); + // //计划单号 + // model.PLAN_SEQ = info.SEQSTR; + // model.PLAN_NO = condition.PREFIX + condition.DATASTR + info.SEQSTR; + // result.Result = new DoorPlankPlanDAL().Insert(model); + // } + + //} + //else + //{ + + //} + } + catch (Exception ex) + { + LogManager.LogHelper.Error(new LogInfo() + { + ErrorInfo = ex, + Tag = ex.StackTrace, + Info = "信息逻辑层-插入信息!" + }); + result.IsSuccess = false; + result.Msg = Resource.SystemException; + throw ex; + } + result.IsSuccess = true; + return result; + } + #endregion + + #region 获取流水号信息 + /// + /// 获取流水号信息 + /// + /// + /// + public FISPlan GetOrderPlanSeq(FISPlan condition) + { + FISPlan fisplan = new FISPlan(); + OrderPlanDAL orderPlanDal = new OrderPlanDAL(); + //根据表皮条码获取本体信息 + + try + { + fisplan = new OrderPlanDAL().GetOrderPlanSeq(condition); + //若存在记录,流水号加1,且更新 + if (fisplan != null) + { + string seqstr = (Convert.ToInt32(fisplan.SEQSTR) + 1).ToString().PadLeft(3, '0'); + fisplan.SEQSTR = seqstr; + //更新表T_AW_FISPLAN数据 + using (IDataSession session = AppDataFactory.CreateMainSession()) + { + session.OpenTs(); + orderPlanDal.BaseSession = session; + + orderPlanDal.UpdateFisPlan(fisplan); + + session.CommitTs(); + } + } + //不存在则插入此日期信息 + else + { + FISPlan planinfo = new FISPlan(); + planinfo.PID = Guid.NewGuid().ToString(); + planinfo.PREFIX = condition.PREFIX; + planinfo.DATASTR = condition.DATASTR; + planinfo.SEQSTR = "001"; + using (IDataSession session = AppDataFactory.CreateMainSession()) + { + session.OpenTs(); + orderPlanDal.BaseSession = session; + + orderPlanDal.InsertFisPlan(planinfo); + + session.CommitTs(); + } + return planinfo; + } + } + catch (Exception ex) + { + LogManager.LogHelper.Error(new LogInfo() + { + ErrorInfo = ex, + Tag = ex.StackTrace, + Info = "仪表板逻辑层-获取流水号本体信息!" + }); + throw ex; + } + return fisplan; + } + #endregion + + #region 更新信息 + /// + /// 更新信息 + /// + /// + /// 更新行数 + public DataResult Update(PaoMoOrderPlan model) + { + DataResult result = new DataResult(); + model.UPDATEUSER = this.LoginUser.UserID; + try + { + if (ExistsOrderPlan(model) > 0) + { + result.IsSuccess = false; + result.Msg = "该订单号已经存在!"; + return result; + } + + if (model.COMPLETE_QTY > model.QTY) + { + result.IsSuccess = false; + result.Msg = "修改后的计划数量不能小于已完成数量!"; + return result; + } + + if (model.PLAN_STATE == EnumGeter.PLANSTATE.COMPLATED.GetHashCode().ToString()) + { + result.IsSuccess = false; + result.Msg = "订单已经完成不能进行修改!"; + return result; + } + + #region 如果修改后的计划数量等于完成数量,将计划状态更新为完成 + if (model.QTY.Equals(model.COMPLETE_QTY)) + { + model.PLAN_STATE = EnumGeter.PLANSTATE.COMPLATED.GetHashCode().ToString(); + } + + #endregion + + #region 判断数量 + + OrderPlanDAL orderPlanDal = new OrderPlanDAL(); + PaoMoOrderPlan initialOrderPlan = orderPlanDal.Get(new PaoMoOrderPlan { PID = model.PID }); + string deleteWorkOrderSql = ""; + List workOrderList = new List(); + + + WorkOrderDAL workOrderDal = new WorkOrderDAL(); + List list = workOrderDal.GetList(new WorkOrder() { ORDERPLANID = initialOrderPlan.PID }); + + + //将计划数量调整变小,删除为生产的派工单 + if ((initialOrderPlan.QTY - model.QTY) > 0) + { + + int unProduceCount = list.Count(o => o.STATE == 0); + if (list.Count>0 && unProduceCount < (initialOrderPlan.QTY - model.QTY)) + { + result.IsSuccess = false; + result.Msg = string.Format("该订单下已经加工的产品数量大于{0},请重新调整数量!", model.QTY); + return result; + } + + deleteWorkOrderSql = string.Format("delete from T_PP_WORKORDER where pid in (select top {0} pid from T_PP_WORKORDER where ORDERPLANID='{1}' and state=0 order by SEQ desc )", (initialOrderPlan.QTY - model.QTY), initialOrderPlan.PID); + } + else + { + + if (list.Count > 0) + { + + if (list.Count > 0 && (model.QTY - initialOrderPlan.QTY) > 0) + { + workOrderList = this.PutOutOrderPlan(model, (model.QTY - initialOrderPlan.QTY), list.Count); + } + } + + } + + + #endregion + + using (IDataSession session = AppDataFactory.CreateMainSession()) + { + session.OpenTs(); + orderPlanDal.BaseSession = session; + workOrderDal.BaseSession = session; + + Pbom pbomcode = new PbomDAL().Get(new Pbom { MATERIAL_CODE = model.MATERIAL_CODE }); + model.PBOM_CODE = pbomcode.PBOM_CODE; + + orderPlanDal.Update(model); + if (string.IsNullOrEmpty(deleteWorkOrderSql) == false) + { + session.ExecuteSql(deleteWorkOrderSql, new List().ToArray()); + } + + if (workOrderList.Count > 0) + { + foreach (var wo in workOrderList) + { + workOrderDal.Insert(wo); + } + } + + session.CommitTs(); + } + + result.IsSuccess = true; + result.Msg = "修改成功!"; + + return result; + } + catch (Exception ex) + { + LogManager.LogHelper.Error(new LogInfo() + { + ErrorInfo = ex, + Tag = ex.StackTrace, + Info = "信息逻辑层-更新信息!" + }); + result.IsSuccess = false; + result.Msg = Resource.SystemException; + throw ex; + } + result.IsSuccess = true; + return result; + } + #endregion + + #region 删除 + /// + /// 删除信息 + /// + /// + /// 删除个数 + public DataResult Delete(string strs) + { + int count = 0; + string[] list = strs.Split(":".ToCharArray()); + DataResult result = new DataResult(); + try + { + + WorkOrderDAL workOrderDal = new WorkOrderDAL(); + OrderPlanDAL orderPlanDal = new OrderPlanDAL(); + //校验未通过的订单 + List validOrderList = new List(); + //可以删除的订单 + List deleteOrderList = new List(); + foreach (string str in list) + { + PaoMoOrderPlan op = orderPlanDal.Get(new PaoMoOrderPlan() { PID = str }); + //去T_PP_WORkORDER表查询此计划下的派工单是否有不为0(初始)状态的派工信息,若有则不让删除 + int Num = workOrderDal.GetAllWorkOrder(str); + //如果订单初始化或是确认生产并且生产数量为0 + if (op.PLAN_STATE == EnumGeter.PLANSTATE.INIT.GetHashCode().ToString() + || (op.PLAN_STATE == EnumGeter.PLANSTATE.COMMIT.GetHashCode().ToString() && op.COMPLETE_QTY == 0 && Num == 0)) + { + deleteOrderList.Add(op); + } + else + { + validOrderList.Add(op); + } + } + + + if (validOrderList.Count > 0) + { + result.IsSuccess = false; + result.Msg = "只有初始化或是确认生产并且生产数量为0订单可以删除!"; + return result; + } + + using (IDataSession session = AppDataFactory.CreateMainSession()) + { + session.OpenTs(); + orderPlanDal.BaseSession = session; + workOrderDal.BaseSession = session; + + foreach (var op in deleteOrderList) + { + //删除订单 + orderPlanDal.DeleteOrderPlan(op); + + //删除订单下的派工单 + workOrderDal.BatchDeleteByOrderPlan(new WorkOrder() { ORDERPLANID = op.PID }); + } + + session.CommitTs(); + } + + result.Result = count; + result.Msg = "订单删除成功!"; + result.IsSuccess = true; + return result; + } + catch (Exception ex) + { + throw ex; + } + } + + + /// + /// 删除信息 + /// + /// 信息 + /// 删除个数 + public int DeleteDoorPlankPlan(PaoMoOrderPlan model) + { + int count = 0; + int number = new DoorPlankPlanDAL().DelCheck(model); + if (number > 0) + { + return count; + } + count = new DoorPlankPlanDAL().Delete(model); + return count; + } + #endregion + + #region 发布 + /// + /// 发布信息 + /// + /// + /// 发布个数 + public DataResult PutOut(string strs) + { + string[] list = strs.Split(":".ToCharArray()); + DataResult result = new DataResult(); + try + { + OrderPlanDAL orderPlandal = new OrderPlanDAL(); + + List validorderPlanList = new List(); + List putOutPlanList = new List(); + + foreach (string str in list) + { + PaoMoOrderPlan op = orderPlandal.Get(new PaoMoOrderPlan { PID = str }); + + if (op.PLAN_STATE != EnumGeter.PLANSTATE.INIT.GetHashCode().ToString()) + { + validorderPlanList.Add(op); + } + + putOutPlanList.Add(op); + + } + + if (validorderPlanList.Count > 0) + { + result.IsSuccess = false; + result.Msg = "只有初始状态下的订单能够进行发布!"; + + return result; + } + + DataTable totalDt = GetWorkOrderTable(); + foreach (var op in putOutPlanList) + { + op.PLAN_STATE = EnumGeter.PLANSTATE.COMMIT.GetHashCode().ToString(); + op.UPDATEUSER = this.LoginUser.UserID; + totalDt = this.PutOutOrderPlan(op, totalDt); + } + + using (IDataSession session = AppDataFactory.CreateMainSession()) + { + IDbConnection dbConn = DbManager.MainConnectionInfo.Connection; + if (dbConn.State == ConnectionState.Closed) + { + dbConn.Open(); + } + IDbTransaction ids = dbConn.BeginTransaction(); + + orderPlandal.BaseSession = session; + foreach (var op in putOutPlanList) + { + orderPlandal.Update(op); + } + + session.DbHelper.BulkCopyData(totalDt, "T_PP_WORKORDER", dbConn, ids); + ids.Commit(); + } + + result.IsSuccess = true; + return result; + } + catch (Exception ex) + { + throw ex; + } + } + + /// + /// 发布信息 + /// + /// 信息 + /// 发布个数 + public DataTable PutOutOrderPlan(PaoMoOrderPlan info, DataTable workOrderDt) + { + WorkCellDAL workCelldal = new WorkCellDAL(); + string pbomcode = info.PBOM_CODE; + List list = workCelldal.GetFirstWorkCell(pbomcode); + var dicPRI = new DictManageBLL(Dict.DictKind.ORDERPRI); + //注入派工单信息 + for (int i = 0; i < info.QTY; i++) + { + foreach (var seq in list) + { + DataRow workOrder = workOrderDt.NewRow(); + + workOrder["PID"] = Guid.NewGuid().ToString(); + workOrder["ORDERPLANID"] = info.PID; + workOrder["ORDERPLAN_NO"] = (info.PLAN_NO.ToString() + (i + 1).ToString().PadLeft(4, '0')); + workOrder["ORDER_TYPE"] = info.PLANSOURCE; + workOrder["SEQ"] = (i + 1).ToString().PadLeft(6, '0'); + if (info.PLANSOURCE == EnumGeter.WORKORDERTYPE.INSERT.GetHashCode().ToString()) + { + workOrder["SEQ"] = info.PLAN_SEQ + (i + 1).ToString().PadLeft(3, '0'); + } + workOrder["MATERIAL_CODE"] = info.MATERIAL_CODE; + workOrder["PBOM_CODE"] = info.PBOM_CODE; + workOrder["QTY"] = 1; + workOrder["COMPLETE_QTY"] = 0; + workOrder["PLAN_DATE"] = info.PLAN_DATE; + workOrder["SHIFT_CODE"] = info.SHIFT_CODE; + workOrder["WORKCENTER_CODE"] = info.WORKCENTER_CODE; + workOrder["WORKCELL_CODE"] = seq.WORKCELL_CODE; + workOrder["WORKLOC_CODE"] = ""; + workOrder["REMARK"] = ""; + workOrder["EQPT_NAME"] = ""; + workOrder["EQPT_CODE"] = ""; + workOrder["STATE"] = EnumGeter.WORKPLANSTATE.INIT.GetHashCode().ToString(); + workOrder["PRI"] = dicPRI.GetDictValue(info.PLANSOURCE); + + workOrderDt.Rows.Add(workOrder); + } + + } + + return workOrderDt; + } + + public List PutOutOrderPlan(PaoMoOrderPlan info, int number, int lastIndex) + { + List wolist = new List(); + WorkCellDAL workCelldal = new WorkCellDAL(); + string pbomcode = info.PBOM_CODE; + List list = workCelldal.GetFirstWorkCell(pbomcode); + var dicPRI = new DictManageBLL(Dict.DictKind.ORDERPRI); + + //注入派工单信息 + for (int i = 0; i < number; i++) + { + foreach (var seq in list) + { + WorkOrder wo = new WorkOrder(); + wo.PID = Guid.NewGuid().ToString(); + wo.ORDERPLANID = info.PID; + wo.ORDERPLAN_NO = (info.PLAN_NO.ToString() + (i + 1 + lastIndex).ToString().PadLeft(4, '0')); + wo.ORDER_TYPE = info.PLANSOURCE; + wo.SEQ = (i + 1 + lastIndex).ToString().PadLeft(6, '0'); + wo.MATERIAL_CODE = info.MATERIAL_CODE; + wo.PBOM_CODE = info.PBOM_CODE; + wo.QTY = 1; + wo.COMPLETE_QTY = 0; + wo.PLAN_DATE = info.PLAN_DATE; + wo.SHIFT_CODE = info.SHIFT_CODE; + wo.WORKCENTER_CODE = info.WORKCENTER_CODE; + wo.WORKCELL_CODE = seq.WORKCELL_CODE; + wo.WORKLOC_CODE = ""; + wo.REMARK = ""; + wo.EQPT_NAME = ""; + wo.EQPT_CODE = ""; + wo.STATE = Convert.ToInt32(EnumGeter.WORKPLANSTATE.INIT.GetHashCode().ToString()); + wo.PRI = Convert.ToInt32(dicPRI.GetDictValue(info.PLANSOURCE)); + wo.PRINTED = "0"; + wolist.Add(wo); + } + + } + + return wolist; + } + #endregion + + #region 发布 + /// + /// 发布信息 + /// + /// + /// 发布个数 + public DataResult TJPutOut(string strs) + { + string[] list = strs.Split(":".ToCharArray()); + DataResult result = new DataResult(); + try + { + OrderPlanDAL orderPlandal = new OrderPlanDAL(); + + List validorderPlanList = new List(); + List putOutPlanList = new List(); + + foreach (string str in list) + { + PaoMoOrderPlan op = orderPlandal.Get(new PaoMoOrderPlan { PID = str }); + + if (op.PLAN_STATE != EnumGeter.PLANSTATE.INIT.GetHashCode().ToString()) + { + validorderPlanList.Add(op); + } + + putOutPlanList.Add(op); + + } + + if (validorderPlanList.Count > 0) + { + result.IsSuccess = false; + result.Msg = "只有初始状态下的订单能够进行发布!"; + + return result; + } + + DataTable totalDt = GetWorkOrderTable(); + foreach (var op in putOutPlanList) + { + op.PLAN_STATE = EnumGeter.PLANSTATE.COMMIT.GetHashCode().ToString(); + op.UPDATEUSER = this.LoginUser.UserID; + totalDt = this.TJPutOutOrderPlan(op, totalDt); + } + + using (IDataSession session = AppDataFactory.CreateMainSession()) + { + IDbConnection dbConn = DbManager.MainConnectionInfo.Connection; + if (dbConn.State == ConnectionState.Closed) + { + dbConn.Open(); + } + IDbTransaction ids = dbConn.BeginTransaction(); + + orderPlandal.BaseSession = session; + foreach (var op in putOutPlanList) + { + orderPlandal.Update(op); + } + + session.DbHelper.BulkCopyData(totalDt, "T_PP_WORKORDER", dbConn, ids); + ids.Commit(); + } + + result.IsSuccess = true; + return result; + } + catch (Exception ex) + { + throw ex; + } + } + + /// + /// 发布信息 + /// + /// 信息 + /// 发布个数 + public DataTable TJPutOutOrderPlan(PaoMoOrderPlan info, DataTable workOrderDt) + { + WorkCellDAL workCelldal = new WorkCellDAL(); + + var dicPRI = new DictManageBLL(Dict.DictKind.ORDERPRI); + + //if (list.Count <= 0) + //{ + // return null; + //} + + if (((info.MATERIAL_CODE.Substring(0, 4) == "493D" || info.MATERIAL_CODE.Substring(0,4) == "018D"|| info.MATERIAL_CODE.Substring(0, 4) == "278D") && info.MATERIAL_CODE.Length > 10)|| (info.MATERIAL_CODE.Substring(0, 3) == "770" && info.MATERIAL_CODE.Length > 7)|| info.MATERIAL_CODE.Length>=14) + { + string pbomcode = info.MATERIAL_CODE; + List list = workCelldal.GetFirstWorkCell(pbomcode); + //左前、右前、左后、右后 + for (int i = 0; i < info.QTY; i++) + { + DataRow workOrder = workOrderDt.NewRow(); + + workOrder["PID"] = Guid.NewGuid().ToString(); + workOrder["ORDERPLANID"] = info.PID; + workOrder["ORDERPLAN_NO"] = (info.PLAN_NO.ToString() + (i + 1).ToString().PadLeft(4, '0')); + workOrder["ORDER_TYPE"] = info.PLANSOURCE; + workOrder["SEQ"] = (i + 1).ToString().PadLeft(6, '0'); + if (info.PLANSOURCE == EnumGeter.WORKORDERTYPE.INSERT.GetHashCode().ToString()) + { + workOrder["SEQ"] = info.PLAN_SEQ + (i + 1).ToString().PadLeft(3, '0'); + } + workOrder["MATERIAL_CODE"] = info.MATERIAL_CODE; + workOrder["PBOM_CODE"] = info.MATERIAL_CODE; + workOrder["QTY"] = 1; + workOrder["COMPLETE_QTY"] = 0; + workOrder["PLAN_DATE"] = info.PLAN_DATE; + workOrder["SHIFT_CODE"] = info.SHIFT_CODE; + workOrder["WORKCENTER_CODE"] = info.WORKCENTER_CODE; + if (info.ROUTE_CODE.Contains("DP_L")) + { + workOrder["WORKCELL_CODE"] = "DP_L_PREPARE1"; + } + else if(info.ROUTE_CODE.Contains("DP_R")) + workOrder["WORKCELL_CODE"] = "DP_R_PREPARE1"; + else + workOrder["WORKCELL_CODE"] = "PREPARE1"; + + workOrder["WORKLOC_CODE"] = ""; + workOrder["REMARK"] = ""; + workOrder["EQPT_NAME"] = ""; + workOrder["EQPT_CODE"] = ""; + workOrder["STATE"] = EnumGeter.WORKPLANSTATE.INIT.GetHashCode().ToString(); + workOrder["PRI"] = dicPRI.GetDictValue(info.PLANSOURCE); + + workOrderDt.Rows.Add(workOrder); + } + + } + else + { + //左侧、右侧 或 四个门一起打印 + var list2 = "".Split(','); + var dal = new TJDoorPlankPlanDAL(); + var MachineList = dal.GetListMachine(info.MATERIAL_CODE); + if (info.MATERIAL_CODE.Substring(info.MATERIAL_CODE.Length - 1, 1) == "L") + { + list2 = "FL,RL".Split(','); + } + else if (info.MATERIAL_CODE.Substring(info.MATERIAL_CODE.Length - 1, 1) == "R") + { + list2 = "FR,RR".Split(','); + } + else if ((info.MATERIAL_CODE.Length == 6 && info.MATERIAL_CODE.Substring(0,3) == "770")|| (info.MATERIAL_CODE.Length == 8 && info.MATERIAL_CODE.Substring(0, 4) == "018D")) + { + list2 = "FL,RL,FR,RR".Split(','); + } + + for (int i = 0; i < info.QTY; i++) + { + foreach (var seq in list2) + { + DataRow workOrder = workOrderDt.NewRow(); + + workOrder["PID"] = Guid.NewGuid().ToString(); + workOrder["ORDERPLANID"] = info.PID; + workOrder["ORDERPLAN_NO"] = (info.PLAN_NO.ToString() + (i + 1).ToString().PadLeft(4, '0')); + workOrder["ORDER_TYPE"] = info.PLANSOURCE; + workOrder["SEQ"] = (i + 1).ToString().PadLeft(6, '0'); + if (info.PLANSOURCE == EnumGeter.WORKORDERTYPE.INSERT.GetHashCode().ToString()) + { + workOrder["SEQ"] = info.PLAN_SEQ + (i + 1).ToString().PadLeft(3, '0'); + } + //var BOMCODE = ""; + + //if (info.MATERIAL_CODE.Substring(0, 4) == "018D") + //{ + // if (info.MATERIAL_CODE.Substring(info.MATERIAL_CODE.Length - 1, 1) == "L" || info.MATERIAL_CODE.Substring(info.MATERIAL_CODE.Length - 1, 1) == "R") + // { + // workOrder["MATERIAL_CODE"] = info.MATERIAL_CODE.Substring(0, info.MATERIAL_CODE.Length - 1) + seq; + // BOMCODE = info.MATERIAL_CODE.Substring(0, info.MATERIAL_CODE.Length - 1) + seq; + // } + // else + // { + // workOrder["MATERIAL_CODE"] = info.MATERIAL_CODE + "-" + seq; + // BOMCODE = info.MATERIAL_CODE + "-" + seq; + // } + //} + //else if (info.MATERIAL_CODE.Substring(0, 3) == "770") + //{ + // if (info.MATERIAL_CODE.Substring(info.MATERIAL_CODE.Length - 1, 1) == "L" || info.MATERIAL_CODE.Substring(info.MATERIAL_CODE.Length - 1, 1) == "R") + // { + // workOrder["MATERIAL_CODE"] = info.MATERIAL_CODE.Substring(0, info.MATERIAL_CODE.Length - 1) + seq; + // BOMCODE = info.MATERIAL_CODE.Substring(0, info.MATERIAL_CODE.Length - 1) + seq; + // } + // else + // { + // workOrder["MATERIAL_CODE"] = info.MATERIAL_CODE + seq; + // BOMCODE = info.MATERIAL_CODE + seq; + // } + //} + //else + //{ + // workOrder["MATERIAL_CODE"] = info.MATERIAL_CODE; + // BOMCODE = info.MATERIAL_CODE; + //} + + var WEIZHI = ""; + switch (seq) + { + case "LF": + WEIZHI = "左前"; + break; + case "FL": + WEIZHI = "左前"; + break; + case "LR": + WEIZHI = "左后"; + break; + case "RL": + WEIZHI = "左后"; + break; + case "RF": + WEIZHI = "右前"; + break; + case "FR": + WEIZHI = "右前"; + break; + case "RR": + WEIZHI = "右后"; + break; + } + + var Machine = MachineList.Where(p => p.MATERIALNAME.Contains(WEIZHI)).ToList(); + if (Machine != null && Machine.Count > 0) + { + workOrder["MATERIAL_CODE"] = Machine[0].MATERIALNO; + workOrder["PBOM_CODE"] = Machine[0].MATERIALNO; + } + else + { + workOrder["PBOM_CODE"] = ""; + workOrder["MATERIAL_CODE"] = ""; + } + + + workOrder["QTY"] = 1; + workOrder["COMPLETE_QTY"] = 0; + workOrder["PLAN_DATE"] = info.PLAN_DATE; + workOrder["SHIFT_CODE"] = info.SHIFT_CODE; + workOrder["WORKCENTER_CODE"] = info.WORKCENTER_CODE; + if (WEIZHI.Contains("左")) + { + workOrder["WORKCELL_CODE"] = "DP_L_PREPARE1"; + } + else if (WEIZHI.Contains("右")) + { + workOrder["WORKCELL_CODE"] = "DP_R_PREPARE1"; + } + else + { + workOrder["WORKCELL_CODE"] = "PREPARE1"; + } + + workOrder["WORKLOC_CODE"] = ""; + workOrder["REMARK"] = ""; + workOrder["EQPT_NAME"] = ""; + workOrder["EQPT_CODE"] = ""; + workOrder["STATE"] = EnumGeter.WORKPLANSTATE.INIT.GetHashCode().ToString(); + workOrder["PRI"] = dicPRI.GetDictValue(info.PLANSOURCE); + + workOrderDt.Rows.Add(workOrder); + } + + } + } + + //注入派工单信息 + + + return workOrderDt; + } + + public List TJPutOutOrderPlan(PaoMoOrderPlan info, int number, int lastIndex) + { + List wolist = new List(); + WorkCellDAL workCelldal = new WorkCellDAL(); + string pbomcode = info.PBOM_CODE; + List list = workCelldal.GetFirstWorkCell(pbomcode); + var dicPRI = new DictManageBLL(Dict.DictKind.ORDERPRI); + + //注入派工单信息 + for (int i = 0; i < number; i++) + { + foreach (var seq in list) + { + WorkOrder wo = new WorkOrder(); + wo.PID = Guid.NewGuid().ToString(); + wo.ORDERPLANID = info.PID; + wo.ORDERPLAN_NO = (info.PLAN_NO.ToString() + (i + 1 + lastIndex).ToString().PadLeft(4, '0')); + wo.ORDER_TYPE = info.PLANSOURCE; + wo.SEQ = (i + 1 + lastIndex).ToString().PadLeft(6, '0'); + wo.MATERIAL_CODE = info.MATERIAL_CODE; + wo.PBOM_CODE = info.PBOM_CODE; + wo.QTY = 1; + wo.COMPLETE_QTY = 0; + wo.PLAN_DATE = info.PLAN_DATE; + wo.SHIFT_CODE = info.SHIFT_CODE; + wo.WORKCENTER_CODE = info.WORKCENTER_CODE; + wo.WORKCELL_CODE = seq.WORKCELL_CODE; + wo.WORKLOC_CODE = ""; + wo.REMARK = ""; + wo.EQPT_NAME = ""; + wo.EQPT_CODE = ""; + wo.STATE = Convert.ToInt32(EnumGeter.WORKPLANSTATE.INIT.GetHashCode().ToString()); + wo.PRI = Convert.ToInt32(dicPRI.GetDictValue(info.PLANSOURCE)); + wo.PRINTED = "0"; + wolist.Add(wo); + } + + } + + return wolist; + } + #endregion + + #region 导出数据 + /// + /// 获取导出的数据 + /// + /// 查询条件 + /// 数据 + public DataTable GetExportData(PaoMoOrderPlan model) + { + try + { + DataTable dt = new DoorPlankPlanDAL().GetExportData(model); + DictManageBLL dictPRODUCEREQUIRE = new DictManageBLL(DictKind.PRODUCEREQUIRE); + DictManageBLL dictPLANSOURCE = new DictManageBLL(DictKind.PLANSOURCE); + DictManageBLL dictPLANSTATE = new DictManageBLL(DictKind.PLAN_STATE); + foreach (DataRow dr in dt.Rows) + { + //替换状态类别显示值 + dr["PRODUCEREQUIRE"] = dictPRODUCEREQUIRE.GetDictValue(dr["PRODUCEREQUIRE"].ToString()); + //info.PLANSOURCE = dictPLANSOURCE.GetDictValue(info.PLANSOURCE); + dr["PLANSOURCE"] = dictPLANSOURCE.GetDictValue(dr["PLANSOURCE"].ToString()); + dr["PLAN_STATE"] = dictPLANSTATE.GetDictValue(dr["PLAN_STATE"].ToString()); + } + //根据所选信息进行导出 + if (string.IsNullOrEmpty(model.PIDList) == false) + { + model.PIDList = "'" + model.PIDList.Replace(":", "','") + "'"; + DataView dv = new DataView(dt); + dv.RowFilter = "PID in (" + model.PIDList + ")"; + dt = dv.ToTable(); + } + return dt; + } + catch (Exception ex) + { + throw ex; + } + } + #endregion + + #region 导入数据 + /// + /// 导入Excel表数据 + /// + /// Excel列表 + /// 区域信息 + /// 工厂信息 + /// 零件类别信息 + /// 结果 + public DataResult GetImportData(List list, Material materialmodel, QMAPP.FJC.Entity.Basic.MachineInfo machine, FJC.Entity.Basic.ProduceShift produceshiftmodel, QMAPP.MD.Entity.WorkCell workcellmodel) + { + DataResult result = new DataResult(); + DoorPlankPlanDAL cmDal = new DoorPlankPlanDAL(); + List List = new List(); + int index = 0; + int num = 0; + try + { + result.Result = new ImportMessage(); + result.Result.Errors = new List(); + List materialinfo = null; + List produceshiftinfo = null; + List machineList = null; + using (IDataSession session = AppDataFactory.CreateMainSession()) + { + ///获取物料信息 + materialinfo = new QMAPP.MD.BLL.MaterialBLL().GetNewMaterialList(materialmodel,workcellmodel); + //获取班次信息 + produceshiftinfo = new QMAPP.FJC.BLL.Basic.ProduceShiftBLL().GetWorkcenterShifts(workcellmodel.WORKCENTER_CODE); + //获取设备信息 + machineList = new QMAPP.FJC.BLL.Basic.MachineInfoBLL().GetMachineForOrderList(machine, workcellmodel); + //状态判断 + foreach (PaoMoOrderPlan ma in list) + { + index++; + num++; + //物料 + Material areaMes = materialinfo.Find(a => a.MATERIAL_CODE == ma.MATERIAL_CODE); + if (areaMes != null) + { + ma.MATERIAL_CODE = areaMes.MATERIAL_CODE; + } + else + { + ma.MATERIAL_CODE = null; + result.Result.Errors.Add(new RowError(index, "物料信息不存在")); + result.Result.failureNum += 1; + continue; + } + //班次 + FJC.Entity.Basic.ProduceShift plantMes = produceshiftinfo.Find(p => p.PRODUCESHIFTTCODE == ma.SHIFT_CODE); + if (plantMes != null) + { + ma.SHIFT_CODE = plantMes.PRODUCESHIFTTCODE; + } + else + { + ma.SHIFT_CODE = null; + result.Result.Errors.Add(new RowError(index, "班次信息不存在")); + result.Result.failureNum += 1; + continue; + } + //转变生产要求PRODUCEREQUIRE + if (ma.PRODUCEREQUIRE != null) + { + if (ma.PRODUCEREQUIRE.Equals("以数量为准")) + { + ma.PRODUCEREQUIRE = "0"; + } + else if (ma.PRODUCEREQUIRE.Equals("以时间为准")) + { + ma.PRODUCEREQUIRE = "1"; + } + else + { + ma.PRODUCEREQUIRE = null; + result.Result.Errors.Add(new RowError(index, "生产要求信息错误")); + result.Result.failureNum += 1; + continue; + } + } + if (string.IsNullOrEmpty(ma.InfoError) == false) + { + ma.PID = null; + result.Result.failureNum += 1; + continue; + } + //修改改时根据主键等信息获取详细内容信息 + PaoMoOrderPlan oldInfo = cmDal.Get(ma); + if (oldInfo != null) + { + //更新 + ma.PID = oldInfo.PID; + ma.PLAN_SEQ = oldInfo.PLAN_SEQ; + ma.FACTORY_CODE = oldInfo.FACTORY_CODE; + ma.WORKCENTER_CODE = oldInfo.WORKCENTER_CODE; + ma.PBOM_CODE = oldInfo.PBOM_CODE; + ma.ROUTE_CODE = oldInfo.ROUTE_CODE; + ma.PLAN_STATE = oldInfo.PLAN_STATE; + ma.PLANSOURCE = oldInfo.PLANSOURCE; + ma.CREATEUSER = oldInfo.CREATEUSER; + ma.CREATEDATE = oldInfo.CREATEDATE; + ma.UPDATEUSER = this.LoginUser.UserID; + ma.UPDATEDATE = oldInfo.UPDATEDATE; + ma.IsNewInfo = false; + result.Result.updateNum += 1; + } + else + { + //新增 + oldInfo = new PaoMoOrderPlan(); + ma.PID = Guid.NewGuid().ToString(); + ma.PLAN_NO = ma.PLAN_NO; + //int no = new DoorPlankPlanDAL().GetNum(ma) + (num - 1); + ma.PLAN_SEQ = ma.PLAN_NO.Substring(ma.PLAN_NO.Length-3,3); + ma.PLAN_STATE = EnumGeter.PLANSTATE.INIT.GetHashCode().ToString(); + ma.MATERIAL_CODE = ma.MATERIAL_CODE; + ma.MACHINECODDE = ma.MACHINECODDE; + ma.QTY = ma.QTY; + //Pbom + Pbom pbomcode = new PbomDAL().Get(new Pbom { MATERIAL_CODE = ma.MATERIAL_CODE }); + ma.PBOM_CODE = pbomcode.PBOM_CODE; + //工艺路线 + QMAPP.MD.Entity.ProcessRoute routecode = new QMAPP.MD.DAL.ProcessRouteDAL().RouteWithMaterial(ma.MATERIAL_CODE); + ma.ROUTE_CODE = routecode.ROUTE_CODE; + ma.PLAN_DATE = ma.PLAN_DATE; + ma.SHIFT_CODE = ma.SHIFT_CODE; + ma.PLANSOURCE = "1"; + ma.PRODUCEREQUIRE = ma.PRODUCEREQUIRE; + ma.CREATEUSER = this.LoginUser.UserID; + ma.CREATEDATE = DateTime.Now; + ma.UPDATEUSER = ma.CREATEUSER; + ma.UPDATEDATE = ma.CREATEDATE; + //工作中心 + string workcentercode = new WorkCellDAL().GetWorkcenter(workcellmodel.WORKCELL_CODE); + ma.WORKCENTER_CODE = workcentercode; + //工厂 + string factory = new QMAPP.MD.DAL.FactoryDAL().GetFactoryWithWorkcenter(workcentercode); + ma.FACTORY_CODE = factory; + ma.IsNewInfo = true; + result.Result.insertNum += 1; + } + List.Add(ma); + } + } + //导入 + cmDal.GetImportData(List); + result.Msg = "导入成功"; + result.IsSuccess = true; + return result; + } + catch (Exception ex) + { + result.IsSuccess = false; + result.Ex = ex; + return result; + } + } + #endregion + + #region 获取产品表 + /// + /// 获取产品表 + /// + /// + private DataTable GetOrderPlanTable() + { + DataTable dt = new DataTable(); + + dt.Columns.Add(new DataColumn() { ColumnName = "PID", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "FACTORY_CODE", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "PLAN_NO", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "PLAN_SEQ", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "PLAN_STATE", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "MATERIAL_CODE", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "PBOM_CODE", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "ROUTE_CODE", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "REMARK", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "QTY", DataType = typeof(int) }); + dt.Columns.Add(new DataColumn() { ColumnName = "COMPLETE_QTY", DataType = typeof(int) }); + dt.Columns.Add(new DataColumn() { ColumnName = "PLAN_DATE", DataType = typeof(DateTime) }); + dt.Columns.Add(new DataColumn() { ColumnName = "SHIFT_CODE", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "PLANSOURCE", DataType = typeof(int) }); + dt.Columns.Add(new DataColumn() { ColumnName = "PRODUCEREQUIRE", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "CREATEDATE", DataType = typeof(DateTime) }); + dt.Columns.Add(new DataColumn() { ColumnName = "CREATEUSER", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "UPDATEDATE", DataType = typeof(DateTime) }); + dt.Columns.Add(new DataColumn() { ColumnName = "UPDATEUSER", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "WORKCENTER_CODE", DataType = typeof(string) }); + + return dt; + } + + private DataTable GetWorkOrderTable() + { + DataTable dt = new DataTable(); + + dt.Columns.Add(new DataColumn() { ColumnName = "PID", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "ORDERPLANID", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "ORDERPLAN_NO", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "ORDER_TYPE", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "SEQ", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "MATERIAL_CODE", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "PBOM_CODE", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "QTY", DataType = typeof(int) }); + dt.Columns.Add(new DataColumn() { ColumnName = "COMPLETE_QTY", DataType = typeof(int) }); + dt.Columns.Add(new DataColumn() { ColumnName = "PLAN_DATE", DataType = typeof(DateTime) }); + dt.Columns.Add(new DataColumn() { ColumnName = "SHIFT_CODE", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "WORKCENTER_CODE", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "WORKCENTER_NAME", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "WORKCELL_CODE", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "WORKCELL_NAME", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "WORKLOC_CODE", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "REMARK", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "EQPT_NAME", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "EQPT_CODE", DataType = typeof(string) }); + dt.Columns.Add(new DataColumn() { ColumnName = "STATE", DataType = typeof(int) }); + dt.Columns.Add(new DataColumn() { ColumnName = "PRI", DataType = typeof(int) }); + return dt; + } + #endregion + + #region 整车插入信息 + /// + /// 插入信息(单表) + /// + /// 信息 + /// 插入行数 + public DataResult InsertWholeDoor(PaoMoOrderPlan model, List materiallist) + { + List List = new List(); + DataResult result = new DataResult(); + DoorPlankPlanDAL cmdDAL = new DoorPlankPlanDAL(); + cmdDAL.BaseSession = AppDataFactory.CreateMainSession(); + string plan_Seq = ""; + foreach (Material ma in materiallist) + { + PaoMoOrderPlan planmodel = new PaoMoOrderPlan(); + planmodel.MATERIAL_CODE = ma.MATERIAL_CODE; + planmodel.PID = Guid.NewGuid().ToString(); + + planmodel.QTY = model.QTY; + planmodel.PLAN_DATE = model.PLAN_DATE; + planmodel.SHIFT_CODE = model.SHIFT_CODE; + planmodel.PRODUCEREQUIRE = "0"; + + + planmodel.PLANSOURCE = model.PLANSOURCE; + planmodel.PLAN_STATE = "0"; + //计划来源 + planmodel.PLANSOURCE = model.PLANSOURCE; + + //顺序号 + OrderPlanSerial serial = new DoorPlankPlanDAL().GetNumSerial(model); + + if (serial != null) + { + + //流水号加1,补位 + planmodel.PLAN_SEQ = (serial.SERIAL_NO + 1).ToString().PadLeft(3, '0'); + //更新流水号 + serial.SERIAL_NO = serial.SERIAL_NO + 1; + + if (string.IsNullOrEmpty(plan_Seq)) + { + plan_Seq = planmodel.PLAN_SEQ; + } + + int no = new DoorPlankPlanDAL().UpdateSerial(serial); + } + else + { + OrderPlanSerial serialinfo = new OrderPlanSerial(); + //若为空则插入流水号表信息 + serialinfo.PID = Guid.NewGuid().ToString(); + serialinfo.SERIAL_NO = 1; + serialinfo.SERIAL_TYPE = model.ORDER_TYPE; + serialinfo.SERIAL_DATE = model.PLAN_DATE.ToString("yyyyMMdd"); + int num = new DoorPlankPlanDAL().InsertSerial(serialinfo); + //流水号补位 + planmodel.PLAN_SEQ = (serialinfo.SERIAL_NO).ToString().PadLeft(3, '0'); + + if (string.IsNullOrEmpty(plan_Seq)) + { + plan_Seq = planmodel.PLAN_SEQ; + } + } + + string matype = ma.MATERIAL_TYPE_CODE; + string a = matype.Substring(matype.Length - 2, 1); + string b = matype.Substring(matype.Length - 1, 1); + string planSet = b + a; + //计划单号 + planmodel.PLAN_NO = model.AsmSetCode+planSet + model.PLAN_DATE.ToString("yyMMdd") + planmodel.PLAN_SEQ + "SD"; + + Pbom pbomcode = new PbomDAL().Get(new Pbom { MATERIAL_CODE = planmodel.MATERIAL_CODE }); + planmodel.PBOM_CODE = pbomcode.PBOM_CODE; + string workcentercode = new WorkCellDAL().GetWorkcenter(model.ORDER_TYPE); + planmodel.WORKCENTER_CODE = workcentercode; + if (planmodel.WORKCENTER_CODE != "") + { + string factory = new FactoryDAL().GetFactoryWithWorkcenter(planmodel.WORKCENTER_CODE); + planmodel.FACTORY_CODE = factory; + } + QMAPP.MD.Entity.ProcessRoute routecode = new QMAPP.MD.DAL.ProcessRouteDAL().RouteWithMaterial(planmodel.MATERIAL_CODE); + //QMAPP.MD.Entity.ProcessRoute routecode = new QMAPP.MD.DAL.ProcessRouteDAL().RouteWithMaterial(model.MATERIAL_CODE); + planmodel.ROUTE_CODE = routecode != null ? routecode.ROUTE_CODE : ""; + planmodel.CREATEUSER = this.LoginUser.UserID; + planmodel.CREATEDATE = DateTime.Now; + planmodel.UPDATEUSER = planmodel.CREATEUSER; + planmodel.UPDATEDATE = planmodel.CREATEDATE; + + planmodel.PLAN_SEQ = plan_Seq; + + List.Add(planmodel); + } + + + try + { + if (ExistsOrderPlan(model) > 0) + { + result.IsSuccess = false; + result.Msg = Resource.MaterielCodeIsHave; + return result; + } + result.Result = cmdDAL.InsertDoorPlan(List); + + } + catch (Exception ex) + { + LogManager.LogHelper.Error(new LogInfo() + { + ErrorInfo = ex, + Tag = ex.StackTrace, + Info = "信息逻辑层-插入信息!" + }); + result.IsSuccess = false; + result.Msg = Resource.SystemException; + throw ex; + } + result.IsSuccess = true; + return result; + } + #endregion + + #region 保存FIS插单 + /// + /// 保存FIS插单 + /// + /// 信息 + /// 插入行数 + public DataResult SaveFISInsert(PaoMoOrderPlan model, List materiallist,bool Publish) + { + List List = new List(); + DataResult result = new DataResult(); + DoorPlankPlanDAL cmdDAL = new DoorPlankPlanDAL(); + cmdDAL.BaseSession = AppDataFactory.CreateMainSession(); + var InsertNum = cmdDAL.GetMaxFISInsertNum(model) + 1; + foreach (Material ma in materiallist) + { + PaoMoOrderPlan planmodel = new PaoMoOrderPlan(); + planmodel.MATERIAL_CODE = ma.MATERIAL_CODE; + planmodel.PID = Guid.NewGuid().ToString(); + + planmodel.QTY = model.QTY; + planmodel.PLAN_DATE = model.PLAN_DATE; + //planmodel.SHIFT_CODE = model.SHIFT_CODE; + planmodel.PRODUCEREQUIRE = "0"; + + planmodel.PLAN_STATE = "0"; + //计划来源 + planmodel.PLANSOURCE = model.PLANSOURCE; + //顺序号 + planmodel.PLAN_SEQ = string.Format("{0}-{1:D1}", model.PLAN_SEQ, InsertNum); + var seqstr = model.PLAN_SEQ; + if (seqstr.Length < 4) + { + seqstr = seqstr.PadLeft(4, '0'); + } + else if (seqstr.Length > 4) + { + seqstr = seqstr.Substring(seqstr.Length - 4); + } + string matype = ma.MATERIAL_TYPE_CODE; + + //计划单号 + planmodel.PLAN_NO = string.Format("DPINS{0:yyyyMMdd}{1}{2}{3:D1}", + model.PLAN_DATE, + matype.Substring(matype.Length - 2, 2), + seqstr, + InsertNum); + + Pbom pbomcode = new PbomDAL().Get(new Pbom { MATERIAL_CODE = planmodel.MATERIAL_CODE }); + planmodel.PBOM_CODE = pbomcode.PBOM_CODE; + string workcentercode = new WorkCellDAL().GetWorkcenter(model.ORDER_TYPE); + planmodel.WORKCENTER_CODE = workcentercode; + if (planmodel.WORKCENTER_CODE != "") + { + string factory = new FactoryDAL().GetFactoryWithWorkcenter(planmodel.WORKCENTER_CODE); + planmodel.FACTORY_CODE = factory; + } + planmodel.CREATEUSER = this.LoginUser.UserID; + planmodel.CREATEDATE = DateTime.Now; + planmodel.UPDATEUSER = planmodel.CREATEUSER; + planmodel.UPDATEDATE = planmodel.CREATEDATE; + + List.Add(planmodel); + } + + + try + { + if (ExistsOrderPlan(model) > 0) + { + result.IsSuccess = false; + result.Msg = Resource.MaterielCodeIsHave; + return result; + } + result.Result = cmdDAL.InsertDoorPlan(List); + } + catch (Exception ex) + { + LogManager.LogHelper.Error(new LogInfo() + { + ErrorInfo = ex, + Tag = ex.StackTrace, + Info = "信息逻辑层-插入信息!" + }); + result.IsSuccess = false; + result.Msg = Resource.SystemException; + throw ex; + } + result.IsSuccess = true; + return result; + } + #endregion + + #region 获取列表(为了修改顺序号使用) + /// + /// 获取列表 + /// + /// 条件 + /// 数据页 + /// 数据页 + public DataResult GetDoorPlankPlanList(PaoMoOrderPlan condition, DataPage page) + { + condition.PIDList = "'" + condition.PIDList.Replace(":", "','") + "'"; + DataResult result = new DataResult(); + try + { + //获取信息列表 + DataPage dataPage = new DoorPlankPlanDAL().GetDoorPlankPlanList(condition, page); + + result.Result = dataPage; + } + catch (Exception ex) + { + LogManager.LogHelper.Error(new LogInfo() + { + ErrorInfo = ex, + Tag = ex.StackTrace, + Info = "信息逻辑层-获取列表!" + }); + result.IsSuccess = false; + result.Msg = Resource.SystemException; + throw ex; + } + result.IsSuccess = true; + return result; + } + #endregion + + #region 更新顺序号信息 + /// + /// 更新顺序号信息 + /// + /// + /// 更新个数 + public DataResult UpdateDoorPlankPlanSeq(PaoMoOrderPlan PaoMoOrderPlan) + { + int count = 0; + string[] list = PaoMoOrderPlan.PIDList.Split(":".ToCharArray()); + DataResult result = new DataResult(); + try + { + foreach (string str in list) + { + PaoMoOrderPlan op = new PaoMoOrderPlan(); + op.PID = str; + op.PLAN_SEQ = PaoMoOrderPlan.PLAN_SEQ; + result.Result += this.UpdateSeq(op); + } + + result.Result = count; + result.Msg = "更新成功!"; + result.IsSuccess = true; + return result; + } + catch (Exception ex) + { + throw ex; + } + } + + /// + /// 更新顺序号信息 + /// + /// 信息 + /// 删除个数 + public int UpdateSeq(PaoMoOrderPlan model) + { + int count = 0; + count = new DoorPlankPlanDAL().UpdateSeq(model); + return count; + } + #endregion + + #region 门板计划物料号CD + /// + /// 门板计划物料号CD + /// + /// + /// + public List GetMaterialDoorPlanForCD(FISAssembly info) + { + List result = new List(); + try + { + result = new DoorPlankPlanDAL().GetMaterialDoorPlanForCD(info); + //转换高低配和颜色 + + } + catch (Exception ex) + { + throw ex; + } + return result; + } + #endregion + + #region 获取本体信息 + /// + /// 获取本体信息 + /// + /// + /// + public FISAssembly GetFISMaterialInfoCD(string IdInfo) + { + FISAssembly Fisassmble = new FISAssembly(); + //根据表皮条码获取本体信息 + Fisassmble.Id = IdInfo; + try + { + List FisassmbleList = new DoorPlankPlanDAL().GetMaterialDoorPlanForCD(Fisassmble); + foreach (FISAssembly m in FisassmbleList) + { + Fisassmble.MESModulFL = m.MESModulFL; + Fisassmble.MESModulFR = m.MESModulFR; + Fisassmble.MESModulRL = m.MESModulRL; + Fisassmble.MESModulRR = m.MESModulRR; + Fisassmble.AsmSetCode = m.AsmSetCode; + } + } + catch (Exception ex) + { + LogManager.LogHelper.Error(new LogInfo() + { + ErrorInfo = ex, + Tag = ex.StackTrace, + Info = "产品档案逻辑层-获取本体信息!" + }); + throw ex; + } + return Fisassmble; + } + #endregion + + } +} diff --git a/APPQ5/QMAPP.FJC.BLL/QMAPP.FJC.BLL.csproj b/APPQ5/QMAPP.FJC.BLL/QMAPP.FJC.BLL.csproj index 2da4584..6f5abb6 100644 --- a/APPQ5/QMAPP.FJC.BLL/QMAPP.FJC.BLL.csproj +++ b/APPQ5/QMAPP.FJC.BLL/QMAPP.FJC.BLL.csproj @@ -138,6 +138,7 @@ + diff --git a/APPQ5/QMAPP.FJC.Entity/FIS/PaoMoOrderPlan.cs b/APPQ5/QMAPP.FJC.Entity/FIS/PaoMoOrderPlan.cs new file mode 100644 index 0000000..4ebf256 --- /dev/null +++ b/APPQ5/QMAPP.FJC.Entity/FIS/PaoMoOrderPlan.cs @@ -0,0 +1,207 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using QMFrameWork.Data.Attributes; +using System.Data; +using QMAPP.Entity; + + +namespace QMAPP.FJC.Entity.FIS +{ + /// + /// 工单计划——泡沫 + /// + [DBTable(TableName = "T_PP_ORDERPLAN_PAOMO", TimeStampColumn = "UPDATEDATE")] + public class PaoMoOrderPlan : BaseEntity + { + /// + /// + /// + [DBColumn(ColumnName = "PID", DataType = DbType.String, IsKey = true)] + public string PID { get; set; } + public string PIDList { get; set; } + /// + ///工厂编号 + /// + [DBColumn(ColumnName = "FACTORY_CODE", DataType = DbType.String)] + public string FACTORY_CODE { get; set; } + + + /// + ///计划单号 + /// + [DBColumn(ColumnName = "PLAN_NO", DataType = DbType.String)] + public string PLAN_NO { get; set; } + + + /// + ///计划顺序号 + /// + [DBColumn(ColumnName = "PLAN_SEQ", DataType = DbType.String)] + public String PLAN_SEQ { get; set; } + + + /// + ///计划状态 + /// + [DBColumn(ColumnName = "PLAN_STATE", DataType = DbType.String)] + public string PLAN_STATE { get; set; } + public string PLAN_STATES { get; set; } + + + /// + ///物料号 + /// + [DBColumn(ColumnName = "MATERIAL_CODE", DataType = DbType.String)] + public string MATERIAL_CODE { get; set; } + + /// + ///设备编号 + /// + [DBColumn(ColumnName = "MACHINECODDE", DataType = DbType.String)] + public string MACHINECODDE { get; set; } + + /// + ///PBOM编号 + /// + [DBColumn(ColumnName = "PBOM_CODE", DataType = DbType.String)] + public string PBOM_CODE { get; set; } + + + /// + ///工艺路线 + /// + [DBColumn(ColumnName = "ROUTE_CODE", DataType = DbType.String)] + public string ROUTE_CODE { get; set; } + + + /// + ///描述 + /// + [DBColumn(ColumnName = "REMARK", DataType = DbType.String)] + public string REMARK { get; set; } + + + /// + ///计划数量 + /// + [DBColumn(ColumnName = "QTY", DataType = DbType.String)] + public int QTY { get; set; } + + + /// + ///完成数量 + /// + [DBColumn(ColumnName = "COMPLETE_QTY", DataType = DbType.String)] + public int COMPLETE_QTY { get; set; } + + + /// + ///计划日期 + /// + [DBColumn(ColumnName = "PLAN_DATE", DataType = DbType.DateTime)] + public DateTime PLAN_DATE { get; set; } + + /// + ///班次编码 + /// + [DBColumn(ColumnName = "SHIFT_CODE", DataType = DbType.String)] + public string SHIFT_CODE { get; set; } + + /// + ///计划来源 + ///0:FIS 1:建储 2:插单 + /// + [DBColumn(ColumnName = "PLANSOURCE", DataType = DbType.String)] + public string PLANSOURCE { get; set; } + + /// + ///工作中心 + /// + [DBColumn(ColumnName = "WORKCENTER_CODE", DataType = DbType.String)] + public string WORKCENTER_CODE { get; set; } + + /// + ///生产要求 + /// + [DBColumn(ColumnName = "PRODUCEREQUIRE", DataType = DbType.String)] + public string PRODUCEREQUIRE { get; set; } + + public string FACTORY_NAME { get; set; } + public string MATERIAL_NAME { get; set; } + public string SHIFT_NAME { get; set; } + + /// + /// 创建用户 + /// + [DBColumn(ColumnName = "CREATEUSER", DataType = DbType.String)] + public string CREATEUSER { get; set; } + public string CREATEUSERNAME { get; set; } + + /// + /// 创建时间 + /// + [DBColumn(ColumnName = "CREATEDATE", DataType = DbType.DateTime, DefaultValue = DataDefaultValue.SysDate)] + public DateTime CREATEDATE { get; set; } + + /// + /// 更新用户 + /// + [DBColumn(ColumnName = "UPDATEUSER", DataType = DbType.String)] + public string UPDATEUSER { get; set; } + public string UPDATEUSERNAME { get; set; } + + /// + /// 更新时间 + /// + [DBColumn(ColumnName = "UPDATEDATE", DataType = DbType.DateTime)] + public DateTime UPDATEDATE { get; set; } + + /// + /// 忽略FIS断号 + /// + [DBColumn(ColumnName = "IGNORE_FISBREAK", DataType = DbType.String)] + public string IGNORE_FISBREAK { get; set; } + + /// + /// FIS短语字典代码 + /// + [DBColumn(ColumnName = "FIS_ASMSETCODE", DataType = DbType.String)] + public string FIS_ASMSETCODE { get; set; } + + ///// 错误信息 + ///// + //public string InfoError { get; set; } + ///// + ///// 导入时判断添加修改 + ///// + //public bool IsNewInfo { get; set; } + + public string ORDER_TYPE { get; set; } + + public DateTime PLANTIMESTART { get; set; } + + public DateTime PLANTIMEEND { get; set; } + + + [DBColumn(ColumnName = "STARTTIME", DataType = DbType.DateTime)] + public DateTime STARTTIME { get; set; } + + [DBColumn(ColumnName = "ENDTIME", DataType = DbType.DateTime)] + public DateTime ENDTIME { get; set; } + + public string STARTTIMEVIEW { get; set; } + + public string ENDTIMEVIEW { get; set; } + + public string STARTTIMEIN { get; set; } + + public string ENDTIMEIN { get; set; } + + public string PLAN_DATEIN { get; set; } + + + public string AsmSetCode { get; set; } + } +} diff --git a/APPQ5/QMAPP.FJC.Entity/FIS/ZhuSuOrderPlan.cs b/APPQ5/QMAPP.FJC.Entity/FIS/ZhuSuOrderPlan.cs new file mode 100644 index 0000000..8b75ce6 --- /dev/null +++ b/APPQ5/QMAPP.FJC.Entity/FIS/ZhuSuOrderPlan.cs @@ -0,0 +1,207 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using QMFrameWork.Data.Attributes; +using System.Data; +using QMAPP.Entity; + + +namespace QMAPP.FJC.Entity.FIS +{ + /// + /// 工单计划 + /// + [DBTable(TableName = "T_PP_ORDERPLAN_ZHUSU", TimeStampColumn = "UPDATEDATE")] + public class ZhuSuOrderPlan : BaseEntity + { + /// + /// + /// + [DBColumn(ColumnName = "PID", DataType = DbType.String, IsKey = true)] + public string PID { get; set; } + public string PIDList { get; set; } + /// + ///工厂编号 + /// + [DBColumn(ColumnName = "FACTORY_CODE", DataType = DbType.String)] + public string FACTORY_CODE { get; set; } + + + /// + ///计划单号 + /// + [DBColumn(ColumnName = "PLAN_NO", DataType = DbType.String)] + public string PLAN_NO { get; set; } + + + /// + ///计划顺序号 + /// + [DBColumn(ColumnName = "PLAN_SEQ", DataType = DbType.String)] + public String PLAN_SEQ { get; set; } + + + /// + ///计划状态 + /// + [DBColumn(ColumnName = "PLAN_STATE", DataType = DbType.String)] + public string PLAN_STATE { get; set; } + public string PLAN_STATES { get; set; } + + + /// + ///物料号 + /// + [DBColumn(ColumnName = "MATERIAL_CODE", DataType = DbType.String)] + public string MATERIAL_CODE { get; set; } + + /// + ///设备编号 + /// + [DBColumn(ColumnName = "MACHINECODDE", DataType = DbType.String)] + public string MACHINECODDE { get; set; } + + /// + ///PBOM编号 + /// + [DBColumn(ColumnName = "PBOM_CODE", DataType = DbType.String)] + public string PBOM_CODE { get; set; } + + + /// + ///工艺路线 + /// + [DBColumn(ColumnName = "ROUTE_CODE", DataType = DbType.String)] + public string ROUTE_CODE { get; set; } + + + /// + ///描述 + /// + [DBColumn(ColumnName = "REMARK", DataType = DbType.String)] + public string REMARK { get; set; } + + + /// + ///计划数量 + /// + [DBColumn(ColumnName = "QTY", DataType = DbType.String)] + public int QTY { get; set; } + + + /// + ///完成数量 + /// + [DBColumn(ColumnName = "COMPLETE_QTY", DataType = DbType.String)] + public int COMPLETE_QTY { get; set; } + + + /// + ///计划日期 + /// + [DBColumn(ColumnName = "PLAN_DATE", DataType = DbType.DateTime)] + public DateTime PLAN_DATE { get; set; } + + /// + ///班次编码 + /// + [DBColumn(ColumnName = "SHIFT_CODE", DataType = DbType.String)] + public string SHIFT_CODE { get; set; } + + /// + ///计划来源 + ///0:FIS 1:建储 2:插单 + /// + [DBColumn(ColumnName = "PLANSOURCE", DataType = DbType.String)] + public string PLANSOURCE { get; set; } + + /// + ///工作中心 + /// + [DBColumn(ColumnName = "WORKCENTER_CODE", DataType = DbType.String)] + public string WORKCENTER_CODE { get; set; } + + /// + ///生产要求 + /// + [DBColumn(ColumnName = "PRODUCEREQUIRE", DataType = DbType.String)] + public string PRODUCEREQUIRE { get; set; } + + public string FACTORY_NAME { get; set; } + public string MATERIAL_NAME { get; set; } + public string SHIFT_NAME { get; set; } + + /// + /// 创建用户 + /// + [DBColumn(ColumnName = "CREATEUSER", DataType = DbType.String)] + public string CREATEUSER { get; set; } + public string CREATEUSERNAME { get; set; } + + /// + /// 创建时间 + /// + [DBColumn(ColumnName = "CREATEDATE", DataType = DbType.DateTime, DefaultValue = DataDefaultValue.SysDate)] + public DateTime CREATEDATE { get; set; } + + /// + /// 更新用户 + /// + [DBColumn(ColumnName = "UPDATEUSER", DataType = DbType.String)] + public string UPDATEUSER { get; set; } + public string UPDATEUSERNAME { get; set; } + + /// + /// 更新时间 + /// + [DBColumn(ColumnName = "UPDATEDATE", DataType = DbType.DateTime)] + public DateTime UPDATEDATE { get; set; } + + /// + /// 忽略FIS断号 + /// + [DBColumn(ColumnName = "IGNORE_FISBREAK", DataType = DbType.String)] + public string IGNORE_FISBREAK { get; set; } + + /// + /// FIS短语字典代码 + /// + [DBColumn(ColumnName = "FIS_ASMSETCODE", DataType = DbType.String)] + public string FIS_ASMSETCODE { get; set; } + + ///// 错误信息 + ///// + //public string InfoError { get; set; } + ///// + ///// 导入时判断添加修改 + ///// + //public bool IsNewInfo { get; set; } + + public string ORDER_TYPE { get; set; } + + public DateTime PLANTIMESTART { get; set; } + + public DateTime PLANTIMEEND { get; set; } + + + [DBColumn(ColumnName = "STARTTIME", DataType = DbType.DateTime)] + public DateTime STARTTIME { get; set; } + + [DBColumn(ColumnName = "ENDTIME", DataType = DbType.DateTime)] + public DateTime ENDTIME { get; set; } + + public string STARTTIMEVIEW { get; set; } + + public string ENDTIMEVIEW { get; set; } + + public string STARTTIMEIN { get; set; } + + public string ENDTIMEIN { get; set; } + + public string PLAN_DATEIN { get; set; } + + + public string AsmSetCode { get; set; } + } +} diff --git a/APPQ5/QMAPP.FJC.Entity/QMAPP.FJC.Entity.csproj b/APPQ5/QMAPP.FJC.Entity/QMAPP.FJC.Entity.csproj index f550968..741a8bf 100644 --- a/APPQ5/QMAPP.FJC.Entity/QMAPP.FJC.Entity.csproj +++ b/APPQ5/QMAPP.FJC.Entity/QMAPP.FJC.Entity.csproj @@ -134,6 +134,8 @@ + + diff --git a/APPQ5/QMAPP.FJC.Web/App_Data/Menu.xml b/APPQ5/QMAPP.FJC.Web/App_Data/Menu.xml index 07dbf1e..5257cd5 100644 --- a/APPQ5/QMAPP.FJC.Web/App_Data/Menu.xml +++ b/APPQ5/QMAPP.FJC.Web/App_Data/Menu.xml @@ -314,6 +314,38 @@ + + + 查询 + 添加 + 整车添加 + 修改 + 修改计划顺序号 + 插单 + 删除 + 发布 + 导入 + 导出 + 下载模板 + + + + + + 查询 + 添加 + 整车添加 + 修改 + 修改计划顺序号 + 插单 + 删除 + 发布 + 导入 + 导出 + 下载模板 + + + 查询