根据项目同步招标项目投标邀请函数据到发标表中,并设置流程表中状态为发标新增
2014-01-07 16:50
393 查看
@Transactional(readOnly = false) public String updateinvote(String projectId) { ProjectT projectT = projectTService.get(projectId); if (projectT == null) { return "false"; } // 根据项目id找到该所有的投标项目 DetachedCriteria dc = bidinvitTDao.createDetachedCriteria(); dc.add(Restrictions.eq("projectId", projectT.getProjectId())); List<BidinvitT> bidinvitTList = bidinvitTDao.find(dc); for (BidinvitT bidinvitT : bidinvitTList) { // 查找发标表中招标项目, String sqlq ="select t.INVIT_STATE from ZBCG_INVIT_PROCEDURE_T t where t.invit_project_id ='"+bidinvitT.getInvitProjectId()+"'"; // Map mapResult0 = (Map) (invoiceTDao.findBySql(sqlq, Map.class, new Object[] {}));//招标流程表状态 List<Map> listResult = invoiceTDao.findBySql(sqlq, Map.class, new Object[] {}); if(listResult!=null && listResult.size()>0){ Map mapResult0=listResult.get(0); if(mapResult0.get("INVIT_STATE").equals(ZbesStatus.投标邀请已发送.getType())|| mapResult0.get("INVIT_STATE").equals(ZbesStatus.发标新增.getType())){ DetachedCriteria dc1 = invoiceTDao.createDetachedCriteria(); dc1.add(Restrictions.eq("invitProjectId", bidinvitT.getInvitProjectId())); List<InvoiceT> invoiceTList = invoiceTDao.find(dc1); if (invoiceTList.size() == 0) { /* * 不存在就 *.新增发标数据插到ZBCG_INVOICE_T,.回写单位流程表的 BID_INVIT_ID * ,流程状态字段INVIT_STATE(4010) */ InvoiceT invoiceT = new InvoiceT(); invoiceT.setInvitProjectId(bidinvitT.getInvitProjectId().toString()); invoiceT.setInvitProjectName(bidinvitT.getInvitProjectName().toString()); InvitprojectT invitprojectT = invitprojectTService.get(bidinvitT.getInvitProjectId().toString()); invoiceT.setLowerBidPrice(invitprojectT.getBidPriceInvent()==null?"":invitprojectT.getBidPriceInvent().toString()); if(bidinvitT.getInvitNum()==null){ invoiceT.setInvitNum(""); }else{ invoiceT.setInvitNum(bidinvitT.getInvitNum().toString()); } if(bidinvitT.getProjectNo()==null){ invoiceT.setProjectNo(""); }else{ invoiceT.setProjectNo(bidinvitT.getProjectNo().toString()); } invoiceT.setProjectName(bidinvitT.getProjectName().toString()); invoiceT.setProjectId(bidinvitT.getProjectId().toString()); String sqlString ="select count(*) BID_INVIT_NUM from zbcg_corp_proces_t where INVIT_PROJECT_ID = '"+invoiceT.getInvitProjectId()+"'"; String sql = "select count(PARTI_INVIT_BID_STATE) PARTI_INVIT_BID_NUM from zbcg_corp_proces_t where INVIT_PROJECT_ID = '"+invoiceT.getInvitProjectId()+"' and PARTI_INVIT_BID_STATE='00'"; Map mapResult = (Map) (invoiceTDao.findBySql(sqlString, Map.class, new Object[] {})).get(0);//从投标单位流程表计算得出已发标投标邀请函数量 Map mapResult2 = (Map) (invoiceTDao.findBySql(sql, Map.class, new Object[] {})).get(0);//从投标单位流程表计算得出确认参与投标单位数量 if(mapResult.get("BID_INVIT_NUM")==null){ invoiceT.setInvitBidNo((long)0); } else{ invoiceT.setInvitBidNo(Long.valueOf(String.valueOf(mapResult.get("BID_INVIT_NUM"))).longValue());//已发投标邀请函数量 } if(mapResult2.get("PARTI_INVIT_BID_NUM")==null){ invoiceT.setInvitBidCorpNum((long)0); } else{ invoiceT.setInvitBidCorpNum(Long.valueOf(String.valueOf(mapResult2.get("PARTI_INVIT_BID_NUM"))).longValue());//确认参与投标单位数量 } invoiceT.setInvoiceFlag("01"); //是否发标,00:是;01:否 invoiceT.setOperateTime(new Date()); invoiceT.setOperator(UserUtils.getUser().getName()); invoiceT.setOperatorNo(UserUtils.getUser().getNo()); invoiceT.setInvoiceId(save(invoiceT).getInvoiceId().toString()); sql="update ZBCG_INVIT_PROCEDURE_T set invit_state='4010' where INVIT_PROJECT_ID= '"+invoiceT.getInvitProjectId()+"'"; invoiceTDao.updateBySql(sql, new Object[] {}); sql="update zbcg_corp_proces_t set invit_state= '4010' where INVIT_PROJECT_ID = '"+invoiceT.getInvitProjectId()+"' "; invoiceTDao.updateBySql(sql, new Object[] {}); }else if(invoiceTList.size() == 1){ String sqlString ="select count(*) BID_INVIT_NUM from zbcg_corp_proces_t where INVIT_PROJECT_ID = '"+invoiceTList.get(0).getInvitProjectId()+"'"; String sql = "select count(PARTI_INVIT_BID_STATE) PARTI_INVIT_BID_NUM from zbcg_corp_proces_t where INVIT_PROJECT_ID = '"+invoiceTList.get(0).getInvitProjectId()+"' and PARTI_INVIT_BID_STATE='00'"; Map mapResult = (Map) (invoiceTDao.findBySql(sqlString, Map.class, new Object[] {})).get(0);//从投标单位流程表计算得出已发标投标邀请函数量 Map mapResult2 = (Map) (invoiceTDao.findBySql(sql, Map.class, new Object[] {})).get(0);//从投标单位流程表计算得出确认参与投标单位数量 if(mapResult.get("BID_INVIT_NUM")==null){ invoiceTList.get(0).setInvitBidNo((long)0); } else{ invoiceTList.get(0).setInvitBidNo(Long.valueOf(String.valueOf(mapResult.get("BID_INVIT_NUM"))).longValue());//已发投标邀请函数量 } if(mapResult2.get("PARTI_INVIT_BID_NUM")==null){ invoiceTList.get(0).setInvitBidCorpNum((long)0); } else{ invoiceTList.get(0).setInvitBidCorpNum(Long.valueOf(String.valueOf(mapResult2.get("PARTI_INVIT_BID_NUM"))).longValue());//确认参与投标单位数量 } } } } } return "true"; }
相关文章推荐
- 【zTree】zTree根据后台数据生成树并动态设置前面的节点复选框的选中状态
- C# :创建SQL Server数据库、设置SQL Server数据库为只读状态、修改和压缩SQL Server数据库、新建(删除和修改)数据表、修改(新增和删除)数据列
- 01- - -1.获得项目中info.plist文件的内容 2.沙盒的数据存储及读取 3.控制器view的高度和状态栏statusBar的关系 4.[UIScreen mainScreen].applicationFrame的取值 5.按钮的状态 6.错误调试技巧 7.按钮的各种状态设置
- 中国体彩中心-北京第二数据中心数据同步复制项目招标公告
- 个人外包项目全记 - Best Partner (十八)数据同步3
- RxJava简单改造实例: BehaviorSubject简化数据和界面的同步流程
- 招标投标中各流程时间期限的规定
- jquery根据特定的值设置 input type=radio 单选框为选中状态
- 线上项目更新新包后解决新增数据产生的Bugs的思路
- 解决Xcode项目出现My mac 64-bit/设置允许用户外部资源同步到App/解决CodeSign error: Certificate identity ‘iPhone Distributio
- BOS项目练习(流程定义/实例管理,bos用户角色同步activiti用户表组表)
- primary库新增数据文件后,standby库无法创建文件并终止数据同步
- 项目中根据状态条件来显示删除按钮时遇到的问题
- 同步在无线网状态下操作的数据
- layui动态设置下拉框数据,根据后台数据设置选中
- jwfd工作流引擎设计-流程数据同步控制器的设计思路及其矛盾
- 使用vue根据状态添加列表数据和删除列表数据的实例
- JFlow&CCFlow流程引擎的业务数据与流程数据同步的操作步骤.
- highcharts在项目中的应用,根据年月日周季显示图形,形象的展示数据。
- 设置 MySql 数据同步