feiskyend 1 päivä sitten
commit
9d8bac1e11

+ 14 - 0
krock-web-back/src/main/java/com/ydw/yunbuyer/web/back/busi_project/project_plan/dao/ProjectPlanDao.java

@@ -0,0 +1,14 @@
1
+package com.ydw.yunbuyer.web.back.busi_project.project_plan.dao;
2
+
3
+import com.ydw.yunbuyer.web.back.busi_base.dao.BaseDao;
4
+import com.ydw.yunbuyer.web.back.busi_project.project_plan.entity.t_project_plan;
5
+
6
+/**
7
+ * 项目表 t_project_plan
8
+ * 
9
+ * @author hxj
10
+ *
11
+ */
12
+public interface ProjectPlanDao extends BaseDao<t_project_plan> {
13
+	
14
+}

+ 21 - 0
krock-web-back/src/main/java/com/ydw/yunbuyer/web/back/busi_project/project_plan/dao/impl/ProjectPlanDaoImpl.java

@@ -0,0 +1,21 @@
1
+/**
2
+ * 
3
+ */
4
+package com.ydw.yunbuyer.web.back.busi_project.project_plan.dao.impl;
5
+
6
+import com.ydw.yunbuyer.web.back.busi_project.project_plan.dao.ProjectPlanDao;
7
+import com.ydw.yunbuyer.web.back.busi_project.project_plan.entity.t_project_plan;
8
+import org.springframework.stereotype.Repository;
9
+
10
+import com.ydw.yunbuyer.web.back.busi_base.dao.BaseDaoImpl;
11
+import com.ydw.yunbuyer.web.back.busi_project.project_public.dao.ProjectPublicDao;
12
+import com.ydw.yunbuyer.web.back.busi_project.project_public.entity.t_project_public;
13
+
14
+/**
15
+ * @author hxj
16
+ *
17
+ */
18
+@Repository(value="ViewProjectPlanDao")
19
+public class ProjectPlanDaoImpl extends BaseDaoImpl<t_project_plan> implements ProjectPlanDao {
20
+
21
+}

+ 69 - 0
krock-web-back/src/main/java/com/ydw/yunbuyer/web/back/busi_project/project_plan/entity/t_project_plan.java

@@ -0,0 +1,69 @@
1
+package com.ydw.yunbuyer.web.back.busi_project.project_plan.entity;
2
+
3
+import org.tmsps.ne4spring.annotation.FieldType;
4
+import org.tmsps.ne4spring.annotation.NotMap;
5
+import org.tmsps.ne4spring.annotation.PK;
6
+import org.tmsps.ne4spring.annotation.Table;
7
+import org.tmsps.ne4spring.orm.model.DataModel;
8
+
9
+import lombok.Data;
10
+import lombok.EqualsAndHashCode;
11
+
12
+import java.math.BigDecimal;
13
+
14
+/**
15
+ * 项目表
16
+ */
17
+
18
+@Data
19
+@Table
20
+@EqualsAndHashCode(callSuper=false)
21
+public class t_project_plan extends DataModel {
22
+
23
+	@FieldType
24
+	private String org_id;// 招标单位id
25
+	private String org_name;// 招标单位名称
26
+	//private String administration_region_code; // 行政区代码 REGION_CODE
27
+	//private String administration_region_name; // 行政区对应名称
28
+	//private String industry_code; // 行业类型代码(项目行业分类) INDUSTRIES_TYPE
29
+	//private String industry_name; // 行业类型对应名称(项目行业分类)
30
+	private String invest_project_code;// 投资项目统一代码
31
+	private String project_name; // 招标项目名称
32
+	private String project_scale; // 建设内容及规模
33
+
34
+	private String project_address;// 建设地点
35
+
36
+	private BigDecimal contribution_scale;// 项目总投资
37
+	private String tender_content; // 招标内容
38
+	private String project_type; // 项目类型
39
+	private String tender_mode; // 招标方式 1:公开招标 2:邀请招标
40
+
41
+	private String legal_person ; // 招标人名称
42
+	private String publish_type; // 发布类型
43
+	private String publish_org; // 发布单位
44
+	private String supervise_dept_name; // 行政监督部门
45
+	private String notice_plan_send_time; // 招标公告(资格预审公告)预计发布时间(yyyyMM)
46
+	private String project_reg_cert; //立项批复文件或备案证
47
+	private String agency_contract; // 委托代理合同
48
+
49
+	private String can_edit;// 是否可编辑
50
+	private String is_push = "未推送";// 是否已推送
51
+
52
+	private String approve_status = "未提交"; //项目受理状态   未提交、 已提交、受理中、已受理、驳回
53
+
54
+
55
+
56
+	// ========== 系统字段 ========================
57
+
58
+	@FieldType
59
+	private String create_user_id; // 当前登录用户(创建人)
60
+
61
+	@PK
62
+	@FieldType
63
+	private String kid;
64
+	private int status;
65
+	private long created = System.currentTimeMillis();
66
+
67
+	@NotMap
68
+	private static final long serialVersionUID = 1L;
69
+}

+ 15 - 0
krock-web-back/src/main/java/com/ydw/yunbuyer/web/back/busi_project/project_plan/service/ProjectPlanService.java

@@ -0,0 +1,15 @@
1
+package com.ydw.yunbuyer.web.back.busi_project.project_plan.service;
2
+
3
+import com.ydw.yunbuyer.web.back.busi_base.service.BaseService;
4
+import com.ydw.yunbuyer.web.back.busi_project.project_plan.entity.t_project_plan;
5
+import com.ydw.yunbuyer.web.back.busi_project.project_public.entity.t_project_public;
6
+
7
+/**
8
+ * 项目表 t_project_public
9
+ * 
10
+ * @author hxj
11
+ *
12
+ */
13
+public interface ProjectPlanService extends BaseService<t_project_plan> {
14
+
15
+}

+ 124 - 0
krock-web-back/src/main/java/com/ydw/yunbuyer/web/back/business/pre_bid/dao/ProjectPlanDao.java

