cy
2022-06-21 129904537f66509f97b285e7eb4f42b3dc349dd0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
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<String, String> 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<String, String> 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 ;
        
    }
 
}