From c2b94a6757c11590190dcd1b566da57072794703 Mon Sep 17 00:00:00 2001
From: zm <2369059705qq.com>
Date: 星期三, 24 七月 2024 17:32:08 +0800
Subject: [PATCH] 项目立项优化

---
 src/main/java/com/product/contract/service/ProjectBusinessService.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/product/contract/service/ProjectBusinessService.java b/src/main/java/com/product/contract/service/ProjectBusinessService.java
new file mode 100644
index 0000000..f18574b
--- /dev/null
+++ b/src/main/java/com/product/contract/service/ProjectBusinessService.java
@@ -0,0 +1,60 @@
+package com.product.contract.service;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.product.contract.config.CmnConst;
+import com.product.contract.service.ide.IProjectBusinessService;
+import com.product.core.dao.BaseDao;
+import com.product.core.entity.DataTableEntity;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.service.support.AbstractBaseService;
+import com.product.core.transfer.Transactional;
+import com.product.util.BaseUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ProjectBusinessService extends AbstractBaseService implements IProjectBusinessService {
+
+	@Autowired
+	public BaseDao baseDao;
+
+	@Override
+	public JSONObject findProject(FieldSetEntity fse) {
+		FieldSetEntity fsData = baseDao.getFieldSet(CmnConst.PRODUCT_PROJECT_BUSINESS, fse.getUUID(), false);
+		//灏佽椤圭洰璁″垝鏁版嵁鎺ュ彛
+		JSONObject json = new JSONObject();
+		DataTableEntity planData=baseDao.listTable(CmnConst.PRODUCT_PROJECT_BUSINESS_PLAN,"project_uuid=?",new String[]{fse.getUUID()});
+		for (int i = 0; i <planData.getRows() ; i++) {
+			FieldSetEntity fs = planData.getFieldSetEntity(i);
+			JSONObject jsonObject = BaseUtil.fieldSetEntityToJson(fs);
+			JSONArray projectTask = json.getJSONArray(fs.getString("project_task"));
+			if (projectTask==null){
+				JSONArray objects = new JSONArray();
+				objects.add(jsonObject);
+				json.put(fs.getString("project_task"),objects);
+			}else {
+				projectTask.add(jsonObject);
+			}
+		}
+		JSONObject rejson=BaseUtil.fieldSetEntityToJson(fsData);
+		rejson.put(CmnConst.PRODUCT_PROJECT_BUSINESS_PLAN,json);
+		//灏佽椤圭洰杩涘害鏁版嵁缁撴瀯
+		DataTableEntity scheduleDt =baseDao.listTable("select  project_task_sub,a.*  from product_project_schedule a\n" +
+				"LEFT JOIN product_project_business_plan b  on a.business_sub_uuid =b.uuid\n" +
+				"where b.project_uuid=? order by a.business_sub_uuid,a.reporting_time",new String[]{fse.getUUID()});
+		baseDao.loadPromptData(scheduleDt);
+		rejson.put(CmnConst.PRODUCT_PROJECT_SCHEDULE,BaseUtil.dataTableEntityToJson(scheduleDt));
+        //灏佽璧勬枡鏁版嵁缁撴瀯
+		DataTableEntity dataList = baseDao.listTable(CmnConst.PRODUCT_PROJECT_MANAGER_DATA_LIST, "project_type=?", new String[]{fsData.getString("project_type")});
+		rejson.put(CmnConst.PRODUCT_PROJECT_MANAGER_DATA_LIST,BaseUtil.dataTableEntityToJson(dataList));
+		return rejson;
+	}
+
+
+	@Transactional
+	@Override
+	public boolean saveProject(FieldSetEntity fse) {
+		return baseDao.saveFieldSetEntity(BaseUtil.createCreatorAndCreationTime(fse));
+	}
+}

--
Gitblit v1.9.2