您的位置:首页 > 其它

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

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


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