@@ -0,0 +1,124 @@
1
+package com.ydw.yunbuyer.web.back.business.pre_bid.dao;
2
+
3
+import com.ydw.yunbuyer.web.back.busi_project.project_plan.entity.t_project_plan;
4
+import com.ydw.yunbuyer.web.back.business.base.dao.BaseDao;
5
+import org.tmsps.ne4spring.page.PagePackage;
6
+
7
+import java.util.List;
8
+import java.util.Map;
9
+
10
+/**
11
+ * 项目表 t_project_plan
12
+ * 
13
+ * @author hxj
14
+ *
15
+ */
16
+public interface ProjectPlanDao extends BaseDao<t_project_plan> {
17
+
18
+	/**
19
+	 * TODO 统计数量
20
+	 * @return
21
+	 */
22
+	public int select_count();
23
+
24
+	/**
25
+	 * TODO 查找该机构非法大项
26
+	 * 
27
+	 * @param org_id
28
+	 * @return
29
+	 */
30
+	//public t_project_plan model_not_law(String org_id);
31
+
32
+	/**
33
+	 * TODO 统计大项数量
34
+	 * 
35
+	 * @param date 年份
36
+	 * @return
37
+	 */
38
+	public Map<String, Object> select_tj_count(int date);
39
+
40
+	/**
41
+	 * TODO 代理机构的大项列表
42
+	 * 
43
+	 * @param org_id             机构id
44
+	 * @param project_large_name 大项名称
45
+	 * @param according_law      是否依法
46
+	 * @param PagePackage
47
+	 * @return
48
+	 */
49
+	public PagePackage select_plan_list(String project_name,  String org_id,
50
+			PagePackage pagePackage);
51
+
52
+	/**
53
+	 * TODO 个人(创建人)代理机构的大项列表
54
+	 * 
55
+	 * @param user_id
56
+	 * @param project_large_name
57
+	 * @param according_law
58
+	 * @param PagePackage
59
+	 * @return
60
+	 */
61
+	public PagePackage select_personal_agent_list(String project_large_name, String according_law, String user_id,
62
+			PagePackage pagePackage);
63
+
64
+	/**
65
+	 * TODO 招标方的大项列表
66
+	 * 
67
+	 * @param org_id             机构id
68
+	 * @param project_large_name 大项名称
69
+	 * @param according_law      是否依法
70
+	 * @param PagePackage
71
+	 * @return
72
+	 */
73
+	public PagePackage select_tender_list(String project_large_name, String according_law, String org_id,
74
+			PagePackage pagePackage);
75
+
76
+	/**
77
+	 * TODO 部门的大项列表
78
+	 * 
79
+	 * @param user_id
80
+	 * @param role_id
81
+	 * @param project_large_name
82
+	 * @param according_law
83
+	 * @param PagePackage
84
+	 * @return
85
+	 */
86
+	public PagePackage select_depart_tender_list(String project_large_name, String according_law, String role_id,
87
+			String user_id, PagePackage pagePackage);
88
+
89
+	/**
90
+	 * TODO 代理机构代理的大项列表 招标人关联的项目
91
+	 * 
92
+	 * @param org_id             代理机构的id
93
+	 * @param project_large_name 大项名称
94
+	 * @param PagePackage
95
+	 * @return
96
+	 */
97
+	public PagePackage select_list_agent_org(String org_id, String project_large_name, PagePackage pagePackage);
98
+
99
+	/**
100
+	 * TODO 查询所有大项(带检索条件)
101
+	 * 
102
+	 * @param pagePackage
103
+	 * @return
104
+	 */
105
+	public PagePackage select_project_plan_list(String project_large_name, String start_time, String end_time,
106
+			PagePackage pagePackage);
107
+
108
+	/**
109
+	 * TODO 监督部门id查询项目信息
110
+	 * 
111
+	 * @return
112
+	 */
113
+	public PagePackage selectProjectPublicListBySuperviseDepAdminId(PagePackage pagepackage,
114
+			String supervise_dep_admin_id);
115
+
116
+	/**
117
+	 * TODO 招标人关联的项目列表
118
+	 * @param org_id
119
+	 * @return
120
+	 */
121
+	public List<Map<String, Object>> selectListByOrgId(String org_id);
122
+
123
+	
124
+}

+ 168 - 0
krock-web-back/src/main/java/com/ydw/yunbuyer/web/back/business/pre_bid/dao/impl/ProjectPlanDaoImpl.java

@@ -0,0 +1,168 @@
1
+/**
2
+ * 
3
+ */
4
+package com.ydw.yunbuyer.web.back.business.pre_bid.dao.impl;
5
+
6
+import com.ydw.yunbuyer.common.utils.ChkTools;
7
+import com.ydw.yunbuyer.common.utils.TjTools;
8
+import com.ydw.yunbuyer.common.utils.date.DateTools;
9
+import com.ydw.yunbuyer.web.back.busi_project.project_plan.entity.t_project_plan;
10
+import com.ydw.yunbuyer.web.back.business.base.dao.BaseDaoImpl;
11
+import com.ydw.yunbuyer.web.back.business.pre_bid.dao.ProjectPlanDao;
12
+import org.springframework.stereotype.Repository;
13
+import org.tmsps.ne4spring.orm.param.NeParamList;
14
+import org.tmsps.ne4spring.page.PagePackage;
15
+
16
+import java.util.List;
17
+import java.util.Map;
18
+
19
+/**
20
+ * @author hxj
21
+ *
22
+ */
23
+@Repository
24
+public class ProjectPlanDaoImpl extends BaseDaoImpl<t_project_plan> implements ProjectPlanDao {
25
+
26
+	@Override
27
+	public int select_count() {
28
+		String sql = "select count(*) num from t_project_plan t where  t.status=0 ";
29
+		Map<String, Object> map = bs.findObj(sql);
30
+		if (ChkTools.isNotNull(map)) {
31
+			return Integer.parseInt(map.get("num").toString());
32
+		}
33
+		return 0;
34
+	}
35
+	
36
+/*	@Override
37
+	public t_project_plan model_not_law(String org_id) {
38
+		String sql = "select * from t_project_plan t where t.status=0 and t.org_id=? and t.is_law_bidding='否' ";
39
+		return bs.findObj(t_project_plan.class, sql, org_id);
40
+	}*/
41
+
42
+	@Override
43
+	public Map<String, Object> select_tj_count(int date) {
44
+		String sql = "select from_unixtime((t.created/1000),'%Y-%c') as times,t.kid "//
45
+				+ " from t_project_plan t "//
46
+				+ " where t.created>=? and t.created<? and t.status=0";//
47
+		List<Map<String, Object>> list = bs.findList(sql,
48
+				new Object[] { DateTools.getYearToLong(date), DateTools.getYearToLong(date + 1) });
49
+		Map<String, Integer> result = TjTools.groupBy(list, "times");
50
+		Map<String, Object> map = TjTools.addTimes(result);
51
+		return map;
52
+	}
53
+
54
+	@Override
55
+	public PagePackage select_plan_list(String project_name,  String org_id,
56
+			PagePackage pagePackage) {
57
+		String sql = "select t.* from t_project_plan t "
58
+				+ " where t.status=0 and (t.project_name like ?) "
59
+				+ " order by t.created desc";
60
+		NeParamList params = NeParamList.makeParams();
61
+		params.addLike(project_name);
62
+	//	params.add(according_law);
63
+		params.add(org_id);
64
+		List<Map<String, Object>> list = bs.findList(sql, params, pagePackage.getSort_param(), pagePackage.getPage());
65
+		pagePackage.setData(list);
66
+		return pagePackage;
67
+	}
68
+
69
+	@Override
70
+	public PagePackage select_personal_agent_list(String project_large_name, String according_law, String user_id,
71
+			PagePackage pagePackage) {
72
+		String sql = "select t.* from t_project_plan t "
73
+				+ " left join t_user tu on t.create_user_id=tu.kid and tu.status=0 "
74
+				+ " where t.status=0 and (t.project_large_name like ?) and (t.according_law=?) "
75
+				+ " and (t.create_user_id=?) order by t.created desc";
76
+		NeParamList params = NeParamList.makeParams();
77
+		params.addLike(project_large_name);
78
+		params.add(according_law);
79
+		params.add(user_id);
80
+		List<Map<String, Object>> list = bs.findList(sql, params, pagePackage.getSort_param(), pagePackage.getPage());
81
+		pagePackage.setData(list);
82
+		return pagePackage;
83
+	}
84
+
85
+	@Override
86
+	public PagePackage select_tender_list(String project_large_name, String according_law, String org_id,
87
+			PagePackage pagePackage) {
88
+		String sql = "select t.* from t_project_plan t where t.status=0 "
89
+				+ " and (t.project_large_name like ?) and (t.according_law=?) and (t.org_id=?) order by t.created desc";
90
+		NeParamList params = NeParamList.makeParams();
91
+		params.addLike(project_large_name);
92
+		params.add(according_law);
93
+		params.add(org_id);
94
+		List<Map<String, Object>> list = bs.findList(sql, params, pagePackage.getSort_param(), pagePackage.getPage());
95
+		pagePackage.setData(list);
96
+		return pagePackage;
97
+	}
98
+
99
+	@Override
100
+	public PagePackage select_depart_tender_list(String project_large_name, String according_law, String role_id,
101
+			String user_id, PagePackage pagePackage) {
102
+		String sql = "select t.* from t_project_plan t "
103
+				+ " left join t_project t1 on t1.project_large_id=t.kid and t1.status=0 "
104
+				+ " left join t_user tu on t.create_user_id=tu.kid and tu.status=0 "
105
+				+ " where t.status=0 and (t.project_large_name like ?) and (t.according_law=?) "
106
+				+ " and ((tu.role_id is not null and tu.role_id=?) or (tu.role_id is null and tu.kid=?) or (t1.depart_role=?)) order by t.created desc";
107
+		NeParamList params = NeParamList.makeParams();
108
+		params.addLike(project_large_name);
109
+		params.add(according_law);
110
+		params.add(role_id);
111
+		params.add(user_id);
112
+		params.add(role_id);
113
+		List<Map<String, Object>> list = bs.findList(sql, params, pagePackage.getSort_param(), pagePackage.getPage());
114
+		pagePackage.setData(list);
115
+		return pagePackage;
116
+	}
117
+
118
+	@Override
119
+	public PagePackage select_list_agent_org(String org_id, String project_large_name, PagePackage pagePackage) {
120
+		String sql = "select t.* from t_project_plan t "
121
+				+ " left join t_project_contract_agent t1 on t1.project_plan_id = t.kid and t1.status=0 "
122
+				+ " where t.status=0 and (t1.org_id_agent=?) and (t.project_large_name like ?) and t.can_edit='否' order by t.created desc";
123
+		NeParamList params = NeParamList.makeParams();
124
+		params.add(org_id);
125
+		params.addLike(project_large_name);
126
+		List<Map<String, Object>> list = bs.findList(sql, params, pagePackage.getSort_param(), pagePackage.getPage());
127
+		pagePackage.setData(list);
128
+		return pagePackage;
129
+	}
130
+
131
+	@Override
132
+	public PagePackage select_project_plan_list(String project_large_name, String start_time, String end_time,
133
+			PagePackage pagePackage) {
134
+		String sql = " SELECT t.* FROM t_project_plan t "//
135
+				+ " WHERE t.status=0 AND (t.project_large_name like?) AND "//
136
+				+ " (t.created>?) AND (t.created<?) ORDER BY t.created DESC ";//
137
+		NeParamList params = NeParamList.makeParams();
138
+		params.addLike(project_large_name);
139
+		params.add(DateTools.strToLong(start_time));
140
+		params.add(DateTools.strToLong(end_time));
141
+		List<Map<String, Object>> list = bs.findList(sql, params, pagePackage.getSort_param(), pagePackage.getPage());
142
+		pagePackage.setData(list);
143
+		return pagePackage;
144
+	}
145
+
146
+	@Override
147
+	public PagePackage selectProjectPublicListBySuperviseDepAdminId(PagePackage pagepackage,
148
+			String supervise_dep_admin_id) {
149
+		String sql = "SELECT * FROM t_project_plan t "//
150
+				+ " WHERE t.status=0 AND FIND_IN_SET(?,t.supervise_dep_admin_id)>0 AND (t.project_large_name like?) ORDER BY t.created DESC ";//
151
+		NeParamList param = NeParamList.makeParams();
152
+		param.add(supervise_dep_admin_id);
153
+		param.addLike(pagepackage.getSrh().getString("projectLargeName"));
154
+		List<Map<String, Object>> list = bs.findList(sql, param, pagepackage.getSort_param(), pagepackage.getPage());
155
+		pagepackage.setData(list);
156
+		return pagepackage;
157
+	}
158
+
159
+	@Override
160
+	public List<Map<String, Object>> selectListByOrgId(String org_id) {
161
+		String sql = "select t.* from t_project_plan t "
162
+				+ " left join t_project_contract_agent t1 on t1.project_plan_id = t.kid and t1.status=0 "
163
+				+ " where t.status=0 and (t1.org_id_agent=?) and t.can_edit='否' order by t.created desc";
164
+		return bs.findList(sql, new Object[] {org_id});
165
+	}
166
+
167
+
168
+}

