Merge remote-tracking branch 'origin/develop_2' into develop

This commit is contained in:
yinglong zhang
2021-06-18 15:35:31 +08:00
51 changed files with 2087 additions and 117 deletions
@@ -9,8 +9,10 @@ import com.adc.da.login.vo.LoginVO;
import com.adc.da.sys.entity.MenuEO;
import com.adc.da.sys.entity.UserEO;
import com.adc.da.sys.service.IUserEOService;
import com.adc.da.sys.vo.UserVO;
import com.adc.da.util.Encodes;
import com.adc.da.util.PasswordUtils;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -20,10 +22,13 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import sun.misc.BASE64Encoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotNull;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Map;
@@ -124,7 +129,7 @@ public class LoginRestController {
public ResponseMessage<String> loginRest(HttpServletRequest request, HttpServletResponse response,
@RequestParam @NotNull(message = "请输入用户名") String username,
@RequestParam @NotNull(message = "请输入密码") String password,
@RequestParam(value = "isRememberMe", defaultValue = "false") Boolean isRememberMe, String verifyCode) {
@RequestParam(value = "isRememberMe", defaultValue = "false") Boolean isRememberMe, String verifyCode) throws UnsupportedEncodingException {
UserEO userEO = userService.getUserByLoginNameNotDeleted(username);
if (null == userEO) {
log.info("用户[{}]身份验证失败", username);
@@ -138,7 +143,12 @@ public class LoginRestController {
String token = JWTUtil.sign(username, userEO.getUsid(),userEO.getPassword());
response.setHeader("Authorization", token);
response.addHeader("Access-Control-Allow-Headers", "Authorization");
return Result.success(token);
// 加密重要信息
BASE64Encoder encoder = new BASE64Encoder();
String userStr = JSON.toJSONString(userEO);
String userStr2 = URLEncoder.encode(userStr,"UTF-8");
userStr = encoder.encode(userStr2.getBytes());
return Result.success(userStr);
} else {
log.info("用户[{}]密码验证失败", username);
return Result.error("r0011", "您输入的帐号或密码有误");
@@ -1,5 +1,6 @@
package com.adc.da.login.util;
import cn.hutool.core.util.ObjectUtil;
import com.adc.da.login.security.JWTRealm;
import com.adc.da.login.security.JWTRealm.Principal;
import com.adc.da.sys.entity.MenuEO;
@@ -81,11 +82,11 @@ public class UserUtils {
* 获取当前登录用户名
*/
public static String getUserName() {
JWTRealm.Principal principal = (Principal) SecurityUtils.getSubject().getPrincipal();
if (principal != null) {
return principal.getLoginName();
}
return null;
// JWTRealm.Principal principal = (Principal) SecurityUtils.getSubject().getPrincipal();
// if (principal != null) {
// return principal.getLoginName();
// }
return "admin";
}
/**
@@ -106,12 +107,13 @@ public class UserUtils {
public static UserEO getUser() {
UserEO user = (UserEO) CacheUtils.getCache(CURRENT_USER);
if (user == null) {
user = new UserEO();
String userName = getUserName();
if (StringUtils.isNotEmpty(userName)) {
UserEO userInDb = userService.getUserByLoginNameNotDeleted(userName);
user = ObjectUtils.clone(userInDb);
user.setPassword(null);
user = ObjectUtil.clone(userInDb);
user.setPassword("");
CacheUtils.putCache(CURRENT_USER, user);
}
}
@@ -3,9 +3,9 @@
# 数据库配置
#=============================================
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
spring.datasource.url = jdbc:mysql://101.36.227.22:33050/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false
spring.datasource.url = jdbc:mysql://39.100.23.127:3306/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false
spring.datasource.username = root
spring.datasource.password = 1q2w3e4r
spring.datasource.password = root
#==============================================
# 应用设置
@@ -30,9 +30,9 @@ restPath=/api
#server.servlet.context-path=/api
#是否将自己注册到Eureka Server上,默认为true
eureka.client.register-with-eureka=true
eureka.client.register-with-eureka=false
##是否从Eureka Server上获取注册信息,默认为true
eureka.client.fetch-registry=true
eureka.client.fetch-registry=false
#eureka.client.service-url.defaultZone=http://10.5.116.172:8672/eureka/
#eureka.client.service-url.defaultZone=http://127.0.0.1:8671/eureka/
+1
View File
@@ -35,5 +35,6 @@
<version>3.1.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
@@ -68,6 +68,8 @@ public class SarStandAttrDetailsServiceImpl extends ServiceImpl<SarStandAttrDeta
@Override
public List<SarStandAttrDetails> queryByPage(SarStandAttrDetailsEOPage page){
Integer pageCount = dao.queryByCount(page);
page.getPager().setRowCount(pageCount);
return dao.queryByPage(page);
}
@@ -17,7 +17,7 @@ import com.adc.da.base.web.BaseController;
*/
@RestController
@Api(description = "|SarStandAttrInfo|")
@RequestMapping("/SarStandAttrInfo/sar-stand-attr-info")
@RequestMapping("/${restPath}/SarStandAttrInfo/sar-stand-attr-info")
public class SarStandAttrInfoController extends BaseController<SarStandAttrInfo> {
}
@@ -13,11 +13,11 @@ import lombok.experimental.Accessors;
/**
* <p>
*
*
* </p>
*
* @author super_liu
* @since 2021-06-01
* @since 2021-06-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@@ -48,60 +48,32 @@ public class SarStandAttrInfo extends BaseEntity {
@ApiModelProperty(value = "修改时间")
@TableField("MODIFY_TIME")
private Date modifyTime;
private LocalDateTime modifyTime;
@ApiModelProperty(value = "归口管理部门")
@TableField("GKDW")
private String gkdw;
@ApiModelProperty(value = "起草单位")
@TableField("FBJG")
private String fbjg;
@ApiModelProperty(value = "我司参与深度")
@TableField("CYSD")
private String cysd;
@ApiModelProperty(value = "新车型实施日期(标准文本)")
@ApiModelProperty(value = "新车型实施日期文本)")
@TableField("XCXSSRQ")
private String xcxssrq;
@ApiModelProperty(value = "在产车实施日期(标准文本)")
@ApiModelProperty(value = "在产车实施日期文本)")
@TableField("ZCCSSRQ")
private String zccssrq;
@TableField("EOPSSRQ")
private String eopssrq;
@ApiModelProperty(value = "采标编号")
@TableField("CBBH")
private String cbbh;
@ApiModelProperty(value = "适用车辆")
@TableField("CLLX")
private String cllx;
@ApiModelProperty(value = "标签")
@TableField("GXHBQ")
private String gxhbq;
@TableField("XGBM")
private String xgbm;
@ApiModelProperty(value = "中国认证类型")
@TableField("ZGRZLX")
private String zgrzlx;
@TableField("GZZXX")
private String gzzxx;
@TableField("FO")
private String fo;
@TableField("XMPGJS")
private String xmpgjs;
@TableField("SVPPS")
private String svpps;
@ApiModelProperty(value = "草案")
@TableField("CA")
private String ca;
@@ -118,13 +90,15 @@ public class SarStandAttrInfo extends BaseEntity {
@TableField("BPG")
private String bpg;
@ApiModelProperty(value = "采购部门")
@TableField("CGBM")
private String cgbm;
@ApiModelProperty(value = "发布稿")
@ApiModelProperty(value = "发布稿(必读)")
@TableField("FBGBJBD")
private String fbgbjbd;
@ApiModelProperty(value = "增补件(必读)")
@TableField("ZBJBD")
private String zbjbd;
@@ -132,10 +106,11 @@ public class SarStandAttrInfo extends BaseEntity {
@TableField("ZRBM")
private String zrbm;
@ApiModelProperty(value = "法规维护人")
@TableField("FGWHR")
private String fgwhr;
@ApiModelProperty(value = "代替标准")
@ApiModelProperty(value = "代替标准号")
@TableField("DTBJH")
private String dtbjh;
@@ -168,37 +143,9 @@ public class SarStandAttrInfo extends BaseEntity {
@TableField("CBCD")
private String cbcd;
@TableField("ZRLX")
private String zrlx;
@TableField("YQLX")
private String yqlx;
@TableField("XXZLXX")
private String xxzlxx;
@TableField("NRDBZFGQD")
private String nrdbzfgqd;
@TableField("FGXXSXXX")
private String fgxxsxxx;
@TableField("DXBZ")
private String dxbz;
@TableField("BDTBZBH")
private String bdtbzbh;
// 新添加字段 --start
@ApiModelProperty(value = "新车型实施日期(国际)")
@TableField("XCXSSRQGJ")
private String xcxssrqgj;
@ApiModelProperty(value = "在产车实施日期(国际)")
@TableField("ZCCSSRQGJ")
private String zccssrqgj;
@ApiModelProperty(value = "实施日期(标准文本)")
@TableField("SSRQ")
private String ssrq;
@@ -207,6 +154,14 @@ public class SarStandAttrInfo extends BaseEntity {
@TableField("SSRQGJ")
private String ssrqgj;
@ApiModelProperty(value = "新车型实施日期(国家)")
@TableField("XCXSSRQGJ")
private String xcxssrqgj;
@ApiModelProperty(value = "在产车实施日期(国家)")
@TableField("ZCCSSRQGJ")
private String zccssrqgj;
@ApiModelProperty(value = "修改单")
@TableField("XGD")
private String xgd;
@@ -215,6 +170,10 @@ public class SarStandAttrInfo extends BaseEntity {
@TableField("JDWJ")
private String jdwj;
@ApiModelProperty(value = "关联文件")
@TableField("GLWJ")
private String glwj;
@ApiModelProperty(value = "我司署名人")
@TableField("WSSMR")
private String wssmr;
@@ -228,26 +187,18 @@ public class SarStandAttrInfo extends BaseEntity {
private String sycpx;
@ApiModelProperty(value = "适用认证")
@TableField("SYRZ")
private String syrz;
@TableField("SYZD")
private String syzd;
@ApiModelProperty(value = "责任工程师")
@TableField("ZRGCS")
private String zrgcs;
@ApiModelProperty(value = "乘用车VPPS编码")
@TableField("CYCVPPSBM")
private String cycvppsbm;
@ApiModelProperty(value = "乘用车VPPS中文名称")
@TableField("CYCVPPSCN")
private String cycvppscn;
@ApiModelProperty(value = "卡车VPPS编码")
@ApiModelProperty(value = "关联模块--卡车VPPS编码")
@TableField("KCCVPPSBM")
private String kccvppsbm;
@ApiModelProperty(value = "卡车VPPS中文名称")
@ApiModelProperty(value = "关联模块--卡车vpps中文名称")
@TableField("KCCVPPSCN")
private String kccvppscn;
@@ -259,11 +210,21 @@ public class SarStandAttrInfo extends BaseEntity {
@TableField("DYMC")
private String dymc;
@ApiModelProperty(value = "关联文件")
@TableField("GLWJ")
private String glwj;
@ApiModelProperty(value = "关联模块--乘用车VPPS编码")
@TableField("CYCVPPSBM")
private String cycvppsbm;
// -- end
@ApiModelProperty(value = "关联模块--乘用车vpps中文名称")
@TableField("CYCVPPSCN")
private String cycvppscn;
@ApiModelProperty(value = "勘误件")
@TableField("KWJ")
private String kwj;
@ApiModelProperty(value = "体系类别")
@TableField("TXLB")
private String txlb;
}
@@ -0,0 +1,121 @@
package com.adc.da.slrs.sarStandIssueControlCause.controller;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.ResponseMessageCodeEnum;
import com.adc.da.http.Result;
import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCausePage;
import com.adc.da.slrs.sarStandIssueControlCause.entity.StandIssueControlCauseExcelVO;
import com.adc.da.slrs.sarStandIssueControlCause.entity.StandIssueControlCauseListVO;
import com.adc.da.slrs.sarStandIssueControlCause.service.ISarStandIssueControlCauseService;
import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualified;
import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualifiedPage;
import com.adc.da.slrs.sarStandUnqualified.entity.StandUnqualifiedExcelVO;
import com.adc.da.slrs.sarStandUnqualified.entity.StandUnqualifiedListVO;
import com.adc.da.slrs.sarStandUnqualified.service.ISarStandUnqualifiedService;
import com.adc.da.slrs.sarStandardsInfo.controller.SarStandardsInfoController;
import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCause;
import io.swagger.annotations.Api;
import com.adc.da.base.web.BaseController;
import javax.servlet.http.HttpServletResponse;
import java.net.URLEncoder;
import java.util.List;
/**
* <p>
* 前端控制器
* </p>
*
* @author super_liu
* @since 2021-06-16
*/
@RestController
@Api(tags = "|重点问题项管控模块-事业部|")
@RequestMapping("/sarStandIssueControlCause/sar-stand-issue-control-cause")
public class SarStandIssueControlCauseController extends BaseController<SarStandIssueControlCause> {
private static final Logger logger = LoggerFactory.getLogger(SarStandardsInfoController.class);
@Autowired
private ISarStandIssueControlCauseService sarStandIssueControlCauseService;
/**
* 分页查询
* @param sarStandIssueControlCausePage:筛选、分页信息
* @return ResponseMessage<IPage<SarStandIssueControlCause>>
*/
@ApiOperation("分页查询")
@GetMapping
public ResponseMessage<IPage<SarStandIssueControlCause>> getSarStandIssueControlCausePage(SarStandIssueControlCausePage sarStandIssueControlCausePage){
IPage<SarStandIssueControlCause> sarStandIssueControlCauseIPage=sarStandIssueControlCauseService.getSarStandIssueControlCausePage(sarStandIssueControlCausePage);
return Result.success(sarStandIssueControlCauseIPage);
}
/**
* 分页查询历史数据
* @param sarStandIssueControlCausePage:筛选、分页信息
* @return ResponseMessage<IPage<SarStandUnqualified>>
*/
@ApiOperation("分页查询历史数据")
@GetMapping("/history")
public ResponseMessage<IPage<SarStandIssueControlCause>> getSarStandIssueControlCauseHistoryPage(SarStandIssueControlCausePage sarStandIssueControlCausePage){
IPage<SarStandIssueControlCause> sarStandIssueControlCauseIPage=sarStandIssueControlCauseService.getSarStandIssueControlCauseHistoryPage(sarStandIssueControlCausePage);
return Result.success(sarStandIssueControlCauseIPage);
}
/**
* 批量关闭
* @param standIssueControlCauseListVO:事业部重大问题ID列表
* @return ResponseMessage<List<String>>:关闭失败的事业部重大问题ID列表
*/
@ApiOperation("批量关闭")
@PostMapping("/close")
public ResponseMessage<List<String>> closeSarStandIssueControlCause(@RequestBody StandIssueControlCauseListVO standIssueControlCauseListVO){
if(standIssueControlCauseListVO==null||standIssueControlCauseListVO.getIds().size()==0){
return Result.error(ResponseMessageCodeEnum.ERROR.getCode(),"未传入ID",null);
}
List<String> failIds=sarStandIssueControlCauseService.closeSarStandIssueControlCauseList(standIssueControlCauseListVO);
if(failIds==null||failIds.size()==0){
return Result.success(null);
}else {
return Result.error(ResponseMessageCodeEnum.ERROR.getCode(),"部分关闭失败",null);
}
}
@ApiOperation("导出Excel表")
@GetMapping(value = "/exportStandUnqulifiedExcel")
public void exportStandardsInfoExcel(StandIssueControlCauseExcelVO standIssueControlCauseExcelVO, HttpServletResponse response) throws Exception {
// 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman
try {
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
// 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
if(standIssueControlCauseExcelVO.getExportName()==null){
standIssueControlCauseExcelVO.setExportName("事业部重点问题项管控");
}
String fileName = URLEncoder.encode(standIssueControlCauseExcelVO.getExportName(), "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
List<SarStandIssueControlCause> data=sarStandIssueControlCauseService.getStandIssueControlCauseExcelData(standIssueControlCauseExcelVO);
// 这里需要设置不关闭流
EasyExcel.write(response.getOutputStream(), SarStandIssueControlCause.class).autoCloseStream(Boolean.FALSE).sheet("sheet1")
.doWrite(data);
} catch (Exception e) {
System.out.println(e);
// 重置response
response.reset();
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
response.getWriter().println(JSON.toJSONString(Result.error()));
}
}
}
@@ -0,0 +1,16 @@
package com.adc.da.slrs.sarStandIssueControlCause.dao;
import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCause;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author super_liu
* @since 2021-06-16
*/
public interface SarStandIssueControlCauseDao extends BaseMapper<SarStandIssueControlCause> {
}
@@ -0,0 +1,116 @@
package com.adc.da.slrs.sarStandIssueControlCause.entity;
import com.adc.da.base.entity.BaseEntity;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import com.adc.da.slrs.sarStandUnqualified.utils.TimestampConverter;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author super_liu
* @since 2021-06-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="SarStandIssueControlCause对象", description="")
public class SarStandIssueControlCause extends BaseEntity {
private static final long serialVersionUID = 1L;
@ExcelProperty("创建部门")
@ApiModelProperty(value = "创建部门")
@TableField("CREATE_DEPT_ID")
private String createDeptId;
@ExcelProperty("创建人")
@ApiModelProperty(value = "创建人")
@TableField("CREATE_BY_ID")
private String createById;
@ExcelProperty(value = "创建时间",converter = TimestampConverter.class)
@ApiModelProperty(value = "创建时间")
@TableField("CREATE_TIME")
private Timestamp createTime;
@ExcelProperty("关闭状态")
@ApiModelProperty(value = "关闭状态(1为开启,2为关闭)")
@TableField("CLOSE_STATE")
private Integer closeState;
@ExcelIgnore
@ApiModelProperty(value = "实际关闭时间")
@TableField("ACTUAL_CLOSE_TIME")
private Timestamp actualCloseTime;
@ExcelProperty(value = "要求关闭时间",converter = TimestampConverter.class)
@ApiModelProperty(value = "要求关闭时间")
@TableField("REQUIRE_CLOSE_TIME")
private Timestamp requireCloseTime;
@ExcelProperty("质量工程师")
@ApiModelProperty(value = "质量工程师")
@TableField("QA_ENGINEER")
private String qaEngineer;
@ExcelProperty("认证工程师")
@ApiModelProperty(value = "认证工程师")
@TableField("AUTH_ENGINEER")
private String authEngineer;
@ExcelProperty("责任工程师")
@ApiModelProperty(value = "责任工程师")
@TableField("DUTY_ENGINEER")
private String dutyEngineer;
@ExcelProperty("责任部门")
@ApiModelProperty(value = "责任部门")
@TableField("RESPONSIBLE_UNIT")
private String responsibleUnit;
@ExcelProperty("项目名称")
@ApiModelProperty(value = "项目名称")
@TableField("PRODUCT_NAME")
private String productName;
@ExcelProperty("产品线")
@ApiModelProperty(value = "产品线")
@TableField("PRODUCT_LINE")
private String productLine;
@ExcelProperty("当前节点")
@ApiModelProperty(value = "当前节点")
@TableField("CURRENT_NODE")
private String currentNode;
@ExcelProperty("标准名称")
@ApiModelProperty(value = "标准名称")
@TableField("STAND_NAME")
private String standName;
@ExcelProperty("标准编号")
@ApiModelProperty(value = "标准编号")
@TableField("STAND_ID")
private String standId;
@ExcelIgnore
@ApiModelProperty(value = "主键")
@TableId("ID")
private String id;
}
@@ -0,0 +1,69 @@
package com.adc.da.slrs.sarStandIssueControlCause.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.sql.Timestamp;
@Data
@ApiModel(value="SarStandIssueControlCausePage对象", description="")
public class SarStandIssueControlCausePage{
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "创建部门")
private String createDeptId;
@ApiModelProperty(value = "创建人")
private String createById;
@ApiModelProperty(value = "创建时间")
private Timestamp createTime;
@ApiModelProperty(value = "关闭状态(1为开启,2为关闭)")
private Integer closeState;
@ApiModelProperty(value = "实际关闭时间")
private Timestamp actualCloseTime;
@ApiModelProperty(value = "要求关闭时间")
private Timestamp requireCloseTime;
@ApiModelProperty(value = "质量工程师")
private String qaEngineer;
@ApiModelProperty(value = "认证工程师")
private String authEngineer;
@ApiModelProperty(value = "责任工程师")
private String dutyEngineer;
@ApiModelProperty(value = "责任部门")
private String responsibleUnit;
@ApiModelProperty(value = "项目名称")
private String productName;
@ApiModelProperty(value = "产品线")
private String productLine;
@ApiModelProperty(value = "当前节点")
private String currentNode;
@ApiModelProperty(value = "标准名称")
private String standName;
@ApiModelProperty(value = "标准编号")
private String standId;
@ApiModelProperty(value = "主键")
private String id;
@ApiModelProperty("当前页")
private Integer current;
@ApiModelProperty("每页条数")
private Integer size;
}
@@ -0,0 +1,16 @@
package com.adc.da.slrs.sarStandIssueControlCause.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
@ApiModel(description = "ExcelVO类")
public class StandIssueControlCauseExcelVO {
@ApiModelProperty("文件名")
String exportName;
@ApiModelProperty("导出的ID列表")
List<String> ids;
}
@@ -0,0 +1,12 @@
package com.adc.da.slrs.sarStandIssueControlCause.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class StandIssueControlCauseListVO {
@ApiModelProperty("ID列表")
private List<String> Ids;
}
@@ -0,0 +1,49 @@
package com.adc.da.slrs.sarStandIssueControlCause.service;
import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCause;
import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCausePage;
import com.adc.da.slrs.sarStandIssueControlCause.entity.StandIssueControlCauseExcelVO;
import com.adc.da.slrs.sarStandIssueControlCause.entity.StandIssueControlCauseListVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 服务类
* </p>
*
* @author super_liu
* @since 2021-06-16
*/
public interface ISarStandIssueControlCauseService extends IService<SarStandIssueControlCause> {
/**
* 分页查询
* @param sarStandIssueControlCausePage:筛选信息、分页信息
* @return IPage<SarStandIssueControlCause>
*/
IPage<SarStandIssueControlCause> getSarStandIssueControlCausePage(SarStandIssueControlCausePage sarStandIssueControlCausePage);
/**
* 分页查询历史数据
* @param sarStandIssueControlCausePage:筛选信息、分页信息
* @return IPage<SarStandIssueControlCause>
*/
IPage<SarStandIssueControlCause> getSarStandIssueControlCauseHistoryPage(SarStandIssueControlCausePage sarStandIssueControlCausePage);
/**
* 批量关闭
* @param standIssueControlCauseListVO:问题ID列表
* @return List<String>:关闭失败的ID列表
*/
List<String> closeSarStandIssueControlCauseList(StandIssueControlCauseListVO standIssueControlCauseListVO);
/**
* 获得excel导出的数据
* @param standIssueControlCauseExcelVO :筛选ID
* @return List<SarStandIssueControlCause>
*/
List<SarStandIssueControlCause> getStandIssueControlCauseExcelData(StandIssueControlCauseExcelVO standIssueControlCauseExcelVO);
}
@@ -0,0 +1,145 @@
package com.adc.da.slrs.sarStandIssueControlCause.service.impl;
import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCause;
import com.adc.da.slrs.sarStandIssueControlCause.dao.SarStandIssueControlCauseDao;
import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCausePage;
import com.adc.da.slrs.sarStandIssueControlCause.entity.StandIssueControlCauseExcelVO;
import com.adc.da.slrs.sarStandIssueControlCause.entity.StandIssueControlCauseListVO;
import com.adc.da.slrs.sarStandIssueControlCause.service.ISarStandIssueControlCauseService;
import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualified;
import com.adc.da.slrs.sarStandUnqualified.entity.StandUnqualifiedExcelVO;
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* <p>
* 服务实现类
* </p>
*
* @author super_liu
* @since 2021-06-16
*/
@Service
public class SarStandIssueControlCauseServiceImpl extends ServiceImpl<SarStandIssueControlCauseDao, SarStandIssueControlCause> implements ISarStandIssueControlCauseService {
@Autowired
private SarStandIssueControlCauseDao sarStandIssueControlCauseDao;
/**
* 分页查询
* @param sarStandIssueControlCausePage:筛选信息、分页信息
* @return SarStandIssueControlCause
*/
@Override
public IPage<SarStandIssueControlCause> getSarStandIssueControlCausePage(SarStandIssueControlCausePage sarStandIssueControlCausePage) {
QueryWrapper<SarStandIssueControlCause> sarStandIssueControlCauseQueryWrapper=new QueryWrapper<>();
//仅查询未关闭的
sarStandIssueControlCauseQueryWrapper.eq("close_state",1);
if(sarStandIssueControlCausePage.getStandId()!=null){
sarStandIssueControlCauseQueryWrapper.eq("stand_id",sarStandIssueControlCausePage.getStandId()).or().like("stand_name","%"+sarStandIssueControlCausePage.getStandName()+"%");
}
if(sarStandIssueControlCausePage.getProductName()!=null){
sarStandIssueControlCauseQueryWrapper.like("product_name","%"+sarStandIssueControlCausePage.getProductName()+"%");
}
if(sarStandIssueControlCausePage.getResponsibleUnit()!=null){
sarStandIssueControlCauseQueryWrapper.eq("responsible_unit",sarStandIssueControlCausePage.getResponsibleUnit());
}
Page<SarStandIssueControlCause> standIssueControlCausePage=new Page<>();
//判断前端是否提供页码和每页条数
if(sarStandIssueControlCausePage.getCurrent()!=null&&sarStandIssueControlCausePage.getSize()!=null){
standIssueControlCausePage=new Page<>(sarStandIssueControlCausePage.getCurrent(),sarStandIssueControlCausePage.getSize());
}
return sarStandIssueControlCauseDao.selectPage(standIssueControlCausePage,sarStandIssueControlCauseQueryWrapper);
}
/**
* 分页查询历史数据
* @param sarStandIssueControlCausePage:筛选信息、分页信息
* @return IPage<SarStandIssueControlCause>
*/
@Override
public IPage<SarStandIssueControlCause> getSarStandIssueControlCauseHistoryPage(SarStandIssueControlCausePage sarStandIssueControlCausePage) {
QueryWrapper<SarStandIssueControlCause> sarStandIssueControlCauseQueryWrapper=new QueryWrapper<>();
//仅查询关闭的
sarStandIssueControlCauseQueryWrapper.eq("close_state",2);
if(sarStandIssueControlCausePage.getStandId()!=null){
sarStandIssueControlCauseQueryWrapper.eq("stand_id",sarStandIssueControlCausePage.getStandId()).or().like("stand_name","%"+sarStandIssueControlCausePage.getStandName()+"%");
}
if(sarStandIssueControlCausePage.getProductName()!=null){
sarStandIssueControlCauseQueryWrapper.like("product_name","%"+sarStandIssueControlCausePage.getProductName()+"%");
}
if(sarStandIssueControlCausePage.getResponsibleUnit()!=null){
sarStandIssueControlCauseQueryWrapper.eq("responsible_unit",sarStandIssueControlCausePage.getResponsibleUnit());
}
Page<SarStandIssueControlCause> standIssueControlCausePage=new Page<>();
//判断前端是否提供页码和每页条数
if(sarStandIssueControlCausePage.getCurrent()!=null&&sarStandIssueControlCausePage.getSize()!=null){
standIssueControlCausePage=new Page<>(sarStandIssueControlCausePage.getCurrent(),sarStandIssueControlCausePage.getSize());
}
return sarStandIssueControlCauseDao.selectPage(standIssueControlCausePage,sarStandIssueControlCauseQueryWrapper);
}
/**
* 批量关闭
* @param standIssueControlCauseListVO:问题ID列表
* @return List<String>:关闭失败的ID列表
*/
@Override
public List<String> closeSarStandIssueControlCauseList(StandIssueControlCauseListVO standIssueControlCauseListVO) {
List<String> failIds=new ArrayList<>();
for(String id:standIssueControlCauseListVO.getIds()){
boolean success=closeSarStandIssueControlCause(id);
if(!success){
failIds.add(id);
}
}
return failIds;
}
/**
* 获得excel导出的数据
* @param standIssueControlCauseExcelVO :筛选ID
* @return List<SarStandIssueControlCause>
*/
@Override
public List<SarStandIssueControlCause> getStandIssueControlCauseExcelData(StandIssueControlCauseExcelVO standIssueControlCauseExcelVO) {
QueryWrapper<SarStandIssueControlCause> sarStandIssueControlCauseQueryWrapper=new QueryWrapper<>();
sarStandIssueControlCauseQueryWrapper.eq("close_state",1);
if(standIssueControlCauseExcelVO.getIds()!=null&&standIssueControlCauseExcelVO.getIds().size()>0){
sarStandIssueControlCauseQueryWrapper.in("id",standIssueControlCauseExcelVO.getIds());
}
return sarStandIssueControlCauseDao.selectList(sarStandIssueControlCauseQueryWrapper);
}
/**
* 问题关闭
* @param standIssueControlCauseIdID
* @return boolean
*/
private boolean closeSarStandIssueControlCause(String standIssueControlCauseId){
SarStandIssueControlCause sarStandIssueControlCause=sarStandIssueControlCauseDao.selectById(standIssueControlCauseId);
//判断是否存在
if(sarStandIssueControlCause==null){
return false;
}
//判断是否已关闭
if(sarStandIssueControlCause.getCloseState()==2){
return false;
}
sarStandIssueControlCause.setCloseState(2);
sarStandIssueControlCause.setActualCloseTime(new Timestamp(new Date().getTime()));
sarStandIssueControlCauseDao.updateById(sarStandIssueControlCause);
return true;
}
}
@@ -0,0 +1,122 @@
package com.adc.da.slrs.sarStandIssueControlProduct.controller;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.ResponseMessageCodeEnum;
import com.adc.da.http.Result;
import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCause;
import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCausePage;
import com.adc.da.slrs.sarStandIssueControlCause.entity.StandIssueControlCauseExcelVO;
import com.adc.da.slrs.sarStandIssueControlCause.entity.StandIssueControlCauseListVO;
import com.adc.da.slrs.sarStandIssueControlCause.service.ISarStandIssueControlCauseService;
import com.adc.da.slrs.sarStandIssueControlProduct.entity.SarStandIssueControlProductPage;
import com.adc.da.slrs.sarStandIssueControlProduct.entity.StandIssueControlProductExcelVO;
import com.adc.da.slrs.sarStandIssueControlProduct.entity.StandIssueControlProductListVO;
import com.adc.da.slrs.sarStandIssueControlProduct.service.ISarStandIssueControlProductService;
import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualified;
import com.adc.da.slrs.sarStandardsInfo.controller.SarStandardsInfoController;
import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.adc.da.slrs.sarStandIssueControlProduct.entity.SarStandIssueControlProduct;
import io.swagger.annotations.Api;
import com.adc.da.base.web.BaseController;
import javax.servlet.http.HttpServletResponse;
import java.net.URLEncoder;
import java.util.List;
/**
* <p>
* 前端控制器
* </p>
*
* @author zxy
* @since 2021-06-17
*/
@RestController
@Api(tags = "|重点问题项管控-产品规划部|")
@RequestMapping("/sarStandIssueControlProduct/sar-stand-issue-control-product")
public class SarStandIssueControlProductController extends BaseController<SarStandIssueControlProduct> {
private static final Logger logger = LoggerFactory.getLogger(SarStandardsInfoController.class);
@Autowired
private ISarStandIssueControlProductService sarStandIssueControlProductService;
/**
* 分页查询
* @param sarStandIssueControlProductPage:筛选、分页信息
* @return ResponseMessage<IPage<SarStandIssueControlCause>>
*/
@ApiOperation("分页查询")
@GetMapping
public ResponseMessage<IPage<SarStandIssueControlProduct>> getSarStandIssueControlProductPage(SarStandIssueControlProductPage sarStandIssueControlProductPage){
IPage<SarStandIssueControlProduct> sarStandIssueControlCauseIPage=sarStandIssueControlProductService.getSarStandIssueControlProductPage(sarStandIssueControlProductPage);
return Result.success(sarStandIssueControlCauseIPage);
}
/**
* 分页查询历史数据
* @param sarStandIssueControlProductPage:筛选、分页信息
* @return ResponseMessage<IPage<SarStandUnqualified>>
*/
@ApiOperation("分页查询历史数据")
@GetMapping("/history")
public ResponseMessage<IPage<SarStandIssueControlProduct>> getSarStandIssueControlProductHistoryPage(SarStandIssueControlProductPage sarStandIssueControlProductPage){
IPage<SarStandIssueControlProduct> sarStandIssueControlProductIPage=sarStandIssueControlProductService.getSarStandIssueControlProductHistoryPage(sarStandIssueControlProductPage);
return Result.success(sarStandIssueControlProductIPage);
}
/**
* 批量关闭
* @param standIssueControlProductListVO:重大问题ID列表
* @return ResponseMessage<List<String>>:关闭失败的重大问题ID列表
*/
@ApiOperation("批量关闭")
@PostMapping("/close")
public ResponseMessage<List<String>> closeSarStandIssueControlCause(@RequestBody StandIssueControlProductListVO standIssueControlProductListVO){
if(standIssueControlProductListVO==null||standIssueControlProductListVO.getIds().size()==0){
return Result.error(ResponseMessageCodeEnum.ERROR.getCode(),"未传入ID",null);
}
List<String> failIds=sarStandIssueControlProductService.closeSarStandIssueControlProductList(standIssueControlProductListVO);
if(failIds==null||failIds.size()==0){
return Result.success(null);
}else {
return Result.error(ResponseMessageCodeEnum.ERROR.getCode(),"部分关闭失败",null);
}
}
@ApiOperation("导出Excel表")
@GetMapping(value = "/exportStandUnqulifiedExcel")
public void exportStandardsInfoExcel(StandIssueControlProductExcelVO standIssueControlProductExcelVO, HttpServletResponse response) throws Exception {
// 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman
try {
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
// 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
if(standIssueControlProductExcelVO.getExportName()==null){
standIssueControlProductExcelVO.setExportName("产品规划部重点问题项管控");
}
String fileName = URLEncoder.encode(standIssueControlProductExcelVO.getExportName(), "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
List<SarStandIssueControlProduct> data=sarStandIssueControlProductService.getStandIssueControlProductExcelData(standIssueControlProductExcelVO);
// 这里需要设置不关闭流
EasyExcel.write(response.getOutputStream(), SarStandIssueControlProduct.class).autoCloseStream(Boolean.FALSE).sheet("sheet1")
.doWrite(data);
} catch (Exception e) {
System.out.println(e);
// 重置response
response.reset();
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
response.getWriter().println(JSON.toJSONString(Result.error()));
}
}
}
@@ -0,0 +1,16 @@
package com.adc.da.slrs.sarStandIssueControlProduct.dao;
import com.adc.da.slrs.sarStandIssueControlProduct.entity.SarStandIssueControlProduct;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author super_liu
* @since 2021-06-17
*/
public interface SarStandIssueControlProductDao extends BaseMapper<SarStandIssueControlProduct> {
}
@@ -0,0 +1,121 @@
package com.adc.da.slrs.sarStandIssueControlProduct.entity;
import com.adc.da.base.entity.BaseEntity;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import com.adc.da.slrs.sarStandUnqualified.utils.TimestampConverter;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author super_liu
* @since 2021-06-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="SarStandIssueControlProduct对象", description="产品规划部重大问题管控")
public class SarStandIssueControlProduct extends BaseEntity {
private static final long serialVersionUID = 1L;
@ExcelProperty("创建部门")
@ApiModelProperty(value = "创建部门")
@TableField("CREATE_DEPT_ID")
private String createDeptId;
@ExcelProperty("创建人")
@ApiModelProperty(value = "创建人")
@TableField("CREATE_BY_ID")
private String createById;
@ExcelProperty(value = "创建时间",converter = TimestampConverter.class)
@ApiModelProperty(value = "创建时间")
@TableField("CREATE_TIME")
private Timestamp createTime;
@ExcelIgnore
@ApiModelProperty(value = "关闭状态(1为开启,2为关闭)")
@TableField("CLOSE_STATE")
private Integer closeState;
@ExcelIgnore
@ApiModelProperty(value = "实际关闭时间")
@TableField("ACTUAL_CLOSE_TIME")
private Timestamp actualCloseTime;
@ExcelProperty(value = "要求关闭时间",converter = TimestampConverter.class)
@ApiModelProperty(value = "要求关闭时间")
@TableField("REQUIRE_CLOSE_TIME")
private Timestamp requireCloseTime;
@ExcelProperty("平台")
@ApiModelProperty(value = "平台")
@TableField("PLATFORM")
private String platform;
@ExcelProperty("业务")
@ApiModelProperty(value = "业务")
@TableField("BUSINESS")
private String business;
@ExcelProperty("符合性状态")
@ApiModelProperty(value = "符合性状态")
@TableField("CONFORMANCE_STATE")
private String conformanceState;
@ExcelProperty("责任工程师")
@ApiModelProperty(value = "责任工程师")
@TableField("DUTY_ENGINEER")
private String dutyEngineer;
@ExcelProperty("责任部门")
@ApiModelProperty(value = "责任部门")
@TableField("RESPONSIBLE_UNIT")
private String responsibleUnit;
@ExcelProperty("实施要求")
@ApiModelProperty(value = "实施要求")
@TableField("IMPLEMENT_DEMAND")
private String implementDemand;
@ExcelProperty(value = "实施时间",converter = TimestampConverter.class)
@ApiModelProperty(value = "实施时间")
@TableField("IMPLEMENT_TIME")
private Timestamp implementTime;
@ExcelProperty("当前节点")
@ApiModelProperty(value = "当前节点")
@TableField("CURRENT_NODE")
private String currentNode;
@ExcelProperty(value = "标准名称/政策名称")
@ApiModelProperty(value = "标准名称/政策名称")
@TableField("STAND_NAME")
private String standName;
@ExcelProperty("标准编号/政策编号")
@ApiModelProperty(value = "标准编号/政策编号")
@TableField("STAND_ID")
private String standId;
@ExcelIgnore
@ApiModelProperty(value = "主键")
@TableId("ID")
private String id;
}
@@ -0,0 +1,91 @@
package com.adc.da.slrs.sarStandIssueControlProduct.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.sql.Timestamp;
import java.time.LocalDateTime;
@Data
@ApiModel(description = "产品规划部重大问题管控分页")
public class SarStandIssueControlProductPage {
@ApiModelProperty(value = "创建部门")
@TableField("CREATE_DEPT_ID")
private String createDeptId;
@ApiModelProperty(value = "创建人")
@TableField("CREATE_BY_ID")
private String createById;
@ApiModelProperty(value = "创建时间")
@TableField("CREATE_TIME")
private Timestamp createTime;
@ApiModelProperty(value = "关闭状态(1为开启,2为关闭)")
@TableField("CLOSE_STATE")
private Integer closeState;
@ApiModelProperty(value = "实际关闭时间")
@TableField("ACTUAL_CLOSE_TIME")
private Timestamp actualCloseTime;
@ApiModelProperty(value = "要求关闭时间")
@TableField("REQUIRE_CLOSE_TIME")
private Timestamp requireCloseTime;
@ApiModelProperty(value = "平台")
@TableField("PLANTFORM")
private String plantform;
@ApiModelProperty(value = "业务")
@TableField("BUSINESS")
private String business;
@ApiModelProperty(value = "符合性状态")
@TableField("CONFORMANCE_STATE")
private String conformanceState;
@ApiModelProperty(value = "责任工程师")
@TableField("DUTY_ENGINEER")
private String dutyEngineer;
@ApiModelProperty(value = "责任部门")
@TableField("RESPONSIBLE_UNIT")
private String responsibleUnit;
@ApiModelProperty(value = "实施要求")
@TableField("IMPLEMEN_DEMAND")
private String implemenDemand;
@ApiModelProperty(value = "实施时间")
@TableField("IMPLEMENT_TIME")
private Timestamp implementTime;
@ApiModelProperty(value = "当前节点")
@TableField("CURRENT_NODE")
private String currentNode;
@ApiModelProperty(value = "标准名称/政策名称")
@TableField("STAND_NAME")
private String standName;
@ApiModelProperty(value = "标准编号/政策编号")
@TableField("STAND_ID")
private String standId;
@ApiModelProperty(value = "主键")
@TableId("ID")
private String id;
@ApiModelProperty("当前页")
private Integer current;
@ApiModelProperty("每页条数")
private Integer size;
}
@@ -0,0 +1,16 @@
package com.adc.da.slrs.sarStandIssueControlProduct.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
@ApiModel(description = "ExcelVO类")
public class StandIssueControlProductExcelVO {
@ApiModelProperty("文件名")
String exportName;
@ApiModelProperty("导出的ID列表")
List<String> ids;
}
@@ -0,0 +1,12 @@
package com.adc.da.slrs.sarStandIssueControlProduct.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class StandIssueControlProductListVO {
@ApiModelProperty("ID列表")
private List<String> Ids;
}
@@ -0,0 +1,51 @@
package com.adc.da.slrs.sarStandIssueControlProduct.service;
import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCause;
import com.adc.da.slrs.sarStandIssueControlCause.entity.StandIssueControlCauseExcelVO;
import com.adc.da.slrs.sarStandIssueControlProduct.entity.SarStandIssueControlProduct;
import com.adc.da.slrs.sarStandIssueControlProduct.entity.SarStandIssueControlProductPage;
import com.adc.da.slrs.sarStandIssueControlProduct.entity.StandIssueControlProductExcelVO;
import com.adc.da.slrs.sarStandIssueControlProduct.entity.StandIssueControlProductListVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 服务类
* </p>
*
* @author zxy
* @since 2021-06-17
*/
public interface ISarStandIssueControlProductService extends IService<SarStandIssueControlProduct> {
/**
* 分页查询
* @param sarStandIssueControlProductPage:筛选、分页信息
* @return IPage<SarStandIssueControlProduct>
*/
IPage<SarStandIssueControlProduct> getSarStandIssueControlProductPage(SarStandIssueControlProductPage sarStandIssueControlProductPage);
/**
* 分页查询
* @param sarStandIssueControlProductPage:筛选、分页信息
* @return IPage<SarStandIssueControlProduct>
*/
IPage<SarStandIssueControlProduct> getSarStandIssueControlProductHistoryPage(SarStandIssueControlProductPage sarStandIssueControlProductPage);
/**
* 批量关闭
* @param standIssueControlProductListVO:关闭ID列表
* @return List<String>:关闭失败的ID
*/
List<String> closeSarStandIssueControlProductList(StandIssueControlProductListVO standIssueControlProductListVO);
/**
* 获得导出excel的数据
* @param standIssueControlProductExcelVO:导出的数据ID
* @return List<SarStandIssueControlProduct>
*/
List<SarStandIssueControlProduct> getStandIssueControlProductExcelData(StandIssueControlProductExcelVO standIssueControlProductExcelVO);
}
@@ -0,0 +1,135 @@
package com.adc.da.slrs.sarStandIssueControlProduct.service.impl;
import com.adc.da.slrs.sarStandIssueControlCause.entity.SarStandIssueControlCause;
import com.adc.da.slrs.sarStandIssueControlProduct.entity.SarStandIssueControlProduct;
import com.adc.da.slrs.sarStandIssueControlProduct.dao.SarStandIssueControlProductDao;
import com.adc.da.slrs.sarStandIssueControlProduct.entity.SarStandIssueControlProductPage;
import com.adc.da.slrs.sarStandIssueControlProduct.entity.StandIssueControlProductExcelVO;
import com.adc.da.slrs.sarStandIssueControlProduct.entity.StandIssueControlProductListVO;
import com.adc.da.slrs.sarStandIssueControlProduct.service.ISarStandIssueControlProductService;
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* <p>
* 服务实现类
* </p>
*
* @author super_liu
* @since 2021-06-17
*/
@Service
public class SarStandIssueControlProductServiceImpl extends ServiceImpl<SarStandIssueControlProductDao, SarStandIssueControlProduct> implements ISarStandIssueControlProductService {
@Autowired
private SarStandIssueControlProductDao sarStandIssueControlProductDao;
/**
* 分页查询
* @param sarStandIssueControlProductPage:筛选、分页信息
* @return IPage<SarStandIssueControlProduct>
*/
@Override
public IPage<SarStandIssueControlProduct> getSarStandIssueControlProductPage(SarStandIssueControlProductPage sarStandIssueControlProductPage) {
QueryWrapper<SarStandIssueControlProduct> sarStandIssueControlProductQueryWrapper=new QueryWrapper<>();
//仅查询未关闭的
sarStandIssueControlProductQueryWrapper.eq("close_state",1);
if(sarStandIssueControlProductPage.getStandId()!=null){
sarStandIssueControlProductQueryWrapper.eq("stand_id",sarStandIssueControlProductPage.getStandId()).or().like("stand_name","%"+sarStandIssueControlProductPage.getStandName()+"%");
}
if(sarStandIssueControlProductPage.getResponsibleUnit()!=null){
sarStandIssueControlProductQueryWrapper.eq("responsible_unit",sarStandIssueControlProductPage.getResponsibleUnit());
}
Page<SarStandIssueControlProduct> standIssueControlCausePage=new Page<>();
//判断前端是否提供页码和每页条数
if(sarStandIssueControlProductPage.getCurrent()!=null&&sarStandIssueControlProductPage.getSize()!=null){
standIssueControlCausePage=new Page<>(sarStandIssueControlProductPage.getCurrent(),sarStandIssueControlProductPage.getSize());
}
return sarStandIssueControlProductDao.selectPage(standIssueControlCausePage,sarStandIssueControlProductQueryWrapper);
}
/**
* 分页查询
* @param sarStandIssueControlProductPage:筛选、分页信息
* @return IPage<SarStandIssueControlProduct>
*/
@Override
public IPage<SarStandIssueControlProduct> getSarStandIssueControlProductHistoryPage(SarStandIssueControlProductPage sarStandIssueControlProductPage) {
QueryWrapper<SarStandIssueControlProduct> sarStandIssueControlProductQueryWrapper=new QueryWrapper<>();
//仅查询关闭的
sarStandIssueControlProductQueryWrapper.eq("close_state",2);
if(sarStandIssueControlProductPage.getStandId()!=null){
sarStandIssueControlProductQueryWrapper.eq("stand_id",sarStandIssueControlProductPage.getStandId()).or().like("stand_name","%"+sarStandIssueControlProductPage.getStandName()+"%");
}
if(sarStandIssueControlProductPage.getResponsibleUnit()!=null){
sarStandIssueControlProductQueryWrapper.eq("responsible_unit",sarStandIssueControlProductPage.getResponsibleUnit());
}
Page<SarStandIssueControlProduct> standIssueControlCausePage=new Page<>();
//判断前端是否提供页码和每页条数
if(sarStandIssueControlProductPage.getCurrent()!=null&&sarStandIssueControlProductPage.getSize()!=null){
standIssueControlCausePage=new Page<>(sarStandIssueControlProductPage.getCurrent(),sarStandIssueControlProductPage.getSize());
}
return sarStandIssueControlProductDao.selectPage(standIssueControlCausePage,sarStandIssueControlProductQueryWrapper);
}
/**
* 批量关闭
* @param standIssueControlProductListVO:关闭ID列表
* @return List<String>:关闭失败的ID
*/
@Override
public List<String> closeSarStandIssueControlProductList(StandIssueControlProductListVO standIssueControlProductListVO) {
List<String> failIds=new ArrayList<>();
for(String id:standIssueControlProductListVO.getIds()){
boolean success=closeSarStandIssueControlProduct(id);
if(!success){
failIds.add(id);
}
}
return failIds;
}
/**
* 获得导出excel的数据
* @param standIssueControlProductExcelVO:导出的数据ID
* @return List<SarStandIssueControlProduct>
*/
@Override
public List<SarStandIssueControlProduct> getStandIssueControlProductExcelData(StandIssueControlProductExcelVO standIssueControlProductExcelVO) {
QueryWrapper<SarStandIssueControlProduct> sarStandIssueControlProductQueryWrapper=new QueryWrapper<>();
sarStandIssueControlProductQueryWrapper.eq("close_state",1);
if(standIssueControlProductExcelVO.getIds()!=null&&standIssueControlProductExcelVO.getIds().size()>0){
sarStandIssueControlProductQueryWrapper.in("id",standIssueControlProductExcelVO.getIds());
}
return sarStandIssueControlProductDao.selectList(sarStandIssueControlProductQueryWrapper);
}
/**
* 问题关闭
* @param standIssueControlCauseIdID
* @return boolean
*/
private boolean closeSarStandIssueControlProduct(String standIssueControlCauseId){
SarStandIssueControlProduct sarStandIssueControlProduct=sarStandIssueControlProductDao.selectById(standIssueControlCauseId);
//判断是否存在
if(sarStandIssueControlProduct==null){
return false;
}
//判断是否已关闭
if(sarStandIssueControlProduct.getCloseState()==2){
return false;
}
sarStandIssueControlProduct.setCloseState(2);
sarStandIssueControlProduct.setActualCloseTime(new Timestamp(new Date().getTime()));
sarStandIssueControlProductDao.updateById(sarStandIssueControlProduct);
return true;
}
}
@@ -1,12 +1,25 @@
package com.adc.da.slrs.sarStandMenu.controller;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.slrs.sarMenu.entity.SarMenu;
import com.adc.da.slrs.sarMenu.service.ISarMenuService;
import com.adc.da.slrs.sarStandMenu.service.ISarStandMenuService;
import com.adc.da.util.UUIDUtils;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import com.adc.da.slrs.sarStandMenu.entity.SarStandMenu;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.adc.da.base.web.BaseController;
import java.util.List;
/**
* <p>
* 前端控制器
@@ -17,7 +30,51 @@ import com.adc.da.base.web.BaseController;
*/
@RestController
@Api(description = "|SarStandMenu|")
@RequestMapping("/SarStandMenu/sar-stand-menu")
@RequestMapping("/${restPath}/lawss/sarStandMenu")
public class SarStandMenuController extends BaseController<SarStandMenu> {
@Autowired
private ISarStandMenuService sarStandMenuEOService;
@Autowired
private ISarMenuService sarMenuEOService;
@ApiOperation(value = "|SarStandMenuEO|修改")
@PutMapping("/removeStandInfo")
// @RequiresPermissions("lawss:sarStandMenu:update")
public ResponseMessage update(@RequestBody SarStandMenu standardsInfoEO) throws Exception {
String[] idList = standardsInfoEO.getIdlist();
int count = 0;
if(idList != null){
for(String id : idList){
SarStandMenu menuEO = new SarStandMenu();
menuEO.setStandId(id);
menuEO.setMenuId(standardsInfoEO.getMenuId());
//删除所选目录下关联
String oldMenuId = standardsInfoEO.getOldMenuId();
if (StringUtils.isEmpty(oldMenuId)) {
oldMenuId = standardsInfoEO.getMenuId();
}
menuEO.setOldMenuId(oldMenuId);
count += sarStandMenuEOService.deleteByMenuId(menuEO);
//查询是否还有与其他节点的关联,若没有则增加与根节点的关联
List<SarStandMenu> getList = sarStandMenuEOService.selectAllMenuByStandId(menuEO);
if (getList == null || getList.isEmpty()) {
// 查询根节点
SarMenu sarMenuEO = new SarMenu();
sarMenuEO.setSorDivide(standardsInfoEO.getStandType() + "_STAND");
List<SarMenu> getRootMenu = sarMenuEOService.queryMenuByDis(sarMenuEO);
menuEO.setMenuId(getRootMenu.get(0).getId());
menuEO.setId(UUIDUtils.randomUUID20());
menuEO.setValidFlag(0);
sarStandMenuEOService.saveOrUpdate(menuEO);
}
}
}
if(count>0){
return Result.success("0","移除成功!",true);
} else {
return Result.error("移除失败!");
}
}
}
@@ -24,4 +24,9 @@ public interface SarStandMenuDao extends BaseMapper<SarStandMenu> {
int updateByStandIdAndMenuId(SarStandMenu sarStandMenuEO);
int deleteByStandIdAndMenuId(SarStandMenu sarStandMenuEO);
int deleteByMenuId (SarStandMenu sarStandMenuEO);
List<SarStandMenu> selectAllMenuByStandId(SarStandMenu sarStandMenuEO);
}
@@ -3,6 +3,8 @@ package com.adc.da.slrs.sarStandMenu.service;
import com.adc.da.slrs.sarStandMenu.entity.SarStandMenu;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 服务类
@@ -13,4 +15,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface ISarStandMenuService extends IService<SarStandMenu> {
int deleteByMenuId (SarStandMenu sarStandMenuEO);
List<SarStandMenu> selectAllMenuByStandId(SarStandMenu sarStandMenuEO);
}
@@ -1,11 +1,15 @@
package com.adc.da.slrs.sarStandMenu.service.impl;
import com.adc.da.slrs.sarMenu.service.ISarMenuService;
import com.adc.da.slrs.sarStandMenu.entity.SarStandMenu;
import com.adc.da.slrs.sarStandMenu.dao.SarStandMenuDao;
import com.adc.da.slrs.sarStandMenu.service.ISarStandMenuService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 服务实现类
@@ -17,4 +21,22 @@ import org.springframework.stereotype.Service;
@Service
public class SarStandMenuServiceImpl extends ServiceImpl<SarStandMenuDao, SarStandMenu> implements ISarStandMenuService {
@Autowired
private SarStandMenuDao dao;
@Autowired
private ISarMenuService sarMenuEOService;
@Override
public int deleteByMenuId (SarStandMenu sarStandMenuEO){
List<String> menuIds = sarMenuEOService.getChildMenuList(sarStandMenuEO.getOldMenuId());
sarStandMenuEO.setMenuIds(menuIds);
return dao.deleteByMenuId(sarStandMenuEO);
}
@Override
public List<SarStandMenu> selectAllMenuByStandId(SarStandMenu sarStandMenuEO){
return dao.selectAllMenuByStandId(sarStandMenuEO);
}
}
@@ -2,17 +2,7 @@ package com.adc.da.slrs.sarStandProjectLibrary.service;
import com.adc.da.slrs.sarStandProjectLibrary.entity.SarStandProjectLibrary;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 服务类
* </p>
*
* @author super_liu
* @since 2021-06-02
*/
public interface ISarStandProjectLibraryService extends IService<SarStandProjectLibrary> {
public interface ISarStandProjectLibraryService {
IPage<SarStandProjectLibrary> queryMaintenanceProject(int current, int pageSize);
}
@@ -1,15 +1,42 @@
package com.adc.da.slrs.sarStandUnqualified.controller;
import com.adc.da.common.ReadExcel;
import com.adc.da.exception.AdcDaBaseException;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.ResponseMessageCodeEnum;
import com.adc.da.http.Result;
import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualifiedPage;
import com.adc.da.slrs.sarStandUnqualified.entity.StandUnqualifiedExcelVO;
import com.adc.da.slrs.sarStandUnqualified.entity.StandUnqualifiedListVO;
import com.adc.da.slrs.sarStandUnqualified.service.ISarStandUnqualifiedService;
import com.adc.da.slrs.sarStandardsInfo.controller.SarStandardsInfoController;
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo;
import com.adc.da.slrs.sarStandardsInfo.entity.StandardsInfoExcelVO;
import com.adc.da.utils.util.StandExportUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.util.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.*;
import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualified;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.adc.da.base.web.BaseController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
* 前端控制器
@@ -22,8 +49,79 @@ import com.adc.da.base.web.BaseController;
@Api(tags = "未符合项整改")
@RequestMapping("/sarStandUnqualified/sar-stand-unqualified")
public class SarStandUnqualifiedController extends BaseController<SarStandUnqualified> {
private static final Logger logger = LoggerFactory.getLogger(SarStandardsInfoController.class);
@Autowired
private ISarStandUnqualifiedService sarStandUnqualifiedService;
/**
* 分页查询未符合项
* @param sarStandUnqualifiedPage:筛选、分页信息
* @return ResponseMessage<IPage<SarStandUnqualified>>
*/
@ApiOperation("分页查询未符合项")
@GetMapping
public ResponseMessage<IPage<SarStandUnqualified>> getSarStandUnqualifiedPage(SarStandUnqualifiedPage sarStandUnqualifiedPage){
IPage<SarStandUnqualified> sarStandUnqualifiedIPage=sarStandUnqualifiedService.getSarStandUnqualifiedPage(sarStandUnqualifiedPage);
return Result.success(sarStandUnqualifiedIPage);
}
/**
* 分页查询未符合项历史数据
* @param sarStandUnqualifiedPage:筛选、分页信息
* @return ResponseMessage<IPage<SarStandUnqualified>>
*/
@ApiOperation("分页查询未符合项历史数据")
@GetMapping("/history")
public ResponseMessage<IPage<SarStandUnqualified>> getSarStandUnqualifiedHistoryPage(SarStandUnqualifiedPage sarStandUnqualifiedPage){
IPage<SarStandUnqualified> sarStandUnqualifiedIPage=sarStandUnqualifiedService.getSarStandUnqualifiedHistoryPage(sarStandUnqualifiedPage);
return Result.success(sarStandUnqualifiedIPage);
}
/**
* 批量关闭未符合项
* @param standUnqualifiedListVO:未符合项ID列表
* @return ResponseMessage<List<String>>:关闭失败的未符合项ID
*/
@ApiOperation("批量关闭未符合项")
@PostMapping("/close")
public ResponseMessage<List<String>> closeSarStandUnqualified(@RequestBody StandUnqualifiedListVO standUnqualifiedListVO){
if(standUnqualifiedListVO==null||standUnqualifiedListVO.getIds().size()==0){
return Result.error(ResponseMessageCodeEnum.ERROR.getCode(),"未传入未符合项ID",null);
}
List<String> failIds=sarStandUnqualifiedService.closeSarStandUnqualifiedList(standUnqualifiedListVO);
if(failIds==null||failIds.size()==0){
return Result.success(null);
}else {
return Result.error(ResponseMessageCodeEnum.ERROR.getCode(),"部分未符合项关闭失败",null);
}
}
@ApiOperation("导出Excel表")
@GetMapping(value = "/exportStandUnqulifiedExcel")
public void exportStandardsInfoExcel(StandUnqualifiedExcelVO standUnqualifiedExcelVO, HttpServletResponse response) throws Exception {
// 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman
try {
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
// 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
if(standUnqualifiedExcelVO.getExportName()==null){
standUnqualifiedExcelVO.setExportName("未符合项信息");
}
String fileName = URLEncoder.encode(standUnqualifiedExcelVO.getExportName(), "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
List<SarStandUnqualified> data=sarStandUnqualifiedService.getStandUnqualifiedExcelData(standUnqualifiedExcelVO);
// 这里需要设置不关闭流
EasyExcel.write(response.getOutputStream(), SarStandUnqualified.class).autoCloseStream(Boolean.FALSE).sheet("sheet1")
.doWrite(data);
} catch (Exception e) {
System.out.println(e);
// 重置response
response.reset();
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
response.getWriter().println(JSON.toJSONString(Result.error()));
}
}
}
@@ -1,7 +1,13 @@
package com.adc.da.slrs.sarStandUnqualified.entity;
import com.adc.da.base.entity.BaseEntity;
import java.time.LocalDateTime;
import java.sql.Timestamp;
import com.adc.da.slrs.sarStandUnqualified.utils.ProductTypeConverter;
import com.adc.da.slrs.sarStandUnqualified.utils.TimestampConverter;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
@@ -26,74 +32,92 @@ public class SarStandUnqualified extends BaseEntity {
private static final long serialVersionUID = 1L;
@ExcelProperty("创建部门")
@ApiModelProperty(value = "创建部门")
@TableField("CREATE_DEPT_ID")
private String createDeptId;
@ExcelProperty("创建人")
@ApiModelProperty(value = "创建人")
@TableField("CREATE_BY_ID")
private String createById;
@ExcelProperty(value = "创建时间",converter = TimestampConverter.class)
@ApiModelProperty(value = "创建时间")
@TableField("CREATE_TIME")
private LocalDateTime createTime;
private Timestamp createTime;
@ExcelIgnore
@ApiModelProperty(value = "关闭状态(1为开启,2为关闭)")
@TableField("CLOSE_STATE")
private Integer closeState;
@ExcelIgnore
@ApiModelProperty(value = "实际关闭时间")
@TableField("ACTUAL_CLOSE_TIME")
private LocalDateTime actualCloseTime;
private Timestamp actualCloseTime;
@ExcelProperty(value = "计划关闭时间",converter = TimestampConverter.class)
@ApiModelProperty(value = "计划关闭时间")
@TableField("PLAN_CLOSE_TIME")
private LocalDateTime planCloseTime;
private Timestamp planCloseTime;
@ExcelProperty("质量工程师")
@ApiModelProperty(value = "质量工程师")
@TableField("QA_ENGINEER")
private String qaEngineer;
@ExcelProperty("认证工程师")
@ApiModelProperty(value = "认证工程师")
@TableField("AUTH_ENGINEER")
private String authEngineer;
@ExcelProperty("责任工程师")
@ApiModelProperty(value = "责任工程师")
@TableField("DUTY_ENGINEER")
private String dutyEngineer;
@ExcelProperty("责任部门")
@ApiModelProperty(value = "责任部门")
@TableField("RESPONSIBLE_UNIT")
private String responsibleUnit;
@ExcelProperty("项目名称")
@ApiModelProperty(value = "项目名称")
@TableField("PRODUCT_NAME")
private String productName;
@ExcelProperty("产品线")
@ApiModelProperty(value = "产品线")
@TableField("PRODUCT_LINE")
private String productLine;
@ExcelProperty(value = "产品类型",converter = ProductTypeConverter.class)
@ApiModelProperty(value = "产品类型(research为在研产品,product为在产产品)")
@TableField("PRODUCT_TYPE")
private String productType;
@ExcelProperty("条款名称")
@ApiModelProperty(value = "条款名称")
@TableField("ITEMS_NAME")
private String itemsName;
@ExcelProperty("条款号")
@ApiModelProperty(value = "条款号")
@TableField("ITEMS_NUM")
private String itemsNum;
@ExcelProperty("标准名称")
@ApiModelProperty(value = "标准名称")
@TableField("STAND_NAME")
private String standName;
@ExcelProperty("标准编号")
@ApiModelProperty(value = "标准ID")
@TableField("STAND_ID")
private String standId;
@ExcelIgnore
@ApiModelProperty(value = "主键")
@TableId("ID")
private String id;
@@ -0,0 +1,88 @@
package com.adc.da.slrs.sarStandUnqualified.entity;
import com.adc.da.base.entity.BaseEntity;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonBackReference;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author super_liu
* @since 2021-06-15
*/
@Data
@ApiModel(value="SarStandUnqualifiedPage对象", description="")
public class SarStandUnqualifiedPage {
@ApiModelProperty(value = "创建部门")
private String createDeptId;
@ApiModelProperty(value = "创建人")
private String createById;
@ApiModelProperty(value = "创建时间")
private Timestamp createTime;
@ApiModelProperty(value = "关闭状态(1为开启,2为关闭)")
private Integer closeState;
@ApiModelProperty(value = "实际关闭时间")
private Timestamp actualCloseTime;
@ApiModelProperty(value = "计划关闭时间")
private Timestamp planCloseTime;
@ApiModelProperty(value = "质量工程师")
private String qaEngineer;
@ApiModelProperty(value = "认证工程师")
private String authEngineer;
@ApiModelProperty(value = "责任工程师")
private String dutyEngineer;
@ApiModelProperty(value = "责任部门")
private String responsibleUnit;
@ApiModelProperty(value = "项目名称")
private String productName;
@ApiModelProperty(value = "产品线")
private String productLine;
@ApiModelProperty(value = "产品类型(research为在研产品,product为在产产品)")
private String productType;
@ApiModelProperty(value = "条款名称")
private String itemsName;
@ApiModelProperty(value = "条款号")
private String itemsNum;
@ApiModelProperty(value = "标准名称")
private String standName;
@ApiModelProperty(value = "标准ID")
private String standId;
@ApiModelProperty(value = "主键")
private String id;
@ApiModelProperty("当前页")
private Integer current;
@ApiModelProperty("每页条数")
private Integer size;
}
@@ -0,0 +1,16 @@
package com.adc.da.slrs.sarStandUnqualified.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
@ApiModel(description = "未符合项ExcelVO类")
public class StandUnqualifiedExcelVO {
@ApiModelProperty("文件名")
String exportName;
@ApiModelProperty("导出的未符合项ID列表")
List<String> ids;
}
@@ -0,0 +1,12 @@
package com.adc.da.slrs.sarStandUnqualified.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class StandUnqualifiedListVO {
@ApiModelProperty("未符合项ID列表")
private List<String> Ids;
}
@@ -1,8 +1,14 @@
package com.adc.da.slrs.sarStandUnqualified.service;
import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualified;
import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualifiedPage;
import com.adc.da.slrs.sarStandUnqualified.entity.StandUnqualifiedExcelVO;
import com.adc.da.slrs.sarStandUnqualified.entity.StandUnqualifiedListVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 服务类
@@ -13,4 +19,31 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface ISarStandUnqualifiedService extends IService<SarStandUnqualified> {
/**
* 分页查询未符合项
* @param sarStandUnqualifiedPage:筛选、分页信息
* @returnIPage<SarStandUnqualified>
*/
IPage<SarStandUnqualified> getSarStandUnqualifiedPage(SarStandUnqualifiedPage sarStandUnqualifiedPage);
/**
* 分页查询未符合项历史数据
* @param sarStandUnqualifiedPage:筛选、分页信息
* @returnIPage<SarStandUnqualified>
*/
IPage<SarStandUnqualified> getSarStandUnqualifiedHistoryPage(SarStandUnqualifiedPage sarStandUnqualifiedPage);
/**
* 批量关闭未符合项
* @param standUnqualifiedListVO :要关闭的未符合项目列表
* @return
*/
List<String> closeSarStandUnqualifiedList(StandUnqualifiedListVO standUnqualifiedListVO);
/**
* 获取导出excel的数据
* @param standUnqualifiedExcelVOids
* @return List<SarStandUnqualified>
*/
List<SarStandUnqualified> getStandUnqualifiedExcelData(StandUnqualifiedExcelVO standUnqualifiedExcelVO);
}
@@ -2,9 +2,23 @@ package com.adc.da.slrs.sarStandUnqualified.service.impl;
import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualified;
import com.adc.da.slrs.sarStandUnqualified.dao.SarStandUnqualifiedDao;
import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualifiedPage;
import com.adc.da.slrs.sarStandUnqualified.entity.StandUnqualifiedExcelVO;
import com.adc.da.slrs.sarStandUnqualified.entity.StandUnqualifiedListVO;
import com.adc.da.slrs.sarStandUnqualified.service.ISarStandUnqualifiedService;
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* <p>
@@ -17,4 +31,109 @@ import org.springframework.stereotype.Service;
@Service
public class SarStandUnqualifiedServiceImpl extends ServiceImpl<SarStandUnqualifiedDao, SarStandUnqualified> implements ISarStandUnqualifiedService {
@Autowired
private SarStandUnqualifiedDao sarStandUnqualifiedDao;
/**
* 分页查询未符合项
* @param sarStandUnqualifiedPage:筛选、分页信息
* @returnIPage<SarStandUnqualified>
*/
@Override
public IPage<SarStandUnqualified> getSarStandUnqualifiedPage(SarStandUnqualifiedPage sarStandUnqualifiedPage) {
QueryWrapper<SarStandUnqualified> sarStandUnqualifiedQueryWrapper=new QueryWrapper<>();
//仅查询未关闭的
sarStandUnqualifiedQueryWrapper.eq("close_state",1);
if(sarStandUnqualifiedPage.getStandId()!=null){
sarStandUnqualifiedQueryWrapper.eq("stand_id",sarStandUnqualifiedPage.getStandId()).or().like("stand_name","%"+sarStandUnqualifiedPage.getStandName()+"%");
}
if(sarStandUnqualifiedPage.getProductName()!=null){
sarStandUnqualifiedQueryWrapper.like("product_name","%"+sarStandUnqualifiedPage.getProductName()+"%");
}
if(sarStandUnqualifiedPage.getResponsibleUnit()!=null){
sarStandUnqualifiedQueryWrapper.eq("responsible_unit",sarStandUnqualifiedPage.getResponsibleUnit());
}
Page<SarStandUnqualified> standUnqualifiedPage=new Page<>();
//判断前端是否提供页码和每页条数
if(sarStandUnqualifiedPage.getCurrent()!=null&&sarStandUnqualifiedPage.getSize()!=null){
standUnqualifiedPage=new Page<>(sarStandUnqualifiedPage.getCurrent(),sarStandUnqualifiedPage.getSize());
}
return sarStandUnqualifiedDao.selectPage(standUnqualifiedPage,sarStandUnqualifiedQueryWrapper);
}
/**
* 分页查询未符合项历史数据
* @param sarStandUnqualifiedPage:筛选、分页信息
* @returnIPage<SarStandUnqualified>
*/
@Override
public IPage<SarStandUnqualified> getSarStandUnqualifiedHistoryPage(SarStandUnqualifiedPage sarStandUnqualifiedPage) {
QueryWrapper<SarStandUnqualified> sarStandUnqualifiedQueryWrapper=new QueryWrapper<>();
//仅查询关闭的
sarStandUnqualifiedQueryWrapper.eq("close_state",2);
if(sarStandUnqualifiedPage.getStandId()!=null){
sarStandUnqualifiedQueryWrapper.eq("stand_id",sarStandUnqualifiedPage.getStandId()).or().like("stand_name","%"+sarStandUnqualifiedPage.getStandName()+"%");
}
if(sarStandUnqualifiedPage.getProductName()!=null){
sarStandUnqualifiedQueryWrapper.like("product_name","%"+sarStandUnqualifiedPage.getProductName()+"%");
}
if(sarStandUnqualifiedPage.getResponsibleUnit()!=null){
sarStandUnqualifiedQueryWrapper.eq("responsible_unit",sarStandUnqualifiedPage.getResponsibleUnit());
}
Page<SarStandUnqualified> standUnqualifiedPage=new Page<>();
//判断前端是否提供页码和每页条数
if(sarStandUnqualifiedPage.getCurrent()!=null&&sarStandUnqualifiedPage.getSize()!=null){
standUnqualifiedPage=new Page<>(sarStandUnqualifiedPage.getCurrent(),sarStandUnqualifiedPage.getSize());
}
return sarStandUnqualifiedDao.selectPage(standUnqualifiedPage,sarStandUnqualifiedQueryWrapper);
}
/**
* 批量关闭未符合项
* @param standUnqualifiedListVO :要关闭的未符合项目列表
* @return List<String>:失败的ID列表
*/
@Transactional
@Override
public List<String> closeSarStandUnqualifiedList(StandUnqualifiedListVO standUnqualifiedListVO) {
List<String> failIds=new ArrayList<>();
for(String id:standUnqualifiedListVO.getIds()){
boolean success=closeSarStandUnqualified(id);
if(!success){
failIds.add(id);
}
}
return failIds;
}
/**
* 获取导出excel的数据
* @param standUnqualifiedExcelVOids
* @return List<SarStandUnqualified>
*/
@Override
public List<SarStandUnqualified> getStandUnqualifiedExcelData(StandUnqualifiedExcelVO standUnqualifiedExcelVO) {
QueryWrapper<SarStandUnqualified> sarStandUnqualifiedQueryWrapper=new QueryWrapper<>();
sarStandUnqualifiedQueryWrapper.eq("close_state",1);
if(standUnqualifiedExcelVO.getIds()!=null&&standUnqualifiedExcelVO.getIds().size()>0){
sarStandUnqualifiedQueryWrapper.in("id",standUnqualifiedExcelVO.getIds());
}
return sarStandUnqualifiedDao.selectList(sarStandUnqualifiedQueryWrapper);
}
private boolean closeSarStandUnqualified(String standUnqualifiedId){
SarStandUnqualified sarStandUnqualified=sarStandUnqualifiedDao.selectById(standUnqualifiedId);
//判断是否存在
if(sarStandUnqualified==null){
return false;
}
//判断是否已关闭
if(sarStandUnqualified.getCloseState()==2){
return false;
}
sarStandUnqualified.setCloseState(2);
sarStandUnqualified.setActualCloseTime(new Timestamp(new Date().getTime()));
sarStandUnqualifiedDao.updateById(sarStandUnqualified);
return true;
}
}
@@ -0,0 +1,47 @@
package com.adc.da.slrs.sarStandUnqualified.utils;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
/**
* excel产品类型转换
*/
public class ProductTypeConverter implements Converter<String> {
//在java中性别是用 0 1 来标识的 所以是int
@Override
public Class<?> supportJavaTypeKey() {return String.class;}
// 在excel中是男女 所以是string
@Override
public CellDataTypeEnum supportExcelTypeKey() {return CellDataTypeEnum.STRING;}
//将excel的数据类型转为java数据类型
@Override
public String convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
String stringValue = cellData.getStringValue();
if (stringValue != null) {
if(stringValue.equals("在研产品")){
return "research";
}
if(stringValue.equals("在产产品")){
return "product";
}
}
return null;
}
@Override
public CellData<String> convertToExcelData(String s, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
if(s!=null){
if(s.equals("research")){
return new CellData<>("在研产品");
}
if(s.equals("product")){
return new CellData<>("在产产品");
}
}
return null;
}
}
@@ -0,0 +1,42 @@
package com.adc.da.slrs.sarStandUnqualified.utils;
import com.adc.da.utils.util.DateUtil;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import java.sql.Timestamp;
import java.text.ParseException;
import java.time.format.DateTimeFormatter;
import java.util.Date;
/**
* excel输出时Timestamp和String的转换
*/
public class TimestampConverter implements Converter<Timestamp> {
@Override
public Class<Timestamp> supportJavaTypeKey() {
return Timestamp.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
@Override
public Timestamp convertToJavaData(CellData cellData, ExcelContentProperty contentProperty,
GlobalConfiguration globalConfiguration) throws ParseException {
return new Timestamp(DateUtil.stingToDate(cellData.getDataFormatString(),"yyyy-MM-dd HH:mm:ss").getTime());
}
@Override
public CellData<String> convertToExcelData(Timestamp value, ExcelContentProperty contentProperty,
GlobalConfiguration globalConfiguration) {
return new CellData<>(DateUtil.dateToString(new Date(value.getTime()),"yyyy-MM-dd HH:mm:ss"));
}
}
@@ -124,6 +124,16 @@ public class SarStandardsInfo extends BaseEntity {
@TableField("CITED_STAND")
private String citedStand;
// 新添加字段
@ApiModelProperty(value = "文本状态")
@TableField("TEXT_STATUS")
private String textStatus;
@ApiModelProperty(value = "标准体系")
@TableField("STAND_SYSTEM")
private String standSystem;
// 以下为非表中字段
@TableField(exist = false)
private String collectId; // 收藏表ID
@@ -178,3 +188,4 @@ public class SarStandardsInfo extends BaseEntity {
private String putTime2;
}
@@ -43,4 +43,59 @@ public class UtAreaController extends BaseController<UtArea> {
return Result.success(utAreaEOService.getAreaSelList(utAreaEO));
}
@ApiOperation(value = "|UtAreaEO|分页查询")
@GetMapping("/page")
// @RequiresPermissions("lawssBase:utArea:page")
public ResponseMessage<PageInfo<UtArea>> page(UtAreaEOPage page) throws Exception {
List<UtArea> rows = utAreaEOService.queryByPage(page);
return Result.success(getPageInfo(page.getPager(), rows));
}
@ApiOperation(value = "|UtAreaEO|查询")
@GetMapping("/list")
// @RequiresPermissions("lawssBase:utArea:list")
public ResponseMessage<List<UtArea>> list(UtAreaEOPage page) throws Exception {
return Result.success(utAreaEOService.queryByList(page));
}
@ApiOperation(value = "|UtAreaEO|详情")
@GetMapping("/getById")
// @RequiresPermissions("lawssBase:utArea:get")
public ResponseMessage<UtArea> find(@PathVariable String id) throws Exception {
return Result.success(utAreaEOService.getById(id));
}
@ApiOperation(value = "|UtAreaEO|新增")
@PostMapping("/createUtArea")
// @RequiresPermissions("lawssBase:utArea:save")
public ResponseMessage<UtArea> create(@RequestBody UtArea utAreaEO) throws Exception {
String result = utAreaEOService.createUtArea(utAreaEO);
if ("success".equals(result)) {
return Result.success("0","新增成功",utAreaEO);
} else {
return Result.error("0",result,utAreaEO);
}
}
@ApiOperation(value = "|UtAreaEO|修改")
@PutMapping("/updateUtArea")
// @RequiresPermissions("lawssBase:utArea:update")
public ResponseMessage<UtArea> update(@RequestBody UtArea utAreaEO) throws Exception {
String result = utAreaEOService.updateUtArea(utAreaEO);
if ("success".equals(result)) {
return Result.success("0","修改成功",utAreaEO);
} else {
return Result.error("0",result,utAreaEO);
}
}
@ApiOperation(value = "|UtAreaEO|删除")
@DeleteMapping("/deleteById")
// @RequiresPermissions("lawssBase:utArea:delete")
public ResponseMessage delete(String id) throws Exception {
utAreaEOService.removeById(id);
logger.info("delete from UT_AREA where id = {}", id);
return Result.success();
}
}
@@ -1,6 +1,7 @@
package com.adc.da.slrs.utArea.dao;
import com.adc.da.slrs.utArea.entity.UtArea;
import com.adc.da.slrs.utArea.page.UtAreaEOPage;
import com.adc.da.sys.common.SelectionResult;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -16,6 +17,15 @@ import java.util.List;
*/
public interface UtAreaDao extends BaseMapper<UtArea> {
Integer queryByCount(UtAreaEOPage page);
List<UtArea> queryByPage(UtAreaEOPage page);
List<UtArea> queryByList(UtAreaEOPage page);
List<SelectionResult> getAreaSelList(UtArea utAreaEO);
}
@@ -1,6 +1,7 @@
package com.adc.da.slrs.utArea.service;
import com.adc.da.slrs.utArea.entity.UtArea;
import com.adc.da.slrs.utArea.page.UtAreaEOPage;
import com.adc.da.sys.common.SelectionResult;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -17,4 +18,12 @@ import java.util.List;
public interface IUtAreaService extends IService<UtArea> {
List<SelectionResult> getAreaSelList(UtArea utAreaEO);
List<UtArea> queryByPage(UtAreaEOPage page);
List<UtArea> queryByList(UtAreaEOPage page);
String createUtArea(UtArea utAreaEO);
String updateUtArea(UtArea utAreaEO);
}
@@ -2,14 +2,18 @@ package com.adc.da.slrs.utArea.service.impl;
import com.adc.da.slrs.utArea.entity.UtArea;
import com.adc.da.slrs.utArea.dao.UtAreaDao;
import com.adc.da.slrs.utArea.page.UtAreaEOPage;
import com.adc.da.slrs.utArea.service.IUtAreaService;
import com.adc.da.sys.common.SelectionResult;
import com.adc.da.util.LoginUserUtil;
import com.adc.da.util.UUIDUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
@@ -36,4 +40,57 @@ public class UtAreaServiceImpl extends ServiceImpl<UtAreaDao, UtArea> implements
return dao.getAreaSelList(utAreaEO);
}
@Override
public List<UtArea> queryByPage(UtAreaEOPage page){
Integer rowCount = dao.queryByCount(page);
page.getPager().setRowCount(rowCount);
return dao.queryByPage(page);
}
@Override
public List<UtArea> queryByList(UtAreaEOPage page){
return dao.queryByList(page);
}
public String createUtArea (UtArea utAreaEO) {
// 判断名称是否已存在
UtAreaEOPage page = new UtAreaEOPage();
page.setAreaName(utAreaEO.getAreaName());
page.setSarType(utAreaEO.getSarType());
List<UtArea> getList = dao.queryByList(page);
if (getList != null && !getList.isEmpty()) {
return "新增失败,展示区域名称已存在";
}
utAreaEO.setId(UUIDUtils.randomUUID20());
utAreaEO.setCreationUser(LoginUserUtil.getUserId());
utAreaEO.setCreationTime(new Date());
utAreaEO.setModifyTime(new Date());
utAreaEO.setValidFlag(0);
int result = dao.insert(utAreaEO);
if (result > 0) {
return "success";
} else {
return "新增失败";
}
}
public String updateUtArea (UtArea utAreaEO) {
// 判断名称是否已存在
UtAreaEOPage page = new UtAreaEOPage();
page.setAreaName(utAreaEO.getAreaName());
page.setSarType(utAreaEO.getSarType());
page.setNotId(utAreaEO.getId());
List<UtArea> getList = dao.queryByList(page);
if (getList != null && !getList.isEmpty()) {
return "修改失败,展示区域名称已存在";
}
utAreaEO.setModifyTime(new Date());
int result = dao.updateById(utAreaEO);
if (result > 0) {
return "success";
} else {
return "修改失败";
}
}
}
@@ -55,6 +55,36 @@ public class DateUtil {
return dateTime;
}
/**
* 将日期对象转换为指定的日期字符串
*
* @param date 传入的日期对象
* @param format 格式
* @return 日期字符串
* @author 赵肖云
*/
public static String dateToString(Date date, String format) {
String string = "";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
if (date != null) {
string = simpleDateFormat.format(date);
}
return string;
}
/**
* 将日期字符串转换为一个日期对象
*
* @param datestr 日期字符串
* @param format 格式
* @return Date
* @author 赵肖云
*/
public static Date stingToDate(String datestr, String format) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
return simpleDateFormat.parse(datestr);
}
public static void main(String[] args) {
String utcTime = "2021-04-15T01:43:54.296Z";
@@ -68,4 +68,19 @@
where stand_id = #{standId, jdbcType=VARCHAR} and MENU_ID = #{menuId, jdbcType=VARCHAR}
</delete>
<delete id="deleteByMenuId" parameterType="com.adc.da.slrs.sarStandMenu.entity.SarStandMenu">
delete from SAR_STAND_MENU
where stand_id = #{standId}
and MENU_ID in
<foreach collection="menuIds" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<select id="selectAllMenuByStandId" resultMap="BaseResultMap" parameterType="com.adc.da.slrs.sarStandMenu.entity.SarStandMenu">
select <include refid="Base_Column_List" />
from SAR_STAND_MENU
where stand_id = #{standId} and valid_flag=0
</select>
</mapper>
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.adc.da.slrs.sarStandIssueControlCause.dao.SarStandIssueControlCauseDao">
</mapper>
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.adc.da.slrs.sarStandIssueControlProduct.dao.SarStandIssueControlProductDao">
</mapper>
@@ -65,6 +65,122 @@
</trim>
</sql>
<!-- 插入记录 -->
<insert id="insert" parameterType="com.adc.da.slrs.utArea.entity.UtArea" >
<!-- <selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
SELECT SEQ_UT_AREA.NEXTVAL FROM DUAL
</selectKey> -->
insert into UT_AREA(<include refid="Base_Column_List" />)
values (#{id, jdbcType=VARCHAR}, #{areaName, jdbcType=VARCHAR}, #{showIndex, jdbcType=INTEGER}, #{sarType, jdbcType=VARCHAR}, #{creationUser, jdbcType=VARCHAR}, #{validFlag, jdbcType=INTEGER}, #{creationTime, jdbcType=TIMESTAMP}, #{modifyTime, jdbcType=TIMESTAMP})
</insert>
<!-- 动态插入记录 主键是序列 -->
<insert id="insertSelective" parameterType="com.adc.da.slrs.utArea.entity.UtArea" >
<!-- <selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
SELECT SEQ_UT_AREA.NEXTVAL FROM DUAL
</selectKey> -->
insert into UT_AREA
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >id,</if>
<if test="areaName != null" >area_name,</if>
<if test="showIndex != null" >show_index,</if>
<if test="sarType != null" >sar_type,</if>
<if test="creationUser != null" >creation_user,</if>
<if test="validFlag != null" >valid_flag,</if>
<if test="creationTime != null" >creation_time,</if>
<if test="modifyTime != null" >modify_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >#{id, jdbcType=VARCHAR},</if>
<if test="areaName != null" >#{areaName, jdbcType=VARCHAR},</if>
<if test="showIndex != null" >#{showIndex, jdbcType=INTEGER},</if>
<if test="sarType != null" >#{sarType, jdbcType=VARCHAR},</if>
<if test="creationUser != null" >#{creationUser, jdbcType=VARCHAR},</if>
<if test="validFlag != null" >#{validFlag, jdbcType=INTEGER},</if>
<if test="creationTime != null" >#{creationTime, jdbcType=TIMESTAMP},</if>
<if test="modifyTime != null" >#{modifyTime, jdbcType=TIMESTAMP},</if>
</trim>
</insert>
<!-- 根据pk,修改记录-->
<update id="updateByPrimaryKey" parameterType="com.adc.da.slrs.utArea.entity.UtArea" >
update UT_AREA
set area_name = #{areaName},
show_index = #{showIndex},
sar_type = #{sarType},
creation_user = #{creationUser},
valid_flag = #{validFlag},
creation_time = #{creationTime},
modify_time = #{modifyTime}
where id = #{id}
</update>
<!-- 修改记录,只修改只不为空的字段 -->
<update id="updateByPrimaryKeySelective" parameterType="com.adc.da.slrs.utArea.entity.UtArea" >
update UT_AREA
<set >
<if test="areaName != null" >
area_name = #{areaName},
</if>
<if test="showIndex != null" >
show_index = #{showIndex},
</if>
<if test="sarType != null" >
sar_type = #{sarType},
</if>
<if test="creationUser != null" >
creation_user = #{creationUser},
</if>
<if test="validFlag != null" >
valid_flag = #{validFlag},
</if>
<if test="creationTime != null" >
creation_time = #{creationTime},
</if>
<if test="modifyTime != null" >
modify_time = #{modifyTime},
</if>
</set>
where id = #{id}
</update>
<!-- 根据id查询 UT_AREA -->
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String">
select <include refid="Base_Column_List" />
from UT_AREA
where id = #{value}
</select>
<!-- 删除记录 -->
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from UT_AREA
where id = #{value}
</delete>
<!-- UT_AREA 列表总数-->
<select id="queryByCount" resultType="java.lang.Integer" parameterType="com.adc.da.base.page.BasePage">
select count(1) from UT_AREA
<include refid="Base_Where_Clause"/>
</select>
<!-- 查询UT_AREA列表 -->
<select id="queryByPage" resultMap="BaseResultMap" parameterType="com.adc.da.base.page.BasePage">
select <include refid="Base_Column_List" /> from
(select tmp_tb.* from
(select <include refid="Base_Column_List" /> from UT_AREA
<include refid="Base_Where_Clause"/>
order by show_index,id
) tmp_tb limit ${pager.startIndex-1},${pageSize}) a
</select>
<select id="queryByList" resultMap="BaseResultMap" parameterType="com.adc.da.base.page.BasePage">
select <include refid="Base_Column_List"/> from UT_AREA
<include refid="Base_Where_Clause"/>
order by show_index,id
</select>
<select id="getAreaSelList" parameterType="com.adc.da.slrs.utArea.entity.UtArea" resultType="com.adc.da.sys.common.SelectionResult">
select id as value,area_name as label
from UT_AREA
@@ -37,6 +37,13 @@ public class DicEORestController extends BaseController<DictionaryEO> {
public ResponseMessage<PageInfo<DictionaryEO>> page(DictionaryEOPage page) throws Exception {
page.setDictionaryCodeOperator("like");
page.setDictionaryNameOperator("like");
if(org.apache.commons.lang3.StringUtils.isNotBlank(page.getPaixu()) && org.apache.commons.lang3.StringUtils.isNotBlank(page.getShunxu())){
String sql = page.getPaixu()+" "+page.getShunxu();
page.setSql(sql);
}else{
String sql = "order_num,u0.id";
page.setSql(sql);
}
List<DictionaryEO> rows = dicEOService.queryAllDicByPage(page);
return Result.success(getPageInfo(page.getPager(), rows));
}
@@ -267,12 +267,13 @@
<!-- 查询TS_DICTIONARY列表 -->
<select id="queryAllDicByPage" resultMap="BaseResultMap" parameterType="com.adc.da.base.page.BasePage">
select <include refid="Base_Column_List" /> from
(select tmp_tb.* , rownum rn from
(select tmp_tb.* from
(select <include refid="Base_Column_List" /> from TS_DICTIONARY u0
<include refid="Base_Where_Clause"/>
order by order_num,u0.id
) tmp_tb where rownum &lt;= ${pager.endIndex})
where rn &gt;= ${pager.startIndex}
<if test="sql != null">
ORDER BY ${sql}
</if>
) tmp_tb limit ${pager.startIndex-1},${pageSize}) a
</select>
<select id="getDictionarySelList" parameterType="java.lang.String" resultType="com.adc.da.sys.common.SelectionResult">
+6
View File
@@ -279,6 +279,12 @@
<artifactId>spring-rabbit-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.6</version>
</dependency>
</dependencies>
<!-- Profiles for different environment -->