根据项目同步招标项目投标邀请函数据到发标表中,并设置流程表中状态为发标新增

 @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";
	 }


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值