+ 142 - 0
krock-web-back/src/main/java/com/ydw/yunbuyer/web/back/business/pre_bid/service/IProjectPlanService.java

@@ -0,0 +1,142 @@
1
+package com.ydw.yunbuyer.web.back.business.pre_bid.service;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.ydw.yunbuyer.web.back.busi_project.project.entity.t_project;
5
+import com.ydw.yunbuyer.web.back.busi_project.project_plan.entity.t_project_plan;
6
+import com.ydw.yunbuyer.web.back.busi_project.project_public.entity.t_project_public;
7
+import com.ydw.yunbuyer.web.back.business.base.service.IBaseService;
8
+import org.tmsps.ne4spring.page.PagePackage;
9
+
10
+import java.util.List;
11
+import java.util.Map;
12
+
13
+/**
14
+ * 项目表 t_project_public
15
+ * 
16
+ * @author hxj
17
+ *
18
+ */
19
+public interface IProjectPlanService extends IBaseService<t_project_plan> {
20
+
21
+	/**
22
+	 * TODO 导出项目基本信息
23
+	 * @param template_dir_path
24
+	 * @param export_dir_path
25
+	 * @param project
26
+	 */
27
+	void archive_project_info(String template_dir_path, String export_dir_path, t_project project);
28
+
29
+	/**
30
+	 * TODO
31
+	 * @param date
32
+	 * @return
33
+	 */
34
+	Map<String, Object> select_tj_count(int date);
35
+
36
+	/**
37
+	 * TODO
38
+	 * @param project_large_name
39
+	 * @param according_law
40
+	 * @param org_id
41
+	 * @param pagePackage
42
+	 * @return
43
+	 */
44
+	PagePackage select_plan_list(String project_large_name,  String org_id, PagePackage pagePackage);
45
+
46
+	/**
47
+	 * TODO
48
+	 * @param project_large_name
49
+	 * @param according_law
50
+	 * @param user_id
51
+	 * @param pagePackage
52
+	 * @return
53
+	 */
54
+	PagePackage select_personal_agent_list(String project_large_name, String according_law, String user_id, PagePackage pagePackage);
55
+
56
+	/**
57
+	 * TODO
58
+	 * @param project_plan
59
+	 * @param save_type
60
+	 */
61
+	JSONObject savePlan(t_project_plan project_plan, String save_type);
62
+
63
+	/**
64
+	 * TODO
65
+	 * @param project_large_name
66
+	 * @param according_law
67
+	 * @param org_id
68
+	 * @param pagePackage
69
+	 * @return
70
+	 */
71
+	PagePackage select_tender_list(String project_large_name, String according_law, String org_id, PagePackage pagePackage);
72
+
73
+	/**
74
+	 * TODO
75
+	 * @param project_large_name
76
+	 * @param according_law
77
+	 * @param user_id
78
+	 * @param role_id
79
+	 * @param pagePackage
80
+	 * @return
81
+	 */
82
+	PagePackage select_depart_tender_list(String project_large_name, String according_law, String user_id, String role_id,
83
+			PagePackage pagePackage);
84
+
85
+	/**
86
+	 * TODO
87
+	 * @param project_public
88
+	 * @param save_type
89
+	 */
90
+	boolean saveTenderPublic(t_project_public project_public, String save_type);
91
+
92
+	/**
93
+	 * TODO
94
+	 * @param org_id
95
+	 * @param project_large_name
96
+	 * @param pagePackage
97
+	 * @return
98
+	 */
99
+	PagePackage select_list_agent_org(String org_id, String project_large_name, PagePackage pagePackage);
100
+
101
+	/**
102
+	 * TODO
103
+	 * @param project_large_name
104
+	 * @param start_time
105
+	 * @param end_time
106
+	 * @param pagePackage
107
+	 * @return
108
+	 */
109
+	PagePackage selecProjectPlanList(String project_large_name, String start_time, String end_time, PagePackage pagePackage);
110
+
111
+	/**
112
+	 * TODO
113
+	 * @param pagePackage
114
+	 * @param user_id
115
+	 * @return
116
+	 */
117
+	PagePackage selectProjectPlanListBySuperviseDepAdminId(PagePackage pagePackage, String user_id);
118
+
119
+	/**
120
+	 * TODO
121
+	 * @param org_id
122
+	 * @return
123
+	 */
124
+	List<Map<String, Object>> selectListByOrgId(String org_id);
125
+	
126
+	/**
127
+	 * 	报送
128
+	 * @param project_public_id
129
+	 */
130
+	void approveSubmit(String project_public_id);
131
+	
132
+	
133
+	/**
134
+	 *  	受理状态
135
+	 * @param project_public_id
136
+	 * @return
137
+	 */
138
+	t_project_plan approveStatus(String project_public_id);
139
+	
140
+	
141
+
142
+}

