当前位置: 首页 > news >正文

网站设计价格大概是网页网站作业制作

网站设计价格大概是,网页网站作业制作,劳务公司怎么注册,wordpress有手机版吗基于Oracle Agile PLM系统的二次开发——延期项目提醒 一.PLM概述 在今天由于全球化竞争、提升客户满意度以及业务脚步的快速提升都市足以强迫任一单位必须将产品快速的导入市场–也就是挤压产品的利润周期。 此外#xff0c;为了降低成本和提升效率#xff0c;各个企业都在全… 基于Oracle Agile PLM系统的二次开发——延期项目提醒 一.PLM概述 在今天由于全球化竞争、提升客户满意度以及业务脚步的快速提升都市足以强迫任一单位必须将产品快速的导入市场–也就是挤压产品的利润周期。 此外为了降低成本和提升效率各个企业都在全球各地增加人力以及供应伙伴以提升企业的竞争力。在这种高度竞争的市场环境下企业的成功要素就包含了 1.快速推出产品 2.更积极有效的管理产品与流程 3.提交最高质量与最高效用的产品 4在更加复杂的全球供应链有效的进行沟通与协同作业 解决方案就是针对上述的挑战的解决方案并提供各个产业在现今竞争激烈的环境拔得头筹。同时Agile PLM解决方案也可使企业完整管理从产品设计、询价、制造、销售与售后服务的整个环节。在这每一个解决方案的主要核心就是产品纪录Product Record也就是在产品利润周期内各阶段的必要数据。例如对产品定义而言则包含BOM表、零部件属性、图纸及模型、规范、型录及版本变更历史﹔就策略采购而言就包含如AML零部件价格以及产品价格历史等﹔就产品支持、服务和维修方面则包含产品服务指令、质量数据及缺陷数据等。 解决方案由下列商业就绪(Business Ready)的解决方案所组成 AProduct Collaboration(产品协同) 1.Product Cost Management(产品管理) 2.Product Service Improvement(产品服务及改善) 3.Product Portfolio Management(产品组合管理) 4.Product Governance Compliance(产品管理与法令) 5Engineering Collaboration(工程协同) 每一个解决方案都提供企业体在供应炼各方面的高度透明度强化客户与供货商降低成本、提升效率并更快制造出更好、更具利润产品的能力。所有Agile解决方案都是构筑在Agile PLM Platform上。Agile PLM Platform是一个功能强大的标准化、安全以及可扩张性的架构平台。这个平台可确保客户快速且价格低廉(cost effective)的实施上线。 本功能是PLM自身并不具备而在生产管理过程中又是必需的。将本功能集成以后将改变原有系统手动检查比对整理和发送邮件的状态。 二本次开发的概况 需求项目延期延期天数精准到小数点后两位超过5天的发送邮件及站内信给项目所有者的直接主管 项目延期超过10天的发送邮件及站内信给项目所有者的直接主管和间接主管。 邮件格式包括但不限于 主题项目类型项目名是否延期 内容项目父根项目组名项目组角色计划完成时间等。 核心代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 private  static  void  getStatus(IAgileSession session, String num) { try  { IProgram program (IProgram) session.getObject(IProgram.OBJECT_TYPE, num); if  (program !  null ) { ITable tblSch program.getTable(ProgramConstants.TABLE_SCHEDULE); Iterator itSch tblSch.iterator(); while  (itSch.hasNext()) { IRow rowSch (IRow) itSch.next(); Map map rowSch.getValues(); String sub_num (String) map.get(ProgramConstants.ATT_SCHEDULE_NUMBER); String type rowSch.getValue(ProgramConstants.ATT_SCHEDULE_TYPE).toString(); if ( 任务 .equals(type)) { String statusOverall rowSch.getValue(ProgramConstants.ATT_SCHEDULE_OVERALL_STATUS).toString(); IDataObject dataObjectTask rowSch.getReferent(); if (dataObjectTask  instanceof  IProgram){ } if  (STATUS_OVERALL_CH.equals(statusOverall)) { String owner rowSch.getValue(ProgramConstants.ATT_SCHEDULE_OWNER).toString(); IUser[] users MailUtils.getSupervisor(session, owner); IUser[] directors {users[ 0 ]}; //If only status overall is abnormal,then mail to owner MailUtils.add(mailMap, owner,sub_num); //if delayed time of this task has surpassed six days,then mail to its owner and owners director IProgram programTask (IProgram) session.getObject(IProgram.OBJECT_TYPE, sub_num); ITable tblGnrInfo programTask.getTable(ProgramConstants.TABLE_GENERALINFO); Iterator itGnrInfo tblGnrInfo.iterator(); ITable tblTeam programTask.getTable(ProgramConstants.TABLE_TEAM); Iterator itTeam tblTeam.iterator(); IRow rowTeam   null ; while (itTeam.hasNext()){ rowTeam (IRow) itTeam.next(); Map mapTeam rowTeam.getValues(); } while (itGnrInfo.hasNext()){ IRow rowGnrInfo (IRow) itGnrInfo.next(); Map mapGnrInfo rowGnrInfo.getValues(); String status rowGnrInfo.getValue(ProgramConstants.ATT_GENERAL_INFO_STATUS).toString(); //three kinds of status in all if (STATUS_NOT_START_CH.equals(status)){ SimpleDateFormat df   new  SimpleDateFormat( yyyy-mm-dd hh:mm:ss ); String dateSchedule rowGnrInfo.getValue(ProgramConstants.ATT_GENERAL_INFO_SCHEDULE_START_DATE).toString(); double  dayNumDelayed MailUtils.getWorkDays( new  Date(dateSchedule),  new  Date()); if (dayNumDelayed DAYS_DELAY_ALARM_THRESHOLD_INDIRECT){ programTask.send(users,  new  MailTaskTemplate(rowSch, rowGnrInfo, rowTeam).toString()); System.out.println( Has sent a email about delayed task:  rowSch.getValue(ProgramConstants.ATT_SCHEDULE_NAME)   to director indirector:  users[ 0 ].getName()   users[ 1 ].getName()   successfully ); }  else  if (dayNumDelayed DAY_DELAYED_ALARM_THRESHOLD_DIRECT){ programTask.send(directors,  new  MailTaskTemplate(rowSch, rowGnrInfo, rowTeam).toString()); System.out.println( Has sent a email about delayed task:  rowSch.getValue(ProgramConstants.ATT_SCHEDULE_NAME)   to director:  directors[ 0 ].getName()   successfully ); } } else  if (STATUS_FINISHED_CH.equals(status)){ //has finished but delayedoverall status and schedule status is normal!!! } else  if (status.contains(STATUS_PROCESSING_CH)){ //processing:1.startTime is delayed or duration is delayed double  scheduleDuration Double.parseDouble(rowGnrInfo.getValue(ProgramConstants.ATT_GENERAL_INFO_SCHEDULE_DURATION).toString()); double  actualDuration Double.parseDouble(rowGnrInfo.getValue(ProgramConstants.ATT_GENERAL_INFO_ACTUAL_DURATION_VARIANCE_WORK_DAYS).toString()); double  delayDaysStarted Double.parseDouble(rowGnrInfo.getValue(ProgramConstants.ATT_GENERAL_INFO_ACTUAL_START_VARIANCE_WORK_DAYS).toString()); if (delayDaysStarted DAYS_DELAY_ALARM_THRESHOLD_INDIRECT || actualDuration - scheduleDuration DAYS_DELAY_ALARM_THRESHOLD_INDIRECT){ programTask.send(directors,  new  MailTaskTemplate(rowSch, rowGnrInfo, rowTeam).toString()); System.out.println( Has sent a email about delayed task:  rowSch.getValue(ProgramConstants.ATT_SCHEDULE_NAME)   to director and indirector:  users[ 0 ].getName()   users[ 1 ].getName()    successfully ); }  else  if (delayDaysStarted DAY_DELAYED_ALARM_THRESHOLD_DIRECT || actualDuration - scheduleDuration DAY_DELAYED_ALARM_THRESHOLD_DIRECT){ programTask.send(users,  new  MailTaskTemplate(rowSch, rowGnrInfo, rowTeam).toString()); System.out.println( Has sent a email about delayed task:  rowSch.getValue(ProgramConstants.ATT_SCHEDULE_NAME)   to director:  directors[ 0 ].getName()   successfully ); } } rowGnrInfo.getValue(ProgramConstants.ATT_GENERAL_INFO_SCHEDULE_START_DATE); } } } //if type equals phase,then recurse phase to get task if  ( 阶段 .equals(type)) { getStatus(session, sub_num); } } }  else  { System.out.println( Program num maybe error ); } }  catch  (Exception ex) { ex.printStackTrace(); } } 设计思想 从schedule表中查出给定项目IProgram pgm由pgm得到schedule表tbl_sch由于项目是树形结构tbl_sch条目列表是pgm直属的阶段phase任务(task)或关口(gate)如果某条目是phase则递归调用直到条目为任务。取出任务的generalnfoschedule,team三个表其中前两个是前期判断需要的team用来组织邮件。如果任务的GeneralInfo.总体状态为不正常则判断是否为因延期导致的不正常:如果GeneralInfo.status为未开始则使用当前时间与计划开始时间取延迟的工作日天数如果GeneralInfo.status为已开始则需要分别判断计划持续时间schedule.actualDuration-schedule. scheduleDuration以及当前时间与计划开始时间的工作日天数按照需求规则发送站内信和邮件。获得直接和间接主管的方法为通过program的schedule表得到owner然后新建一个IQuery(最新API中有通过sql的方式可以直接得到所有或某些user本代码采用查全部user表然后与owner比对得到owner对应的user从IUser表的第二页得到直接主管和间接主管的姓名再将主管的姓名与userList比对得到user)发送站内信和邮件的方式采用IDataObject几乎本程序所有对象IProgram,ITable,IRow,IUser实现并重写了其发送站内信和邮件的send方法。 在参考1中可以下载到agile的示例代码而本代码中所有与agile相关的接口使用方法在示例代码中均可以看到。 参考1.Oracle Agile PLM 示例代码http://www.oracle.com/technetwork/cn/indexes/samplecode/agileplm-sample-520945-zhs.html 2.Agile PLM系统介绍http://www.docin.com/p-332463717.html 3.ORACLEAgilePLM方案介绍http://wenku.baidu.com/view/26c6a717cc7931b765ce15c0.html      本文转自 gaochaojs 51CTO博客原文链接http://blog.51cto.com/jncumter/1275083如需转载请自行联系原作者
http://www.w-s-a.com/news/981630/

