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