From 19737470afef2563d99ac133a5498ed845f1d822 Mon Sep 17 00:00:00 2001
From: 354798ggg <1074825718@qq.com>
Date: 星期四, 19 十月 2023 16:42:24 +0800
Subject: [PATCH] bug测试

---
 product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java |  196 ++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 155 insertions(+), 41 deletions(-)

diff --git a/product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java b/product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java
index 09fc076..d129de1 100644
--- a/product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java
+++ b/product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java
@@ -2,59 +2,173 @@
 
 import java.util.Map;
 
+import com.alibaba.fastjson.JSONArray;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import com.product.core.config.CoreConst;
 import com.product.core.dao.BaseDao;
 import com.product.core.entity.DataTableEntity;
 import com.product.core.entity.FieldSetEntity;
 import com.product.core.exception.BaseException;
+import com.product.core.permission.PermissionService;
 import com.product.core.service.support.AbstractBaseService;
+import com.product.core.spring.context.SpringMVCContextHolder;
 import com.product.project.management.config.Cmnconst;
 import com.product.project.management.config.SystemCode;
 import com.product.util.BaseUtil;
 
-@Component("qxlw-project-service")
-public class ProjectInfoService extends AbstractBaseService{
+import cn.hutool.json.JSONObject;
 
-	@Autowired
-	BaseDao baseDao;
-	
-	/**
-	 * 	閫氳繃椤圭洰绫诲瀷鑾峰彇椤圭洰鍒嗛」锛堣幏鍙栨ā鏉垮垎椤癸級
-	 * @param projectType
-	 * @return
-	 */
-	public DataTableEntity getProjectTypeItem(String projectType) {
-		DataTableEntity dtProjectItem = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_BASE_PROJECT_ITEM, "itemize_type=?", new Object[] {projectType}, new Object[] {Cmnconst.ITEMIZE, Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_PARENT_CODE});
-		if (!BaseUtil.dataTableIsEmpty(dtProjectItem)) {
-			DataTableEntity newDtProjectItem = BaseUtil.dataTableToTreeTable(dtProjectItem, Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_PARENT_CODE, null);
-			return newDtProjectItem;
+@Component("qxlw-project-service")
+public class ProjectInfoService extends AbstractBaseService {
+
+    @Autowired
+    BaseDao baseDao;
+    
+    @Autowired
+    PermissionService permissionService;
+    
+    /**
+     * 	椤圭洰淇℃伅鍒楄〃
+     * @param cpage
+     * @param pageSize
+     * @return
+     */
+    public DataTableEntity listProjectByCreated(Integer cpage, Integer pageSize) {
+
+    	String queryFilter = permissionService.getDataFilter(Cmnconst.PRODUCT_PROJECT_QXLW, "project_leader,materialman");
+    	
+    	
+    	FieldSetEntity fseCurrentUser = SpringMVCContextHolder.getCurrentUser().getCurrentStaff();
+    	String leaderCode = fseCurrentUser.getString("leader_tricode")+"%";
+    	
+    	String filter =" project_leader in (select user_id from product_sys_staffs where leader_tricode like ?) OR materialman in (select user_id from product_sys_staffs where leader_tricode like ?)";
+    	DataTableEntity dt = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_QXLW, filter, new Object [] {leaderCode, leaderCode}, null, Cmnconst.CREATED_UTC_DATETIME_DESC, pageSize, cpage);
+    	baseDao.loadPromptData(dt);
+    	return dt;
+    }
+    
+    /**
+     * 閫氳繃椤圭洰绫诲瀷鑾峰彇椤圭洰鍒嗛」锛堣幏鍙栨ā鏉垮垎椤癸級
+     *
+     * @param projectType
+     * @return
+     */
+    public DataTableEntity getProjectTypeItem(String projectType) {
+        DataTableEntity dtProjectItem = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_BASE_PROJECT_ITEM, "itemize_type=?", new Object[]{projectType}, new Object[]{Cmnconst.ITEMIZE, Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_TYPE, Cmnconst.ITEMIZE_PARENT_CODE});
+        if (!BaseUtil.dataTableIsEmpty(dtProjectItem)) {
+            DataTableEntity newDtProjectItem = BaseUtil.dataTableToTreeTable(dtProjectItem, Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_PARENT_CODE, null);
+            return newDtProjectItem;
+        }
+        return null;
+    }
+
+    /**
+     * 閫氳繃椤圭洰UUID鑾峰彇椤圭洰鍒嗛」锛堣幏鍙栦繚瀛樼殑瀛愯〃鍒嗛」--澶氫釜鏍戯級
+     *
+     * @param uuid
+     * @return
+     */
+    public FieldSetEntity getProjectItem(String uuid) {
+        FieldSetEntity fseProject = baseDao.getFieldSetEntity(Cmnconst.PRODUCT_PROJECT_QXLW, uuid, true);
+        DataTableEntity newDtProjectItem = BaseUtil.dataTableToTreeTable(fseProject.getSubDataTable(Cmnconst.PRODUCT_PROJECT_ITEM), Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_PARENT_CODE, null);
+        Map<String, DataTableEntity> dtSubTable = fseProject.getSubData();
+        dtSubTable.put(Cmnconst.PRODUCT_PROJECT_ITEM, newDtProjectItem);
+        return fseProject;
+    }
+
+    /**
+     * 閫氳繃椤圭洰UUID鑾峰彇椤圭洰鍒嗛」锛堣幏鍙栦繚瀛樼殑瀛愯〃鍒嗛」--鍗曚釜鏍戯級
+     *
+     * @param uuid
+     * @return
+     */
+    public DataTableEntity getProjectAllItem(String uuid) {
+        DataTableEntity dtProjectItemize = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_ITEM, "project_uuid=?", new Object[]{uuid}, new Object[]{CoreConst.UUID, Cmnconst.ITEMIZE, Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_PARENT_CODE, Cmnconst.ITEMIZE_FULL_NAME});
+        if (!BaseUtil.dataTableIsEmpty(dtProjectItemize)) {
+            DataTableEntity newDtProjectItem = BaseUtil.dataTableToTreeTable(dtProjectItemize, Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_PARENT_CODE, null);
+            return newDtProjectItem;
+        }
+        return null;
+    }
+
+    /**
+     * 鑾峰彇鎵�鏈夐」鐩俊鎭�
+     *
+     * @return
+     */
+    public DataTableEntity listProject() {
+        return baseDao.listTable(Cmnconst.PRODUCT_PROJECT_QXLW, null, null, new Object[]{CoreConst.UUID, Cmnconst.PROJECT_NAME});
+    }
+
+    
+
+    /**
+     * 鍒犻櫎瀛愰」楠岃瘉锛堝凡缁忕敓鎴愰绠楃殑瀛愰」涓嶈兘鍒犻櫎锛�
+     *
+     * @param uuid
+     */
+    public void deleteItemizeValidate(String uuid) {
+        DataTableEntity dtBudget = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_BUDGET, "budget_code=?", new Object[]{uuid});
+        if (!BaseUtil.dataTableIsEmpty(dtBudget)) {
+            throw new BaseException(SystemCode.PROJECT_ITEMIZE_DEL_FAIL_HAS_BUDGET.getValue(), SystemCode.PROJECT_ITEMIZE_DEL_FAIL_HAS_BUDGET.getText());
+        }
+    }
+
+    /**
+     * 鑾峰彇鍒嗛」棰勭畻淇℃伅
+     *
+     * @param itemizeUUID 鍒嗛」UUID
+     * @param capge       褰撳墠椤�
+     * @param pageSize    椤靛ぇ灏�
+     * @return
+     */
+    public DataTableEntity listItemizeBudget(String itemizeUUID, Integer capge, Integer pageSize) {
+    	if (!BaseUtil.strIsNull(itemizeUUID)) {
+    		DataTableEntity dtItemizeBudget = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_BUDGET, "project_itemize_uuid = ?", new Object[] {itemizeUUID}, null, null, pageSize, capge);
+            if (!BaseUtil.dataTableIsEmpty(dtItemizeBudget)) {
+                baseDao.loadPromptData(dtItemizeBudget);
+            }
+            return dtItemizeBudget;
 		}
