From 0fd79540c84badcde130b2c59cbd43d11fbefde4 Mon Sep 17 00:00:00 2001
From: 354798ggg <1074825718@qq.com>
Date: 星期四, 15 六月 2023 14:28:06 +0800
Subject: [PATCH] 新增项目

---
 product-server-project-contract/src/main/java/com/product/contract/controller/NewProjectInfoController.java |   85 ++++++++++++++++++++++++++++
 product-server-project-contract/src/main/java/com/product/contract/service/NewProjectInfoService.java       |   36 ++++++++++++
 2 files changed, 121 insertions(+), 0 deletions(-)

diff --git a/product-server-project-contract/src/main/java/com/product/contract/controller/NewProjectInfoController.java b/product-server-project-contract/src/main/java/com/product/contract/controller/NewProjectInfoController.java
new file mode 100644
index 0000000..6e6f1d3
--- /dev/null
+++ b/product-server-project-contract/src/main/java/com/product/contract/controller/NewProjectInfoController.java
@@ -0,0 +1,85 @@
+package com.product.contract.controller;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.product.contract.config.SystemCode;
+import com.product.contract.service.NewProjectInfoService;
+import com.product.core.controller.support.AbstractBaseController;
+import com.product.core.entity.FieldSetEntity;
+import com.product.core.exception.BaseException;
+import com.product.core.spring.context.SpringMVCContextHolder;
+import com.product.module.sys.version.ApiVersion;
+import com.product.util.BaseUtil;
+
+@RequestMapping("/api/new-project")
+@RestController
+public class NewProjectInfoController extends AbstractBaseController{
+
+	@Autowired
+	NewProjectInfoService newProjectInfoService;
+	
+	 /**
+     * 鏍规嵁uuid鑾峰彇椤圭洰璇︽儏
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/get-projectTypeItem/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String getProjectTypeItem(HttpServletRequest request){
+        try {
+            // 鑾峰彇鍙傛暟
+            FieldSetEntity fse = BaseUtil.getFieldSetEntity(request);
+            
+            // 鍒ゆ柇uuid鏄惁涓虹┖
+            if (BaseUtil.strIsNull(fse.getString("projectType"))) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_COUNT.getValue(),SystemCode.SYSTEM_FORM_COUNT.getText());
+                return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
+            }
+            return OK_List(newProjectInfoService.getProjectTypeItem(fse.getString("projectType")));
+        } catch (BaseException e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        } catch (Exception e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.SYSTEM_FIND_CONTRACT_PROJECT_FAIL.getValue(),
+                    SystemCode.SYSTEM_FIND_CONTRACT_PROJECT_FAIL.getText());
+        }
+    }
+    
+    /**
+     * 鏍规嵁uuid鑾峰彇椤圭洰璇︽儏
+     * @param request
+     * @return
+     */
+    @RequestMapping(value = "/get-projectItem/{version}", method = RequestMethod.POST)
+    @ApiVersion(1)
+    public String getProjectItem(HttpServletRequest request){
+        try {
+            // 鑾峰彇鍙傛暟
+            FieldSetEntity fse = BaseUtil.getFieldSetEntity(request);
+            
+            // 鍒ゆ柇uuid鏄惁涓虹┖
+            if (BaseUtil.strIsNull(fse.getUUID())) {
+                SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_COUNT.getValue(),SystemCode.SYSTEM_FORM_COUNT.getText());
+                return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
+            }
+            return OK_List(newProjectInfoService.getProjectItem(fse.getUUID()));
+        } catch (BaseException e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(e);
+        } catch (Exception e) {
+            e.printStackTrace();
+            SpringMVCContextHolder.getSystemLogger().error(e);
+            return this.error(SystemCode.SYSTEM_FIND_CONTRACT_PROJECT_FAIL.getValue(),
+                    SystemCode.SYSTEM_FIND_CONTRACT_PROJECT_FAIL.getText());
+        }
+    }
+}
diff --git a/product-server-project-contract/src/main/java/com/product/contract/service/NewProjectInfoService.java b/product-server-project-contract/src/main/java/com/product/contract/service/NewProjectInfoService.java
new file mode 100644
index 0000000..5663486
--- /dev/null
+++ b/product-server-project-contract/src/main/java/com/product/contract/service/NewProjectInfoService.java
@@ -0,0 +1,36 @@
+package com.product.contract.service;
+
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+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.util.BaseUtil;
+
+@Component
+public class NewProjectInfoService extends AbstractBaseService{
+
+	@Autowired
+	BaseDao baseDao;
+	
+	public DataTableEntity getProjectTypeItem(String projectType) {
+		DataTableEntity dtProjectItem = baseDao.listTable("product_project_base_project_item", "itemize_type=?", new Object[] {projectType}, new Object[] {"itemize","itemize_code","itemize_parent_code"});
+		if (!BaseUtil.dataTableIsEmpty(dtProjectItem)) {
+			DataTableEntity newDtProjectItem = BaseUtil.dataTableToTreeTable(dtProjectItem, "itemize_code", "itemize_parent_code", null);
+			return newDtProjectItem;
+		}
+		return null;
+	}
+	
+	public FieldSetEntity getProjectItem(String uuid) {
+		FieldSetEntity fseProject = baseDao.getFieldSetEntity("product_project_qxlw", uuid, true);
+		DataTableEntity newDtProjectItem = BaseUtil.dataTableToTreeTable(fseProject.getSubDataTable("product_project_item"), "itemize_code", "itemize_parent_code", null);
+		Map<String, DataTableEntity>dtSubTable = fseProject.getSubData();
+		dtSubTable.put("product_project_item", newDtProjectItem);
+		return fseProject;
+	}
+}

--
Gitblit v1.9.2