相关文章:

  • 赤峰中国建设招标网站网站开发投标文件
  • 域名抢住网站婚庆网页设计
  • 公司网站建设的通知南宁怎么做网站
  • 搜狐快站建站教程电子商务网站后台模板
  • .gs域名做网站怎么样做网站有没有用
  • 肇庆住房和城乡建设局网站广州seo公司排名
  • j2ee网站开发买什么书网络媒体有哪些
  • 江西省住房建设部官方网站用多说的网站
  • 云课堂哪个网站做的好网站 集约化平台建设方案的通知
  • 撰写网站栏目规划怎么建自己的平台
  • 中国建设银行巴黎分行网站建设银行忘记密码网站首页
  • 网站左侧树形导航怎么做像wordpress一样的网站吗
  • 做网站用的书公司做网站 需要解决哪些问题
  • 电器网站建设策划书深圳动画制作
  • cpa网站建设wordpress支付宝微信收费吗
  • 权威网站排名桂林生活网论坛
  • 网站设计息济南网站建设济南
  • 安蓉建设总公司网站网站怎么做才能被百度收录
  • 电子商务网站业务流程分析做效果图的外包网站
  • wordpress仿站视频教程wordpress用什么php版本好
  • 郑州做网站九零后网络沧州做网站的专业公司
  • 小游戏网站建设可以自己做图片的软件
  • 湖南地税局官网站水利建设基金app仿制
  • 苏州网站设计kgwl建设网站需要用到哪些技术人员
  • 万户网络做网站如何亚马逊网站建设
  • 门户网站制作费用暴雪公司最新消息
  • 深圳专业建网站公司济南公司做网站的价格
  • 怎么运行自己做的网站网上申请平台怎么申请
  • 旅游公司网站 优帮云新闻近期大事件
  • 电商网站后台报价营销软文小短文