+ 466 - 0
krock-web-back/src/main/java/com/ydw/yunbuyer/web/back/business/pre_bid/service/impl/ProjectPlanServiceImpl.java

@@ -0,0 +1,466 @@
1
+/**
2
+ * 
3
+ */
4
+package com.ydw.yunbuyer.web.back.business.pre_bid.service.impl;
5
+
6
+import com.alibaba.fastjson.JSONObject;
7
+import com.google.common.base.Objects;
8
+import com.google.common.collect.ImmutableMap;
9
+import com.google.common.collect.Lists;
10
+import com.ydw.yunbuyer.api.system.api.FileApi;
11
+import com.ydw.yunbuyer.api.system.api.ItemIndustryTypeApi;
12
+import com.ydw.yunbuyer.api.system.api.wk_flow.TenderNodeApi;
13
+import com.ydw.yunbuyer.api.system.api.wk_flow.WKTenderApi;
14
+import com.ydw.yunbuyer.api.system.entity.DataItemIndustryType;
15
+import com.ydw.yunbuyer.api.system.entity.FkFile;
16
+import com.ydw.yunbuyer.api.system.entity.WkTender;
17
+import com.ydw.yunbuyer.api.system.entity.WkTenderNode;
18
+import com.ydw.yunbuyer.api.ztb.pubservices.api.sx.UnifiedAcceptanceApi;
19
+import com.ydw.yunbuyer.api.ztb.pubservices.entity.sx.dto.accept.*;
20
+import com.ydw.yunbuyer.common.utils.wrapper.Wrapper;
21
+import com.ydw.yunbuyer.web.back.busi_area.entity.po.t_area_book;
22
+import com.ydw.yunbuyer.web.back.busi_area.service.AreaBookService;
23
+import com.ydw.yunbuyer.web.back.busi_base.businessassert.BusinessAssert;
24
+import com.ydw.yunbuyer.web.back.busi_base.enums.ErrorCodeEnum;
25
+import com.ydw.yunbuyer.web.back.busi_bid.item_submit.entity.t_tender_item_submit;
26
+import com.ydw.yunbuyer.web.back.busi_bid.item_user.entity.t_tender_item_user;
27
+import com.ydw.yunbuyer.web.back.busi_company.org.entity.t_org;
28
+import com.ydw.yunbuyer.web.back.busi_company.user.entity.t_user;
29
+import com.ydw.yunbuyer.web.back.busi_finance.org_money.entity.t_org_money;
30
+import com.ydw.yunbuyer.web.back.busi_finance.pay_no.entity.t_pay_no;
31
+import com.ydw.yunbuyer.web.back.busi_finance.pay_no_item.entity.t_pay_no_item;
32
+import com.ydw.yunbuyer.web.back.busi_item.project_item.entity.t_project_item;
33
+import com.ydw.yunbuyer.web.back.busi_item.tender_item.entity.t_tender_item;
34
+import com.ydw.yunbuyer.web.back.busi_notice.notice.entity.t_tender_notice;
35
+import com.ydw.yunbuyer.web.back.busi_notice.tender.entity.t_tender;
36
+import com.ydw.yunbuyer.web.back.busi_project.contract.entity.t_project_contract_agent;
37
+import com.ydw.yunbuyer.web.back.busi_project.project.entity.t_project;
38
+import com.ydw.yunbuyer.web.back.busi_project.project_plan.entity.t_project_plan;
39
+import com.ydw.yunbuyer.web.back.busi_project.project_plan.entity.t_project_plan;
40
+import com.ydw.yunbuyer.web.back.busi_project.project_public.entity.t_project_public;
41
+import com.ydw.yunbuyer.web.back.busi_task.contract.entity.t_tender_contract;
42
+import com.ydw.yunbuyer.web.back.busi_tender_file.file.entity.t_tender_file;
43
+import com.ydw.yunbuyer.web.back.business.base.config.PubservicesConfig;
44
+import com.ydw.yunbuyer.web.back.business.base.service.BaseServiceImpl;
45
+import com.ydw.yunbuyer.web.back.business.pay_system.dao.OrgMoneyDao;
46
+import com.ydw.yunbuyer.web.back.business.pay_system.dao.PayNoDao;
47
+import com.ydw.yunbuyer.web.back.business.pay_system.dao.PayNoItemDao;
48
+import com.ydw.yunbuyer.web.back.business.pre_bid.dao.*;
49
+import com.ydw.yunbuyer.web.back.business.pre_bid.service.IProjectContractAgentService;
50
+import com.ydw.yunbuyer.web.back.business.pre_bid.service.IProjectItemService;
51
+import com.ydw.yunbuyer.web.back.business.pre_bid.service.IProjectPlanService;
52
+import com.ydw.yunbuyer.web.back.business.pre_bid.service.IProjectService;
53
+import com.ydw.yunbuyer.web.back.business.result_bid.dao.TenderCandidatesDao;
54
+import com.ydw.yunbuyer.web.back.business.result_bid.dao.TenderContractDao;
55
+import com.ydw.yunbuyer.web.back.business.system.dao.OrgDao;
56
+import com.ydw.yunbuyer.web.back.business.system.dao.UserDao;
57
+import com.ydw.yunbuyer.web.back.business.system.service.IOrgService;
58
+import com.ydw.yunbuyer.web.back.business.system.service.IUserService;
59
+import com.ydw.yunbuyer.web.back.business.tender_bid.dao.TenderFileDao;
60
+import com.ydw.yunbuyer.web.back.business.tender_bid.dao.TenderItemSubmitDao;
61
+import com.ydw.yunbuyer.web.back.business.tender_bid.dao.TenderItemUserDao;
62
+import com.ydw.yunbuyer.web.back.exception.BusinessException;
63
+import com.ydw.yunbuyer.web.back.util.ChkTools;
64
+import com.ydw.yunbuyer.web.back.util.DateTools;
65
+import com.ydw.yunbuyer.web.back.util.StringAlignTools;
66
+import com.ydw.yunbuyer.web.back.util.archive.ArchiveTools;
67
+import com.ydw.yunbuyer.web.back.util.json.JsonTools;
68
+import com.ydw.yunbuyer.web.back.web.SessionTools;
69
+import com.ydw.yunbuyer.web.back.web.WebTools;
70
+import org.springframework.beans.factory.annotation.Autowired;
71
+import org.springframework.stereotype.Service;
72
+import org.springframework.transaction.annotation.Transactional;
73
+import org.tmsps.ne4spring.page.PagePackage;
74
+import org.tmsps.ne4spring.utils.GenerateLongUtil;
75
+
76
+import javax.servlet.http.HttpServletRequest;
77
+import java.io.File;
78
+import java.math.BigDecimal;
79
+import java.util.*;
80
+
81
+/**
82
+ * 标段表 t_project_item
83
+ * 
84
+ * @author hxj
85
+ *
86
+ */
87
+@Service
88
+public class ProjectPlanServiceImpl extends BaseServiceImpl<t_project_plan> implements IProjectPlanService {
89
+
90
+	@Autowired
91
+	private OrgDao orgDao;
92
+	@Autowired
93
+	private ProjectPlanDao projectPlanDao;
94
+	@Autowired
95
+	private ProjectContractAgentDao projectContractAgentDao;
96
+	@Autowired
97
+	private IProjectItemService iProjectItemService;
98
+	@Autowired
99
+	private UnifiedAcceptanceApi unifiedAcceptanceApi;
100
+	@Autowired
101
+	private IProjectService iProjectService;
102
+	@Autowired
103
+	private PubservicesConfig pubservicesConfig;
104
+	@Autowired
105
+	private IOrgService iOrgService;
106
+	@Autowired
107
+	private FileApi fileApi;
108
+	@Autowired
109
+	private IProjectContractAgentService iProjectContractAgentService;
110
+	@Autowired
111
+	private IUserService iUserService;
112
+
113
+	/**
114
+	 * TODO 导出项目基本信息
115
+	 * @param template_dir_path
116
+	 * @param export_dir_path
117
+	 * @param project
118
+	 */
119
+	@Override
120
+	public void archive_project_info(String template_dir_path, String export_dir_path, t_project project) {
121
+		/*String template_file_path = template_dir_path + File.separator + "project.doc";
122
+		String export_file_path = export_dir_path + File.separator + project.getProject_name().replace("/", "")
123
+				+ ".doc";
124
+		Map<String, Object> map = JsonTools.objToMap(project);
125
+		if (ChkTools.isNull(project.getDuty_person())) {
126
+			map.put("duty_person", "-");
127
+		}
128
+		map.put("currency_code", "人民币元");
129
+		t_org org = orgDao.get(project.getOrg_id());
130
+		map.put("org_name", org.getName());
131
+		t_project_plan project_plan = projectPlanDao.get(project.getProject_large_id());
132
+		map.put("project_plan_name", project_plan.getProject_large_name());
133
+		map.put("price_unit", "万元");
134
+		map.put("tender_project_classify_code", getProjectClassifyCode(project.getTender_project_classify_code()));
135
+		ArchiveTools.archiveBasicDatas(map, template_file_path, export_file_path);*/
136
+	}
137
+
138
+	private String getProjectClassifyCode(String tender_project_classify_code) {
139
+		switch (tender_project_classify_code) {
140
+			case "A01":
141
+				return "房屋建筑";
142
+			case "A02":
143
+				return "市政";
144
+			case "A03":
145
+				return "公路";
146
+			case "A04":
147
+				return "铁路";
148
+			case "A05":
149
+				return "民航";
150
+			case "A06":
151
+				return "水运";
152
+			case "A07":
153
+				return "水利";
154
+			case "A08":
155
+				return "能源";
156
+			case "A09":
157
+				return "邮电通信";
158
+			default:
159
+				return "其他";
160
+		}
161
+	}
162
+
163
+	@Override
164
+	public Map<String, Object> select_tj_count(int date) {
165
+		return projectPlanDao.select_tj_count(date);
166
+	}
167
+
168
+	@Override
169
+	public PagePackage select_plan_list(String project_large_name, String org_id, PagePackage pagePackage) {
170
+		return projectPlanDao.select_plan_list(project_large_name, org_id, pagePackage);
171
+	}
172
+
173
+
174
+	@Override
175
+	public PagePackage select_personal_agent_list(String project_large_name, String according_law, String user_id,
176
+												  PagePackage pagePackage) {
177
+		return projectPlanDao.select_personal_agent_list(project_large_name, according_law, user_id, pagePackage);
178
+	}
179
+
180
+	@Override
181
+	public JSONObject savePlan(t_project_plan project_plan, String save_type) {
182
+		JSONObject result = new JSONObject();
183
+//		if ("否".equals(public_plan.getIs_law_bidding())
184
+//				&& projectPlanDao.model_not_law(public_plan.getOrg_id()) != null) {
185
+//			result.put("msg", "添加失败!该机构已存在非依法项目!");
186
+//			result.put("tip", false);
187
+//			return result;
188
+//		}
189
+
190
+		// 保存项目招标计划
191
+		String plan_id = GenerateLongUtil.getInstance().nextId() + "";
192
+		t_user user = SessionTools.getCurrentUser();
193
+		project_plan.setKid(plan_id);
194
+
195
+		if ("submit".equals(save_type)) {
196
+			project_plan.setCan_edit("否");
197
+		} else {
198
+			project_plan.setCan_edit("是");
199
+		}
200
+		project_plan.setCreate_user_id(user.getKid());
201
+		//project_plan.setProject_legal_person(public_plan.getOrg_name());
202
+
203
+//		String ss = project_plan.getAdministration_region_code();
204
+//		String industry_code = project_plan.getIndustry_code();
205
+//		String regioncode = "14".equals(ss.substring(0, 2)) ? ss : (ss.substring(0, 2) + "0000");
206
+//		String invest_project_code = DateTools.getYear() + regioncode + industry_code + industry_code.substring(0, 3);
207
+
208
+		int num = projectPlanDao.select_count();
209
+
210
+		String code = StringAlignTools.format(String.valueOf(num), 6);
211
+		String codeHex = StringAlignTools.formatAZ(code, 6);
212
+		//project_plan.setProject_large_code("E1401000186" + codeHex);
213
+	//	project_plan.setInvest_project_code(invest_project_code + code);
214
+		project_plan = projectPlanDao.add(project_plan);
215
+
216
+		// 保存代理合同
217
+//		t_project_contract_agent agent_contract = new t_project_contract_agent();
218
+//		agent_contract.setType("项目");
219
+//		agent_contract.setName(public_plan.getProject_large_name() + "委托代理合同");
220
+//		agent_contract.setproject_plan_id(public_id);
221
+//		agent_contract.setCreated_time(System.currentTimeMillis());
222
+//		agent_contract.setOrg_id(public_plan.getOrg_id());
223
+//		agent_contract.setOrg_id_agent(user.getOrg_id());
224
+//		agent_contract.setCreate_user_id(user.getKid());
225
+//		agent_contract.setIs_expires("未过期");
226
+//		agent_contract.setIs_sign("未签章");
227
+//		agent_contract.setOrg_status("草稿");
228
+//		agent_contract.setObject_id(GenerateLongUtil.getInstance().nextId() + "");
229
+//		projectContractAgentDao.add(agent_contract);
230
+		result.put("msg", "添加成功");
231
+		result.put("tip", true);
232
+		return result;
233
+	}
234
+
235
+	@Override
236
+	public PagePackage select_tender_list(String project_large_name, String according_law, String org_id,
237
+										  PagePackage pagePackage) {
238
+		return projectPlanDao.select_tender_list(project_large_name, according_law, org_id, pagePackage);
239
+	}
240
+
241
+	@Override
242
+	public PagePackage select_depart_tender_list(String project_large_name, String according_law, String user_id,
243
+												 String role_id, PagePackage pagePackage) {
244
+		return projectPlanDao.select_depart_tender_list(project_large_name, according_law, role_id, user_id,
245
+				pagePackage);
246
+	}
247
+
248
+	@Override
249
+	public boolean saveTenderPublic(t_project_public project_public, String save_type) {
250
+		return false;
251
+	}
252
+
253
+	/*@Override
254
+	public boolean saveTenderPublic(t_project_plan project_plan, String save_type) {
255
+		t_user admin = SessionTools.getCurrentUser();
256
+		String ss = project_plan.getAdministration_region_code();
257
+		String regioncode = "14".equals(ss.substring(0, 2)) ? ss : (ss.substring(0, 2) + "0000");
258
+		String invest_project_code = DateTools.getYear() + regioncode + project_plan.getIndustry_code()
259
+				+ project_plan.getIndustry_code().substring(0, 3);
260
+		project_plan.setCreate_user_id(admin.getKid());
261
+
262
+		if ("submit".equals(save_type)) {
263
+			project_plan.setCan_edit("否");
264
+		} else {
265
+			project_plan.setCan_edit("是");
266
+		}
267
+
268
+		int num = projectPlanDao.select_count() + 5;// +5 避免编码重复
269
+		String code = StringAlignTools.format(String.valueOf(num), 6);
270
+		String codeHex = StringAlignTools.formatAZ(code, 6);
271
+		project_plan.setProject_large_code("E1401000186" + codeHex);
272
+		project_plan.setInvest_project_code(invest_project_code + code);
273
+		project_plan.setProject_legal_person(project_plan.getOrg_name());
274
+		projectPlanDao.add(project_plan);
275
+		return true;
276
+	}*/
277
+
278
+	@Override
279
+	public PagePackage select_list_agent_org(String org_id, String project_large_name, PagePackage pagePackage) {
280
+		return projectPlanDao.select_list_agent_org(org_id, project_large_name, pagePackage);
281
+	}
282
+
283
+	@Override
284
+	public PagePackage selecProjectPlanList(String project_large_name, String start_time, String end_time, PagePackage pagePackage) {
285
+		return null;
286
+	}
287
+
288
+	@Override
289
+	public PagePackage selectProjectPlanListBySuperviseDepAdminId(PagePackage pagePackage, String user_id) {
290
+		return null;
291
+	}
292
+
293
+/*	@Override
294
+	public PagePackage selecProjectPublicList(String project_large_name, String start_time, String end_time,
295
+											  PagePackage pagePackage) {
296
+		return projectPlanDao.select_project_plan_list(project_large_name, start_time, end_time, pagePackage);
297
+	}
298
+
299
+	@Override
300
+	public PagePackage selectProjectPublicListBySuperviseDepAdminId(PagePackage pagePackage, String user_id) {
301
+		return projectPlanDao.selectProjectPublicListBySuperviseDepAdminId(pagePackage, user_id);
302
+	}*/
303
+
304
+	@Override
305
+	public List<Map<String, Object>> selectListByOrgId(String org_id) {
306
+		return projectPlanDao.selectListByOrgId(org_id);
307
+	}
308
+
309
+	@Override
310
+	@Transactional
311
+	public void approveSubmit(String project_plan_id) {
312
+		// TODO Auto-generated method stub
313
+		t_project_plan project_plan = this.get(project_plan_id);
314
+		// 报送的项目必须是要进入公共资源交易中心开标的项目
315
+	//	BusinessAssert.notTrue(Objects.equal(project_plan.getIs_public_resource(), "是"), ErrorCodeEnum.B1012);
316
+		// 报送的项目至少有一个标段
317
+		List<t_project_item> project_items = iProjectItemService.selectListByProjectPublicId(project_plan_id);
318
+		if (ChkTools.isNull(project_items) || project_items.size() == 0) {
319
+			BusinessAssert.throwError(ErrorCodeEnum.B1013);
320
+		}
321
+		// 报送的项目受理状态必须是 未提交 & 驳回
322
+		if (!Objects.equal(project_plan.getApprove_status(), "未提交")
323
+				&& !Objects.equal(project_plan.getApprove_status(), "驳回")) {
324
+			BusinessAssert.throwError(ErrorCodeEnum.B1014);
325
+		}
326
+		// 上传 立项批复文件 委托代理合同
327
+//		if (ChkTools.isNull(project_plan.getApproval_file_id())) {
328
+//			BusinessAssert.throwError(ErrorCodeEnum.B1015);
329
+//		}
330
+
331
+		t_project_contract_agent project_contract_agent = iProjectContractAgentService.findByProperty(project_plan_id,
332
+				"project_plan_id", t_project_contract_agent.class);
333
+		if (ChkTools.isNull(project_contract_agent.getContract_file_id())) {
334
+			BusinessAssert.throwError(ErrorCodeEnum.B1016);
335
+		}
336
+
337
+		AcceptApproveParam acceptApproveParam = new AcceptApproveParam();
338
+
339
+		// 项目基本信息
340
+		BaseProjectInfoParam baseProjectInfoParam = new BaseProjectInfoParam();
341
+
342
+		baseProjectInfoParam.setInvestProjectCode(project_plan.getInvest_project_code());
343
+
344
+		baseProjectInfoParam.setAddress(project_plan.getProject_address());
345
+		baseProjectInfoParam.setProjectScale(project_plan.getProject_scale());
346
+		acceptApproveParam.setGbBaseProjectInfo(baseProjectInfoParam);
347
+
348
+		List<TenderProjectInfoParam> tenderProjectInfoParamList = Lists.newArrayList();
349
+		List<t_project> projectList = iProjectService.listByProperty(project_plan_id, "project_large_id",
350
+				t_project.class);
351
+
352
+		// 修改 受理信息
353
+		project_plan.setApprove_status("已提交");
354
+		project_plan.setCan_edit("否");
355
+		this.update(project_plan);
356
+	}
357
+
358
+	/**
359
+	 * 获取 招标方式的代码
360
+	 *
361
+	 * @param tenderMode
362
+	 * @return
363
+	 */
364
+	private String getTenderModeCode(String tenderMode) {
365
+		if (Objects.equal(tenderMode, "公开招标")) {
366
+			return "1";
367
+		} else if (Objects.equal(tenderMode, "邀请招标")) {
368
+			return "2";
369
+		} else {
370
+			return "9";
371
+		}
372
+	}
373
+
374
+	private String getTenderOrganozeForm(String type) {
375
+		if (Objects.equal(type, "自行招标")) {
376
+			return "1";
377
+		} else if (Objects.equal(type, "代理招标")) {
378
+			return "2";
379
+		} else {
380
+			return "9";
381
+		}
382
+	}
383
+
384
+	@Override
385
+	@Transactional
386
+	public t_project_plan approveStatus(String project_plan_id) {
387
+		// TODO Auto-generated method stub
388
+		t_project_plan project_plan = this.get(project_plan_id);
389
+		List<t_project> projectList = iProjectService.listByProperty(project_plan_id, "project_large_id",
390
+				t_project.class);
391
+
392
+		String base_appprove_status = "";
393
+		for (t_project project : projectList) {
394
+			Wrapper<ApproveInfoDTO> approveInfoWrapper = unifiedAcceptanceApi.questApproce(project.getProject_code());
395
+			if (!Objects.equal(approveInfoWrapper.getCode(), 200)) {
396
+				throw new BusinessException(approveInfoWrapper.getMessage());
397
+			}
398
+			ApproveInfoDTO approveInfoDTO = approveInfoWrapper.getResult();
399
+			project.setApprove_status(getApproveStatus(approveInfoDTO.getApproveResult()));
400
+			iProjectService.update(project);
401
+
402
+			base_appprove_status = this.getBaseApproveStatus(approveInfoDTO.getApproveResult(), base_appprove_status);
403
+		}
404
+
405
+		// 修改 受理信息
406
+		if (Objects.equal(base_appprove_status, "RETURNBACK")) {
407
+			project_plan.setApprove_status("驳回");
408
+			project_plan.setCan_edit("是");
409
+			this.update(project_plan);
410
+			// 招标项目
411
+			for (t_project project : projectList) {
412
+				project.setCan_edit("是");
413
+				iProjectService.update(project);
414
+				// 标段
415
+				List<t_project_item> projectItemList = iProjectItemService.listByProperty(project.getKid(),
416
+						"project_id", t_project_item.class);
417
+				for (t_project_item project_item : projectItemList) {
418
+					project_item.setCan_edit("是");
419
+					iProjectItemService.update(project_item);
420
+				}
421
+			}
422
+		} else {
423
+			project_plan.setApprove_status(getApproveStatus(base_appprove_status));
424
+			this.update(project_plan);
425
+		}
426
+		return project_plan;
427
+	}
428
+
429
+	/**
430
+	 * 状态 转换
431
+	 *
432
+	 * @param approve_status
433
+	 * @return
434
+	 */
435
+	private String getApproveStatus(String approve_status) {
436
+		if (Objects.equal("COMMITTED", approve_status)) {
437
+			return "已提交";
438
+		} else if (Objects.equal("APPROVING", approve_status)) {
439
+			return "受理中";
440
+		} else if (Objects.equal("PASSED", approve_status)) {
441
+			return "已受理";
442
+		} else if (Objects.equal("NOPASSED", approve_status)) {
443
+			return "驳回";
444
+		} else {
445
+			throw new BusinessException("受理状态非法");
446
+		}
447
+	}
448
+
449
+	/**
450
+	 * 获取 基本状态
451
+	 *
452
+	 * @param tender_approve_status
453
+	 * @param base_approve_status
454
+	 * @return
455
+	 */
456
+	private String getBaseApproveStatus(String tender_approve_status, String base_approve_status) {
457
+		Map<String, Integer> mapTool = ImmutableMap.of("NOPASSED", 1, "COMMITTED", 2, "APPROVING", 3, "PASSED", 4);
458
+		if (ChkTools.isNull(base_approve_status)) {
459
+			return tender_approve_status;
460
+		} else {
461
+			Integer tender_approve_index = mapTool.get(tender_approve_status);
462
+			Integer base_approve_index = mapTool.get(base_approve_status);
463
+			return tender_approve_index < base_approve_index ? tender_approve_status : base_approve_status;
464
+		}
465
+	}
466
+}

