From 2b8e522ec7c38570463a08e04bc1cc264a038e5b Mon Sep 17 00:00:00 2001
From: zm <2369059705qq.com>
Date: 星期一, 17 三月 2025 11:26:39 +0800
Subject: [PATCH] 整体BUG修改

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

diff --git a/src/main/java/com/product/contract/service/ProjectBusinessService.java b/src/main/java/com/product/contract/service/ProjectBusinessService.java
index f18574b..4c4754e 100644
--- a/src/main/java/com/product/contract/service/ProjectBusinessService.java
+++ b/src/main/java/com/product/contract/service/ProjectBusinessService.java
@@ -2,6 +2,7 @@
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.product.common.lang.StringUtils;
 import com.product.contract.config.CmnConst;
 import com.product.contract.service.ide.IProjectBusinessService;
 import com.product.core.dao.BaseDao;
@@ -22,6 +23,14 @@
 	@Override
 	public JSONObject findProject(FieldSetEntity fse) {
 		FieldSetEntity fsData = baseDao.getFieldSet(CmnConst.PRODUCT_PROJECT_BUSINESS, fse.getUUID(), false);
+		//璁$畻鏁翠綋椤圭洰杩涘害
+		String sql ="SELECT CONCAT(sum(REPLACE(a.task_rate, '%', ''))/COUNT(*),'%') task_rate FROM `product_project_schedule_weekly_sub` a\n" +
+				"LEFT JOIN  product_project_schedule_weekly b on a.main_uuid=b.uuid\n" +
+				"where a.project_uuid=? and b.flow_flag =2 GROUP BY project_uuid";
+		FieldSetEntity task_rate_fs = baseDao.getFieldSetEntityBySQL(sql, new String[]{fse.getUUID()}, false);
+		if (!FieldSetEntity.isEmpty(task_rate_fs)){
+			fsData.setValue("schedule",task_rate_fs.getString("task_rate"));
+		}
 		//灏佽椤圭洰璁″垝鏁版嵁鎺ュ彛
 		JSONObject json = new JSONObject();
 		DataTableEntity planData=baseDao.listTable(CmnConst.PRODUCT_PROJECT_BUSINESS_PLAN,"project_uuid=?",new String[]{fse.getUUID()});
@@ -50,11 +59,61 @@
 		rejson.put(CmnConst.PRODUCT_PROJECT_MANAGER_DATA_LIST,BaseUtil.dataTableEntityToJson(dataList));
 		return rejson;
 	}
+	@Override
+	public JSONObject findTranslate(FieldSetEntity fse) {
+		FieldSetEntity fsData = baseDao.getFieldSetBySQL("SELECT project_type,date FROM product_project_business_translate where project_type=?", new String[]{fse.getString("project_type")}, false);
+		JSONObject rejson=BaseUtil.fieldSetEntityToJson(fsData);
+		DataTableEntity projectType = baseDao.listTable(CmnConst.PRODUCT_PROJECT_BUSINESS_TRANSLATE, "project_type=? ORDER BY project_task,id", new String[]{fse.getString("project_type")});
+		JSONObject json = new JSONObject();
+		for (int i = 0; i < projectType.getRows(); i++) {
+			FieldSetEntity fs = projectType.getFieldSetEntity(i);
+			if (!StringUtils.isEmpty(fse.getString("type")) &&fse.getString("type").equals("view")){
+				fs.remove("uuid");
+			}
+			if (json.getJSONArray(fs.getString("project_task"))==null){
+				JSONArray objects = new JSONArray();
+				objects.add(BaseUtil.fieldSetEntityToJson(fs));
+				json.put(fs.getString("project_task"),objects);
 
-
+			}else {
+				JSONArray projectTask = json.getJSONArray(fs.getString("project_task"));
+				projectTask.add(BaseUtil.fieldSetEntityToJson(fs));
+			}
+		}
+		rejson.put(CmnConst.PRODUCT_PROJECT_BUSINESS_TRANSLATE,json);
+		
+		
+		return rejson;
+	}
+	@Transactional
+	@Override
+	public boolean saveTranslate(FieldSetEntity fs) {
+		DataTableEntity dt = fs.getSubDataTable(CmnConst.PRODUCT_PROJECT_BUSINESS_TRANSLATE);
+		boolean a=true;
+		for (int i = 0; i < dt.getRows(); i++) {
+			FieldSetEntity fse = dt.getFieldSetEntity(i);
+			fse.setValue("project_type",fs.getString("project_type"));
+			fse.setValue("date",fs.getString("date"));
+			BaseUtil.createCreatorAndCreationTime(fse);
+			if (fse.getUUID()==null){
+				String uuid= baseDao.add(fse);
+				if (uuid==null) a= false;
+			}else if (fse.getString("~type~")!=null&&fse.getString("~type~").equals("del")){
+				boolean delete = baseDao.delete(CmnConst.PRODUCT_PROJECT_BUSINESS_TRANSLATE, "uuid=?", new String[]{fse.getUUID()});
+				if (!delete) a= false;
+			}else {
+				boolean update = baseDao.update(fse);
+				if (!update) a= false;
+			}
+		}
+		return a;
+	}
 	@Transactional
 	@Override
 	public boolean saveProject(FieldSetEntity fse) {
+		if (!StringUtils.isEmpty(fse.getString("del")) &&fse.getString("del").equals("2")){
+			baseDao.delete(CmnConst.PRODUCT_PROJECT_BUSINESS_PLAN,"project_uuid=?",new String[]{fse.getUUID()});
+		}
 		return baseDao.saveFieldSetEntity(BaseUtil.createCreatorAndCreationTime(fse));
 	}
 }

--
Gitblit v1.9.2