diff --git a/jero-boot/jero-boot-module-certification/pom.xml b/jero-boot/jero-boot-module-certification/pom.xml new file mode 100644 index 000000000..67ea7212d --- /dev/null +++ b/jero-boot/jero-boot-module-certification/pom.xml @@ -0,0 +1,20 @@ + + + + com.jero.boot + jero-boot + 2.4.2 + + 4.0.0 + + jero-boot-module-certification + + + + com.jero.boot + jero-boot-modules + ${jero.version} + + + diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/controller/ParamsTemplateEOController.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/controller/ParamsTemplateEOController.java new file mode 100644 index 000000000..86dc3537d --- /dev/null +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/controller/ParamsTemplateEOController.java @@ -0,0 +1,183 @@ +package com.jero.modules.cert.template.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jero.modules.cert.template.entity.ParamsTemplateEO; +import com.jero.modules.cert.template.service.IParamsTemplateEOService; +import com.jero.common.api.vo.Result; +import com.jero.common.aspect.annotation.AutoLog; +import com.jero.common.system.base.controller.JeroController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.List; + + + /** + * @Description: 参数模板表 + * @Author: jero-boot + * @Date: 2022-04-21 + * @Version: V1.0 + */ +@Api(tags="参数模板表") +@RestController +@RequestMapping("/params/template") +@Slf4j +public class ParamsTemplateEOController extends JeroController { + @Autowired + private IParamsTemplateEOService paramsTemplateEOService; + + /** + * 分页列表查询 + * + * @param paramsTemplateEO + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "参数模板表-分页列表查询") + @ApiOperation(value="参数模板表-分页列表查询", notes="参数模板表-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(ParamsTemplateEO paramsTemplateEO, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + @RequestParam(name="cut") String cut, + HttpServletRequest req) { +// QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(paramsTemplateEO, req.getParameterMap()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.like(StringUtils.isNotEmpty(paramsTemplateEO.getParamsTemplateName()), ParamsTemplateEO::getParamsTemplateName, paramsTemplateEO.getParamsTemplateName()) + .eq(StringUtils.isNotEmpty(paramsTemplateEO.getRegion()), ParamsTemplateEO::getRegion, paramsTemplateEO.getRegion()) + .eq(StringUtils.isNotEmpty(paramsTemplateEO.getState()), ParamsTemplateEO::getState, paramsTemplateEO.getState()) + .orderByDesc(ParamsTemplateEO::getUpdateTime); + Page page = new Page(pageNo, pageSize); + IPage pageList = paramsTemplateEOService.page(page, queryWrapper); + return Result.OK(cut, pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "参数模板表-列表查询") + @ApiOperation(value="参数模板表-列表查询", notes="参数模板表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = paramsTemplateEOService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param paramsTemplateEO + * @return + */ + @AutoLog(value = "参数模板表-添加") + @ApiOperation(value="参数模板表-添加", notes="参数模板表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody ParamsTemplateEO paramsTemplateEO) { + paramsTemplateEOService.add(paramsTemplateEO); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param paramsTemplateEO + * @return + */ + @AutoLog(value = "参数模板表-编辑") + @ApiOperation(value="参数模板表-编辑", notes="参数模板表-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody ParamsTemplateEO paramsTemplateEO) { + paramsTemplateEOService.editById(paramsTemplateEO); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "参数模板表-通过id删除") + @ApiOperation(value="参数模板表-通过id删除", notes="参数模板表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + if (StringUtils.isBlank(id)) { + return Result.error("删除数据不能为空"); + } + paramsTemplateEOService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "参数模板表-批量删除") + @ApiOperation(value="参数模板表-批量删除", notes="参数模板表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + if (StringUtils.isBlank(ids)) { + return Result.error("删除数据不能为空"); + } + this.paramsTemplateEOService.deleteByIds(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) { + ParamsTemplateEO paramsTemplateEO = paramsTemplateEOService.queryById(id); + if(paramsTemplateEO==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(paramsTemplateEO); + } + + /** + * 导出excel + * + * @param request + * @param paramsTemplateEO + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, ParamsTemplateEO paramsTemplateEO) { + return super.exportXls(request, paramsTemplateEO, ParamsTemplateEO.class, "参数模板表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, ParamsTemplateEO.class); + } + +} diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/entity/ParamsTemplateEO.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/entity/ParamsTemplateEO.java new file mode 100644 index 000000000..333df4516 --- /dev/null +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/entity/ParamsTemplateEO.java @@ -0,0 +1,89 @@ +package com.jero.modules.cert.template.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; + + +/** + * @Description: 参数模板表 + * @Author: jero-boot + * @Date: 2022-04-21 + * @Version: V1.0 + */ +@Data +@TableName("params_template") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="params_template对象", description="参数模板表") +public class ParamsTemplateEO implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + + /**创建时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建时间") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + + /**最新变更时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "最新变更时间") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; + + /**参数模板*/ + @Excel(name = "参数模板", width = 15) + @ApiModelProperty(value = "参数模板") + private java.lang.String paramsTemplateName; + + /**状态*/ + @Excel(name = "状态", width = 15) + @Dict(dicCode = "params_template_state") + @ApiModelProperty(value = "状态") + private java.lang.String state; + + /**适用地区*/ + @Excel(name = "适用地区", width = 15, dicCode = "region") + @Dict(dicCode = "region") + @ApiModelProperty(value = "适用地区") + private java.lang.String region; + + /**内容说明*/ + @Excel(name = "内容说明", width = 15) + @ApiModelProperty(value = "内容说明") + private java.lang.String description; + + /**当前版本*/ + @Excel(name = "当前版本", width = 15) + @ApiModelProperty(value = "当前版本") + private java.lang.Integer version; + +} diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/mapper/ParamsTemplateEOMapper.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/mapper/ParamsTemplateEOMapper.java new file mode 100644 index 000000000..b860ffb0e --- /dev/null +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/mapper/ParamsTemplateEOMapper.java @@ -0,0 +1,14 @@ +package com.jero.modules.cert.template.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jero.modules.cert.template.entity.ParamsTemplateEO; + +/** + * @Description: 参数模板表 + * @Author: jero-boot + * @Date: 2022-04-21 + * @Version: V1.0 + */ +public interface ParamsTemplateEOMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/mapper/xml/ParamsTemplateEOMapper.xml b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/mapper/xml/ParamsTemplateEOMapper.xml new file mode 100644 index 000000000..5b7587a71 --- /dev/null +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/mapper/xml/ParamsTemplateEOMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/IParamsTemplateEOService.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/IParamsTemplateEOService.java new file mode 100644 index 000000000..477c465b3 --- /dev/null +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/IParamsTemplateEOService.java @@ -0,0 +1,62 @@ +package com.jero.modules.cert.template.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.cert.template.entity.ParamsTemplateEO; + +import java.util.List; + +/** + * @Description: 参数模板表 + * @Author: jero-boot + * @Date: 2022-04-21 + * @Version: V1.0 + */ +public interface IParamsTemplateEOService extends IService { + + /** + * 保存 + * + * @param paramsTemplateEO + * @return + */ + void add(ParamsTemplateEO paramsTemplateEO); + + /** + * 更新 + * + * @param paramsTemplateEO + * @return + */ + void editById(ParamsTemplateEO paramsTemplateEO); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + ParamsTemplateEO queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); +} diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/impl/ParamsTemplateEOServiceImpl.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/impl/ParamsTemplateEOServiceImpl.java new file mode 100644 index 000000000..d19ceba12 --- /dev/null +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/impl/ParamsTemplateEOServiceImpl.java @@ -0,0 +1,91 @@ +package com.jero.modules.cert.template.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.modules.cert.template.entity.ParamsTemplateEO; +import com.jero.modules.cert.template.mapper.ParamsTemplateEOMapper; +import com.jero.modules.cert.template.service.IParamsTemplateEOService; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + * @Description: 参数模板表 + * @Author: jero-boot + * @Date: 2022-04-21 + * @Version: V1.0 + */ +@Service +public class ParamsTemplateEOServiceImpl extends ServiceImpl implements IParamsTemplateEOService { + + /** + * 保存 + * + * @param paramsTemplateEO + * @return + */ + @Override + public void add(ParamsTemplateEO paramsTemplateEO) { + Date now = new Date(); + paramsTemplateEO.setCreateTime(now); + paramsTemplateEO.setUpdateTime(now); + save(paramsTemplateEO); + } + + /** + * 更新 + * + * @param paramsTemplateEO + * @return + */ + @Override + public void editById(ParamsTemplateEO paramsTemplateEO) { + Date now = new Date(); + paramsTemplateEO.setUpdateTime(now); + updateById(paramsTemplateEO); +// saveOrUpdate(paramsTemplateEO); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public ParamsTemplateEO queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } +} diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/message/websocket/WebSocket.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/message/websocket/WebSocket.java index 910cc459b..3edaa541d 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/message/websocket/WebSocket.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/message/websocket/WebSocket.java @@ -1,8 +1,11 @@ package com.jero.modules.message.websocket; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.CopyOnWriteArraySet; +import com.alibaba.fastjson.JSONObject; +import com.jero.boot.starter.redis.client.JeroRedisClient; +import com.jero.common.base.BaseMap; +import com.jero.common.constant.WebsocketConst; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; import javax.annotation.Resource; import javax.websocket.OnClose; @@ -11,15 +14,10 @@ import javax.websocket.OnOpen; import javax.websocket.Session; import javax.websocket.server.PathParam; import javax.websocket.server.ServerEndpoint; - -import com.jero.boot.starter.redis.client.JeroRedisClient; -import com.jero.common.base.BaseMap; -import com.jero.common.constant.WebsocketConst; -import org.springframework.stereotype.Component; - -import com.alibaba.fastjson.JSONObject; - -import lombok.extern.slf4j.Slf4j; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.CopyOnWriteArraySet; /** * @Author scott @@ -78,7 +76,7 @@ public class WebSocket { if (session != null && session.isOpen()) { try { log.info("【websocket消息】 单点消息:" + message); - session.getAsyncRemote().sendText(message); + session.getBasicRemote().sendText(message); } catch (Exception e) { e.printStackTrace(); } @@ -90,7 +88,14 @@ public class WebSocket { */ public void pushMessage(String message) { try { - webSockets.forEach(ws -> ws.session.getAsyncRemote().sendText(message)); + for (WebSocket ws : webSockets) { + try { + ws.session.getBasicRemote().sendText(message); + } catch (IOException e) { + e.printStackTrace(); + continue; + } + } } catch (Exception e) { e.printStackTrace(); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/controller/DummyInventoryInfoEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/controller/DummyInventoryInfoEOController.java index e5fd702b6..22b8a4293 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/controller/DummyInventoryInfoEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/controller/DummyInventoryInfoEOController.java @@ -1,13 +1,10 @@ package com.jero.modules.dummy.controller; -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.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.constant.enums.CutEnum; import com.jero.common.system.base.controller.JeroController; -import com.jero.common.system.query.QueryGenerator; import com.jero.modules.dummy.entity.DummyInventoryInfoEO; import com.jero.modules.dummy.service.IDummyInventoryInfoEOService; import io.swagger.annotations.Api; @@ -146,16 +143,17 @@ public class DummyInventoryInfoEOController extends JeroController importData(@RequestParam(value = "file", required = false) MultipartFile file, DummyInventoryInfoEO dummyInventoryInfoEO) { - try { - dummyInventoryInfoEOService.importData(file,dummyInventoryInfoEO); - } catch (Exception e) { - return Result.error("导入失败"); - } + dummyInventoryInfoEOService.importData(file,dummyInventoryInfoEO); return Result.OK("导入成功"); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEO.java index dbbcac583..06dc1cc0c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEO.java @@ -1,22 +1,20 @@ package com.jero.modules.dummy.entity; -import java.io.Serializable; -import java.io.UnsupportedEncodingException; -import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; -import org.jeecgframework.poi.excel.annotation.Excel; import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; /** @@ -39,7 +37,6 @@ public class DummyInventoryInfoEO implements Serializable { private java.lang.String id; /**法规清单基础表id*/ - @Excel(name = "法规清单基础表id", width = 15) @ApiModelProperty(value = "法规清单基础表id") private java.lang.String dummyInventoryBaseId; @@ -78,7 +75,7 @@ public class DummyInventoryInfoEO implements Serializable { private java.lang.String title; /**适用范围*/ - @Excel(name = "适用范围", width = 15) + @Excel(name = "适用范围", width = 15, dicCode = "apply_scope") @ApiModelProperty(value = "适用范围") @Dict(dicCode ="apply_scope") private java.lang.String shi4Yong4Fan4Wei2; @@ -86,10 +83,11 @@ public class DummyInventoryInfoEO implements Serializable { /**适用地区*/ @ApiModelProperty(value = "适用地区") @Dict(dicCode ="region") + @Excel(name = "适用地区", width = 15, dicCode = "region") private java.lang.String region; /**状态*/ - @Excel(name = "状态", width = 15) + @Excel(name = "状态", width = 15,dicCode ="state") @ApiModelProperty(value = "状态") @Dict(dicCode ="state") private java.lang.String state; @@ -103,14 +101,14 @@ public class DummyInventoryInfoEO implements Serializable { private java.lang.String technologyTerritoryName; /**新车型实施日期*/ - @Excel(name = "新车型实施日期", width = 15) + @Excel(name = "新车型实施日期", width = 15,format = "yyyy-MM-dd") @ApiModelProperty(value = "新车型实施日期") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") private java.util.Date xin1Che1Xing2Shi2Shi1Ri4Qi1; /**在产车实施日期*/ - @Excel(name = "在产车实施日期", width = 15) + @Excel(name = "在产车实施日期", width = 15,format = "yyyy-MM-dd") @ApiModelProperty(value = "在产车实施日期") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @@ -134,25 +132,25 @@ public class DummyInventoryInfoEO implements Serializable { private java.lang.String subtitle; /**实施类别*/ - @Excel(name = "实施类别", width = 15) + @Excel(name = "实施类别", width = 15,dicCode ="implement_type") @ApiModelProperty(value = "实施类别") @Dict(dicCode ="implement_type") private java.lang.String implementType; /**认证类型*/ - @Excel(name = "认证类型", width = 15) + @Excel(name = "认证类型", width = 15,dicCode ="attestation_type") @ApiModelProperty(value = "认证类型") @Dict(dicCode ="attestation_type") private java.lang.String attestationType; /**认证级别*/ - @Excel(name = "认证级别", width = 15) + @Excel(name = "认证级别", width = 15,dicCode ="attestation_rank") @ApiModelProperty(value = "认证级别") @Dict(dicCode ="attestation_rank") private java.lang.String attestationRank; /**责任领域*/ - @Excel(name = "责任领域", width = 15) + @Excel(name = "责任领域", width = 15,dicCode ="duty_territory") @ApiModelProperty(value = "责任领域") @Dict(dicCode ="duty_territory") private java.lang.String dutyTerritory; @@ -163,79 +161,82 @@ public class DummyInventoryInfoEO implements Serializable { private java.lang.String remark; /**设计符合性确认-交付物类型*/ - @Excel(name = "设计符合性确认-交付物类型", width = 15) + @Excel(name = "交付物类型", width = 15,dicCode ="deliverable_template") @ApiModelProperty(value = "设计符合性确认-交付物类型") @Dict(dicCode ="deliverable_template") private java.lang.String designDeliverableType; /**设计符合性确认-交付物模板*/ - @Excel(name = "设计符合性确认-交付物模板", width = 15) + @ApiModelProperty(value = "设计符合性确认-交付物模板") private java.lang.String designDeliverableTemplate; @TableField(exist = false) + @Excel(name = "交付物模板", width = 15) private java.lang.String designDeliverableTemplateName; /**设计符合性确认-发起人*/ - @Excel(name = "设计符合性确认-发起人", width = 15) + @Excel(name = "发起人", width = 15,dicCode ="fa1_qi3_ren2") @ApiModelProperty(value = "设计符合性确认-发起人") @Dict(dicCode ="fa1_qi3_ren2") private java.lang.String designInitiator; /**设计符合性确认-责任人*/ - @Excel(name = "设计符合性确认-责任人", width = 15) + @Excel(name = "责任人", width = 15,dicCode ="ze2_ren4_ren2") @ApiModelProperty(value = "设计符合性确认-责任人") @Dict(dicCode ="ze2_ren4_ren2") private java.lang.String designDuty; /**prehomo确认-交付物类型*/ - @Excel(name = "prehomo确认-交付物类型", width = 15) + @Excel(name = "交付物类型", width = 15,dicCode ="deliverable_template") @ApiModelProperty(value = "prehomo确认-交付物类型") @Dict(dicCode ="deliverable_template") private java.lang.String prehomoDeliverableType; /**prehomo确认-交付物模板*/ - @Excel(name = "prehomo确认-交付物模板", width = 15) + @ApiModelProperty(value = "prehomo确认-交付物模板") private java.lang.String prehomoDeliverableTemplate; @TableField(exist = false) + @Excel(name = "交付物模板", width = 15) private java.lang.String prehomoDeliverableTemplateName; /**prehomo确认-发起人*/ - @Excel(name = "prehomo确认-发起人", width = 15) + @Excel(name = "发起人", width = 15,dicCode ="fa1_qi3_ren2") @ApiModelProperty(value = "prehomo确认-发起人") @Dict(dicCode ="fa1_qi3_ren2") private java.lang.String prehomoInitiator; /**prehomo确认-责任人*/ - @Excel(name = "prehomo确认-责任人", width = 15) + @Excel(name = "责任人", width = 15,dicCode ="ze2_ren4_ren2") @ApiModelProperty(value = "prehomo确认-责任人") @Dict(dicCode ="ze2_ren4_ren2") private java.lang.String prehomoDuty; /**验证符合性确认-交付物类型*/ - @Excel(name = "验证符合性确认-交付物类型", width = 15) + @Excel(name = "交付物类型", width = 15,dicCode ="deliverable_template") @ApiModelProperty(value = "验证符合性确认-交付物类型") @Dict(dicCode ="deliverable_template") private java.lang.String verifyDeliverableType; /**验证符合性确认-交付物模板*/ - @Excel(name = "验证符合性确认-交付物模板", width = 15) + @ApiModelProperty(value = "验证符合性确认-交付物模板") private java.lang.String verifyDeliverableTemplate; @TableField(exist = false) + @Excel(name = "交付物模板", width = 15) private java.lang.String verifyDeliverableTemplateName; /**验证符合性确认-发起人*/ - @Excel(name = "验证符合性确认-发起人", width = 15) + @Excel(name = "发起人", width = 15,dicCode ="fa1_qi3_ren2") @ApiModelProperty(value = "验证符合性确认-发起人") @Dict(dicCode ="fa1_qi3_ren2") private java.lang.String verifyInitiator; /**验证符合性确认-责任人*/ - @Excel(name = "验证符合性确认-责任人", width = 15) + @Excel(name = "责任人", width = 15,dicCode ="ze2_ren4_ren2") @ApiModelProperty(value = "验证符合性确认-责任人") @Dict(dicCode ="ze2_ren4_ren2") private java.lang.String verifyDuty; @@ -243,7 +244,6 @@ public class DummyInventoryInfoEO implements Serializable { @TableField(exist = false) private String cut; - /**文档库id*/ @TableField(exist = false) private String ids; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/IDummyInventoryInfoEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/IDummyInventoryInfoEOService.java index 06741a6c7..969e5433f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/IDummyInventoryInfoEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/IDummyInventoryInfoEOService.java @@ -89,4 +89,15 @@ public interface IDummyInventoryInfoEOService extends IService dataList, List categoryList, List dictItemList, @@ -1278,4 +1289,224 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl dataList = new ArrayList<>(); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(dummyInventoryInfoEO,request.getParameterMap()); + if(StringUtils.isNotBlank(dummyInventoryInfoEO.getIds())){ + queryWrapper.in("id",Arrays.asList(dummyInventoryInfoEO.getIds().split(","))); + } + //导出的数据 + dataList = this.list(queryWrapper); + + //文件 + List fileInfos = getOssFiles(dataList); + //数据转换(文件名称,技术领域,对应标准) + dataTransition(dataList, fileInfos); + + OutputStream os = null; + try { + response.setContentType("application/force-download"); + Workbook workbook = new XSSFWorkbook(); + String path = uploadpath + "/tempZip"; + File fileTemp = new File(path); + if (fileTemp.exists()) { + fileTemp.delete(); + } + fileTemp.mkdirs(); + //文件 + exportFile(dataList,fileInfos); + //excel + OutputStream excelOS = new FileOutputStream(path + File.separator + "虚拟清单.xlsx"); + ExportParams exportParams = new ExportParams(); + exportParams.setType(ExcelType.XSSF); + workbook = ExcelExportUtil.exportExcel(exportParams, DummyInventoryInfoEO.class, dataList); + workbook.write(excelOS); + excelOS.flush(); + + ZipUtil.zip(path, path + ".zip"); + //文件 + FileInputStream fis = new FileInputStream(path + ".zip"); + os = response.getOutputStream(); + + int len = 0; + while ((len = fis.read()) != -1) { + os.write(len); + } + os.flush(); + fis.close(); + } catch (IOException e) { + if(CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())){ + throw new JeroBootException("下载文件失败"); + }else{ + throw new JeroBootException("Failed to download file"); + } + } finally { + IOUtils.closeQuietly(os); + File file = new File(uploadpath + "/tempZip"); + FileUtil.deleteContents(file); + } + } + + /** + * 数据转换(文件名称,技术领域,对应标准) + * @param dataList + * @param fileInfos + */ + private void dataTransition(List dataList, List fileInfos) { + //技术领域 + List sysCategoryList = sysCategoryService.list(); + //文档库数据 + List correspondingStandardIdList = new ArrayList<>(); + for (DummyInventoryInfoEO inventoryInfoEO : dataList) { + String correspondingStandard = inventoryInfoEO.getCorrespondingStandard(); + if(StringUtils.isNotBlank(correspondingStandard)){ + correspondingStandardIdList.addAll(Arrays.asList(correspondingStandard.split(","))); + } + } + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(BussDocumentLibraryEO::getId,correspondingStandardIdList); + List bussDocumentLibraryEOList = iBussDocumentLibraryEOService.list(lambdaQueryWrapper); + + for (DummyInventoryInfoEO inventoryInfoEO : dataList) { + String correspondingStandard = inventoryInfoEO.getCorrespondingStandard(); + String technologyTerritory = inventoryInfoEO.getTechnologyTerritory(); + String designDeliverableTemplate = inventoryInfoEO.getDesignDeliverableTemplate(); + String prehomoDeliverableTemplate = inventoryInfoEO.getPrehomoDeliverableTemplate(); + String verifyDeliverableTemplate = inventoryInfoEO.getVerifyDeliverableTemplate(); + //对应标准 + if(StringUtils.isNotBlank(correspondingStandard)){ + StringBuilder sb = new StringBuilder(); + for (String s : correspondingStandard.split(",")) { + List collect = bussDocumentLibraryEOList.stream() + .filter(e -> s.equals(e.getId())).collect(Collectors.toList()); + if(collect.size() != 0){ + sb.append(collect.get(0).getSerialNumber() + ","); + }else{ + sb.append(s + ","); + } + } + if(StringUtils.isNotBlank(sb)){ + String substring = sb.substring(0, sb.length() - 1); + inventoryInfoEO.setCorrespondingStandard(substring); + } + } + //技术领域 + if(StringUtils.isNotBlank(technologyTerritory)){ + StringBuilder sb = new StringBuilder(); + for (String s : technologyTerritory.split(",")) { + List collect = sysCategoryList.stream() + .filter(e -> s.equals(e.getId())).collect(Collectors.toList()); + if(collect.size() != 0){ + sb.append(collect.get(0).getName()+","); + } + } + if(StringUtils.isNotBlank(sb)){ + String substring = sb.substring(0, sb.length() - 1); + inventoryInfoEO.setTechnologyTerritory(substring); + } + } + //设计交付物模板 + if(StringUtils.isNotBlank(designDeliverableTemplate)){ + String designDeliverableTemplateName = template(fileInfos, designDeliverableTemplate); + inventoryInfoEO.setDesignDeliverableTemplateName(designDeliverableTemplateName); + } + //设计交付物模板 + if(StringUtils.isNotBlank(prehomoDeliverableTemplate)){ + String prehomoDeliverableTemplateName = template(fileInfos, prehomoDeliverableTemplate); + inventoryInfoEO.setPrehomoDeliverableTemplateName(prehomoDeliverableTemplateName); + + } + //设计交付物模板 + if(StringUtils.isNotBlank(verifyDeliverableTemplate)){ + String verifyDeliverableTemplateName = template(fileInfos, verifyDeliverableTemplate); + inventoryInfoEO.setVerifyDeliverableTemplateName(verifyDeliverableTemplateName); + } + } + } + + /** + * 模板名称转换 + * @param fileInfos + * @param value + * @return + */ + private String template(List fileInfos, String value) { + StringBuilder sb = new StringBuilder(); + for (String s : value.split(",")) { + List collect = fileInfos.stream().filter(e -> s.equals(e.getId())).collect(Collectors.toList()); + if(collect.size() != 0){ + sb.append(collect.get(0).getFileName()+","); + } + } + String substring = ""; + if(StringUtils.isNotBlank(sb)){ + substring = sb.substring(0, sb.length() - 1); + } + return substring; + } + + /** + * 获取文件 + * @param dataList + * @return + */ + private List getOssFiles(List dataList) { + List fileIdList = new ArrayList<>(); + List design = dataList.stream().map(DummyInventoryInfoEO::getDesignDeliverableTemplate).collect(Collectors.toList()); + List prehomo = dataList.stream().map(DummyInventoryInfoEO::getPrehomoDeliverableTemplate).collect(Collectors.toList()); + List verify = dataList.stream().map(DummyInventoryInfoEO::getVerifyDeliverableTemplate).collect(Collectors.toList()); + fileIdList.addAll(design); + fileIdList.addAll(prehomo); + fileIdList.addAll(verify); + + //查询所有的文件 + List fileInfos = new ArrayList<>(); + if(fileIdList.size() != 0){ + fileInfos = iOSSFileService.getFileInfos(StringUtils.join(fileIdList, ",")); + } + return fileInfos; + } + + private void exportFile(List dataList,List fileInfos) throws IOException { + if(fileInfos.size() != 0){ + for (DummyInventoryInfoEO inventoryInfoEO : dataList) { + String designDeliverableTemplate = inventoryInfoEO.getDesignDeliverableTemplate(); + String prehomoDeliverableTemplate = inventoryInfoEO.getPrehomoDeliverableTemplate(); + String verifyDeliverableTemplate = inventoryInfoEO.getVerifyDeliverableTemplate(); + String serialNumber = inventoryInfoEO.getSerialNumber(); + if(StringUtils.isBlank(serialNumber)){ + continue; + } + List designFileList = fileInfos.stream().filter(e -> designDeliverableTemplate.contains(e.getId())).collect(Collectors.toList()); + List prehomoFileList = fileInfos.stream().filter(e -> prehomoDeliverableTemplate.contains(e.getId())).collect(Collectors.toList()); + List verifyFileList = fileInfos.stream().filter(e -> verifyDeliverableTemplate.contains(e.getId())).collect(Collectors.toList()); + List oSSFileList = new ArrayList<>(); + oSSFileList.addAll(designFileList); + oSSFileList.addAll(prehomoFileList); + oSSFileList.addAll(verifyFileList); + if(oSSFileList.size() != 0){ + String fileNowPath = uploadpath + "/tempZip/" + serialNumber; + File file = new File(fileNowPath); + if (file.exists()) { + file.delete(); + } + file.mkdirs(); + for (OSSFile ossFile : oSSFileList) { + String url = ossFile.getUrl(); + copyFile(url, fileNowPath + File.separator + ossFile.getFileName()); + } + } + } + } + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java index b8db3e277..dec40b212 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java @@ -16,6 +16,7 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.text.ParseException; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -70,7 +71,7 @@ public class ProjectLibraryBaseController extends JeroController add(@Validated @RequestBody ProjectLibraryBase projectLibraryBase) { + public Result add(@Validated @RequestBody ProjectLibraryBase projectLibraryBase) throws ParseException { projectLibraryBaseService.add(projectLibraryBase); return Result.OK("添加成功!"); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectTaskPlanningController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectTaskPlanningController.java index c7a504ef0..7dc8eb7cc 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectTaskPlanningController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectTaskPlanningController.java @@ -68,9 +68,9 @@ public class ProjectTaskPlanningController extends JeroController> queryList() { - List list = projectTaskPlanningService.queryList(); - return Result.OK(list); + public Result queryList(@RequestParam(name="projectId",required=true) String projectId) { + ProjectTaskPlanning projectTaskPlanning = projectTaskPlanningService.queryList(projectId); + return Result.OK(projectTaskPlanning); } /** @@ -137,8 +137,8 @@ public class ProjectTaskPlanningController extends JeroController queryById(@RequestParam(name="id",required=true) String projectId) { + @GetMapping(value = "/queryByProjectId") + public Result queryByProjectId(@RequestParam(name="projectId",required=true) String projectId) { List projectTaskPlanning = projectTaskPlanningService.queryByProjectId(projectId); if(projectTaskPlanning==null) { return Result.error("未找到对应数据"); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java index a1696c568..dedae398b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.modules.project.entity.ProjectLibraryBase; +import java.text.ParseException; import java.util.List; import java.util.Map; @@ -21,7 +22,7 @@ public interface IProjectLibraryBaseService extends IService * @param projectLibraryBase * @return */ - void add(ProjectLibraryBase projectLibraryBase); + void add(ProjectLibraryBase projectLibraryBase) throws ParseException; /** * 更新 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectTaskPlanningService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectTaskPlanningService.java index fb5564f53..a084d82f7 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectTaskPlanningService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectTaskPlanningService.java @@ -59,5 +59,5 @@ public interface IProjectTaskPlanningService extends IService queryList(); + ProjectTaskPlanning queryList(String projectId); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java index 501162bc0..c0a79ebdb 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java @@ -18,6 +18,7 @@ import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.text.ParseException; import java.util.*; import java.util.stream.Collectors; @@ -40,6 +41,8 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl timeNodeVOS = new ArrayList<>(); TimeNodeVO listConfirmationVO = new TimeNodeVO(); - listConfirmationVO.setName(ProjectTaskPlanningNameEnum.LIST_CONFIRMATION.getName()); - listConfirmationVO.setTime(projectTaskPlanning.getListConfirmation()); - timeNodeVOS.add(listConfirmationVO); - TimeNodeVO legalTaskConfirmationVO = new TimeNodeVO(); - legalTaskConfirmationVO.setName(ProjectTaskPlanningNameEnum.LEGAL_TASK_CONFIRMATION.getName()); - legalTaskConfirmationVO.setTime(projectTaskPlanning.getLegalTaskConfirmation()); - timeNodeVOS.add(legalTaskConfirmationVO); - - TimeNodeVO designDeadlineVO = new TimeNodeVO(); - designDeadlineVO.setName(ProjectTaskPlanningNameEnum.DESIGN_DEADLINE.getName()); - designDeadlineVO.setTime(projectTaskPlanning.getDesignDeadline()); - timeNodeVOS.add(designDeadlineVO); - - TimeNodeVO prehomoDeadlineVO = new TimeNodeVO(); - prehomoDeadlineVO.setName(ProjectTaskPlanningNameEnum.PREHOMO_DEADLINE.getName()); - prehomoDeadlineVO.setTime(projectTaskPlanning.getPrehomoDeadline()); - timeNodeVOS.add(prehomoDeadlineVO); - - TimeNodeVO attestationStartTimeVO = new TimeNodeVO(); - attestationStartTimeVO.setName(ProjectTaskPlanningNameEnum.ATTESTATION_START_TIME.getName()); - attestationStartTimeVO.setTime(projectTaskPlanning.getAttestationStartTime()); - timeNodeVOS.add(attestationStartTimeVO); - - TimeNodeVO attestationEndTimeVO = new TimeNodeVO(); - attestationEndTimeVO.setName(ProjectTaskPlanningNameEnum.ATTESTATION_END_TIME.getName()); - attestationEndTimeVO.setTime(projectTaskPlanning.getAttestationEndTime()); - timeNodeVOS.add(attestationEndTimeVO); - - TimeNodeVO verifyDeadlineVO = new TimeNodeVO(); - verifyDeadlineVO.setName(ProjectTaskPlanningNameEnum.VERIFY_DEADLINE.getName()); - verifyDeadlineVO.setTime(projectTaskPlanning.getVerifyDeadline()); - timeNodeVOS.add(verifyDeadlineVO); + if(StringUtils.isNotBlank(projectTaskPlanning.getListConfirmation().toString())) { + listConfirmationVO.setName(ProjectTaskPlanningNameEnum.LIST_CONFIRMATION.getName()); + listConfirmationVO.setTime(projectTaskPlanning.getListConfirmation()); + timeNodeVOS.add(listConfirmationVO); + } + if(!StringUtils.isEmpty(projectTaskPlanning.getLegalTaskConfirmation().toString())) { + TimeNodeVO legalTaskConfirmationVO = new TimeNodeVO(); + legalTaskConfirmationVO.setName(ProjectTaskPlanningNameEnum.LEGAL_TASK_CONFIRMATION.getName()); + legalTaskConfirmationVO.setTime(projectTaskPlanning.getLegalTaskConfirmation()); + timeNodeVOS.add(legalTaskConfirmationVO); + } + if(StringUtils.isNotBlank(projectTaskPlanning.getDesignDeadline().toString())) { + TimeNodeVO designDeadlineVO = new TimeNodeVO(); + designDeadlineVO.setName(ProjectTaskPlanningNameEnum.DESIGN_DEADLINE.getName()); + designDeadlineVO.setTime(projectTaskPlanning.getDesignDeadline()); + timeNodeVOS.add(designDeadlineVO); + } + if(StringUtils.isNotBlank(projectTaskPlanning.getPrehomoDeadline().toString())) { + TimeNodeVO prehomoDeadlineVO = new TimeNodeVO(); + prehomoDeadlineVO.setName(ProjectTaskPlanningNameEnum.PREHOMO_DEADLINE.getName()); + prehomoDeadlineVO.setTime(projectTaskPlanning.getPrehomoDeadline()); + timeNodeVOS.add(prehomoDeadlineVO); + } + if(StringUtils.isNotBlank(projectTaskPlanning.getAttestationStartTime().toString())) { + TimeNodeVO attestationStartTimeVO = new TimeNodeVO(); + attestationStartTimeVO.setName(ProjectTaskPlanningNameEnum.ATTESTATION_START_TIME.getName()); + attestationStartTimeVO.setTime(projectTaskPlanning.getAttestationStartTime()); + timeNodeVOS.add(attestationStartTimeVO); + } + if(StringUtils.isNotBlank(projectTaskPlanning.getAttestationEndTime().toString())) { + TimeNodeVO attestationEndTimeVO = new TimeNodeVO(); + attestationEndTimeVO.setName(ProjectTaskPlanningNameEnum.ATTESTATION_END_TIME.getName()); + attestationEndTimeVO.setTime(projectTaskPlanning.getAttestationEndTime()); + timeNodeVOS.add(attestationEndTimeVO); + } + if(StringUtils.isNotBlank(projectTaskPlanning.getVerifyDeadline().toString())) { + TimeNodeVO verifyDeadlineVO = new TimeNodeVO(); + verifyDeadlineVO.setName(ProjectTaskPlanningNameEnum.VERIFY_DEADLINE.getName()); + verifyDeadlineVO.setTime(projectTaskPlanning.getVerifyDeadline()); + timeNodeVOS.add(verifyDeadlineVO); + } // 排序 Collections.sort(timeNodeVOS, listConfirmationVO); @@ -138,7 +150,22 @@ public class ProjectTaskPlanningServiceImpl extends ServiceImpl queryList() { - return list(); + public ProjectTaskPlanning queryList(String projectId) { + ProjectTaskPlanning projectTaskPlanning = projectTaskPlanningMapper.getByProjectId(projectId); + return projectTaskPlanning; + } + + public void setProjectTaskPlanning(String projectId) throws ParseException { + ProjectTaskPlanning projectTaskPlanning=new ProjectTaskPlanning(); + projectTaskPlanning.setProjectId(projectId); + java.text.SimpleDateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd"); + projectTaskPlanning.setListConfirmation(formatter.parse("0000-00-00 ")); + projectTaskPlanning.setLegalTaskConfirmation(formatter.parse("0000-00-00 ")); + projectTaskPlanning.setDesignDeadline(formatter.parse("0000-00-00 ")); + projectTaskPlanning.setPrehomoDeadline(formatter.parse("0000-00-00 ")); + projectTaskPlanning.setAttestationStartTime(formatter.parse("0000-00-00 ")); + projectTaskPlanning.setAttestationEndTime(formatter.parse("0000-00-00 ")); + projectTaskPlanning.setVerifyDeadline(formatter.parse("0000-00-00 ")); + add(projectTaskPlanning); } } diff --git a/jero-boot/jero-boot-single-startup/pom.xml b/jero-boot/jero-boot-single-startup/pom.xml index a9cfeea5c..23e0644e9 100644 --- a/jero-boot/jero-boot-single-startup/pom.xml +++ b/jero-boot/jero-boot-single-startup/pom.xml @@ -32,6 +32,11 @@ jero-boot-modules ${jero.version} + + com.jero.boot + jero-boot-module-certification + ${jero.version} + org.springframework.cloud diff --git a/jero-boot/pom.xml b/jero-boot/pom.xml index 833268f92..03f69efbe 100644 --- a/jero-boot/pom.xml +++ b/jero-boot/pom.xml @@ -55,6 +55,7 @@ jero-boot-single-startup jero-boot-modules jero-boot-center + jero-boot-module-certification diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index a84c34585..e72aba637 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -695,4 +695,15 @@ module.exports = { incorrectsubmitted:'The data status is incorrect; Only data with status to be confirmed can be submitted', date:'date', time:'time', + confirmationOfRegulationsList:'Confirmation of regulations list', + regulatoryTaskConfirmation:'Regulatory task confirmation', + certificationStart:'Certification start', + certificationEnd:'Certification end', + directoryName:'Directory name', + batch:'batch', + uploadTime:'Upload time', + enclosure:'enclosure', + // 认证 + parameterTemplate: 'parameter Template', + contentDescription: 'content Description' } \ No newline at end of file diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index a31106cf5..8634b89ef 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -595,7 +595,7 @@ module.exports = { confirmationOfDesignConformity: '设计符合性确认', Deliverables: '交付物', personLiable: '责任人', - PrehomoConfirmation: 'Prehomo确认', + PrehomoConfirmation: 'PreHomo确认', verificationAndConformityconfirmation: '验证符合性确认', StandardImplementationDate: '标准实施日期', regulatoryEngineer: '法规工程师', @@ -698,5 +698,16 @@ module.exports = { finalizationTime:'定版时间', setting:'设定', date:'日期', - time:'时间' + time:'时间', + confirmationOfRegulationsList:'法规清单确认', + regulatoryTaskConfirmation:'法规任务确认', + certificationStart:'认证开始', + certificationEnd:'认证结束', + directoryName:'目录名称', + batch:'批次', + uploadTime:'上传时间', + enclosure:'附件', + // 认证 + parameterTemplate: '参数模板', + contentDescription: '内容说明' } \ No newline at end of file diff --git a/jero-web/src/components/ImportFile/index.vue b/jero-web/src/components/ImportFile/index.vue index 3dff98886..b949dc0b7 100644 --- a/jero-web/src/components/ImportFile/index.vue +++ b/jero-web/src/components/ImportFile/index.vue @@ -4,8 +4,8 @@ class="upload-text" :multiple="false" :headers="tokenHeader" :action="importUrl+'?cut='+cut" - @change="handleImportZip" - accept=".zip"> + @change="handleImport" + :accept="accept"> {{$t('import')}} @@ -23,12 +23,21 @@ url: { type: Object, default: {} - } + }, + //判断当前文档库还是其余的页面 + isTrue:{ + type: Boolean, + default: false + }, + accept:{ + type: String, + default: '' + }, }, data() { return { tokenHeader: {'X-Access-Token': Vue.ls.get(ACCESS_TOKEN)}, - importUrl: window._CONFIG['domianURL'] + this.url.importZipUrl, + importUrl: window._CONFIG['domianURL'] +'/'+ this.url.importZipUrl, cut: '', } }, @@ -42,7 +51,7 @@ } }, methods: { - handleImportZip(info) { + handleImport(info) { this.spinning = true if (info.file.status !== 'uploading') { console.log(info.file, info.fileList) @@ -71,7 +80,11 @@ ) }) } else { - eventBUs.$emit('searchReset') + if (this.isTrue){ + this.$emit('getList') + }else{ + eventBUs.$emit('searchReset') + } this.$message.success(info.file.response.message || `${info.file.name} 文件导入成功`) } this.spinning = false diff --git a/jero-web/src/views/documentManage/library/index.vue b/jero-web/src/views/documentManage/library/index.vue index 5bda5e60b..c6e4c4b0d 100644 --- a/jero-web/src/views/documentManage/library/index.vue +++ b/jero-web/src/views/documentManage/library/index.vue @@ -25,7 +25,7 @@ {{$t('templateDownload')}}
- +
diff --git a/jero-web/src/views/documentTools/virtualList/components/virtualListDetails.vue b/jero-web/src/views/documentTools/virtualList/components/virtualListDetails.vue index ce8155086..399543c6b 100644 --- a/jero-web/src/views/documentTools/virtualList/components/virtualListDetails.vue +++ b/jero-web/src/views/documentTools/virtualList/components/virtualListDetails.vue @@ -49,7 +49,7 @@ {{$t('standard')}}
+ v-model="queryParam.serialNumber"> @@ -88,7 +88,7 @@ {{$t('DocumentStandard')}}
- +
@@ -304,7 +304,7 @@ title: this.$t('correspondingStandard'), align: 'center', ellipsis: true, - dataIndex: 'correspondingStandard_dictText' + dataIndex: 'correspondingStandardName' }, { title: this.$t('zoneOfApplication'), @@ -451,18 +451,18 @@ ], selectedRowKeys: [], isTrue: false, - queryParamQuery:{}, + queryParamQuery: {}, // fieldList | array |✔| 需要查询的列集合示例如下,type类型有:date/datetime/string/int/number fieldList: [ { - type: 'date', + type: '', value: 'shi4Yong4Fan4Wei2', text: this.$t('scopeOfApplication'), dictCode: 'apply_scope'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框 }, { - type: 'date', - value: 'status', + type: '', + value: 'state', text: this.$t('status'), dictCode: 'state'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框 }, @@ -472,13 +472,13 @@ text: this.$t('correspondingStandard') }, { - type: 'date', + type: '', value: 'region', text: this.$t('zoneOfApplication'), dictCode: 'region'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框 }, { - type: 'date', + type: '', value: 'implementType', text: this.$t('implementationCategory'), dictCode: 'implement_type'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框 @@ -573,7 +573,7 @@ ...this.queryParam, ids: selectedRowKeys.join(',') } - downloadFile(this.url.exportData, '虚拟清单名称.zip', query, this.Deselect) + downloadFile(this.url.exportData, this.$route.query.name + '虚拟清单.zip', query, this.Deselect) }, Deselect() { this.selectedRowKeys = [] @@ -622,6 +622,9 @@ } }) }, + getPersonnelList(){ + this.getList() + }, batSettingList() { this.getList() }, diff --git a/jero-web/src/views/parameter/components/addModel.vue b/jero-web/src/views/parameter/components/addModel.vue new file mode 100644 index 000000000..7cbcd2b56 --- /dev/null +++ b/jero-web/src/views/parameter/components/addModel.vue @@ -0,0 +1,309 @@ + + + + + + \ No newline at end of file diff --git a/jero-web/src/views/parameter/template.vue b/jero-web/src/views/parameter/template.vue new file mode 100644 index 000000000..bb70bffa8 --- /dev/null +++ b/jero-web/src/views/parameter/template.vue @@ -0,0 +1,396 @@ + + + + + \ No newline at end of file diff --git a/jero-web/src/views/projectManagement/components/ProjectDetails.vue b/jero-web/src/views/projectManagement/components/ProjectDetails.vue index 691f6fd63..acca2d371 100644 --- a/jero-web/src/views/projectManagement/components/ProjectDetails.vue +++ b/jero-web/src/views/projectManagement/components/ProjectDetails.vue @@ -84,71 +84,23 @@ {{$t('regulatoryCertificationTaskPlan')}}
- {{$t('setting')}} + {{$t('setting')}}
-
+
-
法规清单确认打扫房间十大科技孵化开具收费电视
-
2021-10-13
-
-
- -
- -
-
法规清单确认
-
2021-10-13
-
-
- -
- -
-
法规清单确认
-
2021-10-13
-
-
- -
- -
-
法规清单确认
-
2021-10-13
-
-
- -
- -
-
法规清单确认
-
2021-10-13
-
-
- -
- -
-
法规清单确认
-
2021-10-13
-
-
- -
- -
-
法规清单确认
-
2021-10-13
+
{{item.name}}
+
{{item.time}}
- +
@@ -171,6 +123,7 @@ +
@@ -179,12 +132,14 @@ import listOfRelevantPersonnel from './listOfRelevantPersonnel' import { getAction, postAction, downloadFile, putAction } from '@/api/manage' import addModel from './addModel' + import settingList from './settingList' export default { name: 'ProjectDetails', components: { listOfRelevantPersonnel, - addModel + addModel, + settingList }, data() { return { @@ -192,12 +147,18 @@ url: { queryById: 'project/projectLibraryBase/queryById', add: 'project/projectLibraryBase/add', - edit: 'project/projectLibraryBase/edit' - } + edit: 'project/projectLibraryBase/edit', + queryByProjectId: 'project/projectTaskPlanning/queryByProjectId', + addSettingUrl: 'project/projectTaskPlanning/add', + editSettingUrl: 'project/projectTaskPlanning/edit', + settingQueryForm: '/project/projectTaskPlanning/list' + }, + regulatoryCertificationTaskPlanList: [] } }, mounted() { this.getForm() + this.getSetting() this.mainEcharts() }, methods: { @@ -210,6 +171,18 @@ } }) }, + getSetting() { + getAction(this.url.queryByProjectId, { projectId: this.$route.query.id }).then((res) => { + if (res.success) { + this.regulatoryCertificationTaskPlanList = res.result || [] + } else { + this.regulatoryCertificationTaskPlanList = [] + } + }) + }, + settingListForm() { + this.getSetting() + }, mainEcharts() { var myChart = echarts.init(document.getElementById('main')) myChart.setOption({ @@ -243,6 +216,9 @@ }, addModelList() { this.getForm() + }, + settingClick() { + this.$refs.settingListRef.edit() } } } @@ -298,7 +274,6 @@ .process-content { margin-top: 4px; - height: 60px; position: relative; .process-content-content { @@ -318,13 +293,14 @@ font-size: 14px; font-weight: 400; color: #040B29; - max-width: 94px; + max-width: 155px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } .process-content-right-button { + max-width: 155px; font-size: 12px; font-weight: 400; color: #6F7385; @@ -343,7 +319,7 @@ } .process-content-right-xian { - height: 1px; + height: 2px; width: calc(100% - 27px); background: #E6E6E9; position: absolute; @@ -378,8 +354,13 @@ .process-content-right-top { max-width: 70px !important; + white-space: inherit !important; + overflow: hidden !important; } + .process-content-right-button { + max-width: 70px !important; + } } .text-field-right-color { diff --git a/jero-web/src/views/projectManagement/components/TaskList.vue b/jero-web/src/views/projectManagement/components/TaskList.vue index f909ade5a..6fe7f565c 100644 --- a/jero-web/src/views/projectManagement/components/TaskList.vue +++ b/jero-web/src/views/projectManagement/components/TaskList.vue @@ -53,12 +53,17 @@ >
+ + + \ No newline at end of file diff --git a/jero-web/src/views/projectManagement/components/listOfRegulations.vue b/jero-web/src/views/projectManagement/components/listOfRegulations.vue index fd6498229..e363f6ae0 100644 --- a/jero-web/src/views/projectManagement/components/listOfRegulations.vue +++ b/jero-web/src/views/projectManagement/components/listOfRegulations.vue @@ -65,7 +65,7 @@
- +
@@ -519,7 +519,7 @@ export default { text: this.$t('correspondingStandard') }, { - type: 'date', + type: '', value: 'implementType', text: this.$t('implementationCategory'), dictCode: 'implement_type'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框 @@ -701,6 +701,9 @@ export default { } }) }, + getPersonnelList(){ + this.getList() + }, initiateListConfirmationcClick() { if (this.selectedRowKeys && this.selectedRowKeys.length > 0) { let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys)) diff --git a/jero-web/src/views/projectManagement/components/listOfRelevantPersonnel.vue b/jero-web/src/views/projectManagement/components/listOfRelevantPersonnel.vue index c768d2a4e..39cad2064 100644 --- a/jero-web/src/views/projectManagement/components/listOfRelevantPersonnel.vue +++ b/jero-web/src/views/projectManagement/components/listOfRelevantPersonnel.vue @@ -18,7 +18,7 @@ {{$t('export')}}
- +
@@ -37,17 +37,17 @@ -
- -
+ + + + + + + + + + + { if (valid) { @@ -297,29 +302,27 @@ this.formInline[value] = id this.formInline = { ...this.formInline } }, - pageOnChange(page, pageSize) { - this.pageNo = page - this.getList() - }, - SizeChange(page, pageSize) { - this.pageNo = 1 - this.pageSize = pageSize - this.getList() - }, + // pageOnChange(page, pageSize) { + // this.pageNo = page + // this.getList() + // }, + // SizeChange(page, pageSize) { + // this.pageNo = 1 + // this.pageSize = pageSize + // this.getList() + // }, onSelectChange(value) { this.selectedRowKeys = value }, getList() { let query = { - pageNo: this.pageNo, - pageSize: this.pageSize, projectId: this.$route.query.id } this.loading = true - postAction(this.url.page, query).then((res) => { + getAction(this.url.list, query).then((res) => { if (res.success) { - this.dataSource = res.result.records || [] - this.total = res.result.total + this.dataSource = res.result || [] + // this.total = res.result.total this.loading = false } else { this.loading = false @@ -327,7 +330,15 @@ }) }, handleExport() { - + let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys)) + let query = { + id: selectedRowKeys.join(','), + // projectId: this.$route.query.id + } + downloadFile(this.url.exportData, this.$t('ListOfRelevantPersonnel') + '.xls', query, this.Deselect) + }, + Deselect() { + this.selectedRowKeys = [] }, handleModule() { diff --git a/jero-web/src/views/projectManagement/components/settingList.vue b/jero-web/src/views/projectManagement/components/settingList.vue new file mode 100644 index 000000000..619dee8e4 --- /dev/null +++ b/jero-web/src/views/projectManagement/components/settingList.vue @@ -0,0 +1,295 @@ + + + + + + \ No newline at end of file