From 4c5250f43aef07a5488241cc0ffc95c6af73f808 Mon Sep 17 00:00:00 2001 From: lst Date: Mon, 15 Jul 2024 11:31:51 +0800 Subject: [PATCH] 项目库管理开发 --- backend/chkpower/src/main/java/com/hotent/chkpower/controller/WProjectLibraryInventoryController.java | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ backend/chkpower/src/main/java/com/hotent/chkpower/controller/WProjectOperationRecordController.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ backend/chkpower/src/main/java/com/hotent/chkpower/dao/WProjectLibraryInventoryDao.java | 15 +++++++++++++++ backend/chkpower/src/main/java/com/hotent/chkpower/dao/WProjectOperationRecordDao.java | 15 +++++++++++++++ backend/chkpower/src/main/java/com/hotent/chkpower/manager/WAfterScriptManager.java | 2 ++ backend/chkpower/src/main/java/com/hotent/chkpower/manager/WProjectLibraryInventoryManager.java | 29 +++++++++++++++++++++++++++++ backend/chkpower/src/main/java/com/hotent/chkpower/manager/WProjectOperationRecordManager.java | 29 +++++++++++++++++++++++++++++ backend/chkpower/src/main/java/com/hotent/chkpower/manager/impl/WAfterScriptManagerImpl.java | 25 ++++++++++++++++++++----- backend/chkpower/src/main/java/com/hotent/chkpower/manager/impl/WProjectLibraryInventoryManagerImpl.java | 33 +++++++++++++++++++++++++++++++++ backend/chkpower/src/main/java/com/hotent/chkpower/manager/impl/WProjectOperationRecordManagerImpl.java | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ backend/chkpower/src/main/java/com/hotent/chkpower/model/WProjectLibraryInventory.java | 632 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ backend/chkpower/src/main/java/com/hotent/chkpower/model/WProjectOperationRecord.java | 163 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ backend/chkpower/src/main/java/com/hotent/chkpower/model/enums/EventTypeEnum.java | 42 ++++++++++++++++++++++++++++++++++++++++++ backend/chkpower/src/main/resources/doc/project_down.xls | Bin 0 -> 21504 bytes backend/chkpower/src/main/resources/mapper/WProjectLibraryInventoryMapper.xml | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ backend/chkpower/src/main/resources/mapper/WProjectOperationRecordMapper.xml | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 16 files changed, 1407 insertions(+), 5 deletions(-) create mode 100644 backend/chkpower/src/main/java/com/hotent/chkpower/controller/WProjectLibraryInventoryController.java create mode 100644 backend/chkpower/src/main/java/com/hotent/chkpower/controller/WProjectOperationRecordController.java create mode 100644 backend/chkpower/src/main/java/com/hotent/chkpower/dao/WProjectLibraryInventoryDao.java create mode 100644 backend/chkpower/src/main/java/com/hotent/chkpower/dao/WProjectOperationRecordDao.java create mode 100644 backend/chkpower/src/main/java/com/hotent/chkpower/manager/WProjectLibraryInventoryManager.java create mode 100644 backend/chkpower/src/main/java/com/hotent/chkpower/manager/WProjectOperationRecordManager.java create mode 100644 backend/chkpower/src/main/java/com/hotent/chkpower/manager/impl/WProjectLibraryInventoryManagerImpl.java create mode 100644 backend/chkpower/src/main/java/com/hotent/chkpower/manager/impl/WProjectOperationRecordManagerImpl.java create mode 100644 backend/chkpower/src/main/java/com/hotent/chkpower/model/WProjectLibraryInventory.java create mode 100644 backend/chkpower/src/main/java/com/hotent/chkpower/model/WProjectOperationRecord.java create mode 100644 backend/chkpower/src/main/java/com/hotent/chkpower/model/enums/EventTypeEnum.java create mode 100644 backend/chkpower/src/main/resources/doc/project_down.xls create mode 100644 backend/chkpower/src/main/resources/mapper/WProjectLibraryInventoryMapper.xml create mode 100644 backend/chkpower/src/main/resources/mapper/WProjectOperationRecordMapper.xml diff --git a/backend/chkpower/src/main/java/com/hotent/chkpower/controller/WProjectLibraryInventoryController.java b/backend/chkpower/src/main/java/com/hotent/chkpower/controller/WProjectLibraryInventoryController.java new file mode 100644 index 0000000..8835770 --- /dev/null +++ b/backend/chkpower/src/main/java/com/hotent/chkpower/controller/WProjectLibraryInventoryController.java @@ -0,0 +1,161 @@ +package com.hotent.chkpower.controller; + + +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.TemplateExportParams; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.hotent.base.controller.BaseController; +import com.hotent.base.model.CommonResult; +import com.hotent.base.util.StringUtil; +import com.hotent.chkpower.manager.WProjectLibraryInventoryManager; +import com.hotent.chkpower.model.WProjectLibraryInventory; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.apache.poi.ss.usermodel.Workbook; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +/** + * 项目库清单 前端控制器 + * + * @author admin + * @company 广州宏天软件股份有限公司 + * @since 2024-07-12 + */ +@RestController +@RequestMapping("/wProjectLibraryInventory/v1/") +public class WProjectLibraryInventoryController extends BaseController { + + /** + * 根据id获取项目库清单数据详情 + * + * @param id + * @return + * @throws Exception ModelAndView + */ + @GetMapping(value = "/getDetail") + @ApiOperation(value = "根据id获取项目库清单数据详情", httpMethod = "GET", notes = "根据id获取项目库清单数据详情") + public CommonResult getDetail(@ApiParam(name = "id", value = "业务对象主键", required = true) @RequestParam(required = true) String id) throws Exception { + return CommonResult.ok().value(baseService.getDetail(id)); + } + + /** + * 新增,更新项目库清单 + * + * @param wProjectLibraryInventory + * @return + * @throws Exception + * @throws + */ + @PostMapping(value = "/save") + @ApiOperation(value = "新增,更新项目库清单数据", httpMethod = "POST", notes = "新增,更新项目库清单数据") + public CommonResult save(@ApiParam(name = "WProjectLibraryInventory", value = "项目库清单对象", required = true) @RequestBody WProjectLibraryInventory wProjectLibraryInventory) throws Exception { + String msg = StringUtil.isEmpty(wProjectLibraryInventory.getId()) ? "添加项目库清单成功" : "更新项目库清单成功"; + baseService.createOrUpdate(wProjectLibraryInventory); + return CommonResult.ok().message(msg); + } + + @GetMapping("/down") + public void down(HttpServletResponse response, WProjectLibraryInventory wProjectLibraryInventory) throws Exception { + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (ObjectUtils.isNotEmpty(wProjectLibraryInventory.getFProjectNo())) { + queryWrapper.eq("F_project_no", wProjectLibraryInventory.getFProjectNo()); + } + if (ObjectUtils.isNotEmpty(wProjectLibraryInventory.getFProjectName())) { + queryWrapper.like("F_project_name", wProjectLibraryInventory.getFProjectName()); + } + if (ObjectUtils.isNotEmpty(wProjectLibraryInventory.getFProjectCategory())) { + queryWrapper.eq("F_project_category", wProjectLibraryInventory.getFProjectCategory()); + } + if (ObjectUtils.isNotEmpty(wProjectLibraryInventory.getFProjectState())) { + queryWrapper.eq("F_project_state", wProjectLibraryInventory.getFProjectState()); + } + if (ObjectUtils.isNotEmpty(wProjectLibraryInventory.getCreateTime())) { + queryWrapper.like("F_create_time", wProjectLibraryInventory.getCreateTime()); + } + if (ObjectUtils.isNotEmpty(wProjectLibraryInventory.getFProjectNature())) { + queryWrapper.eq("F_project_nature", wProjectLibraryInventory.getFProjectNature()); + } + if (ObjectUtils.isNotEmpty(wProjectLibraryInventory.getFBusinessScenarios())) { + queryWrapper.eq("F_business_scenarios", wProjectLibraryInventory.getFBusinessScenarios()); + } + if (ObjectUtils.isNotEmpty(wProjectLibraryInventory.getFBusinessModel())) { + queryWrapper.eq("F_business_model", wProjectLibraryInventory.getFBusinessModel()); + } + if (ObjectUtils.isNotEmpty(wProjectLibraryInventory.getFProjectRating())) { + queryWrapper.eq("F_project_rating", wProjectLibraryInventory.getFProjectRating()); + } + if (ObjectUtils.isNotEmpty(wProjectLibraryInventory.getUpdateTime())) { + queryWrapper.like("F_update_time", wProjectLibraryInventory.getUpdateTime()); + } + List list = baseService.list(queryWrapper); + HashMap map = new HashMap<>(); + ArrayList hashMaps = new ArrayList<>(); + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + for (WProjectLibraryInventory projectLibraryInventory : list) { + HashMap mapSon = new HashMap<>(); + mapSon.put("projectNo", projectLibraryInventory.getFProjectNo()); + mapSon.put("projectCompany", projectLibraryInventory.getFProjectCompany()); + mapSon.put("warehouseEntryDate", ObjectUtils.isNotEmpty(projectLibraryInventory.getFWarehouseEntryDate()) ? projectLibraryInventory.getFWarehouseEntryDate().format(dateTimeFormatter) : ""); + mapSon.put("projectName", projectLibraryInventory.getFProjectName()); + mapSon.put("projectCategory", projectLibraryInventory.getFProjectCategory()); + mapSon.put("smartHeating", ObjectUtils.isEmpty(projectLibraryInventory.getFSmartHeating()) ? "" : projectLibraryInventory.getFSmartHeating()); + mapSon.put("energyEfficiency", ObjectUtils.isEmpty(projectLibraryInventory.getFEnergyEfficiency()) ? "" : projectLibraryInventory.getFEnergyEfficiency()); + mapSon.put("photovoltaic", ObjectUtils.isEmpty(projectLibraryInventory.getFPhotovoltaic()) ? "" : projectLibraryInventory.getFPhotovoltaic()); + mapSon.put("energyStorage", ObjectUtils.isEmpty(projectLibraryInventory.getFEnergyStorage()) ? "" : projectLibraryInventory.getFEnergyStorage()); + mapSon.put("projectNature", projectLibraryInventory.getFProjectNature()); + mapSon.put("businessScenarios", projectLibraryInventory.getFBusinessScenarios()); + mapSon.put("projectOverview", projectLibraryInventory.getFProjectOverview()); + mapSon.put("projectDebriefing", projectLibraryInventory.getFProjectDebriefing()); + mapSon.put("deviationAnalysis", projectLibraryInventory.getFDeviationAnalysis()); + mapSon.put("businessModel", projectLibraryInventory.getFBusinessModel()); + mapSon.put("investmentScale", projectLibraryInventory.getFInvestmentScale()); + mapSon.put("projectRating", projectLibraryInventory.getFProjectRating()); + mapSon.put("staticPaybackPeriod", ObjectUtils.isEmpty(projectLibraryInventory.getFStaticPaybackPeriod()) ? "/" : projectLibraryInventory.getFStaticPaybackPeriod()); + mapSon.put("calculateIRR", ObjectUtils.isEmpty(projectLibraryInventory.getFCalculateIrr()) ? "/" : projectLibraryInventory.getFCalculateIrr()); + mapSon.put("annualIncomeForecast", projectLibraryInventory.getFAnnualIncomeForecast()); + mapSon.put("annualNetProfitForecast", projectLibraryInventory.getFAnnualIncomeForecast()); + mapSon.put("teamLeader", projectLibraryInventory.getFTeamLeader()); + mapSon.put("teamCollaborationPer", projectLibraryInventory.getFTeamCollaborationPer()); + mapSon.put("expectedSigningDate", ObjectUtils.isEmpty(projectLibraryInventory.getFExpectedSigningDate()) ? "待定" : projectLibraryInventory.getFExpectedSigningDate().format(dateTimeFormatter)); + mapSon.put("expectedScheduledDate", ObjectUtils.isEmpty(projectLibraryInventory.getFExpectedScheduledDate()) ? "待定" : projectLibraryInventory.getFExpectedScheduledDate().format(dateTimeFormatter)); + mapSon.put("strategicValue", ObjectUtils.isEmpty(projectLibraryInventory.getFStrategicValue()) ? "无" : projectLibraryInventory.getFStrategicValue()); + mapSon.put("projectSource", projectLibraryInventory.getFProjectSource()); + mapSon.put("customerContact", projectLibraryInventory.getFCustomerContact()); + mapSon.put("projectState", projectLibraryInventory.getFProjectState()); + hashMaps.add(mapSon); + } + map.put("list", hashMaps); + + TemplateExportParams params = new TemplateExportParams("doc/project_down.xls"); + params.setColForEach(true); + Workbook workbook = ExcelExportUtil.exportExcel(params, map); + String filedisplay = "项目填报" + LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")) + ".xls"; + response.setContentType("APPLICATION/OCTET-STREAM"); + response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); + response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(filedisplay, "utf-8")); + OutputStream os = null; + try { + os = response.getOutputStream(); + workbook.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (os != null) + os.close(); + } + + } + +} diff --git a/backend/chkpower/src/main/java/com/hotent/chkpower/controller/WProjectOperationRecordController.java b/backend/chkpower/src/main/java/com/hotent/chkpower/controller/WProjectOperationRecordController.java new file mode 100644 index 0000000..0054f71 --- /dev/null +++ b/backend/chkpower/src/main/java/com/hotent/chkpower/controller/WProjectOperationRecordController.java @@ -0,0 +1,52 @@ +package com.hotent.chkpower.controller; + + +import com.hotent.base.controller.BaseController; +import com.hotent.base.model.CommonResult; +import com.hotent.base.util.StringUtil; +import com.hotent.chkpower.manager.WProjectOperationRecordManager; +import com.hotent.chkpower.model.WProjectOperationRecord; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.web.bind.annotation.*; + +/** + * 项目操作记录 前端控制器 + * + * @author admin + * @company 广州宏天软件股份有限公司 + * @since 2024-07-12 + */ +@RestController +@RequestMapping("/wProjectOperationRecord/v1/") +public class WProjectOperationRecordController extends BaseController { + + /** + * 根据id获取项目操作记录数据详情 + * + * @param id + * @return + * @throws Exception ModelAndView + */ + @GetMapping(value = "/getDetail") + @ApiOperation(value = "根据id获取项目操作记录数据详情", httpMethod = "GET", notes = "根据id获取项目操作记录数据详情") + public CommonResult getDetail(@ApiParam(name = "id", value = "业务对象主键", required = true) @RequestParam(required = true) String id) throws Exception { + return CommonResult.ok().value(baseService.getDetail(id)); + } + + /** + * 新增,更新项目操作记录 + * + * @param wProjectOperationRecord + * @return + * @throws Exception + * @throws + */ + @PostMapping(value = "/save") + @ApiOperation(value = "新增,更新项目操作记录数据", httpMethod = "POST", notes = "新增,更新项目操作记录数据") + public CommonResult save(@ApiParam(name = "WProjectOperationRecord", value = "项目操作记录对象", required = true) @RequestBody WProjectOperationRecord wProjectOperationRecord) throws Exception { + String msg = StringUtil.isEmpty(wProjectOperationRecord.getId()) ? "添加项目操作记录成功" : "更新项目操作记录成功"; + baseService.createOrUpdate(wProjectOperationRecord); + return CommonResult.ok().message(msg); + } +} diff --git a/backend/chkpower/src/main/java/com/hotent/chkpower/dao/WProjectLibraryInventoryDao.java b/backend/chkpower/src/main/java/com/hotent/chkpower/dao/WProjectLibraryInventoryDao.java new file mode 100644 index 0000000..f88d4de --- /dev/null +++ b/backend/chkpower/src/main/java/com/hotent/chkpower/dao/WProjectLibraryInventoryDao.java @@ -0,0 +1,15 @@ +package com.hotent.chkpower.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.hotent.chkpower.model.WProjectLibraryInventory; + +/** + * 项目库清单 Mapper 接口 + * + * @author admin + * @company 广州宏天软件股份有限公司 + * @since 2024-07-12 + */ +public interface WProjectLibraryInventoryDao extends BaseMapper { + +} diff --git a/backend/chkpower/src/main/java/com/hotent/chkpower/dao/WProjectOperationRecordDao.java b/backend/chkpower/src/main/java/com/hotent/chkpower/dao/WProjectOperationRecordDao.java new file mode 100644 index 0000000..bb661d2 --- /dev/null +++ b/backend/chkpower/src/main/java/com/hotent/chkpower/dao/WProjectOperationRecordDao.java @@ -0,0 +1,15 @@ +package com.hotent.chkpower.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.hotent.chkpower.model.WProjectOperationRecord; + +/** + * 项目操作记录 Mapper 接口 + * + * @author admin + * @company 广州宏天软件股份有限公司 + * @since 2024-07-12 + */ +public interface WProjectOperationRecordDao extends BaseMapper { + +} diff --git a/backend/chkpower/src/main/java/com/hotent/chkpower/manager/WAfterScriptManager.java b/backend/chkpower/src/main/java/com/hotent/chkpower/manager/WAfterScriptManager.java index 1c7fc5c..689dc45 100644 --- a/backend/chkpower/src/main/java/com/hotent/chkpower/manager/WAfterScriptManager.java +++ b/backend/chkpower/src/main/java/com/hotent/chkpower/manager/WAfterScriptManager.java @@ -9,4 +9,6 @@ public interface WAfterScriptManager { void editFinance(Map map); + void createWProjectOperationRecord(Map map); + } diff --git a/backend/chkpower/src/main/java/com/hotent/chkpower/manager/WProjectLibraryInventoryManager.java b/backend/chkpower/src/main/java/com/hotent/chkpower/manager/WProjectLibraryInventoryManager.java new file mode 100644 index 0000000..9fd1101 --- /dev/null +++ b/backend/chkpower/src/main/java/com/hotent/chkpower/manager/WProjectLibraryInventoryManager.java @@ -0,0 +1,29 @@ +package com.hotent.chkpower.manager; + +import com.hotent.base.manager.BaseManager; +import com.hotent.chkpower.model.WProjectLibraryInventory; + +/** + * 项目库清单 服务类 + * + * @author admin + * @company 广州宏天软件股份有限公司 + * @since 2024-07-12 + */ +public interface WProjectLibraryInventoryManager extends BaseManager { + /** + * 根据主键获取详情 + * + * @param id + * @return + */ + WProjectLibraryInventory getDetail(String id); + + /** + * 新建、更新项目库清单 + * + * @param wProjectLibraryInventory + * @return + */ + void createOrUpdate(WProjectLibraryInventory wProjectLibraryInventory); +} diff --git a/backend/chkpower/src/main/java/com/hotent/chkpower/manager/WProjectOperationRecordManager.java b/backend/chkpower/src/main/java/com/hotent/chkpower/manager/WProjectOperationRecordManager.java new file mode 100644 index 0000000..79d2671 --- /dev/null +++ b/backend/chkpower/src/main/java/com/hotent/chkpower/manager/WProjectOperationRecordManager.java @@ -0,0 +1,29 @@ +package com.hotent.chkpower.manager; + +import com.hotent.base.manager.BaseManager; +import com.hotent.chkpower.model.WProjectOperationRecord; + +/** + * 项目操作记录 服务类 + * + * @author admin + * @company 广州宏天软件股份有限公司 + * @since 2024-07-12 + */ +public interface WProjectOperationRecordManager extends BaseManager { + /** + * 根据主键获取详情 + * + * @param id + * @return + */ + WProjectOperationRecord getDetail(String id); + + /** + * 新建、更新项目操作记录 + * + * @param wProjectOperationRecord + * @return + */ + void createOrUpdate(WProjectOperationRecord wProjectOperationRecord); +} diff --git a/backend/chkpower/src/main/java/com/hotent/chkpower/manager/impl/WAfterScriptManagerImpl.java b/backend/chkpower/src/main/java/com/hotent/chkpower/manager/impl/WAfterScriptManagerImpl.java index 400d9ce..b387308 100644 --- a/backend/chkpower/src/main/java/com/hotent/chkpower/manager/impl/WAfterScriptManagerImpl.java +++ b/backend/chkpower/src/main/java/com/hotent/chkpower/manager/impl/WAfterScriptManagerImpl.java @@ -1,19 +1,20 @@ package com.hotent.chkpower.manager.impl; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.google.gson.Gson; -import com.google.gson.reflect.TypeToken; import com.hotent.chkpower.manager.WAfterScriptManager; import com.hotent.chkpower.manager.WDailyFundsManager; -import com.hotent.chkpower.model.WCurrent; +import com.hotent.chkpower.manager.WProjectOperationRecordManager; +import com.hotent.chkpower.model.WProjectOperationRecord; +import com.hotent.chkpower.model.enums.EventTypeEnum; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.activiti.engine.impl.util.json.JSONObject; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.lang.reflect.Type; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -30,7 +31,8 @@ import java.util.Map; public class WAfterScriptManagerImpl implements WAfterScriptManager { @Resource private WDailyFundsManager wDailyFundsManager; - + @Resource + private WProjectOperationRecordManager wProjectOperationRecordManager; @Override public void editCurrentReport(Map map) { @@ -54,6 +56,19 @@ public class WAfterScriptManagerImpl implements WAfterScriptManager { wDailyFundsManager.editWDailyFunds(list, date); } + @Override + public void createWProjectOperationRecord(Map map) { + String project_state = String.valueOf(map.get("project_state")); + String projectId = String.valueOf(map.get("id")); + List list = wProjectOperationRecordManager.list(Wrappers.lambdaQuery().eq(WProjectOperationRecord::getFProjectId, projectId).eq(WProjectOperationRecord::getFEventType, EventTypeEnum.tibao.getInfo())); + if ("待入库".equals(project_state) && ObjectUtils.isEmpty(list)) { + WProjectOperationRecord wProjectOperationRecord = new WProjectOperationRecord(); + wProjectOperationRecord.setFProjectId(projectId); + wProjectOperationRecord.setFEventType(EventTypeEnum.tibao.getCode()); + wProjectOperationRecordManager.createOrUpdate(wProjectOperationRecord); + } + } + private static LocalDateTime convertStringToLocalDateTime(String dateString) { String datePart = dateString.substring(0, 10); diff --git a/backend/chkpower/src/main/java/com/hotent/chkpower/manager/impl/WProjectLibraryInventoryManagerImpl.java b/backend/chkpower/src/main/java/com/hotent/chkpower/manager/impl/WProjectLibraryInventoryManagerImpl.java new file mode 100644 index 0000000..cdfad1f --- /dev/null +++ b/backend/chkpower/src/main/java/com/hotent/chkpower/manager/impl/WProjectLibraryInventoryManagerImpl.java @@ -0,0 +1,33 @@ +package com.hotent.chkpower.manager.impl; + +import com.hotent.base.manager.impl.BaseManagerImpl; +import com.hotent.chkpower.dao.WProjectLibraryInventoryDao; +import com.hotent.chkpower.manager.WProjectLibraryInventoryManager; +import com.hotent.chkpower.model.WProjectLibraryInventory; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + + +/** + * 项目库清单 服务实现类 + * + * @author admin + * @company 广州宏天软件股份有限公司 + * @since 2024-07-12 + */ +@Service +public class WProjectLibraryInventoryManagerImpl extends BaseManagerImpl implements WProjectLibraryInventoryManager { + + @Override + public WProjectLibraryInventory getDetail(String id) { + WProjectLibraryInventory wProjectLibraryInventory = this.get(id); + return wProjectLibraryInventory; + } + + @Override + @Transactional + public void createOrUpdate(WProjectLibraryInventory wProjectLibraryInventory) { + //新建或更新 + this.saveOrUpdate(wProjectLibraryInventory); + } +} diff --git a/backend/chkpower/src/main/java/com/hotent/chkpower/manager/impl/WProjectOperationRecordManagerImpl.java b/backend/chkpower/src/main/java/com/hotent/chkpower/manager/impl/WProjectOperationRecordManagerImpl.java new file mode 100644 index 0000000..fba8e8a --- /dev/null +++ b/backend/chkpower/src/main/java/com/hotent/chkpower/manager/impl/WProjectOperationRecordManagerImpl.java @@ -0,0 +1,88 @@ +package com.hotent.chkpower.manager.impl; + +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.hotent.base.manager.impl.BaseManagerImpl; +import com.hotent.chkpower.dao.WProjectLibraryInventoryDao; +import com.hotent.chkpower.dao.WProjectOperationRecordDao; +import com.hotent.chkpower.manager.WProjectOperationRecordManager; +import com.hotent.chkpower.model.WProjectLibraryInventory; +import com.hotent.chkpower.model.WProjectOperationRecord; +import com.hotent.chkpower.model.enums.EventTypeEnum; +import com.hotent.runtime.script.ScriptImpl; +import com.hotent.uc.api.model.IUser; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.time.LocalDateTime; + + +/** + * 项目操作记录 服务实现类 + * + * @author admin + * @company 广州宏天软件股份有限公司 + * @since 2024-07-12 + */ +@Transactional(rollbackFor = Exception.class) +@Service +public class WProjectOperationRecordManagerImpl extends BaseManagerImpl implements WProjectOperationRecordManager { + + @Resource + private WProjectLibraryInventoryDao projectLibraryInventoryDao; + @Resource + private ScriptImpl script; + + @Override + public WProjectOperationRecord getDetail(String id) { + WProjectOperationRecord wProjectOperationRecord = this.get(id); + return wProjectOperationRecord; + } + + @Override + @Transactional + public void createOrUpdate(WProjectOperationRecord wProjectOperationRecord) { + //新建或更新 + if (ObjectUtils.isEmpty(wProjectOperationRecord.getFEventType())) { + throw new RuntimeException("请填写事件类型"); + } + if (ObjectUtils.isEmpty(wProjectOperationRecord.getFProjectId())) { + throw new RuntimeException("请填写项目id"); + } + EventTypeEnum eventTypeEnum = null; + try { + eventTypeEnum = EventTypeEnum.valueOf(wProjectOperationRecord.getFEventType()); + } catch (Exception e) { + throw new RuntimeException("事件类型不存在"); + } + if (eventTypeEnum == null) { + throw new RuntimeException("事件类型不存在"); + } + WProjectLibraryInventory wProjectLibraryInventory = projectLibraryInventoryDao.selectById(wProjectOperationRecord.getFProjectId()); + if (ObjectUtils.isEmpty(wProjectLibraryInventory)) { + throw new RuntimeException("项目库清单不存在"); + } + IUser currentUser = script.getCurrentUser(); + wProjectOperationRecord.setFCreateBy(currentUser.getFullname()); + wProjectOperationRecord.setFCreateById(currentUser.getUserId()); + wProjectOperationRecord.setFCreateTime(LocalDateTime.now()); + + wProjectOperationRecord.setFEventType(eventTypeEnum.getInfo()); + if (EventTypeEnum.tibao.getCode().equals(eventTypeEnum.getCode())) { + wProjectOperationRecord.setFProgressStatus(null); + } else if (EventTypeEnum.zuofei.getCode().equals(eventTypeEnum.getCode())) { + wProjectOperationRecord.setFProgressStatus(null); + wProjectLibraryInventory.setFProjectState("已作废"); + } else if (EventTypeEnum.ruku.getCode().equals(eventTypeEnum.getCode())) { + wProjectOperationRecord.setFProgressStatus(null); + wProjectLibraryInventory.setFProjectState("已入库"); + } else if (EventTypeEnum.xiangmujinzhan.getCode().equals(eventTypeEnum.getCode())) { + wProjectLibraryInventory.setFProjectDebriefing(wProjectLibraryInventory.getFProjectDebriefing() + "\n" + wProjectOperationRecord.getFProgressStatus()); + } else if (EventTypeEnum.chuku.getCode().equals(eventTypeEnum.getCode())) { + wProjectOperationRecord.setFProgressStatus(null); + wProjectLibraryInventory.setFProjectState("已出库"); + } + this.saveOrUpdate(wProjectOperationRecord); + projectLibraryInventoryDao.updateById(wProjectLibraryInventory); + } +} diff --git a/backend/chkpower/src/main/java/com/hotent/chkpower/model/WProjectLibraryInventory.java b/backend/chkpower/src/main/java/com/hotent/chkpower/model/WProjectLibraryInventory.java new file mode 100644 index 0000000..bb9f043 --- /dev/null +++ b/backend/chkpower/src/main/java/com/hotent/chkpower/model/WProjectLibraryInventory.java @@ -0,0 +1,632 @@ +package com.hotent.chkpower.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.hotent.base.entity.BaseModel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 项目库清单 + * + * @author admin + * @company 广州宏天软件股份有限公司 + * @since 2024-07-12 + */ +@ApiModel(value = "WProjectLibraryInventory对象", description = "项目库清单") +public class WProjectLibraryInventory extends BaseModel { + + private static final long serialVersionUID = 1L; + @ApiModelProperty(value = "主键") + @TableId(value = "ID_", type = IdType.ASSIGN_ID) + @JsonProperty("id") + private String id; + + @ApiModelProperty(value = "外键") + @TableField("REF_ID_") + @JsonProperty("refId") + private String refId; + + @ApiModelProperty(value = "项目公司或代表处") + @TableField("F_project_company") + @JsonProperty("fProjectCompany") + private String fProjectCompany; + + @ApiModelProperty(value = "入库时间") + @TableField("F_warehouse_entry_date") + @JsonProperty("fWarehouseEntryDate") + private LocalDateTime fWarehouseEntryDate; + + @ApiModelProperty(value = "项目名称") + @TableField("F_project_name") + @JsonProperty("fProjectName") + private String fProjectName; + + @ApiModelProperty(value = "项目类别") + @TableField("F_project_category") + @JsonProperty("fProjectCategory") + private String fProjectCategory; + + @ApiModelProperty(value = "业务场景") + @TableField("F_business_scenarios") + @JsonProperty("fBusinessScenarios") + private String fBusinessScenarios; + + @ApiModelProperty(value = "万㎡/智慧供热") + @TableField("F_smart_heating") + @JsonProperty("fSmartHeating") + private String fSmartHeating; + + @ApiModelProperty(value = "万KWh/综合能效") + @TableField("F_energy_efficiency") + @JsonProperty("fEnergyEfficiency") + private String fEnergyEfficiency; + + @ApiModelProperty(value = "MW/光伏") + @TableField("F_photovoltaic") + @JsonProperty("fPhotovoltaic") + private String fPhotovoltaic; + + @ApiModelProperty(value = "MWh/储能") + @TableField("F_energy_storage") + @JsonProperty("fEnergyStorage") + private String fEnergyStorage; + + @ApiModelProperty(value = "项目性质") + @TableField("F_project_nature") + @JsonProperty("fProjectNature") + private String fProjectNature; + + @ApiModelProperty(value = "商务模式") + @TableField("F_business_model") + @JsonProperty("fBusinessModel") + private String fBusinessModel; + + @ApiModelProperty(value = "投资规模(万元)") + @TableField("F_investment_scale") + @JsonProperty("fInvestmentScale") + private String fInvestmentScale; + + @ApiModelProperty(value = "项目评级") + @TableField("F_project_rating") + @JsonProperty("fProjectRating") + private String fProjectRating; + + @ApiModelProperty(value = "静态回收期") + @TableField("F_static_payback_period") + @JsonProperty("fStaticPaybackPeriod") + private String fStaticPaybackPeriod; + + @ApiModelProperty(value = "测算IRR") + @TableField("F_calculate_IRR") + @JsonProperty("fCalculateIrr") + private String fCalculateIrr; + + @ApiModelProperty(value = "年收入预测(万元)") + @TableField("F_annual_income_forecast") + @JsonProperty("fAnnualIncomeForecast") + private String fAnnualIncomeForecast; + + @ApiModelProperty(value = "年净利润预测(万元)") + @TableField("F_annual_net_profit_forecast") + @JsonProperty("fAnnualNetProfitForecast") + private String fAnnualNetProfitForecast; + + @ApiModelProperty(value = " 团队负责人") + @TableField("F_team_leader") + @JsonProperty("fTeamLeader") + private String fTeamLeader; + + @ApiModelProperty(value = " 团队负责人id") + @TableField("F_team_leader_id") + @JsonProperty("fTeamLeaderId") + private String fTeamLeaderId; + + @ApiModelProperty(value = "团队协同人员") + @TableField("F_team_collaboration_per") + @JsonProperty("fTeamCollaborationPer") + private String fTeamCollaborationPer; + + @ApiModelProperty(value = "团队协同人员id") + @TableField("F_team_collaboration_per_id") + @JsonProperty("fTeamCollaborationPerId") + private String fTeamCollaborationPerId; + + @ApiModelProperty(value = "预计签约时间") + @TableField("F_expected_signing_date") + @JsonProperty("fExpectedSigningDate") + private LocalDateTime fExpectedSigningDate; + + @ApiModelProperty(value = "预计开工时间") + @TableField("F_expected_scheduled_date") + @JsonProperty("fExpectedScheduledDate") + private LocalDateTime fExpectedScheduledDate; + + @ApiModelProperty(value = "战略价值") + @TableField("F_strategic_value") + @JsonProperty("fStrategicValue") + private String fStrategicValue; + + @ApiModelProperty(value = "项目来源") + @TableField("F_project_source") + @JsonProperty("fProjectSource") + private String fProjectSource; + + @ApiModelProperty(value = "客户联系人/职位") + @TableField("F_customer_contact") + @JsonProperty("fCustomerContact") + private String fCustomerContact; + + @ApiModelProperty(value = "项目概况") + @TableField("F_project_overview") + @JsonProperty("fProjectOverview") + private String fProjectOverview; + + @ApiModelProperty(value = "项目进展") + @TableField("F_project_debriefing") + @JsonProperty("fProjectDebriefing") + private String fProjectDebriefing; + + @ApiModelProperty(value = "偏差分析") + @TableField("F_deviation_analysis") + @JsonProperty("fDeviationAnalysis") + private String fDeviationAnalysis; + + @ApiModelProperty(value = "项目状态") + @TableField("F_project_state") + @JsonProperty("fProjectState") + private String fProjectState; + + @ApiModelProperty(value = "创建人") + @TableField("F_create_by") + @JsonProperty("fCreateBy") + private String fCreateBy; + + @ApiModelProperty(value = "创建人id") + @TableField("F_create_by_id") + @JsonProperty("fCreateById") + private String fCreateById; + + @ApiModelProperty(value = "创建时间") + @TableField("F_create_time") + @JsonProperty("fCreateTime") + private LocalDateTime fCreateTime; + + @ApiModelProperty(value = "修改人") + @TableField("F_update_by") + @JsonProperty("fUpdateBy") + private String fUpdateBy; + + @ApiModelProperty(value = "修改人id") + @TableField("F_update_by_id") + @JsonProperty("fUpdateById") + private String fUpdateById; + + @ApiModelProperty(value = "修改时间") + @TableField("F_update_time") + @JsonProperty("fUpdateTime") + private LocalDateTime fUpdateTime; + + @ApiModelProperty(value = "表单数据版本") + @TableField("F_form_data_rev_") + @JsonProperty("fFormDataRev") + private Long fFormDataRev; + + @ApiModelProperty(value = "项目编号") + @TableField("F_project_no") + @JsonProperty("fProjectNo") + private String fProjectNo; + + @ApiModelProperty(value = "组织id") + @TableField("F_org_id") + @JsonProperty("fOrgId") + private String fOrgId; + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + @TableField(exist = false) + private String createTime; + @TableField(exist = false) + private String updateTime; + + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getRefId() { + return refId; + } + + public void setRefId(String refId) { + this.refId = refId; + } + + public String getFProjectCompany() { + return fProjectCompany; + } + + public void setFProjectCompany(String fProjectCompany) { + this.fProjectCompany = fProjectCompany; + } + + public LocalDateTime getFWarehouseEntryDate() { + return fWarehouseEntryDate; + } + + public void setFWarehouseEntryDate(LocalDateTime fWarehouseEntryDate) { + this.fWarehouseEntryDate = fWarehouseEntryDate; + } + + public String getFProjectName() { + return fProjectName; + } + + public void setFProjectName(String fProjectName) { + this.fProjectName = fProjectName; + } + + public String getFProjectCategory() { + return fProjectCategory; + } + + public void setFProjectCategory(String fProjectCategory) { + this.fProjectCategory = fProjectCategory; + } + + public String getFBusinessScenarios() { + return fBusinessScenarios; + } + + public void setFBusinessScenarios(String fBusinessScenarios) { + this.fBusinessScenarios = fBusinessScenarios; + } + + public String getFSmartHeating() { + return fSmartHeating; + } + + public void setFSmartHeating(String fSmartHeating) { + this.fSmartHeating = fSmartHeating; + } + + public String getFEnergyEfficiency() { + return fEnergyEfficiency; + } + + public void setFEnergyEfficiency(String fEnergyEfficiency) { + this.fEnergyEfficiency = fEnergyEfficiency; + } + + public String getFPhotovoltaic() { + return fPhotovoltaic; + } + + public void setFPhotovoltaic(String fPhotovoltaic) { + this.fPhotovoltaic = fPhotovoltaic; + } + + public String getFEnergyStorage() { + return fEnergyStorage; + } + + public void setFEnergyStorage(String fEnergyStorage) { + this.fEnergyStorage = fEnergyStorage; + } + + public String getFProjectNature() { + return fProjectNature; + } + + public void setFProjectNature(String fProjectNature) { + this.fProjectNature = fProjectNature; + } + + public String getFBusinessModel() { + return fBusinessModel; + } + + public void setFBusinessModel(String fBusinessModel) { + this.fBusinessModel = fBusinessModel; + } + + public String getFInvestmentScale() { + return fInvestmentScale; + } + + public void setFInvestmentScale(String fInvestmentScale) { + this.fInvestmentScale = fInvestmentScale; + } + + public String getFProjectRating() { + return fProjectRating; + } + + public void setFProjectRating(String fProjectRating) { + this.fProjectRating = fProjectRating; + } + + public String getFStaticPaybackPeriod() { + return fStaticPaybackPeriod; + } + + public void setFStaticPaybackPeriod(String fStaticPaybackPeriod) { + this.fStaticPaybackPeriod = fStaticPaybackPeriod; + } + + public String getFCalculateIrr() { + return fCalculateIrr; + } + + public void setFCalculateIrr(String fCalculateIrr) { + this.fCalculateIrr = fCalculateIrr; + } + + public String getFAnnualIncomeForecast() { + return fAnnualIncomeForecast; + } + + public void setFAnnualIncomeForecast(String fAnnualIncomeForecast) { + this.fAnnualIncomeForecast = fAnnualIncomeForecast; + } + + public String getFAnnualNetProfitForecast() { + return fAnnualNetProfitForecast; + } + + public void setFAnnualNetProfitForecast(String fAnnualNetProfitForecast) { + this.fAnnualNetProfitForecast = fAnnualNetProfitForecast; + } + + public String getFTeamLeader() { + return fTeamLeader; + } + + public void setFTeamLeader(String fTeamLeader) { + this.fTeamLeader = fTeamLeader; + } + + public String getFTeamLeaderId() { + return fTeamLeaderId; + } + + public void setFTeamLeaderId(String fTeamLeaderId) { + this.fTeamLeaderId = fTeamLeaderId; + } + + public String getFTeamCollaborationPer() { + return fTeamCollaborationPer; + } + + public void setFTeamCollaborationPer(String fTeamCollaborationPer) { + this.fTeamCollaborationPer = fTeamCollaborationPer; + } + + public String getFTeamCollaborationPerId() { + return fTeamCollaborationPerId; + } + + public void setFTeamCollaborationPerId(String fTeamCollaborationPerId) { + this.fTeamCollaborationPerId = fTeamCollaborationPerId; + } + + public LocalDateTime getFExpectedSigningDate() { + return fExpectedSigningDate; + } + + public void setFExpectedSigningDate(LocalDateTime fExpectedSigningDate) { + this.fExpectedSigningDate = fExpectedSigningDate; + } + + public LocalDateTime getFExpectedScheduledDate() { + return fExpectedScheduledDate; + } + + public void setFExpectedScheduledDate(LocalDateTime fExpectedScheduledDate) { + this.fExpectedScheduledDate = fExpectedScheduledDate; + } + + public String getFStrategicValue() { + return fStrategicValue; + } + + public void setFStrategicValue(String fStrategicValue) { + this.fStrategicValue = fStrategicValue; + } + + public String getFProjectSource() { + return fProjectSource; + } + + public void setFProjectSource(String fProjectSource) { + this.fProjectSource = fProjectSource; + } + + public String getFCustomerContact() { + return fCustomerContact; + } + + public void setFCustomerContact(String fCustomerContact) { + this.fCustomerContact = fCustomerContact; + } + + public String getFProjectOverview() { + return fProjectOverview; + } + + public void setFProjectOverview(String fProjectOverview) { + this.fProjectOverview = fProjectOverview; + } + + public String getFProjectDebriefing() { + return fProjectDebriefing; + } + + public void setFProjectDebriefing(String fProjectDebriefing) { + this.fProjectDebriefing = fProjectDebriefing; + } + + public String getFDeviationAnalysis() { + return fDeviationAnalysis; + } + + public void setFDeviationAnalysis(String fDeviationAnalysis) { + this.fDeviationAnalysis = fDeviationAnalysis; + } + + public String getFProjectState() { + return fProjectState; + } + + public void setFProjectState(String fProjectState) { + this.fProjectState = fProjectState; + } + + public String getFCreateBy() { + return fCreateBy; + } + + public void setFCreateBy(String fCreateBy) { + this.fCreateBy = fCreateBy; + } + + public String getFCreateById() { + return fCreateById; + } + + public void setFCreateById(String fCreateById) { + this.fCreateById = fCreateById; + } + + public LocalDateTime getFCreateTime() { + return fCreateTime; + } + + public void setFCreateTime(LocalDateTime fCreateTime) { + this.fCreateTime = fCreateTime; + } + + public String getFUpdateBy() { + return fUpdateBy; + } + + public void setFUpdateBy(String fUpdateBy) { + this.fUpdateBy = fUpdateBy; + } + + public String getFUpdateById() { + return fUpdateById; + } + + public void setFUpdateById(String fUpdateById) { + this.fUpdateById = fUpdateById; + } + + public LocalDateTime getFUpdateTime() { + return fUpdateTime; + } + + public void setFUpdateTime(LocalDateTime fUpdateTime) { + this.fUpdateTime = fUpdateTime; + } + + public Long getFFormDataRev() { + return fFormDataRev; + } + + public void setFFormDataRev(Long fFormDataRev) { + this.fFormDataRev = fFormDataRev; + } + + public String getFProjectNo() { + return fProjectNo; + } + + public void setFProjectNo(String fProjectNo) { + this.fProjectNo = fProjectNo; + } + + public String getFOrgId() { + return fOrgId; + } + + public void setFOrgId(String fOrgId) { + this.fOrgId = fOrgId; + } + + + @Override + protected Serializable pkVal() { + return this.id; + } + + @Override + public String toString() { + return "WProjectLibraryInventory{" + + "id=" + id + + ", refId=" + refId + + ", fProjectCompany=" + fProjectCompany + + ", fWarehouseEntryDate=" + fWarehouseEntryDate + + ", fProjectName=" + fProjectName + + ", fProjectCategory=" + fProjectCategory + + ", fBusinessScenarios=" + fBusinessScenarios + + ", fSmartHeating=" + fSmartHeating + + ", fEnergyEfficiency=" + fEnergyEfficiency + + ", fPhotovoltaic=" + fPhotovoltaic + + ", fEnergyStorage=" + fEnergyStorage + + ", fProjectNature=" + fProjectNature + + ", fBusinessModel=" + fBusinessModel + + ", fInvestmentScale=" + fInvestmentScale + + ", fProjectRating=" + fProjectRating + + ", fStaticPaybackPeriod=" + fStaticPaybackPeriod + + ", fCalculateIrr=" + fCalculateIrr + + ", fAnnualIncomeForecast=" + fAnnualIncomeForecast + + ", fAnnualNetProfitForecast=" + fAnnualNetProfitForecast + + ", fTeamLeader=" + fTeamLeader + + ", fTeamLeaderId=" + fTeamLeaderId + + ", fTeamCollaborationPer=" + fTeamCollaborationPer + + ", fTeamCollaborationPerId=" + fTeamCollaborationPerId + + ", fExpectedSigningDate=" + fExpectedSigningDate + + ", fExpectedScheduledDate=" + fExpectedScheduledDate + + ", fStrategicValue=" + fStrategicValue + + ", fProjectSource=" + fProjectSource + + ", fCustomerContact=" + fCustomerContact + + ", fProjectOverview=" + fProjectOverview + + ", fProjectDebriefing=" + fProjectDebriefing + + ", fDeviationAnalysis=" + fDeviationAnalysis + + ", fProjectState=" + fProjectState + + ", fCreateBy=" + fCreateBy + + ", fCreateById=" + fCreateById + + ", fCreateTime=" + fCreateTime + + ", fUpdateBy=" + fUpdateBy + + ", fUpdateById=" + fUpdateById + + ", fUpdateTime=" + fUpdateTime + + ", fFormDataRev=" + fFormDataRev + + ", fProjectNo=" + fProjectNo + + ", fOrgId=" + fOrgId + + "}"; + } +} diff --git a/backend/chkpower/src/main/java/com/hotent/chkpower/model/WProjectOperationRecord.java b/backend/chkpower/src/main/java/com/hotent/chkpower/model/WProjectOperationRecord.java new file mode 100644 index 0000000..00a2eef --- /dev/null +++ b/backend/chkpower/src/main/java/com/hotent/chkpower/model/WProjectOperationRecord.java @@ -0,0 +1,163 @@ +package com.hotent.chkpower.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.hotent.base.entity.BaseModel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 项目操作记录 + * + * @author admin + * @company 广州宏天软件股份有限公司 + * @since 2024-07-12 + */ +@ApiModel(value = "WProjectOperationRecord对象", description = "项目操作记录") +public class WProjectOperationRecord extends BaseModel { + + private static final long serialVersionUID = 1L; + @ApiModelProperty(value = "主键") + @TableId(value = "ID_", type = IdType.ASSIGN_ID) + @JsonProperty("id") + private String id; + + @ApiModelProperty(value = "外键") + @TableField("REF_ID_") + @JsonProperty("refId") + private String refId; + + @ApiModelProperty(value = "项目id") + @TableField("F_project_id") + @JsonProperty("fProjectId") + private String fProjectId; + + @ApiModelProperty(value = "创建人") + @TableField("F_create_by") + @JsonProperty("fCreateBy") + private String fCreateBy; + + @ApiModelProperty(value = "创建人id") + @TableField("F_create_by_id") + @JsonProperty("fCreateById") + private String fCreateById; + + @ApiModelProperty(value = "创建时间") + @TableField("F_create_time") + @JsonProperty("fCreateTime") + private LocalDateTime fCreateTime; + + @ApiModelProperty(value = "事件类型") + @TableField("F_event_type") + @JsonProperty("fEventType") + private String fEventType; + + @ApiModelProperty(value = "进展情况") + @TableField("F_progress_status") + @JsonProperty("fProgressStatus") + private String fProgressStatus; + + @ApiModelProperty(value = "表单数据版本") + @TableField("F_form_data_rev_") + @JsonProperty("fFormDataRev") + private Long fFormDataRev; + + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getRefId() { + return refId; + } + + public void setRefId(String refId) { + this.refId = refId; + } + + public String getFProjectId() { + return fProjectId; + } + + public void setFProjectId(String fProjectId) { + this.fProjectId = fProjectId; + } + + public String getFCreateBy() { + return fCreateBy; + } + + public void setFCreateBy(String fCreateBy) { + this.fCreateBy = fCreateBy; + } + + public String getFCreateById() { + return fCreateById; + } + + public void setFCreateById(String fCreateById) { + this.fCreateById = fCreateById; + } + + public LocalDateTime getFCreateTime() { + return fCreateTime; + } + + public void setFCreateTime(LocalDateTime fCreateTime) { + this.fCreateTime = fCreateTime; + } + + public String getFEventType() { + return fEventType; + } + + public void setFEventType(String fEventType) { + this.fEventType = fEventType; + } + + public String getFProgressStatus() { + return fProgressStatus; + } + + public void setFProgressStatus(String fProgressStatus) { + this.fProgressStatus = fProgressStatus; + } + + public Long getFFormDataRev() { + return fFormDataRev; + } + + public void setFFormDataRev(Long fFormDataRev) { + this.fFormDataRev = fFormDataRev; + } + + + @Override + protected Serializable pkVal() { + return this.id; + } + + @Override + public String toString() { + return "WProjectOperationRecord{" + + "id=" + id + + ", refId=" + refId + + ", fProjectId=" + fProjectId + + ", fCreateBy=" + fCreateBy + + ", fCreateById=" + fCreateById + + ", fCreateTime=" + fCreateTime + + ", fEventType=" + fEventType + + ", fProgressStatus=" + fProgressStatus + + ", fFormDataRev=" + fFormDataRev + + "}"; + } +} diff --git a/backend/chkpower/src/main/java/com/hotent/chkpower/model/enums/EventTypeEnum.java b/backend/chkpower/src/main/java/com/hotent/chkpower/model/enums/EventTypeEnum.java new file mode 100644 index 0000000..4abb57a --- /dev/null +++ b/backend/chkpower/src/main/java/com/hotent/chkpower/model/enums/EventTypeEnum.java @@ -0,0 +1,42 @@ +package com.hotent.chkpower.model.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 安检类型 + */ +@AllArgsConstructor +@Getter +public enum EventTypeEnum { + + /** + * 提报 + */ + tibao("tibao", "提报"), + + /** + * 作废 + */ + zuofei("zuofei", "作废"), + + /** + * 入库 + */ + ruku("ruku", "入库"), + + /** + * 项目进展 + */ + xiangmujinzhan("xiangmujinzhan", "项目进展"), + + /** + * 出库 + */ + chuku("chuku", "出库"), + + ; + + private final String code; + private final String info; +} diff --git a/backend/chkpower/src/main/resources/doc/project_down.xls b/backend/chkpower/src/main/resources/doc/project_down.xls new file mode 100644 index 0000000..9685e5d Binary files /dev/null and b/backend/chkpower/src/main/resources/doc/project_down.xls differ diff --git a/backend/chkpower/src/main/resources/mapper/WProjectLibraryInventoryMapper.xml b/backend/chkpower/src/main/resources/mapper/WProjectLibraryInventoryMapper.xml new file mode 100644 index 0000000..11974b5 --- /dev/null +++ b/backend/chkpower/src/main/resources/mapper/WProjectLibraryInventoryMapper.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ID_, REF_ID_, F_project_company, F_warehouse_entry_date, F_project_name, F_project_category, F_business_scenarios, F_smart_heating, F_energy_efficiency, F_photovoltaic, F_energy_storage, F_project_nature, F_business_model, F_investment_scale, F_project_rating, F_static_payback_period, F_calculate_IRR, F_annual_income_forecast, F_annual_net_profit_forecast, F_team_leader, F_team_leader_id, F_team_collaboration_per, F_team_collaboration_per_id, F_expected_signing_date, F_expected_scheduled_date, F_strategic_value, F_project_source, F_customer_contact, F_project_overview, F_project_debriefing, F_deviation_analysis, F_project_state, F_create_by, F_create_by_id, F_create_time, F_update_by, F_update_by_id, F_update_time, F_form_data_rev_, F_project_no, F_org_id + + + + + + + + diff --git a/backend/chkpower/src/main/resources/mapper/WProjectOperationRecordMapper.xml b/backend/chkpower/src/main/resources/mapper/WProjectOperationRecordMapper.xml new file mode 100644 index 0000000..3207c3c --- /dev/null +++ b/backend/chkpower/src/main/resources/mapper/WProjectOperationRecordMapper.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + ID_, REF_ID_, F_project_id, F_create_by, F_create_by_id, F_create_time, F_event_type, F_progress_status, F_form_data_rev_ + + + + + + + + -- libgit2 0.21.2