-		return null;
-	}
-	
-	/**
-	 * 	閫氳繃椤圭洰涓昏〃鑾峰彇椤圭洰鍒嗛」锛堣幏鍙栦繚瀛樼殑瀛愯〃鍒嗛」锛�
-	 * @param uuid
-	 * @return
-	 */
-	public FieldSetEntity getProjectItem(String uuid) {
-		FieldSetEntity fseProject = baseDao.getFieldSetEntity(Cmnconst.PRODUCT_PROJECT_QXLW, uuid, true);
-		DataTableEntity newDtProjectItem = BaseUtil.dataTableToTreeTable(fseProject.getSubDataTable(Cmnconst.PRODUCT_PROJECT_ITEM), Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_PARENT_CODE, null);
-		Map<String, DataTableEntity>dtSubTable = fseProject.getSubData();
-		dtSubTable.put(Cmnconst.PRODUCT_PROJECT_ITEM, newDtProjectItem);
-		return fseProject;
-	}
-	
-	/**
-	 * 	鍒犻櫎瀛愰」楠岃瘉锛堝凡缁忕敓鎴愰绠楃殑瀛愰」涓嶈兘鍒犻櫎锛�
-	 * @param uuid
-	 */
-	public void deleteItemizeValidate(String uuid) {
-		DataTableEntity dtBudget = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_BUDGET, "budget_code=?", new Object[] {uuid});
-		if (!BaseUtil.dataTableIsEmpty(dtBudget)) {
-			throw new BaseException(SystemCode.PROJECT_MANAGEMENT_ITEMIZE_DEL_FAIL.getValue(), SystemCode.PROJECT_MANAGEMENT_ITEMIZE_DEL_FAIL.getText());
-		}
-	}
+        return null;
+    }
+
+    /**
+     * 鏇村叿椤圭洰鍒嗛」uuid鑾峰彇椤圭洰鍒嗛」涓嬬殑鏉愭枡
+     * @param uuid
+     * @param capge
+     * @param pageSize
+     * @return
+     */
+    public DataTableEntity listMaterialV(String uuid, Integer capge, Integer pageSize) {
+        return baseDao.listTable("product_project_base_material_v","project_itemize_uuid=?",new String[]{uuid},null,null,pageSize, capge);
+    }
+    
+    /**
+     * 鏇村叿浠撳簱鍜屾潗鏂欒幏鍙栧簱瀛�
+     * @return
+     */
+    public FieldSetEntity findInventoryV(String warehouse_uuid, String material_uuid) {
+        return baseDao.getFieldSetByFilter("product_project_inventory_v","warehouse_uuid=? and uuid=?",new String[]{warehouse_uuid,material_uuid},false);
+    }
+    
+    /**
+     * 鏍规嵁椤圭洰uuid鑾峰彇椤圭洰鍒嗛」鏍戠粨鏋�
+     * @param uuid
+     * @return
+     */
+    public JSONArray getTreeProjectItem(String uuid) {
+        DataTableEntity dtProjectItemize = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_ITEM, "project_uuid=?", new Object[]{uuid}, new Object[]{CoreConst.UUID, Cmnconst.ITEMIZE, Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_PARENT_CODE});
+        DataTableEntity newDtProjectItem = BaseUtil.dataTableToTreeTable(dtProjectItemize, Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_PARENT_CODE, null);
+        JSONArray objects = BaseUtil.dataTableEntityToJson(newDtProjectItem);
+        JSONObject json = new JSONObject();
+        json.set("itemize", "椤圭洰鍒嗛儴鍒嗛」");
+        json.set("children", objects);
+        json.set("type", 1);
+        JSONArray array = new JSONArray();
+        array.add(json);
+        return array;
+    }
 }

--
Gitblit v1.9.2