diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/BaseApi/service/IBizBaseAPIService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/BaseApi/calculateAPI/service/IBizBaseAPIService.java similarity index 92% rename from jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/BaseApi/service/IBizBaseAPIService.java rename to jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/BaseApi/calculateAPI/service/IBizBaseAPIService.java index c35ed02a..71ce7f9d 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/BaseApi/service/IBizBaseAPIService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/BaseApi/calculateAPI/service/IBizBaseAPIService.java @@ -1,4 +1,4 @@ -package org.jeecg.modules.project.baseAPI.service; +package org.jeecg.modules.project.baseAPI.calculateAPI.service; import java.io.IOException; diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/BaseApi/service/impl/BizBaseAPIServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/BaseApi/calculateAPI/service/impl/BizBaseAPIServiceImpl.java similarity index 96% rename from jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/BaseApi/service/impl/BizBaseAPIServiceImpl.java rename to jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/BaseApi/calculateAPI/service/impl/BizBaseAPIServiceImpl.java index 625e5f2c..74663b9c 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/BaseApi/service/impl/BizBaseAPIServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/BaseApi/calculateAPI/service/impl/BizBaseAPIServiceImpl.java @@ -1,9 +1,9 @@ -package org.jeecg.modules.project.baseAPI.service.impl; +package org.jeecg.modules.project.baseAPI.calculateAPI.service.impl; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import org.jeecg.modules.project.baseAPI.service.IBizBaseAPIService; +import org.jeecg.modules.project.baseAPI.calculateAPI.service.IBizBaseAPIService; import org.jeecg.modules.project.baseConfig.bizEngineering.entity.BizEngineering; import org.jeecg.modules.project.baseConfig.bizEngineering.service.IBizEngineeringService; import org.jeecg.modules.project.calculateConfig.bizWrf.entity.BizWrf; diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/util/SFTPUtil.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/BaseApi/sftpAPI/SFTPUtil.java similarity index 93% rename from jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/util/SFTPUtil.java rename to jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/BaseApi/sftpAPI/SFTPUtil.java index 579e8950..a00da151 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/util/SFTPUtil.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/BaseApi/sftpAPI/SFTPUtil.java @@ -1,6 +1,7 @@ -package org.jeecg.modules.util; +package org.jeecg.modules.project.baseAPI.sftpAPI; import com.jcraft.jsch.*; +import org.springframework.beans.factory.annotation.Value; import java.io.*; import java.util.ArrayList; @@ -13,16 +14,18 @@ public class SFTPUtil { private ChannelSftp sftp; private Session session; - // SFTP 登录用户名 -// private String username = "xiongzheng"; - //SFTP 登录密码 -// private String password = "512109"; + + @Value("${spring.Linux.ip}") + private String ip; + @Value("${spring.Linux.username}") + private String username; + @Value("${spring.Linux.password}") + private String password; + @Value("${spring.Linux.port}") + private Integer port; + //私钥 private String privateKey; - //SFTP 服务器地址IP地址 -// private String host = "192.168.8.114"; - //SFTP 端口 -// private int port = 22; /** diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizAim/bizFacilityAim/controller/BizFacilityAimController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizAim/bizFacilityAim/controller/BizFacilityAimController.java index 5a066a83..fcabcda6 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizAim/bizFacilityAim/controller/BizFacilityAimController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizAim/bizFacilityAim/controller/BizFacilityAimController.java @@ -20,7 +20,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.system.base.controller.JeecgController; -import org.jeecg.modules.project.baseAPI.service.IBizBaseAPIService; +import org.jeecg.modules.project.baseAPI.calculateAPI.service.IBizBaseAPIService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizEngineering/controller/BizEngineeringController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizEngineering/controller/BizEngineeringController.java index 3c7e6808..0ba6ad28 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizEngineering/controller/BizEngineeringController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizEngineering/controller/BizEngineeringController.java @@ -5,7 +5,6 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.SecurityUtils; -import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.vo.LoginUser; diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizEngineering/service/impl/BizEngineeringServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizEngineering/service/impl/BizEngineeringServiceImpl.java index 8033c5a8..1808cff8 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizEngineering/service/impl/BizEngineeringServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizEngineering/service/impl/BizEngineeringServiceImpl.java @@ -3,14 +3,12 @@ package org.jeecg.modules.project.baseConfig.bizEngineering.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.shiro.SecurityUtils; -import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.project.baseConfig.bizEngineering.entity.BizEngineering; import org.jeecg.modules.project.baseConfig.bizEngineering.mapper.BizEngineeringMapper; import org.jeecg.modules.project.baseConfig.bizEngineering.service.IBizEngineeringService; import org.jeecg.modules.project.calculateConfig.bizCmaq.entity.BizCmaq; import org.jeecg.modules.project.calculateConfig.bizCmaq.mapper.BizCmaqMapper; -import org.jeecg.modules.project.calculateConfig.bizCmaq.service.IBizCmaqService; import org.jeecg.modules.project.calculateConfig.bizConfigChemistry.entity.BizConfigChemistry; import org.jeecg.modules.project.calculateConfig.bizConfigChemistry.service.IBizConfigChemistryService; import org.jeecg.modules.project.calculateConfig.bizConfigFacility.entity.BizConfigFacility; @@ -23,7 +21,6 @@ import org.jeecg.modules.project.calculateConfig.bizOpenfoam.entity.BizOpenfoam; import org.jeecg.modules.project.calculateConfig.bizOpenfoam.service.IBizOpenfoamService; import org.jeecg.modules.project.calculateConfig.bizWrf.entity.BizWrf; import org.jeecg.modules.project.calculateConfig.bizWrf.mapper.BizWrfMapper; -import org.jeecg.modules.project.calculateConfig.bizWrf.service.IBizWrfService; import org.jeecg.modules.project.calculateResult.bizResultDiffuse.entity.BizResultDiffuse; import org.jeecg.modules.project.calculateResult.bizResultDiffuse.service.IBizResultDiffuseService; import org.jeecg.modules.project.calculateResult.bizResultDosage.entity.BizResultDosage; @@ -35,7 +32,6 @@ import org.jeecg.modules.project.calculateResult.bizResultSourceItem.service.IBi import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import org.springframework.web.bind.annotation.RequestBody; import java.util.Date; import java.util.List; diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizModeLink/controller/BizModeLinkController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizModeLink/controller/BizModeLinkController.java new file mode 100644 index 00000000..d2048d2c --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizModeLink/controller/BizModeLinkController.java @@ -0,0 +1,178 @@ +package org.jeecg.modules.project.baseConfig.bizModeLink.controller; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.project.baseConfig.bizModeLink.entity.BizModeLink; +import org.jeecg.modules.project.baseConfig.bizModeLink.service.IBizModeLinkService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; + + /** + * @Description: 模型链路选择 + * @Author: jeecg-boot + * @Date: 2023-10-12 + * @Version: V1.0 + */ +@Api(tags="模型链路选择") +@RestController +@RequestMapping("/bizModeLink/bizModeLink") +@Slf4j +public class BizModeLinkController extends JeecgController { + @Autowired + private IBizModeLinkService bizModeLinkService; + + /** + * 分页列表查询 + * + * @param bizModeLink + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "模型链路选择-分页列表查询") + @ApiOperation(value="模型链路选择-分页列表查询", notes="模型链路选择-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(BizModeLink bizModeLink, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(bizModeLink, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = bizModeLinkService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param bizModeLink + * @return + */ + @AutoLog(value = "模型链路选择-添加") + @ApiOperation(value="模型链路选择-添加", notes="模型链路选择-添加") + @RequiresPermissions("bizModeLink:biz_mode_link:add") + @PostMapping(value = "/add") + public Result add(@RequestBody BizModeLink bizModeLink) { + bizModeLinkService.save(bizModeLink); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param bizModeLink + * @return + */ + @AutoLog(value = "模型链路选择-编辑") + @ApiOperation(value="模型链路选择-编辑", notes="模型链路选择-编辑") + @RequiresPermissions("bizModeLink:biz_mode_link:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody BizModeLink bizModeLink) { + bizModeLinkService.updateById(bizModeLink); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "模型链路选择-通过id删除") + @ApiOperation(value="模型链路选择-通过id删除", notes="模型链路选择-通过id删除") + @RequiresPermissions("bizModeLink:biz_mode_link:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + bizModeLinkService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "模型链路选择-批量删除") + @ApiOperation(value="模型链路选择-批量删除", notes="模型链路选择-批量删除") + @RequiresPermissions("bizModeLink:biz_mode_link:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.bizModeLinkService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "模型链路选择-通过id查询") + @ApiOperation(value="模型链路选择-通过id查询", notes="模型链路选择-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + BizModeLink bizModeLink = bizModeLinkService.getById(id); + if(bizModeLink==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(bizModeLink); + } + + /** + * 导出excel + * + * @param request + * @param bizModeLink + */ + @RequiresPermissions("bizModeLink:biz_mode_link:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, BizModeLink bizModeLink) { + return super.exportXls(request, bizModeLink, BizModeLink.class, "模型链路选择"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("bizModeLink:biz_mode_link:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, BizModeLink.class); + } + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizModeLink/entity/BizModeLink.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizModeLink/entity/BizModeLink.java new file mode 100644 index 00000000..f9d62c7e --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizModeLink/entity/BizModeLink.java @@ -0,0 +1,63 @@ +package org.jeecg.modules.project.baseConfig.bizModeLink.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableLogic; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 模型链路选择 + * @Author: jeecg-boot + * @Date: 2023-10-12 + * @Version: V1.0 + */ +@Data +@TableName("biz_mode_link") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="biz_mode_link对象", description="模型链路选择") +public class BizModeLink implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private String id; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private Date updateTime; + /**模式类型*/ + @Excel(name = "模式类型", width = 15) + @ApiModelProperty(value = "模式类型") + private Integer modeType; + /**模式方案id*/ + @Excel(name = "模式方案id", width = 15) + @ApiModelProperty(value = "模式方案id") + private String modeId; +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizModeLink/mapper/BizModeLinkMapper.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizModeLink/mapper/BizModeLinkMapper.java new file mode 100644 index 00000000..40e51df1 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizModeLink/mapper/BizModeLinkMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.project.baseConfig.bizModeLink.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.project.baseConfig.bizModeLink.entity.BizModeLink; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 模型链路选择 + * @Author: jeecg-boot + * @Date: 2023-10-12 + * @Version: V1.0 + */ +public interface BizModeLinkMapper extends BaseMapper { + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizModeLink/mapper/xml/BizModeLinkMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizModeLink/mapper/xml/BizModeLinkMapper.xml new file mode 100644 index 00000000..0b094238 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizModeLink/mapper/xml/BizModeLinkMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizModeLink/service/IBizModeLinkService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizModeLink/service/IBizModeLinkService.java new file mode 100644 index 00000000..37b28ebc --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizModeLink/service/IBizModeLinkService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.project.baseConfig.bizModeLink.service; + +import org.jeecg.modules.project.baseConfig.bizModeLink.entity.BizModeLink; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 模型链路选择 + * @Author: jeecg-boot + * @Date: 2023-10-12 + * @Version: V1.0 + */ +public interface IBizModeLinkService extends IService { + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizModeLink/service/impl/BizModeLinkServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizModeLink/service/impl/BizModeLinkServiceImpl.java new file mode 100644 index 00000000..159aae2c --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/baseConfig/bizModeLink/service/impl/BizModeLinkServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.project.baseConfig.bizModeLink.service.impl; + +import org.jeecg.modules.project.baseConfig.bizModeLink.entity.BizModeLink; +import org.jeecg.modules.project.baseConfig.bizModeLink.mapper.BizModeLinkMapper; +import org.jeecg.modules.project.baseConfig.bizModeLink.service.IBizModeLinkService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 模型链路选择 + * @Author: jeecg-boot + * @Date: 2023-10-12 + * @Version: V1.0 + */ +@Service +public class BizModeLinkServiceImpl extends ServiceImpl implements IBizModeLinkService { + +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizCmaq/controller/BizCmaqController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizCmaq/controller/BizCmaqController.java index c8581116..938d094f 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizCmaq/controller/BizCmaqController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizCmaq/controller/BizCmaqController.java @@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.xkcoding.http.util.StringUtil; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.modules.project.calculateConfig.bizCmaq.entity.BizCmaq; @@ -226,6 +227,31 @@ public class BizCmaqController extends JeecgController return Result.OK(bizCmaq); } + /** + * 通过类型查询模板 + * + * @return + */ + //@AutoLog(value = "cmaq-通过类型查询模板") + @ApiOperation(value="cmaq-通过类型查询模板", notes="cmaq-通过类型查询模板") + @GetMapping(value = "/getCmaqTem") + public Result getWrfTem(Integer temType,Integer sceneType,Integer modeType,String modeSchemeName) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(BizCmaq::getTemType,temType); + lambdaQueryWrapper.eq(BizCmaq::getSceneType,sceneType); + lambdaQueryWrapper.eq(BizCmaq::getModeType,modeType); + if(StringUtil.isNotEmpty(modeSchemeName)){ + lambdaQueryWrapper.eq(BizCmaq::getModeSchemeName,modeSchemeName); + } + List bizCmaqs = bizCmaqService.list(lambdaQueryWrapper); + + if(bizCmaqs == null || bizCmaqs.isEmpty()) { + return Result.error("未找到对应数据"); + } + + return Result.OK(bizCmaqs.get(0)); + } + /** * 导出excel * diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizCmaq/entity/BizCmaq.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizCmaq/entity/BizCmaq.java index b4c6a661..788deeb0 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizCmaq/entity/BizCmaq.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizCmaq/entity/BizCmaq.java @@ -204,6 +204,14 @@ public class BizCmaq implements Serializable { @ApiModelProperty(value = "engineeringId") private String engineeringId; @Excel(name = "temType", width = 15) - @ApiModelProperty(value = "temType") + @ApiModelProperty(value = "temType(0:模板,1:非模板)") private int temType; + @Excel(name = "sceneType", width = 15) + @ApiModelProperty(value = "sceneType(1:核,2:设施,3:化学,4:泄露)") + private int sceneType; + @Excel(name = "sceneType", width = 15) + @ApiModelProperty(value = "modeType(1:源项模拟,2:气象参数,3:扩散模拟,4:后果评估,5:辅助决策)") + private int modeType; + @Excel(name = "sceneType", width = 15) + private String modeSchemeName; } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizCmaq/service/impl/BizCmaqServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizCmaq/service/impl/BizCmaqServiceImpl.java index baaa23ff..7ff94392 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizCmaq/service/impl/BizCmaqServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizCmaq/service/impl/BizCmaqServiceImpl.java @@ -14,7 +14,7 @@ import org.jeecg.modules.project.baseConfig.bizEngineering.service.IBizEngineeri import org.jeecg.modules.project.calculateConfig.bizOpenfoam.entity.BizOpenfoam; import org.jeecg.modules.project.calculateConfig.bizOpenfoam.service.IBizOpenfoamService; import org.jeecg.modules.util.NcUtil; -import org.jeecg.modules.util.SFTPUtil; +import org.jeecg.modules.project.baseAPI.sftpAPI.SFTPUtil; import org.springframework.beans.factory.annotation.Value; import org.jeecg.modules.project.calculateConfig.bizWrf.entity.BizWrf; import org.jeecg.modules.project.calculateConfig.bizWrf.mapper.BizWrfMapper; @@ -22,8 +22,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import ucar.ma2.Array; -import ucar.ma2.Index; import ucar.nc2.NetcdfFile; import ucar.nc2.Variable; import ucar.nc2.dataset.NetcdfDataset; diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizOpenfoam/controller/BizOpenfoamController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizOpenfoam/controller/BizOpenfoamController.java index a2a68881..72a1774b 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizOpenfoam/controller/BizOpenfoamController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizOpenfoam/controller/BizOpenfoamController.java @@ -11,6 +11,7 @@ import javax.servlet.http.HttpServletRequest; import cn.hutool.core.io.FileUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jcraft.jsch.SftpException; +import com.xkcoding.http.util.StringUtil; import org.apache.commons.lang3.StringUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; @@ -28,7 +29,7 @@ import lombok.extern.slf4j.Slf4j; import org.jeecg.modules.project.calculateConfig.bizWrf.entity.BizWrf; import org.jeecg.modules.project.calculateConfig.bizWrf.mapper.BizWrfMapper; import org.jeecg.common.system.base.controller.JeecgController; -import org.jeecg.modules.util.SFTPUtil; +import org.jeecg.modules.project.baseAPI.sftpAPI.SFTPUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; @@ -142,6 +143,31 @@ public class BizOpenfoamController extends JeecgController getWrfTem(Integer temType, Integer sceneType, Integer modeType, String modeSchemeName) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(BizOpenfoam::getTemType,temType); + lambdaQueryWrapper.eq(BizOpenfoam::getSceneType,sceneType); + lambdaQueryWrapper.eq(BizOpenfoam::getModeType,modeType); + if(StringUtil.isNotEmpty(modeSchemeName)){ + lambdaQueryWrapper.eq(BizOpenfoam::getModeSchemeName,modeSchemeName); + } + List bizOpenfoams = bizOpenfoamService.list(lambdaQueryWrapper); + + if(bizOpenfoams == null || bizOpenfoams.isEmpty()) { + return Result.error("未找到对应数据"); + } + + return Result.OK(bizOpenfoams.get(0)); + } + /** * 运行 * diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizOpenfoam/entity/BizOpenfoam.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizOpenfoam/entity/BizOpenfoam.java index 9b21a330..abf51c7c 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizOpenfoam/entity/BizOpenfoam.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizOpenfoam/entity/BizOpenfoam.java @@ -96,4 +96,15 @@ public class BizOpenfoam implements Serializable { @Excel(name = "engineeringId", width = 15) @ApiModelProperty(value = "engineeringId") private String engineeringId; + @Excel(name = "temType", width = 15) + @ApiModelProperty(value = "temType(0:模板,1:非模板)") + private int temType; + @Excel(name = "sceneType", width = 15) + @ApiModelProperty(value = "sceneType(1:核,2:设施,3:化学,4:泄露)") + private int sceneType; + @Excel(name = "sceneType", width = 15) + @ApiModelProperty(value = "modeType(1:源项模拟,2:气象参数,3:扩散模拟,4:后果评估,5:辅助决策)") + private int modeType; + @Excel(name = "sceneType", width = 15) + private String modeSchemeName; } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizOpenfoam/service/impl/BizOpenfoamServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizOpenfoam/service/impl/BizOpenfoamServiceImpl.java index 3f304812..6d4695da 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizOpenfoam/service/impl/BizOpenfoamServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizOpenfoam/service/impl/BizOpenfoamServiceImpl.java @@ -1,12 +1,11 @@ package org.jeecg.modules.project.calculateConfig.bizOpenfoam.service.impl; import org.jeecg.common.util.RemoteExecuteCommand; -import org.jeecg.modules.project.baseConfig.bizEngineering.entity.BizEngineering; import org.jeecg.modules.project.calculateConfig.bizOpenfoam.entity.BizOpenfoam; import org.jeecg.modules.project.calculateConfig.bizOpenfoam.mapper.BizOpenfoamMapper; import org.jeecg.modules.project.calculateConfig.bizOpenfoam.service.IBizOpenfoamService; import org.jeecg.modules.project.calculateConfig.bizWrf.entity.BizWrf; -import org.jeecg.modules.util.SFTPUtil; +import org.jeecg.modules.project.baseAPI.sftpAPI.SFTPUtil; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizWrf/controller/BizWrfController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizWrf/controller/BizWrfController.java index a110b9c6..ec9e89d5 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizWrf/controller/BizWrfController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizWrf/controller/BizWrfController.java @@ -2,7 +2,6 @@ package org.jeecg.modules.project.calculateConfig.bizWrf.controller; import java.io.*; import java.text.ParseException; -import java.text.SimpleDateFormat; import java.util.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -10,10 +9,9 @@ import javax.servlet.http.HttpServletResponse; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.io.FileUtil; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jcraft.jsch.SftpException; +import com.xkcoding.http.util.StringUtil; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.util.RemoteExecuteCommand; @@ -31,7 +29,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; import org.jeecg.modules.util.NcUtil; -import org.jeecg.modules.util.SFTPUtil; +import org.jeecg.modules.project.baseAPI.sftpAPI.SFTPUtil; import org.jeecg.common.system.base.controller.JeecgController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -40,8 +38,6 @@ import org.springframework.web.servlet.ModelAndView; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; -import ucar.ma2.Array; -import ucar.ma2.Index; import ucar.nc2.NetcdfFile; import ucar.nc2.Variable; import ucar.nc2.dataset.NetcdfDataset; @@ -73,10 +69,6 @@ public class BizWrfController extends JeecgController { private String baseHome; @Value("${spring.localFilePrefix}") private String localFilePrefix; - @Value("${spring.cshTemFielPath}") - private String cshTemFielPath; - @Value("${spring.WRF.geog_data_path}") - private String geog_data_path; @Value("${spring.WRF.fnldataPath}") private String fnldataPath; @Value("${spring.Linux.ip}") @@ -138,157 +130,12 @@ public class BizWrfController extends JeecgController { bizWrf.setWe(String.format("%.0f",(Math.ceil(we)))); + bizWrf.setTemType(0); bizWrfService.saveOrUpdate(bizWrf); - BizEngineering engineering = bizEngineeringService.getById(bizWrf.getEngineeringId()); - - String newAllRunPath = String.format("%s%s/%s/", baseHome, bizWrf.getCreateBy(),engineering.getEngineeringName()); - RemoteExecuteCommand.runRemoteLinuxCmd(ip, username, password, String.format("rm -rf %s",newAllRunPath)); - RemoteExecuteCommand.runRemoteLinuxCmd(ip, username, password, String.format("mkdir %s",baseHome + bizWrf.getCreateBy())); - String runCmd = String.format("cp -r %sAll_Run %s", baseHome, newAllRunPath); - RemoteExecuteCommand.runRemoteLinuxCmd(ip, username, password, runCmd); - saveWpsFile(bizWrf,engineering.getEngineeringName()); - saveInputFile(bizWrf,engineering.getEngineeringName()); return Result.OK("添加成功!"); } - public void saveWpsFile(BizWrf bizWrf,String engineeringName){ - String allRunPath = baseHome + bizWrf.getCreateBy() + "/" + engineeringName + "/"; - String localFilePath = localFilePrefix + bizWrf.getCreateBy() + "/" + engineeringName + "/"; - String fileName = "namelist.wps"; - try { - String startStr = ""; - String endStr = ""; - if (ObjectUtil.isNotEmpty(bizWrf.getMaxDom())){ - Integer max = bizWrf.getMaxDom(); - for (int i = 0; i < max; i++) { - startStr += String.format("'%s',",bizWrf.getStartTime()); - endStr += String.format("'%s',",bizWrf.getEndTime()); - } - }else { - startStr = String.format("'%s',",bizWrf.getStartData()); - endStr = String.format("'%s',",bizWrf.getEndData()); - } - String data = new String(readAllBytes(get(cshTemFielPath + "namelistTem.wps"))); - data = data.replace("#{wrf_core}", bizWrf.getWrfCore()) - .replace("#{max_dom}", bizWrf.getMaxDom()+"") - .replace("#{start_date}", startStr) - .replace("#{end_date}", endStr) - .replace("#{parent_grid_ratio}", bizWrf.getParentGridRatio()) - .replace("#{i_parent_start}", bizWrf.getParentStartI()) - .replace("#{j_parent_start}", bizWrf.getParentStartJ()) - .replace("#{e_we}", bizWrf.getWe()) - .replace("#{e_sn}", bizWrf.getSn()) - .replace("#{geog_data_res}", bizWrf.getGeogDataRes()) - .replace("#{dx}", bizWrf.getDx()) - .replace("#{dy}", bizWrf.getDy()) - .replace("#{map_proj}", bizWrf.getMapProj()) - .replace("#{ref_lat}", bizWrf.getRefLat()) - .replace("#{ref_lon}", bizWrf.getRefLon()) - .replace("#{truelat1}", bizWrf.getTruelat1()) - .replace("#{truelat2}", bizWrf.getTruelat2()) - .replace("#{stand_lon}", bizWrf.getStandLon()) - .replace("#{geog_data_path}", geog_data_path) - .replace("#{opt_output_from_metgrid_path}",allRunPath+"WRF/run"); - // todo sftp 上传 - FileUtil.writeString(data, localFilePath + fileName, "UTF-8"); - sftpUpload(localFilePath + fileName, allRunPath + "WPS", fileName); - } catch (Exception e) { - e.printStackTrace(); - } - } - - public void saveInputFile(BizWrf bizWrf,String engineeringName){ - String allRunPath = baseHome + bizWrf.getCreateBy() + "/" + engineeringName + "/"; - String localFilePath = localFilePrefix + bizWrf.getCreateBy() + "/" + engineeringName + "/"; - try { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss"); - Calendar startCal = Calendar.getInstance(); - startCal.setTime(sdf.parse(bizWrf.getStartTime())); - Calendar endCal = Calendar.getInstance(); - endCal.setTime(sdf.parse(bizWrf.getEndTime())); - - String startYear = ""; - String startMonth = ""; - String startDay = ""; - String startHour = ""; - String endYear = ""; - String endMonth = ""; - String endDay = ""; - String endHour = ""; - String inputFromFile = ""; - String historyInterval = ""; - String framesPerOutfile = ""; - if (ObjectUtil.isNotEmpty(bizWrf.getMaxDom())){ - Integer max = bizWrf.getMaxDom(); - for (int i = 0; i < max; i++) { - startYear += String.format("%s,",startCal.get(Calendar.YEAR)); - startMonth += String.format("%s,",String.format("%0" + 2 + "d", startCal.get(Calendar.MONTH)+1)); - startDay += String.format("%s,",String.format("%0" + 2 + "d", startCal.get(Calendar.DATE))); - startHour += String.format("%s,",String.format("%0" + 2 + "d", startCal.get(Calendar.HOUR_OF_DAY))); - endYear += String.format("%s,",startCal.get(Calendar.YEAR)); - endMonth += String.format("%s,",String.format("%0" + 2 + "d", endCal.get(Calendar.MONTH)+1)); - endDay += String.format("%s,",String.format("%0" + 2 + "d", endCal.get(Calendar.DATE))); - endHour += String.format("%s,",String.format("%0" + 2 + "d", endCal.get(Calendar.HOUR_OF_DAY))); - inputFromFile += ".true.,"; - historyInterval += "60,"; - framesPerOutfile += "24,"; - } - }else { - startYear = String.format("%s,",startCal.get(Calendar.YEAR)); - startMonth = String.format("%s,",String.format("%0" + 2 + "d", startCal.get(Calendar.MONTH)+1)); - startDay = String.format("%s,",String.format("%0" + 2 + "d", startCal.get(Calendar.DATE))); - startHour = String.format("%s,",String.format("%0" + 2 + "d", startCal.get(Calendar.HOUR_OF_DAY))); - endYear = String.format("%s,",startCal.get(Calendar.YEAR)); - endMonth = String.format("%s,",String.format("%0" + 2 + "d", endCal.get(Calendar.MONTH)+1)); - endDay = String.format("%s,",String.format("%0" + 2 + "d", endCal.get(Calendar.DATE))); - endHour = String.format("%s,",String.format("%0" + 2 + "d", endCal.get(Calendar.HOUR_OF_DAY))); - inputFromFile += ".true.,"; - historyInterval += "60,"; - framesPerOutfile += "24,"; - } - - String fileName = "namelist.input"; - String data = new String(readAllBytes(get(cshTemFielPath + "namelistTem.input"))); - data = data.replace("#{run_days}", bizWrf.getRunDays()) - .replace("#{run_hours}", bizWrf.getRunHours()) - .replace("#{run_minutes}", bizWrf.getRunMinutes()) - .replace("#{run_seconds}", bizWrf.getRunSeconds()) - .replace("#{start_year}", startYear) - .replace("#{start_month}", startMonth) - .replace("#{start_day}", startDay) - .replace("#{start_hour}", startHour) - .replace("#{end_year}", endYear) - .replace("#{end_month}", endMonth) - .replace("#{end_day}", endDay) - .replace("#{end_hour}", endHour) - .replace("#{input_from_file}", inputFromFile) - .replace("#{history_interval}", historyInterval) - .replace("#{frames_per_outfile}", framesPerOutfile) - .replace("#{time_step}", bizWrf.getTimeStep()) - .replace("#{max_dom}", bizWrf.getMaxDom()+"") - .replace("#{e_we}", bizWrf.getWe()) - .replace("#{e_sn}", bizWrf.getSn()) - .replace("#{e_vert}", bizWrf.getVert()) - .replace("#{dx}", bizWrf.getDx()) - .replace("#{dy}", bizWrf.getDy()) - .replace("#{i_parent_start}", bizWrf.getParentStartI()) - .replace("#{j_parent_start}", bizWrf.getParentStartJ()) - .replace("#{parent_grid_ratio}", bizWrf.getParentGridRatio()); - // todo sftp 上传 - FileUtil.writeString(data, localFilePath + fileName, "UTF-8"); - sftpUpload(localFilePath + fileName, allRunPath + "WRF/run", fileName); - } catch (ParseException e) { - e.printStackTrace(); - } catch (SftpException e) { - e.printStackTrace(); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - /** * 获取程序运行路径 * @@ -665,19 +512,28 @@ public class BizWrfController extends JeecgController { } /** - * 通过temType查询模板 + * 通过类型查询模板 * * @return */ - //@AutoLog(value = "wrf-通过temType查询模板") - @ApiOperation(value="wrf-通过temType查询模板", notes="wrf-通过temType查询模板") + //@AutoLog(value = "wrf-通过类型查询模板") + @ApiOperation(value="wrf-通过类型查询模板", notes="wrf-通过类型查询模板") @GetMapping(value = "/getWrfTem") - public Result getWrfTem(Integer temType) { - BizWrf bizWrf = bizWrfService.getOne(new LambdaQueryWrapper().eq(BizWrf::getTemType,temType)); - if(bizWrf==null) { + public Result getWrfTem(Integer temType,Integer sceneType,Integer modeType,String modeSchemeName) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(BizWrf::getTemType,temType); + lambdaQueryWrapper.eq(BizWrf::getSceneType,sceneType); + lambdaQueryWrapper.eq(BizWrf::getModeType,modeType); + if(StringUtil.isNotEmpty(modeSchemeName)){ + lambdaQueryWrapper.eq(BizWrf::getModeSchemeName,modeSchemeName); + } + List bizWrfs = bizWrfService.list(lambdaQueryWrapper); + + if(bizWrfs == null || bizWrfs.isEmpty()) { return Result.error("未找到对应数据"); } - return Result.OK(bizWrf); + + return Result.OK(bizWrfs.get(0)); } /** @@ -719,14 +575,6 @@ public class BizWrfController extends JeecgController { return super.importExcel(request, response, BizWrf.class); } - public void sftpUpload(String file,String cshFilePath,String fileName) throws FileNotFoundException, SftpException { - SFTPUtil sftpUtil = new SFTPUtil(); - sftpUtil.login(username, password,ip,port); - InputStream inputStream = new FileInputStream(file); - sftpUtil.upload(cshFilePath,fileName,inputStream); - sftpUtil.logout(); - } - public static void main(String[] args) throws ParseException { // double latticeWidth = Math.abs(Math.round((Double.valueOf("-89.28") - Double.valueOf("-104.88")) / 102 * 10000) / 10000d); // double lonLatticeIndex = Math.abs(Math.ceil((Double.valueOf("-91.54") - Double.valueOf("-104.88")) / latticeWidth)); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizWrf/entity/BizWrf.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizWrf/entity/BizWrf.java index 40023a16..ff818d7b 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizWrf/entity/BizWrf.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizWrf/entity/BizWrf.java @@ -171,8 +171,16 @@ public class BizWrf implements Serializable { @ApiModelProperty(value = "yIndex") private int yIndex; @Excel(name = "temType", width = 15) - @ApiModelProperty(value = "temType(模板:0,核:1,设施:2,化学:3,泄露:4)") + @ApiModelProperty(value = "temType(0:模板,1:非模板)") private int temType; + @Excel(name = "sceneType", width = 15) + @ApiModelProperty(value = "sceneType(1:核,2:设施,3:化学,4:泄露)") + private int sceneType; + @Excel(name = "sceneType", width = 15) + @ApiModelProperty(value = "modeType(1:源项模拟,2:气象参数,3:扩散模拟,4:后果评估,5:辅助决策)") + private int modeType; + @Excel(name = "sceneType", width = 15) + private String modeSchemeName; /* add 23/01/10 diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizWrf/service/IBizWrfService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizWrf/service/IBizWrfService.java index 133b6c52..71af8cd0 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizWrf/service/IBizWrfService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizWrf/service/IBizWrfService.java @@ -3,10 +3,8 @@ package org.jeecg.modules.project.calculateConfig.bizWrf.service; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.project.calculateConfig.bizWrf.entity.BizWrf; import com.baomidou.mybatisplus.extension.service.IService; -import ucar.nc2.NetcdfFile; import java.io.IOException; -import java.util.List; /** * @Description: wrf diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizWrf/service/impl/BizWrfServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizWrf/service/impl/BizWrfServiceImpl.java index c077c60a..37cffba4 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizWrf/service/impl/BizWrfServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateConfig/bizWrf/service/impl/BizWrfServiceImpl.java @@ -9,22 +9,15 @@ import org.jeecg.modules.project.baseConfig.bizEngineering.service.IBizEngineeri import org.jeecg.modules.project.calculateConfig.bizWrf.entity.BizWrf; import org.jeecg.modules.project.calculateConfig.bizWrf.mapper.BizWrfMapper; import org.jeecg.modules.project.calculateConfig.bizWrf.service.IBizWrfService; -import org.jeecg.modules.util.SFTPUtil; +import org.jeecg.modules.project.baseAPI.sftpAPI.SFTPUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.web.bind.annotation.GetMapping; -import ucar.ma2.Array; -import ucar.ma2.Index; -import ucar.nc2.NetcdfFile; -import ucar.nc2.Variable; import java.io.IOException; -import java.util.ArrayList; import java.util.Date; -import java.util.List; import static java.nio.file.Files.readAllBytes; import static java.nio.file.Paths.get; diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateResult/runProcess/controller/RunProcessController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateResult/runProcess/controller/RunProcessController.java index ebd4ec0c..b3809d83 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateResult/runProcess/controller/RunProcessController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/project/calculateResult/runProcess/controller/RunProcessController.java @@ -2,19 +2,19 @@ package org.jeecg.modules.project.calculateResult.runProcess.controller; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jcraft.jsch.SftpException; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; -import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; -import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.RemoteExecuteCommand; import org.jeecg.modules.constants.EnginConstants; +import org.jeecg.modules.project.baseAPI.sftpAPI.IBizSftpAPIService; import org.jeecg.modules.project.baseConfig.bizEngineering.entity.BizEngineering; import org.jeecg.modules.project.baseConfig.bizEngineering.service.IBizEngineeringService; import org.jeecg.modules.project.calculateConfig.bizWrf.entity.BizWrf; @@ -23,23 +23,21 @@ import org.jeecg.modules.project.calculateResult.bizResultDiffuse.entity.BizResu import org.jeecg.modules.project.calculateResult.bizResultDiffuse.service.IBizResultDiffuseService; import org.jeecg.modules.project.calculateResult.runProcess.VO.ProgressVO; import org.jeecg.modules.util.NcUtil; -import org.jeecg.modules.util.SFTPUtil; +import org.jeecg.modules.project.baseAPI.sftpAPI.SFTPUtil; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; -import org.springframework.web.servlet.ModelAndView; import ucar.nc2.NetcdfFile; import ucar.nc2.dataset.NetcdfDataset; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.io.File; +import java.io.FileNotFoundException; import java.io.IOException; -import java.math.BigDecimal; import java.nio.file.Files; -import java.util.ArrayList; -import java.util.Arrays; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -66,10 +64,17 @@ public class RunProcessController extends JeecgController runAllExe(String engineeringId) throws IOException { BizEngineering engineering = bizEngineeringService.getById(engineeringId); + BizWrf bizWrf = bizWrfService.getOne(new LambdaQueryWrapper().eq(BizWrf::getEngineeringId,engineering)); + + String newAllRunPath = String.format("%s%s/%s/", baseHome, bizWrf.getCreateBy(),engineering.getEngineeringName()); + RemoteExecuteCommand.runRemoteLinuxCmd(ip, username, password, String.format("rm -rf %s",newAllRunPath)); + RemoteExecuteCommand.runRemoteLinuxCmd(ip, username, password, String.format("mkdir %s",baseHome + bizWrf.getCreateBy())); + String runCmd = String.format("cp -r %sAll_Run %s", baseHome, newAllRunPath); + RemoteExecuteCommand.runRemoteLinuxCmd(ip, username, password, runCmd); + saveWpsFile(bizWrf,engineering.getEngineeringName()); + saveInputFile(bizWrf,engineering.getEngineeringName()); + String allRunPath = baseHome + engineering.getCreateBy() + "/" + engineering.getEngineeringName() + "/"; bizWrfService.runGeogrid(allRunPath,engineeringId); bizWrfService.runUngrib(allRunPath,engineeringId); @@ -101,6 +116,141 @@ public class RunProcessController extends JeecgControllersearchVal) { + high=mid-1; + }else { + low=mid+1; + } + + } + return -1; + } + + /** + * 二分查寻法 + * 算法的运行时间为O(logn); + * @param arr + * @param searchVal + * @return + */ + public int binarySearch(Integer[] arr,int searchVal) { + //初始化查询次数、下界low、上界high + int count=0,low =0,high=arr.length-1; + int mid,guess; + while(low<=high) { + //对半查找 + //mid=low+(int)(0.5*(high-low)); + mid=(low+high)/2; + guess=arr[mid]; + System.out.println("guess:"+guess); + count++; + //找到值 + if(guess==searchVal) { + System.out.println("下标:"+mid ); + return count; + } + //定界 + if(guess>searchVal) { + high=mid-1; + }else { + low=mid+1; + } + + } + return -1; + } + + public static void main(String[] args) { + double [] x = new double[]{10,50,60}; + double [] y = new double[]{10,50,51}; +// lagrangeInterpolation(x,y,20); + System.out.println(lagrangeInterpolation(x,y,5)); + } + + public static double lagrangeInterpolation(double[] x, double[] y, double xi) { + double result = 0; + for (int i = 0; i < x.length; i++) { + double term = y[i]; + for (int j = 0; j < x.length; j++) { + if (j != i) { + term *= (xi - x[j]) / (x[i] - x[j]); + } + } + result += term; + } + return result; + } +}