package cn.ksource.web.facade.wechat.uwyw; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import cn.ksource.core.dao.BaseDao; import cn.ksource.core.page.PageInfo; import cn.ksource.core.util.ConvertUtil; import cn.ksource.core.util.StringUtil; import cn.ksource.web.Constants; @Service("uzcFacade") public class UzcFacadeImpl implements UzcFacade { @Autowired private BaseDao baseDao; @Override public int umyZcCount(Map params) { String orderStatus = params.get("flowstate"); StringBuilder sql = new StringBuilder(); sql.append("SELECT COUNT(WB.ID) FROM WORKFLOW_BASE WB,SC_WORKFLOW_INCIDENT_LOCAL B "); if(orderStatus.equals("11")){ sql.append(", WORKFLOW_NODE C "); } sql.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND B.CUSTOMER_ID = :cusId "); if(orderStatus.equals("11")){ sql.append(" AND C.FLOWID = WB.ID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL "); } params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL)); if(StringUtil.notEmpty(orderStatus) && !orderStatus.equals("11")) { sql.append(" AND WB.WFSTATE = :orderStatus "); params.put("orderStatus", orderStatus); } return baseDao.queryForInteger(sql.toString(),params); } @Override public PageInfo umyZcData(PageInfo pageInfo, Map params) { String orderStatus = params.get("flowstate"); StringBuilder sql = new StringBuilder(); sql.append("SELECT WB.ID,WB.ORDER_CODE,WB.WFNAME,WB.BUSINESSTYPE,WB.CREATERNAME,WB.CREATETIME,WB.WFNOTE, "); sql.append("WB.CURRENT_NODE_ID,WB.CURRENT_NODE_NAME,WB.CUSTOMER_NAME,WB.CURRENT_DEALER_NAME,WB.BUSINESS_ID,WB.WFSTATE,B.ANSWER_TIMEOUT,B.DEAL_TIMEOUT "); sql.append("FROM WORKFLOW_BASE WB,SC_WORKFLOW_INCIDENT_LOCAL B "); if(orderStatus.equals("11")){ sql.append(", WORKFLOW_NODE C "); } sql.append(" WHERE WB.BUSINESS_ID = B.ID AND WB.BUSINESSTYPE = :businessType AND B.CUSTOMER_ID = :cusId"); if(orderStatus.equals("11")){ sql.append(" AND C.FLOWID = WB.ID AND C.FLOWSTATE = 1 AND C.CURRENT_DEALER_ID IS NOT NULL "); } params.put("businessType", ConvertUtil.obj2StrBlank(Constants.WORKFLOW_BASE_BUSINESS_TYPE_INCIDENT_LOCAL)); if(StringUtil.notEmpty(orderStatus) && !orderStatus.equals("11")) { sql.append(" AND WB.WFSTATE = :orderStatus "); params.put("orderStatus", orderStatus); } sql.append( " ORDER BY WB.CREATETIME DESC "); return baseDao.queryforSplitPageInfo(pageInfo,sql.toString(), params); } }