+ 211 - 0
krock-web-back/src/main/java/com/ydw/yunbuyer/web/back/business/pre_bid/web/project_plan/ProjectPublicPlanController.java

@@ -0,0 +1,211 @@
1
+package com.ydw.yunbuyer.web.back.business.pre_bid.web.project_plan;
2
+
3
+import com.alibaba.fastjson.JSONObject;
4
+import com.ydw.yunbuyer.api.system.api.DataProvinceApi;
5
+import com.ydw.yunbuyer.common.utils.ChkTools;
6
+import com.ydw.yunbuyer.common.utils.wrapper.WrapMapper;
7
+import com.ydw.yunbuyer.common.utils.wrapper.Wrapper;
8
+import com.ydw.yunbuyer.web.back.busi_base.action.ProjBaseAction;
9
+import com.ydw.yunbuyer.web.back.busi_company.org.entity.t_org;
10
+import com.ydw.yunbuyer.web.back.busi_project.project_plan.entity.t_project_plan;
11
+import com.ydw.yunbuyer.web.back.busi_project.project_public.entity.t_project_public;
12
+import com.ydw.yunbuyer.web.back.business.pre_bid.service.IProjectPlanService;
13
+import com.ydw.yunbuyer.web.back.business.pre_bid.service.IProjectPublicService;
14
+import com.ydw.yunbuyer.web.back.business.rest.web.swagger.type.PublishNotice;
15
+import com.ydw.yunbuyer.web.back.business.system.service.IOrgService;
16
+import com.ydw.yunbuyer.web.back.util.json.JsonTools;
17
+import com.ydw.yunbuyer.web.back.web.SessionTools;
18
+import io.swagger.annotations.Api;
19
+import io.swagger.annotations.ApiImplicitParam;
20
+import io.swagger.annotations.ApiImplicitParams;
21
+import io.swagger.annotations.ApiOperation;
22
+import org.springframework.beans.factory.annotation.Autowired;
23
+import org.springframework.context.annotation.Scope;
24
+import org.springframework.web.bind.annotation.RequestMapping;
25
+import org.springframework.web.bind.annotation.RestController;
26
+import org.tmsps.ne4spring.page.PagePackage;
27
+
28
+import java.math.BigDecimal;
29
+import java.util.List;
30
+import java.util.Map;
31
+
32
+/**
33
+ * TODO 招标计划
34
+ * 
35
+ * @author hxj
36
+ */
37
+@PublishNotice
38
+@Api(tags = "招标计划")
39
+@RestController
40
+@Scope("prototype")
41
+@RequestMapping("/back/project/project_plan")
42
+public class ProjectPublicPlanController extends ProjBaseAction {
43
+
44
+	@Autowired
45
+	private IProjectPlanService iProjectPlanService;
46
+	@Autowired
47
+	private IOrgService iOrgService;
48
+	@Autowired
49
+	private DataProvinceApi dataProvinceApi;
50
+	
51
+
52
+	@ApiOperation(value = "招标计划列表", httpMethod = "POST")
53
+	@RequestMapping("/list_data")
54
+	@ApiImplicitParams({ // 添加参数说明,例如查询参数、路径参数等
55
+			@ApiImplicitParam(name = "srh_project_name", value = "招标计划名称", required = false, dataType = "String", paramType = "query"), // 查询参数示例
56
+			@ApiImplicitParam(name = "page", value = "页数", required = true, dataType = "int", paramType = "query"), // 查询参数示例
57
+			@ApiImplicitParam(name = "limit", value = "每页条数", required = true, dataType = "int", paramType = "query") // 查询参数示例
58
+	})
59
+	public Wrapper<PagePackage> list_data() {
60
+
61
+		String org_id = SessionTools.getCurrentOrgId();
62
+		pagePackage = iProjectPlanService.select_plan_list(srh.getString("project_name")
63
+				, org_id, pagePackage);
64
+
65
+		return WrapMapper.ok(pagePackage);
66
+	}
67
+/*
68
+	@ApiOperation(value = "大项列表 个人", httpMethod = "POST")
69
+	@RequestMapping("/personal_list_data")
70
+	public Wrapper<PagePackage> personal_list_data() {
71
+
72
+		String user_id = SessionTools.getCurrentUserId();
73
+		pagePackage = iProjectPublicService.select_personal_agent_list(srh.getString("project_large_name"),
74
+				srh.getString("according_law"), user_id, pagePackage);
75
+
76
+		return WrapMapper.ok(pagePackage);
77
+	}
78
+
79
+	@ApiOperation(value = "招标人关联的项目列表", httpMethod = "POST")
80
+	@RequestMapping("/project_public_list")
81
+	public Wrapper<PagePackage> project_public_list() {
82
+
83
+		String org_id = SessionTools.getCurrentOrgId();
84
+
85
+		pagePackage = iProjectPublicService.select_list_agent_org(org_id, srh.getString("project_large_name"),
86
+				pagePackage);
87
+
88
+		return WrapMapper.ok(pagePackage);
89
+	}*/
90
+
91
+	@ApiOperation(value = "添加招标计划", httpMethod = "POST")
92
+	@ApiImplicitParams({ @ApiImplicitParam(name = "project_plan", value = "项目招标计划project_plan"),
93
+			@ApiImplicitParam(name = "save_type", value = "save 保存 submit 提交"), })
94
+	@RequestMapping("/add")
95
+	public Wrapper<JSONObject> add(t_project_plan public_plan, String save_type) {
96
+		JSONObject result = iProjectPlanService.savePlan(public_plan,save_type);
97
+		return WrapMapper.ok(result);
98
+	}
99
+
100
+	@ApiOperation(value = "删除招标计划", httpMethod = "POST")
101
+	@ApiImplicitParam(name = "public_id", value = "项目id")
102
+	@RequestMapping("/del")
103
+	public Wrapper<String> del(String plan_id) {
104
+
105
+		iProjectPlanService.deleteById(plan_id);
106
+
107
+		return WrapMapper.ok("删除成功!");
108
+	}
109
+
110
+	@ApiOperation(value = "打开编辑页面数据回写", httpMethod = "POST")
111
+	@ApiImplicitParam(name = "plan_id", value = "项目id")
112
+	@RequestMapping("/edit_form")
113
+	public Wrapper<Map<String, Object>> edit_form(String plan_id) {
114
+
115
+		t_project_plan projectPlan = iProjectPlanService.get(plan_id);
116
+		Map<String, Object> project_plan = JsonTools.objToMap(projectPlan);
117
+		t_org tender = iOrgService.get(projectPlan.getOrg_id());
118
+		if(ChkTools.isNotNull(tender.getAgent_org_id())){
119
+			project_plan.put("org_type", "招标方");
120
+		} else {
121
+			project_plan.put("org_type", "机构");
122
+		}
123
+		return WrapMapper.ok(project_plan);
124
+	}
125
+
126
+	@ApiOperation(value = "编辑保存", httpMethod = "POST")
127
+	@ApiImplicitParams({ @ApiImplicitParam(name = "public_project", value = "大项t_project_public"),
128
+			@ApiImplicitParam(name = "save_type", value = "save 保存 submit 提交"), })
129
+	@RequestMapping("/edit")
130
+	public Wrapper<String> edit(t_project_plan project_plan, String save_type) {
131
+
132
+		t_project_plan projectPlan = iProjectPlanService.get(project_plan.getKid());
133
+		projectPlan.setOrg_id(projectPlan.getOrg_id());
134
+		//projectPlan.setOrg_name(projectPlan.getOrg_name());
135
+
136
+		//private String administration_region_code; // 行政区代码 REGION_CODE
137
+		//private String administration_region_name; // 行政区对应名称
138
+		//projectPlan.setIndustry_code(projectPlan.getIndustry_code()); // 行业类型代码(项目行业分类) INDUSTRIES_TYPE
139
+		//projectPlan.setIndustry_name(projectPlan.getIndustry_name()); // 行业类型对应名称(项目行业分类)
140
+		projectPlan.setInvest_project_code(projectPlan.getInvest_project_code());// 投资项目统一代码
141
+		projectPlan.setProject_name(projectPlan.getProject_name()); // 招标项目名称
142
+		projectPlan.setProject_scale(projectPlan.getProject_scale()); // 建设内容及规模
143
+
144
+		projectPlan.setProject_address(projectPlan.getProject_address());// 建设地点
145
+
146
+		projectPlan.setContribution_scale(projectPlan.getContribution_scale());// 项目总投资
147
+		projectPlan.setTender_content(projectPlan.getTender_content()); // 招标内容
148
+		projectPlan.setProject_type(projectPlan.getProject_type()); // 项目类型
149
+		projectPlan.setTender_mode(projectPlan.getTender_mode()); // 招标方式 1:公开招标 2:邀请招标
150
+
151
+		projectPlan.setLegal_person(projectPlan.getLegal_person()) ; // 招标人名称
152
+		projectPlan.setPublish_type(projectPlan.getPublish_type()); // 发布类型
153
+		projectPlan.setPublish_org(projectPlan.getPublish_org()); // 发布单位
154
+		projectPlan.setSupervise_dept_name(projectPlan.getSupervise_dept_name()); // 行政监督部门
155
+		projectPlan.setNotice_plan_send_time(projectPlan.getNotice_plan_send_time()); // 招标公告(资格预审公告)预计发布时间(yyyyMM)
156
+		projectPlan.setProject_reg_cert(projectPlan.getProject_reg_cert()); //立项批复文件或备案证
157
+		projectPlan.setAgency_contract(projectPlan.getAgency_contract()); // 委托代理合同
158
+
159
+		if ("submit".equals(save_type)) {
160
+			projectPlan.setCan_edit("否");
161
+		} else {
162
+			projectPlan.setCan_edit("是");
163
+		}
164
+		iProjectPlanService.update(projectPlan);
165
+
166
+		return WrapMapper.ok("成功!");
167
+	}
168
+
169
+	@ApiOperation(value = "获取机构信息", httpMethod = "POST")
170
+	@RequestMapping("/org_list")
171
+	public Wrapper<PagePackage> org_list() {
172
+		pagePackage.setSrh(srh);
173
+		pagePackage = iOrgService.select_check_list(pagePackage);
174
+		return WrapMapper.ok(pagePackage);
175
+	}
176
+
177
+	@ApiOperation(value = "开标省份", httpMethod = "POST")
178
+	@RequestMapping("/bid_province_list")
179
+	public Wrapper<List<Map<String, Object>>> bid_province_list() {
180
+
181
+		List<Map<String, Object>> list = dataProvinceApi.select_province_list_all();
182
+		return WrapMapper.ok(list);
183
+
184
+	}
185
+	
186
+	
187
+	/**
188
+	 * 	项目报送
189
+	 * @param kid
190
+	 * @return
191
+	 */
192
+	@ApiOperation(value = "项目报送", httpMethod = "GET")
193
+	@RequestMapping("/approve_submit")
194
+	public Wrapper<JSONObject> approve_submit(String kid) {
195
+		iProjectPlanService.approveSubmit(kid);
196
+		return WrapMapper.ok();
197
+	}
198
+	
199
+	/**
200
+	 * 	受理状态
201
+	 * @param kid
202
+	 * @return
203
+	 */
204
+	@ApiOperation(value = "受理状态", httpMethod = "GET")
205
+	@RequestMapping("/approve_status")
206
+	public Wrapper<String> approveStatus(String kid){
207
+		t_project_plan project_plan =iProjectPlanService.approveStatus(kid);
208
+		return WrapMapper.ok("受理状态:" + project_plan.getApprove_status());
209
+	}
210
+
211
+}

+ 10 - 0
krock-web-back/src/main/resources/static/view/project/plan/biddingPlan.html

@@ -0,0 +1,10 @@
1
+<!DOCTYPE html>
2
+<html lang="en">
3
+<head>
4
+    <meta charset="UTF-8">
5
+    <title>Title</title>
6
+</head>
7
+<body>
8
+
9
+</body>
10
+</html>