package cn.ksource.web.facade.wbx.lxwh; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import cn.ksource.beans.CI_REMIND_ITEM; import cn.ksource.core.dao.BaseDao; import cn.ksource.core.dao.SqlParameter; import cn.ksource.core.page.PageInfo; import cn.ksource.core.util.ConvertUtil; import cn.ksource.core.util.StringUtil; @Service("lxwhItemFacade") @SuppressWarnings("unchecked") public class LxwhItemFacadeImpl implements LxwhItemFacade { @Autowired private BaseDao baseDao; @Override public int lxwhxListCount(Map params) { String categoryId = params.get("pId"); SqlParameter param = new SqlParameter(); String sql = "SELECT COUNT(ID) FROM CI_REMIND_ITEM WHERE ITEM_TYPE = 1 "; if(StringUtil.notEmpty(categoryId)) { sql += " AND BUSINESS_ID = :categoryId "; param.put("categoryId", categoryId); } sql += " ORDER BY ORDER_NUM "; return baseDao.queryForInteger(sql,param); } @Override public PageInfo lxwhxListData(PageInfo pageInfo, Map params) { String categoryId = params.get("pId"); SqlParameter param = new SqlParameter(); String sql = "SELECT * FROM CI_REMIND_ITEM WHERE ITEM_TYPE = 1 "; if(StringUtil.notEmpty(categoryId)) { sql += " AND BUSINESS_ID = :categoryId "; param.put("categoryId", categoryId); } sql += " ORDER BY ORDER_NUM "; PageInfo info = baseDao.queryforSplitPageInfo(pageInfo, sql, param); return info; } @Override public CI_REMIND_ITEM getZntxItem(String id) { return new CI_REMIND_ITEM(id).getInstanceById(); } @Override public void saveItem(CI_REMIND_ITEM item) { String id = item.getId(); item.insertOrUpdate(); if(StringUtil.isEmpty(id)){ SqlParameter param = new SqlParameter(); param.addValue("item_id", item.getId()) .addValue("id", StringUtil.getUUID()) .addValue("customer_id","-1"); String sql = " insert into ci_remind_customer_item (id,customer_id,item_id,using_state) " + " values (:id,:customer_id,:item_id,1) "; baseDao.execute(sql, param); } } @Override public int updateItem(String id, int state) { int count = 0; SqlParameter param = new SqlParameter(); param.addValue("item_id", id) .addValue("state",state) .addValue("customer_id","-1"); if(ConvertUtil.obj2Integer(state)==2){ String countsql = "SELECT COUNT(A.ID) FROM CI_REMIND_CUSTOMER_ITEM_CYCLE A,CI_REMIND_CUSTOMER_ITEM B WHERE A.PROJECT_ITEM_ID = B.ID AND B.ITEM_ID = :item_id "; count = baseDao.queryForInteger(countsql,param); if(count == 0){ countsql = "SELECT COUNT(A.ID) FROM CI_REMIND_TIMERTASK A,CI_REMIND_CUSTOMER_ITEM B WHERE A.CUSTOMER_ITEM_ID = B.ID AND B.ITEM_ID = :item_id "; count = baseDao.queryForInteger(countsql,param); } if(count == 0){ countsql = "SELECT COUNT(A.ID) FROM CI_REMIND_CILIST A,CI_REMIND_CUSTOMER_ITEM B WHERE A.PROJECT_ITEM_ID = B.ID AND B.ITEM_ID = :item_id "; count = baseDao.queryForInteger(countsql,param); } if(count == 0){ CI_REMIND_ITEM remind = new CI_REMIND_ITEM(); remind.setId(id); remind.setState(state); remind.update(); String sql = "UPDATE CI_REMIND_CUSTOMER_ITEM SET USING_STATE = :state WHERE ITEM_ID = :item_id AND CUSTOMER_ID = :customer_id "; baseDao.execute(sql, param); } }else{ CI_REMIND_ITEM remind = new CI_REMIND_ITEM(); remind.setId(id); remind.setState(state); remind.update(); String sql = "UPDATE CI_REMIND_CUSTOMER_ITEM SET USING_STATE = :state WHERE ITEM_ID = :item_id AND CUSTOMER_ID = :customer_id "; baseDao.execute(sql, param); } return count ; } }