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