Merge remote-tracking branch 'origin/develop_3' into develop_3

# Conflicts:
#	adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/controller/SarStandardsInfoController.java
This commit is contained in:
zhaokaiyao@91isoft.com
2021-07-26 20:12:12 +08:00
74 changed files with 1992 additions and 344 deletions
@@ -19,6 +19,7 @@ public class ActDefineStartMap {
map.put("3","standardCommentProcessWorkFlow");
map.put("4","standardregulatoryinventory");
map.put("5","projectEvaluationProcess");
map.put("6","Projectcomplianceassessment");
map.put("8","nonConformanceRectificationKey");
@@ -88,8 +88,40 @@ public class ActSarItemsEOService {
@Value("${elas.flag}")
private boolean elasflag;
/**
* 标准解读流程入库"
* @param standJson
* @throws Exception
*/
public void createStandardRead(String standJson) throws Exception{
JSONObject object = JSONObject.parseObject(standJson);
String fileName = object.getString("fileName");
String fileType = object.getString("fileType");
String creationTime = object.getString("creationTime");
String creationUser = object.getString("creationUser");
String standId = object.getString("standId");
//数组去重
JSONArray responUserList1 = object.getJSONArray("itemList");
for (Object obj:responUserList1) {
JSONObject object1 = (JSONObject) obj;
JSONArray preResponUserList = object1.getJSONArray("zxUserId");
String oldNumber = object1.getString("oldNumber");
String itemsNum = object1.getString("itemsNum");
String itemsName = object1.getString("itemsName");
String itemsTitle = object1.getString("itemsTitle");
String applyArcticId = object1.getString("applyArcticId");
String applyArctic = object1.getString("applyArctic");
String changePoint = object1.getString("changePoint");
String technicalRequir = object1.getString("technicalRequir");
String onlineData = object1.getString("onlineData");
String newData = object1.getString("newData");
String complianceRequir = object1.getString("complianceRequir");
String complianceState = object1.getString("complianceState");
}
}
/***
* @Description: 标准入库流程数据保存
* @Description: 标准解读流程入库"
* @Author: yangxuenan
* @Date: 2020/12/7 13:48
* @Param: [standJson]
@@ -109,7 +141,7 @@ public class ActSarItemsEOService {
// String resId = standMap.get("standId").toString();
// //此处说明是带入的形式
// sarStandardsInfoEO.setId(resId);
// SarCompResAssess assessInfoByResId = sarCompResAssessEOService.getAssessInfoByResId(resId);
// SarCompResAssess assessInfoByResId = sarCompResAssessEOService.ssessInfoByResId(resId);
// if (assessInfoByResId != null) {
// assessInfoByResId.setProcessState("2");
// sarCompResAssessEOService.updateByPrimaryKeySelective(assessInfoByResId);
@@ -4,11 +4,10 @@
#=============================================
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
spring.datasource.url = jdbc:mysql://39.100.23.127:3306/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false
#spring.datasource.url = jdbc:mysql://10.96.10.171/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false
spring.datasource.username = root
spring.datasource.password = root
#==============================================
# 应用设置
spring.application.name=FotonLAWSSystem
@@ -39,7 +39,7 @@ eureka.client.fetch-registry=true
#eureka.client.service-url.defaultZone=http://127.0.0.1:8671/eureka/
#eureka.client.service-url.defaultZone=http://10.5.116.172:8672/eureka/
eureka.client.service-url.defaultZone=http://192.168.10.47:8761/eureka/
eureka.client.service-url.defaultZone=http://101.36.227.25:8761/eureka/
# 请求连接的超时时间 默认的时间为 1 秒
ribbon.ConnectTimeout=500000
@@ -146,4 +146,4 @@ elasticsearch.clustername=elasticsearch
elasticsearch.ip=192.168.10.47
elasticsearch.port=9300
elasticsearch.poolSize=5
elas.flag=true
elas.flag=true
@@ -16,8 +16,8 @@ import com.adc.da.base.web.BaseController;
* @since 2021-07-25
*/
@RestController
@Api(description = "|SarBussStandPlan|")
@RequestMapping("/sarBussStandPlan/sar-buss-stand-plan")
@Api(tags = "福田标准法规--企业标准信息-|SarBussStandPlan|")
@RequestMapping("/${restPath}/lawss/sarBussStandPlan")
public class SarBussStandPlanController extends BaseController<SarBussStandPlan> {
}
@@ -1,6 +1,7 @@
package com.adc.da.slrs.sarBussionessStand.controller;
import com.adc.da.person.service.IPersonCollectEOService;
import com.adc.da.slrs.sarBussionessStand.service.ISarBussionessStandService;
import com.adc.da.slrs.sarResource.entity.TsResource;
import com.adc.da.slrs.sarResource.service.ITsResourceService;
@@ -40,12 +41,32 @@ public class SarBussionessStandController extends BaseController<SarBussionessSt
@Autowired
private ISarBussionessStandService sarBussionessStandEOService;
@Autowired
private IPersonCollectEOService personCollectEOService;
@Autowired
private ITsResourceService iTsResourceService;
@Autowired
private ITsUserService tsUserService;
/**
* 根据id查询标准详情
*
* @param
* @return
*/
@ApiOperation(value = "|SarBussionessStandEO|详情")
@GetMapping("/getStandInfoById")
//@RequiresPermissions("lawss:sarStandardsInfo:get")
public ResponseMessage<SarBussionessStand> getStandInfoById(String id) throws Exception {
SarBussionessStand result = sarBussionessStandEOService.selectStandardsInfoByKey(id);
String collectId = personCollectEOService.queryCollectByUserAndId(id);
result.setCollectId(collectId);
return Result.success(result);
}
/**
* 给指定标准配置目录
* @param standardsInfoEO
@@ -54,7 +75,7 @@ public class SarBussionessStandController extends BaseController<SarBussionessSt
@ApiOperation(value = "|SarBussionessStandEO|确认配置标准")
@PostMapping("/saveStandardsMenu")
//@RequiresPermissions("lawss:sarBussionessStand:saveStandardsMenu")
public ResponseMessage saveStandardsMenu(@RequestBody SarBussionessStandEOPage standardsInfoEO) throws Exception {
public ResponseMessage saveStandardsMenu(@RequestBody SarBussionessStandEOPage standardsInfoEO){
if ("wdsc".equals(standardsInfoEO.getMenuId()) || "gxhbq".equals(standardsInfoEO.getMenuId())) {
return Result.error("所选节点不支持配置标准");
} else {
@@ -18,6 +18,8 @@ import java.util.List;
@Repository
public interface SarBussionessStandDao extends BaseMapper<SarBussionessStand> {
List<SarBussionessStand> selectStandardsInfoByKey(String id);
List<SarBussionessStand> queryByList(SarBussionessStandEOPage sarBussionessStandEOPage);
int getBussionessStandInfoCount(SarBussionessStandEOPage page);
@@ -16,6 +16,8 @@ import java.util.List;
*/
public interface ISarBussionessStandService extends IService<SarBussionessStand> {
SarBussionessStand selectStandardsInfoByKey(String id) throws Exception;
SarBussionessStandEOPage updateStandardsMenu(SarBussionessStandEOPage standardsInfoEO);
List<SarBussionessStand> queryByList(SarBussionessStandEOPage sarBussionessStandEOPage);
@@ -1,5 +1,7 @@
package com.adc.da.slrs.sarBussionessStand.service.impl;
import com.adc.da.att.entity.AttFileEO;
import com.adc.da.att.service.IAttFileEOService;
import com.adc.da.common.SelectionTypeEnum;
import com.adc.da.person.service.IPersonCollectEOService;
import com.adc.da.slrs.sarBussStandAttrInfo.dao.SarBussStandAttrInfoDao;
@@ -14,6 +16,7 @@ import com.adc.da.slrs.sarResource.service.ITsResourceService;
import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage;
import com.adc.da.slrs.sarUser.service.ITsUserService;
import com.adc.da.slrs.sysInfo.service.SysInfoEOService;
import com.adc.da.sys.dao.DicTypeEODao;
import com.adc.da.util.UUIDUtils;
import com.adc.da.utils.util.FieldConvertUtil;
import com.adc.da.utils.util.InitStandAttrUtil;
@@ -23,10 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.sql.Clob;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* <p>
@@ -42,6 +42,12 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
@Autowired
private ITsUserService tsUserService;
@Autowired
private IAttFileEOService attFileEOService;
@Autowired
private DicTypeEODao dicTypeEODao;
@Autowired
private ITsResourceService iTsResourceService;
@@ -57,6 +63,45 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
@Autowired
private SarBussStandAttrInfoDao sarBussStandAttrInfoEODao;
@Override
public SarBussionessStand selectStandardsInfoByKey(String id) throws Exception{
List<SarBussionessStand> sarBussionessStandlist = this.baseMapper.selectStandardsInfoByKey(id);
SarBussionessStand sarBussionessStandEO = new SarBussionessStand();
if(!sarBussionessStandlist.isEmpty()) {
List<SarBussionessStand> newStandList = new ArrayList<>();
newStandList.add(sarBussionessStandlist.get(0));
attrInfoShowDetails(newStandList);
sarBussionessStandEO = newStandList.get(0);
}
return sarBussionessStandEO;
}
public void attrInfoShowDetails(List<SarBussionessStand> sarlist) throws Exception {
for (SarBussionessStand row : sarlist) {
attrInfoDetails(row);
Map<String, Object> getAttrMap = row.getAttrInfoMap();
if (getAttrMap != null && getAttrMap.size() > 0) {
for (Map.Entry<String, Object> entry : getAttrMap.entrySet()) {
String name = entry.getKey();
String value = "";
if (entry.getValue() != null && InitStandAttrUtil.fileFieldList != null && InitStandAttrUtil.fileFieldList.size() > 0 && InitStandAttrUtil.fileFieldList.contains(name)) {
value = entry.getValue().toString();
if (org.apache.commons.lang3.StringUtils.isNotBlank(value)) {
List<AttFileEO> fileObj = attFileEOService.getMultiFileInfos(value);
entry.setValue(fileObj);
}
}else if (entry.getValue() != null && InitStandAttrUtil.selectionFieldList != null && InitStandAttrUtil.selectionFieldList.size() > 0 && InitStandAttrUtil.selectionFieldList.contains(name)) {
value = entry.getValue().toString();
List<String> valArr = Arrays.asList(value.split(","));
value = dicTypeEODao.getDicNamesByCodes(valArr);
entry.setValue(value);
}
}
}
}
}
@Override
public SarBussionessStandEOPage updateStandardsMenu(SarBussionessStandEOPage standardsInfoEO) {
SarBussStandMenu sarStandMenuEO = new SarBussStandMenu();
String nowMenuId = standardsInfoEO.getMenuId();
@@ -8,12 +8,13 @@ import com.adc.da.http.Result;
import com.adc.da.slrs.sarLawsAttrDetailedList.dao.SarLawsAttrDetailedListDao;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.*;
import com.adc.da.slrs.sarLawsAttrDetailedList.service.ISarLawsAttrDetailedListService;
import com.adc.da.sys.service.IDicTypeEOService;
import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.Api;
import com.adc.da.base.web.BaseController;
@@ -23,6 +24,7 @@ import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* <p>
@@ -44,6 +46,8 @@ public class SarLawsAttrDetailedListController extends BaseController<SarLawsAtt
private IAttFileEOService attFileEOService;
@Autowired
private SarLawsAttrDetailedListDao sarLawsAttrDetailedListDao;
@Autowired
private IDicTypeEOService iDicTypeEOService;
@@ -57,8 +61,8 @@ public class SarLawsAttrDetailedListController extends BaseController<SarLawsAtt
**/
@ApiOperation(value = "查询标准信息")
@GetMapping("/selectLawsById")
public ResponseMessage selectLawsById(@RequestParam(defaultValue = "1")int Page, @RequestParam(defaultValue = "10") int Size, String id,String standName,String responseUnit){
List<LawsDto> laws = iSarLawsAttrDetailedList.selectLaws(id,Page-1,Size,standName);
public ResponseMessage selectLawsById(SarFindDto sarFindDto){
List<LawsDto> laws = iSarLawsAttrDetailedList.selectLaws(sarFindDto);
return Result.success("200",laws);
}
@@ -83,6 +87,26 @@ public class SarLawsAttrDetailedListController extends BaseController<SarLawsAtt
public ResponseMessage selectByStandId(@RequestParam(defaultValue = "1")int Page, @RequestParam(defaultValue = "10") int Size, String id){
return null;
}
/**
*
* @param sarLawsAttrDetailedList
* @return
* @author zzy
* date 2021-07-20
**/
@ApiOperation(value = "修改日期")
@PostMapping("/setTimes")
public ResponseMessage setTimes(SarLawsAttrDetailedList sarLawsAttrDetailedList){
int a=iSarLawsAttrDetailedList.setTimes(sarLawsAttrDetailedList);
return Result.success("200",a);
}
@ApiOperation(value = "根据标准查询时间")
@GetMapping
public ResponseMessage selectTimes(String id){
Map<String ,List<StandTimeDto>> map = iSarLawsAttrDetailedList.selectTimes(id);
return Result.success("200",map);
}
/**
@@ -94,7 +118,7 @@ public class SarLawsAttrDetailedListController extends BaseController<SarLawsAtt
* date 2021-06-24
**/
@ApiOperation(value = "导出标准信息")
@RequestMapping("/ExportLawsById")
@GetMapping("/ExportLawsById")
public void ExportLawsById(HttpServletResponse response, StandExcelVo standExcelVo){
try {
response.setContentType("application/vnd.ms-excel");
@@ -104,7 +128,7 @@ public class SarLawsAttrDetailedListController extends BaseController<SarLawsAtt
}
String fileName = URLEncoder.encode(standExcelVo.getExportName(), "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
List<LittleLawsDto> data = new ArrayList<>();
List<LawsDto> data = new ArrayList<>();
if (CollectionUtils.isEmpty(standExcelVo.getIds())){
List<String> list= sarLawsAttrDetailedListDao.selectLawsId2(standExcelVo.getId());
if (CollectionUtils.isEmpty(list)) return;
@@ -112,23 +136,123 @@ public class SarLawsAttrDetailedListController extends BaseController<SarLawsAtt
}else {
data=sarLawsAttrDetailedListDao.selectLawsById(standExcelVo.getIds(),null);
}
List<StandExcelDto> standExcel=new ArrayList<>();
for (LittleLawsDto littleLawsDto:data){
StandExcelDto standExcelDto=StandExcelDto.builder()
.standNumber(littleLawsDto.getStandNumber())
.standName(littleLawsDto.getStandName())
.standEnName(littleLawsDto.getStandEnName())
.responseUnit("责任部门")
.newCarTime("无字段")
.nowCarTime("无字段")
.typeApplicable("无字段")
.issueTime(littleLawsDto.getIssueTime())
.textStatus(littleLawsDto.getTextStatus())
.build();
standExcel.add(standExcelDto);
//适用车型
Map<String,Object> map= iDicTypeEOService.getDicTypeListCode();
List<Map<String, String>> typeApplicable = (List<Map<String, String>>)map.get("ENERGYTYPES");
for (LawsDto list1:data){
if (StringUtils.isNotBlank(list1.getTypeApplicable()) && list1.getTypeApplicable().contains(",")){
String[] split = list1.getTypeApplicable().split(",");
StringBuilder builder = new StringBuilder();
for (String s:split){
for (Map<String,String> map1:typeApplicable) {
if (map1.get("value").equals(s)){
s=map1.get("label");
builder.append(s+",");
break;
}
}
}
String completedString = builder.delete(builder.length()-1,builder.length()).toString();
list1.setTypeApplicable(completedString);
}else {
for (Map<String, String> map1 : typeApplicable) {
if (map1.get("value").equals(list1.getTypeApplicable())) {
list1.setTypeApplicable(map1.get("label"));
break;
}
}
}
}
EasyExcel.write(response.getOutputStream(), StandExcelDto.class).autoCloseStream(Boolean.FALSE).sheet("sheet1")
.doWrite(standExcel);
//能源类型
List<Map<String, String>> nylx = (List<Map<String, String>>)map.get("NYLXCLASS");
for (LawsDto list1:data){
if (StringUtils.isNotBlank(list1.getNYLX()) && list1.getNYLX().contains(",")){
String[] split = list1.getNYLX().split(",");
StringBuilder builder = new StringBuilder();
for (String s:split){
for (Map<String,String> map1:nylx) {
if (map1.get("value").equals(s)){
s=map1.get("label");
builder.append(s+",");
break;
}
}
}
String completedString = builder.delete(builder.length()-1,builder.length()).toString();
list1.setNYLX(completedString);
}else {
for (Map<String, String> map1 : nylx) {
if (map1.get("value").equals(list1.getNYLX())) {
list1.setNYLX(map1.get("label"));
break;
}
}
}
}
//责任部门
List<Map<String, String>> zrbn = (List<Map<String, String>>)map.get("ZRBMCLASS");
for (LawsDto list1:data){
if (StringUtils.isNotBlank(list1.getZRBM()) && list1.getZRBM().contains(",")){
String[] split = list1.getZRBM().split(",");
StringBuilder builder = new StringBuilder();
for (String s:split){
for (Map<String,String> map1:zrbn) {
if (map1.get("value").equals(s)){
s=map1.get("label");
builder.append(s+",");
break;
}
}
}
String completedString = builder.delete(builder.length()-1,builder.length()).toString();
list1.setZRBM(completedString);
}else {
for (Map<String, String> map1 : zrbn) {
if (map1.get("value").equals(list1.getZRBM())) {
list1.setZRBM(map1.get("label"));
break;
}
}
}
}
//产品线
List<Map<String, String>> sycpx = (List<Map<String, String>>)map.get("SYCPXCLASS");
for (LawsDto list1:data){
if (list1.getPutTime()!=null){
list1.setPutTime(list1.getPutTime().substring(0,10));
}
if (list1.getZCCSSRQGJ()!=null){
list1.setZCCSSRQGJ(list1.getZCCSSRQGJ().substring(0,10));
}
if (list1.getXCXSSRQGJ()!=null){
list1.setXCXSSRQGJ(list1.getXCXSSRQGJ().substring(0,10));
}
if (StringUtils.isNotBlank(list1.getSYCPX()) && list1.getSYCPX().contains(",")){
String[] split = list1.getSYCPX().split(",");
StringBuilder builder = new StringBuilder();
for (String s:split){
for (Map<String,String> map1:sycpx) {
if (map1.get("value").equals(s)){
s=map1.get("label");
builder.append(s+",");
break;
}
}
}
String completedString = builder.delete(builder.length()-1,builder.length()).toString();
list1.setSYCPX(completedString);
}else {
for (Map<String, String> map1 : sycpx) {
if (map1.get("value").equals(list1.getSYCPX())) {
list1.setSYCPX(map1.get("label"));
break;
}
}
}
}
EasyExcel.write(response.getOutputStream(), LawsDto.class).useDefaultStyle(false).autoCloseStream(Boolean.FALSE).sheet("sheet1")
.doWrite(data);
} catch (Exception e) {
response.reset();
response.setContentType("application/json");
@@ -1,8 +1,9 @@
package com.adc.da.slrs.sarLawsAttrDetailedList.dao;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.LawsDto;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.SarFindDto;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.SarLawsAttrDetailedList;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.LittleLawsDto;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.StandExcelDto;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.StandRegionalTimeDto;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -23,7 +24,11 @@ public interface SarLawsAttrDetailedListDao extends BaseMapper<SarLawsAttrDetail
//根据清单id,查出标准的id并排序
List<String> selectLawsId(@Param("standId") String standId,@Param("param3") Integer page,@Param("param2") Integer size);
//根据标准id查出数据
List<LittleLawsDto> selectLawsById(@Param("param1") List<String> LawsIds,@Param("standName") String standName);
List<LawsDto> selectLawsById(@Param("param1") List<String> LawsIds, @Param("sarFindDto") SarFindDto sarFindDto);
//根据标准id查出数据
List<LawsDto> selectLawsByIdC(@Param("param1") List<String> LawsIds, @Param("standName") String standName,@Param("standType")String standType);
//查询时间
List<StandRegionalTimeDto> selectTimes(String standId);
List<String> selectLawsId2(String standId);
Boolean insertList(@Param("sarLawsAttrDetailedLists") List<SarLawsAttrDetailedList> sarLawsAttrDetailedLists);
Boolean deleteByStandId(String standId);
@@ -1,38 +1,89 @@
package com.adc.da.slrs.sarLawsAttrDetailedList.entity;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* //Dto,用于从标准主表中查询和检索信息
* 主表还未完善需修改
*
*
* @author ZhangZhiYuan
* date 2021-06-16
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
@ExcelIgnoreUnannotated
public class LawsDto {
@ApiModelProperty(value = "主键")
private String id;
@ExcelProperty(value = "标准编号", index = 0)
@ApiModelProperty(value = "标准编号")
private String standNumber;
@ExcelProperty(value = "中文名称", index = 1)
@ApiModelProperty(value = "中文名称")
private String standName;
@ExcelProperty(value = "英文名称", index = 2)
@ApiModelProperty(value = "英文名称")
private String standEnName;
@ApiModelProperty(value = "责任部门")
private String responseUnit;
@ApiModelProperty(value = "新车型实施日期")
private String newCarTime;
@ApiModelProperty(value = "在产车实施日期")
private String nowCarTime;
@ApiModelProperty(value = "适用车辆类型")
@ExcelProperty(value = "适用车型", index = 3)
@ApiModelProperty(value = "适用车型")
private String typeApplicable;
@ApiModelProperty(value = "发布日期")
private String issueTime;
@ApiModelProperty(value = "文本状态")
private String textStatus;
@ExcelProperty(value = "能源类型", index = 4)
@ApiModelProperty(value = "能源类型")
private String NYLX;
@ExcelProperty(value = "标准年份", index = 5)
private String standYear;
@ExcelProperty(value = "标准类别", index = 6)
private String standSortShow;
@ColumnWidth(16)
@ExcelProperty(value = "标准实施日期", index = 7)
@ApiModelProperty(value = "标准实施日期")
@DateTimeFormat("yyyy年MM月dd日")
private String putTime;
@ColumnWidth(16)
@ExcelProperty(value = "新车型实施日期", index = 8)
@ApiModelProperty(value = "新车型实施日期")
@DateTimeFormat("yyyy年MM月dd日")
private String XCXSSRQGJ;
@ColumnWidth(16)
@ExcelProperty(value = "在产车实施日期", index = 8)
@ApiModelProperty(value = "在产车实施日期")
@DateTimeFormat("yyyy年MM月dd日")
private String ZCCSSRQGJ;
@ExcelProperty(value = "责任部门", index = 9)
@ApiModelProperty(value = "责任部门")
private String ZRBM;
@ColumnWidth(14)
@ExcelProperty(value = "适用产品线", index = 10)
@ApiModelProperty(value = "适用产品线")
private String SYCPX;
@ColumnWidth(20)
@ExcelProperty(value = "乘用车VPPS编码", index = 11)
@ApiModelProperty(value = "乘用车VPPS编码")
private String CYCVPPSBM;
@ColumnWidth(20)
@ExcelProperty(value = "乘用车vpps中文名称", index = 12)
@ApiModelProperty(value = "乘用车vpps中文名称")
private String CYCVPPSCN;
@ColumnWidth(20)
@ExcelProperty(value = "卡车VPPS编码", index = 13)
@ApiModelProperty(value = "卡车VPPS编码")
private String KCCVPPSBM;
@ColumnWidth(20)
@ExcelProperty(value = "卡车vpps中文名称", index = 14)
@ApiModelProperty(value = "卡车vpps中文名称")
private String KCCVPPSCN;
@ApiModelProperty(value = "责任工程师")
@ExcelProperty(value = "责任工程师", index = 15)
private String responsibleEngineer;
}
@@ -1,26 +0,0 @@
package com.adc.da.slrs.sarLawsAttrDetailedList.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* //TODO 添加类、接口描述
* 能从主表中查出的LawsDto所需要的数据
* @author ZhangZhiYuan
* date 2021-06-22
*/
@Data
public class LittleLawsDto {
@ApiModelProperty(value = "主键")
private String id;
@ApiModelProperty(value = "标准编号")
private String standNumber;
@ApiModelProperty(value = "中文名称")
private String standName;
@ApiModelProperty(value = "英文名称")
private String standEnName;
@ApiModelProperty(value = "发布日期")
private String issueTime;
@ApiModelProperty(value = "文本状态")
private String textStatus;
}
@@ -0,0 +1,27 @@
package com.adc.da.slrs.sarLawsAttrDetailedList.entity;
import lombok.Data;
/**
* 高级检索
*
* @author ZhangZhiYuan
* @date 2021-07-22
*/
@Data
public class SarFindDto {
private int Page;
private int Size;
private String id;
private String standName;
// private String standNumber;
private String standEnName;
private String typeApplicable;
private String NYLX;
// private String putTime;
// private String XCXSSRQGJ;
// private String ZCCSSRQGJ;
private String ZRBM;
private String SYCPX;
}
@@ -43,5 +43,16 @@ public class SarLawsAttrDetailedList extends BaseEntity {
@TableField(value = "number")
private String number;
@ApiModelProperty(value = "标准实施日期")
@TableField(value = "putTime")
private String putTime;
@ApiModelProperty(value = "新车型实施日期")
@TableField(value = "xcxssrq")
private String xcxssrq;
@ApiModelProperty(value = "在产车实施日期")
@TableField(value = "zccssrq")
private String zccssrq;
}
@@ -2,8 +2,10 @@ package com.adc.da.slrs.sarLawsAttrDetailedList.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* //TODO 添加类、接口描述
@@ -14,32 +16,35 @@ import lombok.Data;
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class StandExcelDto {
@ExcelProperty("标准编号")
@ApiModelProperty(value = "标准编号")
private String standNumber;
@ExcelProperty("中文名称")
@ApiModelProperty(value = "中文名称")
private String standName;
@ExcelProperty("英文名称")
@ApiModelProperty(value = "英文名称")
private String standEnName;
@ExcelProperty("责任部门")
@ApiModelProperty(value = "责任部门")
private String responseUnit;
@ExcelProperty("新车型实施日期")
@ApiModelProperty(value = "适用车型")
private String typeApplicable;
@ApiModelProperty(value = "能源类型")
private String NYLX;
@ApiModelProperty(value = "标准实施日期")
private String putTime;
@ApiModelProperty(value = "新车型实施日期")
private String newCarTime;
@ExcelProperty("在产车实施日期")
@ApiModelProperty(value = "在产车实施日期")
private String nowCarTime;
@ExcelProperty("适用车辆类型")
@ApiModelProperty(value = "适用车辆类型")
private String typeApplicable;
@ExcelProperty("发布日期")
@ApiModelProperty(value = "发布日期")
private String issueTime;
@ExcelProperty("文本状态")
@ApiModelProperty(value = "文本状态")
private String textStatus;
@ApiModelProperty(value = "责任部门")
private String ZRBM;
@ApiModelProperty(value = "适用产品线")
private String SYCPX;
@ApiModelProperty(value = "乘用车VPPS编码")
private String CYCVPPSBM;
@ApiModelProperty(value = "乘用车vpps中文名称")
private String CYCVPPSCN;
@ApiModelProperty(value = "卡车VPPS编码")
private String KCCVPPSBM;
@ApiModelProperty(value = "卡车vpps中文名称")
private String KCCVPPSCN;
}
@@ -0,0 +1,22 @@
package com.adc.da.slrs.sarLawsAttrDetailedList.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* //TODO 添加类、接口描述
*
* @author ZhangZhiYuan
* @date 2021-07-21
*/
@Data
public class StandRegionalTimeDto {
@ApiModelProperty(value = "国家")
private String country;
@ApiModelProperty(value = "实施日期")
private String putTime;
@ApiModelProperty(value = "在产车实施日期")
private String zccssrq;
@ApiModelProperty(value = "新车型实施日期")
private String xcxssrq;
}
@@ -0,0 +1,20 @@
package com.adc.da.slrs.sarLawsAttrDetailedList.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* //TODO 添加类、接口描述
*
* @author ZhangZhiYuan
* @date 2021-07-21
*/
@Data
public class StandTimeDto {
@ApiModelProperty(value = "实施日期")
private String putTime;
@ApiModelProperty(value = "在产车实施日期")
private String zccssrq;
@ApiModelProperty(value = "新车型实施日期")
private String xcxssrq;
}
@@ -1,12 +1,12 @@
package com.adc.da.slrs.sarLawsAttrDetailedList.service;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.SarLawsAttrDetailedList;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.LawsDto;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.StandExcelVo;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.*;
import com.adc.da.slrs.sarLawsDetailedList.entity.TimeDto;
import com.baomidou.mybatisplus.extension.service.IService;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* <p>
@@ -18,8 +18,10 @@ import java.util.List;
*/
public interface ISarLawsAttrDetailedListService extends IService<SarLawsAttrDetailedList> {
List<LawsDto> selectLaws(String standId, Integer Page, Integer Size,String standName);
Boolean insertDetailedList(String id,String[] lawsIds);
Boolean updateDetailedLaws(String id,String[] lawsIds);
List<LawsDto> selectLaws(SarFindDto sarFindDto);
Boolean insertDetailedList(String id,List<TimeDto> timeDto);
Boolean updateDetailedLaws(String id,List<TimeDto> timeDtos);
void exportExcel(HttpServletResponse response, StandExcelVo standExcelVo);
int setTimes(SarLawsAttrDetailedList sarLawsAttrDetailedList);
Map<String ,List<StandTimeDto>> selectTimes(String id);
}
@@ -1,22 +1,24 @@
package com.adc.da.slrs.sarLawsAttrDetailedList.service.impl;
import com.adc.da.slrs.sarLawsAttrDetailedList.dao.SarLawsAttrDetailedListDao;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.LawsDto;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.LittleLawsDto;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.SarLawsAttrDetailedList;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.StandExcelVo;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.*;
import com.adc.da.slrs.sarLawsAttrDetailedList.service.ISarLawsAttrDetailedListService;
import com.adc.da.slrs.sarLawsDetailedList.entity.TimeDto;
import com.adc.da.sys.service.IDicTypeEOService;
import com.adc.da.util.UUIDUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* <p>
@@ -31,43 +33,160 @@ public class SarLawsAttrDetailedListServiceImpl extends ServiceImpl<SarLawsAttrD
@Autowired
SarLawsAttrDetailedListDao sarLawsAttrDetailedListDao;
@Autowired
private IDicTypeEOService iDicTypeEOService;
//从主表中查询信息
@Override
public List<LawsDto> selectLaws(String standId, Integer Page, Integer Size,String standName) {
List<String> lawsIds = sarLawsAttrDetailedListDao.selectLawsId(standId,Page,Size);
public List<LawsDto> selectLaws(SarFindDto sarFindDto) {
List<String> lawsIds = sarLawsAttrDetailedListDao.selectLawsId(sarFindDto.getId(),(sarFindDto.getPage())-1,sarFindDto.getSize());
if (CollectionUtils.isEmpty(lawsIds)){
return null;
}
List<LittleLawsDto> lawsDtoList = sarLawsAttrDetailedListDao.selectLawsById(lawsIds,standName);
List<LawsDto> list = new ArrayList<>();
for (LittleLawsDto laws:lawsDtoList){
LawsDto lawsDto = LawsDto.builder()
.id(laws.getId())
.standNumber(laws.getStandNumber())
.standName(laws.getStandName())
.standEnName(laws.getStandEnName())
.issueTime(laws.getIssueTime())
.textStatus(laws.getTextStatus())
.build();
list.add(lawsDto);
List<LawsDto> list = sarLawsAttrDetailedListDao.selectLawsById(lawsIds,sarFindDto);
for (LawsDto lawsDto:list){
QueryWrapper<SarLawsAttrDetailedList> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("stand_id",lawsDto.getId())
.eq("detailed_list_id",sarFindDto.getId());
List<SarLawsAttrDetailedList> sarLawsAttrDetailedLists = sarLawsAttrDetailedListDao.selectList(queryWrapper);
if (StringUtils.isNoneEmpty(sarLawsAttrDetailedLists.get(0).getPutTime())){
lawsDto.setPutTime(sarLawsAttrDetailedLists.get(0).getPutTime());
}
if (StringUtils.isNoneEmpty(sarLawsAttrDetailedLists.get(0).getXcxssrq())){
lawsDto.setXCXSSRQGJ(sarLawsAttrDetailedLists.get(0).getXcxssrq());
}
if (StringUtils.isNoneEmpty(sarLawsAttrDetailedLists.get(0).getZccssrq())){
lawsDto.setZCCSSRQGJ(sarLawsAttrDetailedLists.get(0).getZccssrq());
}
}
//适用车型
Map<String,Object> map= iDicTypeEOService.getDicTypeListCode();
List<Map<String, String>> typeApplicable = (List<Map<String, String>>)map.get("ENERGYTYPES");
for (LawsDto list1:list){
if (StringUtils.isNotBlank(list1.getTypeApplicable()) && list1.getTypeApplicable().contains(",")){
String[] split = list1.getTypeApplicable().split(",");
StringBuilder builder = new StringBuilder();
for (String s:split){
for (Map<String,String> map1:typeApplicable) {
if (map1.get("value").equals(s)){
s=map1.get("label");
builder.append(s+",");
break;
}
}
}
String completedString = builder.delete(builder.length()-1,builder.length()).toString();
list1.setTypeApplicable(completedString);
}
else {
for (Map<String,String> map1:typeApplicable) {
if (map1.get("value").equals(list1.getTypeApplicable())){
list1.setTypeApplicable(map1.get("label"));
break;
}
}
}
}
//能源类型
List<Map<String, String>> nylx = (List<Map<String, String>>)map.get("NYLXCLASS");
for (LawsDto list1:list){
if (StringUtils.isNotBlank(list1.getNYLX()) && list1.getNYLX().contains(",")){
String[] split = list1.getNYLX().split(",");
StringBuilder builder = new StringBuilder();
for (String s:split){
for (Map<String,String> map1:nylx) {
if (map1.get("value").equals(s)){
s=map1.get("label");
builder.append(s+",");
break;
}
}
}
String completedString = builder.delete(builder.length()-1,builder.length()).toString();
list1.setNYLX(completedString);
}
else {
for (Map<String,String> map1:nylx) {
if (map1.get("value").equals(list1.getNYLX())){
list1.setNYLX(map1.get("label"));
break;
}
}
}
}
//责任部门
List<Map<String, String>> zrbn = (List<Map<String, String>>)map.get("ZRBMCLASS");
for (LawsDto list1:list){
if (StringUtils.isNotBlank(list1.getZRBM()) && list1.getZRBM().contains(",")){
String[] split = list1.getZRBM().split(",");
StringBuilder builder = new StringBuilder();
for (String s:split){
for (Map<String,String> map1:zrbn) {
if (map1.get("value").equals(s)){
s=map1.get("label");
builder.append(s+",");
break;
}
}
}
String completedString = builder.delete(builder.length()-1,builder.length()).toString();
list1.setZRBM(completedString);
}
else {
for (Map<String,String> map1:zrbn) {
if (map1.get("value").equals(list1.getZRBM())){
list1.setZRBM(map1.get("label"));
break;
}
}
}
}
//产品线
List<Map<String, String>> sycpx = (List<Map<String, String>>)map.get("SYCPXCLASS");
for (LawsDto list1:list){
if (StringUtils.isNotBlank(list1.getSYCPX()) && list1.getSYCPX().contains(",")){
String[] split = list1.getSYCPX().split(",");
StringBuilder builder = new StringBuilder();
for (String s:split){
for (Map<String,String> map1:sycpx) {
if (map1.get("value").equals(s)){
s=map1.get("label");
builder.append(s+",");
break;
}
}
}
String completedString = builder.delete(builder.length()-1,builder.length()).toString();
list1.setSYCPX(completedString);
}
else {
for (Map<String,String> map1:sycpx) {
if (map1.get("value").equals(list1.getSYCPX())){
list1.setSYCPX(map1.get("label"));
break;
}
}
}
}
return list;
}
//向清单表和主表中的关联表插入信息
@Override
public Boolean insertDetailedList(String standId, String[] lawsIds) {
if (!StringUtils.isEmpty(lawsIds)){
public Boolean insertDetailedList(String standId, List<TimeDto> timeDto) {
if (null !=timeDto && !timeDto.isEmpty()){
try {
List<SarLawsAttrDetailedList> attrDetailedLists = new ArrayList<>();
int a=0;
for (String lawsId:lawsIds){
for (TimeDto timeDto1:timeDto){
SarLawsAttrDetailedList sarLawsAttrDetailedList = SarLawsAttrDetailedList.builder()
.id(UUIDUtils.randomUUID20())
.standId(lawsId)
.standId(timeDto1.getStandId())
.detailedListId(standId)
.number(String.valueOf(a))
.putTime(timeDto1.getPutTime())
.xcxssrq(timeDto1.getXcxssrqgj())
.zccssrq(timeDto1.getZccssrqgj())
.build();
attrDetailedLists.add(sarLawsAttrDetailedList);
a++;
@@ -83,12 +202,12 @@ public class SarLawsAttrDetailedListServiceImpl extends ServiceImpl<SarLawsAttrD
//修改关联表中的信息,先删除后修改
@Override
public Boolean updateDetailedLaws(String id, String[] lawsIds) {
public Boolean updateDetailedLaws(String id,List<TimeDto> timeDto) {
try {
QueryWrapper<SarLawsAttrDetailedList> wrapper = new QueryWrapper<>();
wrapper.eq("detailed_list_id",id);
sarLawsAttrDetailedListDao.delete(wrapper);
insertDetailedList(id,lawsIds);
insertDetailedList(id,timeDto);
return true;
} catch (Exception e) {
return false;
@@ -100,5 +219,31 @@ public class SarLawsAttrDetailedListServiceImpl extends ServiceImpl<SarLawsAttrD
}
@Override
public int setTimes(SarLawsAttrDetailedList sarLawsAttrDetailedList) {
return sarLawsAttrDetailedListDao.updateById(sarLawsAttrDetailedList);
}
@Override
public Map<String, List<StandTimeDto>> selectTimes(String id) {
List<StandRegionalTimeDto> standRegionalTimeDto= sarLawsAttrDetailedListDao.selectTimes(id);
Map<String, List<StandTimeDto>> mapList = new HashMap<String, List<StandTimeDto>>();
for (StandRegionalTimeDto s:standRegionalTimeDto){
List<StandTimeDto> list;
if (mapList.containsKey(s.getCountry())){
list = mapList.get(s.getCountry());
}else {
list = new ArrayList<>();
}
StandTimeDto standTimeDto = new StandTimeDto();
standTimeDto.setPutTime(s.getPutTime());
standTimeDto.setXcxssrq(s.getXcxssrq());
standTimeDto.setZccssrq(s.getZccssrq());
list.add(standTimeDto);
mapList.put(s.getCountry(),list);
}
return mapList;
}
}
@@ -0,0 +1,60 @@
package com.adc.da.slrs.sarLawsDetailedList.Util;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.util.CollectionUtils;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
* //TODO 添加类、接口描述
*
* @author ZhangZhiYuan
* @date 2021-07-26
*/
@Slf4j
public class BeanConverUtil {
/**
* 单个类转换
*
* @param sourceObj
* @param targetClass
* @param <T>
* @return
*/
public static <T> T conver(Object sourceObj, Class<T> targetClass) {
if (sourceObj == null || targetClass == null) {
return null;
}
T targetObj = null;
try {
targetObj = targetClass.newInstance();
} catch (InstantiationException | IllegalAccessException e) {
log.error("sourceObj:{},targetClass:{}", sourceObj, targetClass, e);
return null;
}
BeanUtils.copyProperties(sourceObj, targetObj);
return targetObj;
}
/**
* List之间转换
*
* @param sourceList
* @param targetClass
* @param <T>
* @return
*/
public static <T> List<T> converList(List<?> sourceList, Class<T> targetClass) {
if (CollectionUtils.isEmpty(sourceList) || targetClass == null) {
return Collections.emptyList();
}
return sourceList.stream().map(sourceObj -> conver(sourceObj, targetClass)).collect(Collectors.toList());
}
}
@@ -1,25 +1,32 @@
package com.adc.da.slrs.sarLawsDetailedList.controller;
import com.adc.da.att.controller.AttFileEOController;
import com.adc.da.att.entity.AttFileEO;
import com.adc.da.base.web.BaseController;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.slrs.sarLawsDetailedList.Util.BeanConverUtil;
import com.adc.da.slrs.sarLawsDetailedList.entity.AddDetailedDto;
import com.adc.da.slrs.sarLawsDetailedList.entity.FindFileNameDto;
import com.adc.da.slrs.sarLawsDetailedList.entity.SarLawsDetailedList;
import com.adc.da.slrs.sarLawsDetailedList.entity.DetailedUpDto;
import com.adc.da.slrs.sarLawsDetailedList.service.impl.SarLawsDetailedListServiceImpl;
import com.adc.da.util.utils.CollectionUtils;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* <p>
@@ -37,6 +44,8 @@ public class SarLawsDetailedListController extends BaseController<SarLawsDetaile
@Autowired
private SarLawsDetailedListServiceImpl sarLawsDetailedListService;
@Autowired
private AttFileEOController attFileEOController;
/**
* @param idList 要进行删除的清单id
@@ -64,7 +73,7 @@ public class SarLawsDetailedListController extends BaseController<SarLawsDetaile
**/
@ApiOperation(value = "增加清单")
@PostMapping("/insertList")
public ResponseMessage insertList(AddDetailedDto addDetailedDto) {
public ResponseMessage insertList( AddDetailedDto addDetailedDto) {
String src = sarLawsDetailedListService.add(addDetailedDto);
return Result.success(src);
}
@@ -86,14 +95,36 @@ public class SarLawsDetailedListController extends BaseController<SarLawsDetaile
String countryArea, String projectName,
String detailedList,
String detailedListName) {
if ("null".equals(countryArea))countryArea=null;
if ("null".equals(projectName))projectName=null;
if ("null".equals(detailedList))detailedList=null;
if ("null".equals(detailedListName))detailedListName=null;
if (StringUtils.isNotEmpty(sortKey)) {
IPage<SarLawsDetailedList> publicList = sarLawsDetailedListService.AllSelectD(page, pageSize, sortKey,
IPage<SarLawsDetailedList> publicList1 = sarLawsDetailedListService.AllSelectD(page, pageSize, sortKey,
countryArea, projectName, detailedList, detailedListName);
List<SarLawsDetailedList> list= publicList1.getRecords();//从封装中取出数据
List<FindFileNameDto> list1;//继承类集合实现
list1 = BeanConverUtil.converList(list,FindFileNameDto.class);//将原来类的数据赋给继承类
List<AttFileEO> attFileEOS;//新建文件信息的集合
for (int a=0;a<list.size();a++){
if (null!=list.get(a).getFileIds() && list.get(a).getFileIds().contains(",")){//判断集合中是否有id,是否有逗号
attFileEOS = attFileEOController.getMultiFileInfos(list.get(a).getFileIds()).getData();//根据id取出数据
FindFileNameDto fileNameDto = list1.get(a);//按顺序取出新表数据
if (attFileEOS.size()<=1){//判断有几个数据
fileNameDto.setFileName(attFileEOS.get(a).getOldFileName());//向新表里填入文件名
}else {
List<String> idList = attFileEOS.stream().map(AttFileEO::getOldFileName).collect(Collectors.toList());//多个数据取出数据
String FileNames = StringUtils.join(idList.toArray(),",");//拼接
fileNameDto.setFileName(FileNames);//存入
}
list1.set(a,fileNameDto);
}else if (null!=list.get(a).getFileIds()){
AttFileEO attFileEO = attFileEOController.getAttFileInfo(list.get(a).getFileIds()).getData();
}
}
IPage<FindFileNameDto> publicList = new Page<>();
publicList.setCurrent(publicList1.getCurrent());
publicList.setRecords(list1);
publicList.setTotal(publicList1.getTotal());
publicList.setSize(publicList1.getSize());
publicList.setPages(publicList1.getPages());
return Result.success("200", publicList);
} else {
return Result.success("200", null);
@@ -1,11 +1,7 @@
package com.adc.da.slrs.sarLawsDetailedList.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.web.multipart.MultipartFile;
import java.util.Collection;
/**
* //TODO 添加类、接口描述
@@ -26,10 +22,8 @@ public class AddDetailedDto {
private String sortKey;
@ApiModelProperty(value = "清单名称")
private String detailedListName;
@ApiModelProperty(value = "清单详情")
private String remark;
@ApiModelProperty(value = "清单状态,1为未发布,2为发布")
private String detailedListState;
@ApiModelProperty(value = "适用领域")
@@ -37,12 +31,14 @@ public class AddDetailedDto {
@ApiModelProperty(value = "更新人")
private String updatePeople;
@ApiModelProperty(value = "上传的附件")
private MultipartFile[] files;
private String fileIds;
@ApiModelProperty(value = "要添加的清单id")
private String inforlist;
@ApiModelProperty(value = "实施时间")
private String inforlist1;
@ApiModelProperty(value = "在产车实施时间")
private String inforlist2;
@ApiModelProperty(value = "新车型实施时间")
private String inforlist3;
public MultipartFile getFiles(int i) {
return files[i];
}
}
@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* //TODO 添加类、接口描述
@@ -44,8 +45,7 @@ public class DetailedUpDto {
private String applicationScope;
@ApiModelProperty(value = "附件id")
private String fileId;
private String fileIds;
@ApiModelProperty(value = "更新时间")
private Date reNewTime;
@@ -59,4 +59,13 @@ public class DetailedUpDto {
@ApiModelProperty(value = "清单详情")
private String remark;
@ApiModelProperty(value = "实施时间")
private String inforlist1;
@ApiModelProperty(value = "在产车实施时间")
private String inforlist2;
@ApiModelProperty(value = "新车型实施时间")
private String inforlist3;
}
@@ -0,0 +1,21 @@
package com.adc.da.slrs.sarLawsDetailedList.entity;
/**
* //TODO 添加类、接口描述
*
* @author ZhangZhiYuan
* @date 2021-07-26
*/
public class FindFileNameDto extends SarLawsDetailedList {
private String fileName;
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
}
@@ -13,6 +13,6 @@ import java.util.List;
*/
@Data
public class IdListDto {
@ApiModelProperty("未符合项ID列表")
@ApiModelProperty("ID列表")
private List<String> Ids;
}
@@ -79,7 +79,7 @@ public class SarLawsDetailedList extends BaseEntity {
@ApiModelProperty(value = "附件id")
@TableField("file_id")
private String fileId;
private String fileIds;
}
@@ -0,0 +1,28 @@
package com.adc.da.slrs.sarLawsDetailedList.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* //TODO 添加类、接口描述
*
* @author ZhangZhiYuan
* @date 2021-07-21
*/
@Data
public class TimeDto {
@ApiModelProperty(value = "标准id")
private String standId;
@ApiModelProperty(value = "实施日期")
private String putTime;
@ApiModelProperty(value = "在产车实施日期")
private String zccssrqgj;
@ApiModelProperty(value = "新车型实施日期")
private String xcxssrqgj;
}
@@ -8,6 +8,7 @@ import com.adc.da.slrs.sarLawsDetailedList.dao.SarLawsDetailedListDao;
import com.adc.da.slrs.sarLawsDetailedList.entity.AddDetailedDto;
import com.adc.da.slrs.sarLawsDetailedList.entity.SarLawsDetailedList;
import com.adc.da.slrs.sarLawsDetailedList.entity.DetailedUpDto;
import com.adc.da.slrs.sarLawsDetailedList.entity.TimeDto;
import com.adc.da.slrs.sarLawsDetailedList.service.ISarLawsDetailedListService;
import com.adc.da.sys.service.IDicTypeEOService;
import com.adc.da.util.UUIDUtils;
@@ -23,9 +24,10 @@ import org.springframework.stereotype.Service;
import java.util.*;
import static com.adc.da.login.util.UserUtils.getUserName;
/**
* <p>
* 服务实现类
* 服务实现类
* </p>
*
* @author szc
@@ -48,8 +50,8 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
@Override
public String del(List<String> idList) {
QueryWrapper<SarLawsAttrDetailedList> wrapper = new QueryWrapper<>();
for (String id:idList){
wrapper.eq("detailed_list_id",id);
for (String id : idList) {
wrapper.eq("detailed_list_id", id);
sarLawsAttrDetailedListDao.delete(wrapper);
}
sarLawsDetailedListDao.deleteBatchIds(idList);
@@ -58,6 +60,7 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
@Override
public String add(AddDetailedDto addDetailedDto) {
addDetailedDto.setInforlist(addDetailedDto.getInforlist().substring(1, addDetailedDto.getInforlist().length() -1));
try {
SarLawsDetailedList sarLawsDetailedList = SarLawsDetailedList.builder()
.id(UUIDUtils.randomUUID20())
@@ -70,16 +73,89 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
.updatePeople(addDetailedDto.getUpdatePeople())
.remark(addDetailedDto.getRemark())
.updatePeople(getUserName())
.fileIds(addDetailedDto.getFileIds())
.build();
List<TimeDto> timeDto = new ArrayList<>();
switch (addDetailedDto.getSortKey()) {
case "1":
sarLawsDetailedList.setCountryArea(addDetailedDto.getCountryArea());
if (addDetailedDto.getInforlist()!=null){
if (addDetailedDto.getInforlist().contains(",")){
String[] id = addDetailedDto.getInforlist().split(",");
String[] putTime = addDetailedDto.getInforlist1().split(",");
String[] zcc = addDetailedDto.getInforlist2().split(",");
String[] xcx = addDetailedDto.getInforlist3().split(",");
for (int a =0;a< id.length;a++){
TimeDto dto = new TimeDto();
dto.setStandId(id[a]);
if ("\"".equals(putTime[a])){
dto.setPutTime(null);
}else {
dto.setPutTime(putTime[a]);
}
if ("\"".equals(putTime[a])){
dto.setXcxssrqgj(null);
}else {
dto.setXcxssrqgj(xcx[a]);
}
if ("\"".equals(putTime[a])){
dto.setZccssrqgj(null);
}else {
dto.setZccssrqgj(zcc[a]);
}
timeDto.add(dto);
}
}else {
TimeDto dto = new TimeDto();
dto.setStandId(addDetailedDto.getInforlist());
dto.setPutTime(addDetailedDto.getInforlist1());
dto.setXcxssrqgj(addDetailedDto.getInforlist2());
dto.setZccssrqgj(addDetailedDto.getInforlist3());
timeDto.add(dto);
}
}else {
timeDto=null;
}
break;
case "2":
sarLawsDetailedList.setProjectName(addDetailedDto.getProjectName());
if (addDetailedDto.getInforlist() != null){
if (addDetailedDto.getInforlist().contains(",")){
String[] id = addDetailedDto.getInforlist().split(",");
for (String standId:id){
TimeDto dto = new TimeDto();
dto.setStandId(standId);
timeDto.add(dto);
}
}else {
TimeDto dto = new TimeDto();
dto.setStandId(addDetailedDto.getInforlist());
timeDto.add(dto);
}
}else {
timeDto=null;
}
break;
case "3":
sarLawsDetailedList.setDetailedList(addDetailedDto.getDetailedList());
if (addDetailedDto.getInforlist() != null){
if (addDetailedDto.getInforlist().contains(",")){
String[] id = addDetailedDto.getInforlist().split(",");
for (String standId:id){
TimeDto dto = new TimeDto();
dto.setStandId(standId);
timeDto.add(dto);
}
}else {
TimeDto dto = new TimeDto();
dto.setStandId(addDetailedDto.getInforlist());
timeDto.add(dto);
}
}else {
timeDto=null;
}
break;
default:
break;
@@ -87,9 +163,7 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
if ("admin".equals(getUserName()))sarLawsDetailedList.setUpdatePeople("管理员");
else {sarLawsDetailedList.setUpdatePeople(getUserName());}
sarLawsDetailedListDao.insert(sarLawsDetailedList);
addDetailedDto.setInforlist(addDetailedDto.getInforlist().substring(1,addDetailedDto.getInforlist().length()-1));
String[] split = addDetailedDto.getInforlist().split(",");
service.insertDetailedList(sarLawsDetailedList.getId(),split);
service.insertDetailedList(sarLawsDetailedList.getId(),timeDto);
} catch (Exception e) {
e.printStackTrace();
@@ -99,42 +173,42 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
@Override
public IPage<SarLawsDetailedList> AllSelectD(Integer pages, Integer size, String sortKey,
String countryArea,String projectName,
String detailedList,String detailedListName) {
public IPage<SarLawsDetailedList> AllSelectD(Integer page, Integer pageSize, String sortKey,
String countryArea, String projectName,
String detailedList, String detailedListName) {
QueryWrapper<SarLawsDetailedList> wrapper = new QueryWrapper<>();
if ("1".equals(sortKey) ) {
wrapper.like(StringUtils.isNotEmpty(countryArea),"country_area",countryArea).
like(StringUtils.isNotEmpty(detailedListName),"detailed_list_name",detailedListName);
}else if ("2".equals(sortKey)) {
wrapper.like(StringUtils.isNotEmpty(projectName),"project_name",projectName).
like(StringUtils.isNotEmpty(detailedListName),"detailed_list_name",detailedListName);
if ("1".equals(sortKey)) {
wrapper.like(StringUtils.isNotEmpty(countryArea), "country_area", countryArea).
like(StringUtils.isNotEmpty(detailedListName), "detailed_list_name", detailedListName);
} else if ("2".equals(sortKey)) {
wrapper.like(StringUtils.isNotEmpty(projectName), "project_name", projectName).
like(StringUtils.isNotEmpty(detailedListName), "detailed_list_name", detailedListName);
}else if ("3".equals(sortKey)){
wrapper.like(StringUtils.isNotEmpty(detailedList),"detailed_list_state",detailedList).
like(StringUtils.isNotEmpty(detailedListName),"detailed_list_name",detailedListName);
} else if ("3".equals(sortKey)) {
wrapper.like(StringUtils.isNotEmpty(detailedList), "detailed_list_state", detailedList).
like(StringUtils.isNotEmpty(detailedListName), "detailed_list_name", detailedListName);
}
wrapper.eq("sort_key",sortKey);
Page<SarLawsDetailedList> page = new Page<>(pages, size);
IPage<SarLawsDetailedList> userIPage = sarLawsDetailedListDao.selectPage(page, wrapper);
if ("1".equals(sortKey)){
Map<String,Object> map= iDicTypeEOService.getDicTypeListCode();
List<SarLawsDetailedList> list= userIPage.getRecords();
List<Map<String, String>> arr = (List<Map<String, String>>)map.get("COUNTRY");
for (SarLawsDetailedList list1:list){
if (StringUtils.isNotBlank(list1.getCountryArea()) && list1.getCountryArea().contains(",")){
wrapper.eq("sort_key", sortKey);
Page<SarLawsDetailedList> pageRes = new Page<>(page, pageSize);
IPage<SarLawsDetailedList> userIPage = sarLawsDetailedListDao.selectPage(pageRes, wrapper);
if ("1".equals(sortKey)) {
Map<String, Object> map = iDicTypeEOService.getDicTypeListCode();
List<SarLawsDetailedList> list = userIPage.getRecords();
List<Map<String, String>> arr = (List<Map<String, String>>) map.get("COUNTRY");
for (SarLawsDetailedList list1 : list) {
if (StringUtils.isNotBlank(list1.getCountryArea()) && list1.getCountryArea().contains(",")) {
String[] split = list1.getCountryArea().split(",");
StringBuilder builder = new StringBuilder();
for (String s:split){
for (Map<String,String> map1:arr) {
if (map1.get("value").equals(s)){
s=map1.get("label");
builder.append(s+",");
for (String s : split) {
for (Map<String, String> map1 : arr) {
if (map1.get("value").equals(s)) {
s = map1.get("label");
builder.append(s + ",");
break;
}
}
}
String completedString = builder.delete(builder.length()-1,builder.length()).toString();
String completedString = builder.delete(builder.length() - 1, builder.length()).toString();
list1.setCountryArea(completedString);
}else {
for (Map<String,String> map1:arr) {
@@ -194,11 +268,50 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
if (StringUtils.isBlank(detailedUpDto.getDetailedListState())) list.setDetailedListState(null);
else if ("null".equals(detailedUpDto.getDetailedListState()));
else list.setDetailedListState(detailedUpDto.getDetailedListState());
//文件
if (StringUtils.isBlank(detailedUpDto.getFileIds())) list.setFileIds(null);
else if ("null".equals(detailedUpDto.getFileIds()));
else list.setFileIds(detailedUpDto.getFileIds());
sarLawsDetailedListDao.updateById(list);
detailedUpDto.setInforlist(detailedUpDto.getInforlist().substring(1,detailedUpDto.getInforlist().length()-1));
String[] split = detailedUpDto.getInforlist().split(",");
service.updateDetailedLaws(detailedUpDto.getId(), split);
if (null != detailedUpDto.getInforlist()) {
detailedUpDto.setInforlist(detailedUpDto.getInforlist().substring(1, detailedUpDto.getInforlist().length() - 1));
List<TimeDto> timeDto = new ArrayList<>();
if (detailedUpDto.getInforlist().indexOf(",") >= 0) {
String[] id = detailedUpDto.getInforlist().split(",");
String[] putTime = detailedUpDto.getInforlist1().split(",");
String[] zcc = detailedUpDto.getInforlist2().split(",");
String[] xcx = detailedUpDto.getInforlist3().split(",");
for (int a = 0; a < id.length; a++) {
TimeDto dto = new TimeDto();
dto.setStandId(id[a]);
if ("\"".equals(putTime[a])) {
dto.setPutTime(null);
} else {
dto.setPutTime(putTime[a]);
}
if ("\"".equals(putTime[a])) {
dto.setXcxssrqgj(null);
} else {
dto.setXcxssrqgj(xcx[a]);
}
if ("\"".equals(putTime[a])) {
dto.setZccssrqgj(null);
} else {
dto.setZccssrqgj(zcc[a]);
}
timeDto.add(dto);
}
} else {
TimeDto dto = new TimeDto();
dto.setStandId(detailedUpDto.getInforlist());
dto.setPutTime(detailedUpDto.getInforlist1());
dto.setXcxssrqgj(detailedUpDto.getInforlist2());
dto.setZccssrqgj(detailedUpDto.getInforlist3());
timeDto.add(dto);
}
service.updateDetailedLaws(detailedUpDto.getId(), timeDto);
}
return "修改成功";
}
@@ -147,6 +147,7 @@ public class TsResourceServiceImpl extends ServiceImpl<TsResourceDao, TsResource
tsResourceQueryWrapper.eq("sor_divide",tsResource.getSorDivide());
}
tsResourceQueryWrapper.isNull("PARENT_ID");
tsResourceQueryWrapper.orderByAsc("DISPLAY_SEQ");
List<TsResource> TsResources=dao.selectList(tsResourceQueryWrapper);
for(TsResource TsResource:TsResources){
TsResource.setChildren(recursionGetChildren((TsResource)));
@@ -3,11 +3,17 @@ package com.adc.da.slrs.sarStandIdea.controller;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.slrs.sarStandIdea.dao.SarPublicIdeaAllDao;
import com.adc.da.slrs.sarStandIdea.entity.DelStandDto;
import com.adc.da.slrs.sarStandIdea.entity.DetAllStandDto;
import com.adc.da.slrs.sarStandIdea.entity.GetExcelDto;
import com.adc.da.slrs.sarStandIdea.service.Impl.SarPublicIdeaAllServiceImpl;
import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@@ -18,6 +24,10 @@ import org.springframework.web.bind.annotation.RestController;
import com.adc.da.base.web.BaseController;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
@@ -34,6 +44,8 @@ public class SarPublicIdeaAllController extends BaseController<SarPublicIdeaAll>
@Autowired
private SarPublicIdeaAllServiceImpl sarPublicIdeaAllImpl;
@Autowired
private SarPublicIdeaAllDao sarPublicIdeaAllDao;
@ApiOperation(value = "查询全部意见")
@@ -59,7 +71,6 @@ public class SarPublicIdeaAllController extends BaseController<SarPublicIdeaAll>
return Result.success("200",src);
}
@ApiOperation(value = "修改意见")
@PostMapping("/updateStand")
public ResponseMessage updateStand(SarPublicIdeaAll sarPublicIdeaAll,String autUserId){
@@ -67,14 +78,42 @@ public class SarPublicIdeaAllController extends BaseController<SarPublicIdeaAll>
return Result.success("200",src);
}
@ApiOperation(value = "导出全部意见")
@GetMapping("/tuallStand")
public ResponseMessage getAllStand(HttpServletResponse response,String cid){
String src=sarPublicIdeaAllImpl.stuListExcel(response,cid);
return Result.success("200",src);
}
public void getAllStand(HttpServletResponse response,String cid){
try {
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
String fileName = URLEncoder.encode("意见详情", "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
List<SarPublicIdeaAll> data=new ArrayList<>();
if (!StringUtils.isEmpty(cid)){
QueryWrapper<SarPublicIdeaAll> wrapper = new QueryWrapper<>();
wrapper.eq(SarPublicIdeaAll.CID,cid);
data=sarPublicIdeaAllDao.selectList(wrapper);
}
List<GetExcelDto> standExcel=new ArrayList<>();
for (SarPublicIdeaAll sarPublicIdeaAll:data){
GetExcelDto getExcelDto=GetExcelDto.builder()
.partCode(sarPublicIdeaAll.getPartCode())
.content(sarPublicIdeaAll.getContent())
.userName(sarPublicIdeaAll.getUserName())
.deptName(sarPublicIdeaAll.getDeptName())
.build();
standExcel.add(getExcelDto);
}
EasyExcel.write(response.getOutputStream(),GetExcelDto.class).autoCloseStream(Boolean.FALSE).sheet("sheet1")
.doWrite(standExcel);
} catch (Exception e) {
response.reset();
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
try {
response.getWriter().println(JSON.toJSONString(Result.error()));
} catch (IOException ioException) {
ioException.printStackTrace();
}
}
}
}
@@ -0,0 +1,35 @@
package com.adc.da.slrs.sarStandIdea.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* //用于导出
*
* @author ZhangZhiYuan
* @date 2021-07-14
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@HeadRowHeight(20)
@ColumnWidth(15)
public class GetExcelDto {
@ExcelProperty("章节编号")
private String partCode;
@ExcelProperty("内容")
private String content;
@ExcelProperty("提出人")
private String userName;
@ExcelProperty("所在部门")
private String deptName;
}
@@ -25,6 +25,4 @@ public interface ISarPublicIdeaAllService extends IService<SarPublicIdeaAll> {
String updateById(SarPublicIdeaAll sarPublicIdeaAll, String autUserid);
String delete(DelStandDto delStandDto);
String del(String id);
String stuListExcel(HttpServletResponse response,String cid);
}
@@ -88,74 +88,4 @@ public class SarPublicIdeaAllServiceImpl extends ServiceImpl<SarPublicIdeaAllDao
sarPublicIdeaAllDao.deleteById(id);
return "删除成功";
}
@Override
public String stuListExcel(HttpServletResponse response,String cid) {
QueryWrapper<SarPublicIdeaAll> wrapper = new QueryWrapper<>();
wrapper.eq(SarPublicIdeaAll.CID,cid);
List<SarPublicIdeaAll> data=sarPublicIdeaAllDao.selectList(wrapper);
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMdd hhmmss");
Workbook wb = new XSSFWorkbook();
//标题行抽出字段
String[] title = {"", "标准或政策编号","章节编号", "内容","提出人","所在部门"};
//设置sheet名称,并创建新的sheet对象
String sheetName = "意见信息";
Sheet stuSheet = wb.createSheet(sheetName);
//获取表头行
Row titleRow = stuSheet.createRow(0);
//创建单元格,设置style居中,字体,单元格大小等
CellStyle style = wb.createCellStyle();
Cell cell;
//把已经写好的标题行写入excel文件中
for (int i = 1; i < title.length; i++) {
cell = titleRow.createCell(i);
cell.setCellValue(title[i]);
cell.setCellStyle(style);
}
//把从数据库中取得的数据一一写入excel文件中
Row row = null;
for (int i = 0; i < data.size(); i++) {
//创建list.size()行数据
row = stuSheet.createRow(i + 1);
//把值一一写进单元格里
//设置第一列为自动递增的序号
row.createCell(0).setCellValue(i + 1);
row.createCell(1).setCellValue(data.get(i).getCid());
row.createCell(2).setCellValue(data.get(i).getPartCode());
row.createCell(3).setCellValue(data.get(i).getContent());
row.createCell(4).setCellValue(data.get(i).getUserName());
row.createCell(5).setCellValue(data.get(i).getDeptName());
}
//设置单元格宽度自适应,在此基础上把宽度调至1.5倍
for (int i = 0; i < title.length; i++) {
stuSheet.autoSizeColumn(i, true);
stuSheet.setColumnWidth(i, stuSheet.getColumnWidth(i) * 15 / 10);
}
response.setContentType("application/octet-stream; charset=iso-8859-1");
StringBuffer contentDisposition = new StringBuffer("attachment; filename=\"");
String fileName = new String("Reply-content.xlsx".getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1);
contentDisposition.append(fileName).append("\"");
response.setHeader("Content-disposition", contentDisposition.toString());
ServletOutputStream out = null;
try {
out = response.getOutputStream();
} catch (IOException e) {
e.printStackTrace();
}
try {
wb.write(out);
} catch (IOException e) {
e.printStackTrace();
}
try {
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
return "下载成功";
}
}
@@ -4,8 +4,12 @@ package com.adc.da.slrs.sarStandItems.controller;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.LawsDto;
import com.adc.da.slrs.sarStandItems.entity.FindStandDto;
import com.adc.da.slrs.sarStandItems.entity.SarItemsTime;
import com.adc.da.slrs.sarStandItems.entity.SarStandItemsDto;
import com.adc.da.slrs.sarStandItems.service.impl.SarStandItemsServiceImpl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -50,4 +54,18 @@ public class SarStandItemsController extends BaseController<SarStandItems> {
}
}
@ApiOperation(value = "分解单查询(带时间)")
@GetMapping("/findAllItemsTimes")
public List<SarItemsTime> findAllItemsTimes(@RequestParam("type") String type,@RequestParam("ids") String ids){
List<SarItemsTime> sarItemsTimes = ServiceImpl.findItemsTime(type,ids);
return sarItemsTimes;
}
@ApiOperation(value = "标准查询")
@PostMapping("/findStand")
public IPage<LawsDto> findStand(FindStandDto findStandDto){
IPage<LawsDto> sarItems = ServiceImpl.selectLawDto(findStandDto);
return sarItems;
}
}
@@ -2,6 +2,7 @@ package com.adc.da.slrs.sarStandItems.dao;
import com.adc.da.slrs.sarStandItems.entity.SarStandItems;
import com.adc.da.slrs.sarStandItems.entity.SarStandItemsDto;
import com.adc.da.slrs.sarStandItems.entity.StandsTimeDto;
import com.adc.da.slrs.sarStandItems.page.SarStandItemsEOPage;
import com.adc.da.sys.common.SelectionResult;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -54,4 +55,12 @@ public interface SarStandItemsDao extends BaseMapper<SarStandItems> {
List<SelectionResult> selectAllItemsSvpps(SarStandItems sarStandItemsEO);
List<SarStandItemsDto> selectAllItemsByIds(@Param("type") String type,@Param("ids") String[] ids);
StandsTimeDto selectStandTime(String standId);
List<StandsTimeDto> selectStandTimeAll();
List<String> selectStandId(@Param("page")int page, @Param("size")int size);
int selectToken();
}
@@ -0,0 +1,17 @@
package com.adc.da.slrs.sarStandItems.entity;
import lombok.Data;
/**
* //TODO 添加类、接口描述
*
* @author ZhangZhiYuan
* @date 2021-07-19
*/
@Data
public class FindStandDto {
private int page;
private int size;
private String standName;
private String standType;
}
@@ -0,0 +1,58 @@
package com.adc.da.slrs.sarStandItems.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* //TODO 添加类、接口描述
*
* @author ZhangZhiYuan
* @date 2021-07-14
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SarItemsTime {
@ApiModelProperty(value = "主键")
private String id;
@ApiModelProperty(value = "标准ID")
private String standId;
@ApiModelProperty(value = "条目编号")
private String itemsNum;
@ApiModelProperty(value = "内容")
private String itemsName;
@ApiModelProperty(value = "责任部门")
private String responsibleUnit;
@ApiModelProperty(value = "新车型实施日期")
@TableField("XCXSSRQ")
private String XCXSSRQ;
@ApiModelProperty(value = "在产车实施日期")
@TableField("ZCCSSRQ")
private String ZCCSSRQ;
@ApiModelProperty(value = "SVPPS")
private String svpps;
@ApiModelProperty(value = "适用车型")
private String applyArctic;
@ApiModelProperty(value = "要求类型")
private String claimType;
@ApiModelProperty(value = "覆盖关系")
private String busStandCover;
}
@@ -156,5 +156,9 @@ public class SarStandItems extends BaseEntity {
@TableField(exist = false)
private SarCompStatusInfo pgForm;
//责任工程师
private String responsibleEngineer;
}
@@ -32,7 +32,7 @@ public class SarStandItemsDto {
private String responsibleUnit;
private String responsibleEngineer;
@@ -0,0 +1,33 @@
package com.adc.da.slrs.sarStandItems.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* //TODO 添加类、接口描述
*
* @author ZhangZhiYuan
* @date 2021-07-14
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class StandsTimeDto {
@ApiModelProperty(value = "标准ID")
@TableField("STAND_ID")
private String standId;
@ApiModelProperty(value = "新车型实施日期")
@TableField("XCXSSRQ")
private String XCXSSRQ;
@ApiModelProperty(value = "在产车实施日期")
@TableField("ZCCSSRQ")
private String ZCCSSRQ;
}
@@ -1,11 +1,14 @@
package com.adc.da.slrs.sarStandItems.service;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.LawsDto;
import com.adc.da.slrs.sarStandItems.entity.FindStandDto;
import com.adc.da.slrs.sarStandItems.entity.SarItemsTime;
import com.adc.da.slrs.sarStandItems.entity.SarStandItems;
import com.adc.da.slrs.sarStandItems.page.SarStandItemsEOPage;
import com.adc.da.slrs.sarStandardsInfo.entity.ActSarItemsEO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.ArrayList;
import java.util.List;
/**
@@ -19,4 +22,6 @@ import java.util.List;
public interface ISarStandItemsService extends IService<SarStandItems> {
List<ActSarItemsEO> queryItemsByList(SarStandItemsEOPage page, String resType);
List<SarItemsTime> findItemsTime(String type,String ids);
IPage<LawsDto> selectLawDto(FindStandDto findStandDto);
}
@@ -1,13 +1,18 @@
package com.adc.da.slrs.sarStandItems.service.impl;
import com.adc.da.slrs.sarStandItems.entity.SarStandItems;
import com.adc.da.http.Result;
import com.adc.da.slrs.sarLawsAttrDetailedList.dao.SarLawsAttrDetailedListDao;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.LawsDto;
import com.adc.da.slrs.sarStandItems.entity.*;
import com.adc.da.slrs.sarStandItems.dao.SarStandItemsDao;
import com.adc.da.slrs.sarStandItems.entity.SarStandItemsDto;
import com.adc.da.slrs.sarStandItems.page.SarStandItemsEOPage;
import com.adc.da.slrs.sarStandItems.service.ISarStandItemsService;
import com.adc.da.slrs.sarStandardsInfo.entity.ActSarItemsEO;
import com.adc.da.slrs.sysInfo.service.SysInfoEOService;
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.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -30,7 +35,8 @@ public class SarStandItemsServiceImpl extends ServiceImpl<SarStandItemsDao, SarS
@Autowired
private SysInfoEOService sysInfoEOService;
@Autowired
private SarLawsAttrDetailedListDao sarLawsAttrDetailedListDao;
public List<ActSarItemsEO> queryItemsByList(SarStandItemsEOPage page, String resType){
List<SarStandItems> itemsEOList = dao.queryItemsByList(page);
@@ -58,6 +64,99 @@ public class SarStandItemsServiceImpl extends ServiceImpl<SarStandItemsDao, SarS
return actitemsEOList;
}
@Override
public List<SarItemsTime> findItemsTime(String type, String ids) {
StandsTimeDto standsTimeDto=new StandsTimeDto();
List<SarItemsTime> sarItemsTime = new ArrayList<>();
if (!StringUtils.isEmpty(ids) && ids.contains(",")){
String[] strings=new String[1];
String[] Sids=ids.split(",");
for (String id : Sids){
strings[0]=id;
List<SarStandItemsDto> ItemDto = dao.selectAllItemsByIds(type,strings);
standsTimeDto=dao.selectStandTime(id);
for (SarStandItemsDto sarStandItemsDto:ItemDto){
SarItemsTime itemsTime = SarItemsTime.builder()
.id(sarStandItemsDto.getId())
.standId(sarStandItemsDto.getStandId())
.itemsName(sarStandItemsDto.getItemsName())
.itemsNum(sarStandItemsDto.getItemsNum())
.responsibleUnit(sarStandItemsDto.getResponsibleUnit())
.XCXSSRQ(standsTimeDto.getXCXSSRQ())
.ZCCSSRQ(standsTimeDto.getZCCSSRQ())
.svpps(sarStandItemsDto.getSvpps())
.applyArctic(sarStandItemsDto.getApplyArctic())
.claimType(sarStandItemsDto.getClaimType())
.busStandCover(sarStandItemsDto.getBusStandCover())
.build();
sarItemsTime.add(itemsTime);
}
}
}else if (!StringUtils.isEmpty(ids)){
String[] Sids=new String[1];
Sids[0]=ids;
List<SarStandItemsDto> ItemDto = dao.selectAllItemsByIds(type,Sids);
standsTimeDto=dao.selectStandTime(ids);
for (SarStandItemsDto sarStandItemsDto:ItemDto){
SarItemsTime itemsTime = SarItemsTime.builder()
.id(sarStandItemsDto.getId())
.standId(sarStandItemsDto.getStandId())
.itemsName(sarStandItemsDto.getItemsName())
.itemsNum(sarStandItemsDto.getItemsNum())
.responsibleUnit(sarStandItemsDto.getResponsibleUnit())
.XCXSSRQ(standsTimeDto.getXCXSSRQ())
.ZCCSSRQ(standsTimeDto.getZCCSSRQ())
.svpps(sarStandItemsDto.getSvpps())
.applyArctic(sarStandItemsDto.getApplyArctic())
.claimType(sarStandItemsDto.getClaimType())
.busStandCover(sarStandItemsDto.getBusStandCover())
.build();
sarItemsTime.add(itemsTime);
}
}else {
List<SarStandItemsDto> ItemDto = dao.selectAllItemsByIds(type,null);
List<StandsTimeDto> standsTimeDtos = dao.selectStandTimeAll();
for (SarStandItemsDto sarStandItemsDto:ItemDto){
for (StandsTimeDto standsTimeDto1:standsTimeDtos){
if (sarStandItemsDto.getStandId().equals(standsTimeDto1.getStandId())){
SarItemsTime itemsTime = SarItemsTime.builder()
.id(sarStandItemsDto.getId())
.standId(sarStandItemsDto.getStandId())
.itemsName(sarStandItemsDto.getItemsName())
.itemsNum(sarStandItemsDto.getItemsNum())
.responsibleUnit(sarStandItemsDto.getResponsibleUnit())
.XCXSSRQ(standsTimeDto1.getXCXSSRQ())
.ZCCSSRQ(standsTimeDto1.getZCCSSRQ())
.svpps(sarStandItemsDto.getSvpps())
.applyArctic(sarStandItemsDto.getApplyArctic())
.claimType(sarStandItemsDto.getClaimType())
.busStandCover(sarStandItemsDto.getBusStandCover())
.build();
sarItemsTime.add(itemsTime);
}
}
}
}
return sarItemsTime;
}
@Override
public IPage<LawsDto> selectLawDto(FindStandDto findStandDto) {
List<String> standId = dao.selectStandId((findStandDto.getPage())-1, findStandDto.getSize());
List<LawsDto> list=new ArrayList<>();
if (standId==null || standId.size()==0){
list = null;
}else {
list = sarLawsAttrDetailedListDao.selectLawsByIdC(standId,findStandDto.getStandName(), findStandDto.getStandType());
}
IPage<LawsDto> page1=new Page<>();
page1.setRecords(list);
page1.setTotal(dao.selectToken());
return page1;
}
public List<SarStandItemsDto> findAllItems(String type,String[] ids){
return dao.selectAllItemsByIds(type,ids);
}
@@ -1,26 +1,21 @@
package com.adc.da.slrs.sarStandProjectLibrary.controller;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.slrs.sarStandProjectLibrary.entity.SarStandProjectLibraryDto;
import com.adc.da.slrs.sarStandProjectLibrary.entity.productLineDto;
import com.adc.da.slrs.sarStandProjectLibrary.entity.*;
import com.adc.da.slrs.sarStandProjectLibrary.service.impl.SarStandProjectLibraryServiceImpl;
import com.adc.da.slrs.sarStandWarning.entity.EarlyWarningEO;
import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import com.adc.da.slrs.sarStandProjectLibrary.entity.SarStandProjectLibrary;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.adc.da.base.web.BaseController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.net.URLEncoder;
import java.util.*;
/**
@@ -37,7 +32,6 @@ import java.util.*;
public class SarStandProjectLibraryController extends BaseController<SarStandProjectLibrary> {
@Resource
private SarStandProjectLibraryServiceImpl sarStandProjectLibraryService;
/**
*
* @param Page
@@ -71,8 +65,14 @@ public class SarStandProjectLibraryController extends BaseController<SarStandPro
List<SarStandProjectLibrary> list = sarStandProjectLibraryService.queryById(id);
return Result.success("200",list);
}
/**
*
* @param current
* @param pageSize
* @return
* @author zj
* date 2021-07-13
**/
@GetMapping("/queryProjectManager")
@ApiOperation("查询产品线项目经理")
public ResponseMessage queryProjectManager(@RequestParam(defaultValue = "1", value = "current")int current, @RequestParam(defaultValue = "10", value = "PageSize") int pageSize){
@@ -83,18 +83,101 @@ public class SarStandProjectLibraryController extends BaseController<SarStandPro
productLineDto p = new productLineDto();
p.setProductLine(sarStandProjectLibrary.getProductLine());
p.setUName(sarStandProjectLibrary.getUName());
p.setProjectManager(sarStandProjectLibrary.getProjectManager());
List<SarStandProjectLibrary> list2 = sarStandProjectLibraryService.queryByProductLine(sarStandProjectLibrary.getProductLine());
p.setSarStandProjectLibraries(list2);
listTemp.add(p);
}
IPage<productLineDto> iPage = new Page<>();
iPage.setRecords(listTemp);
iPage.setCurrent(list1.getCurrent());
iPage.setSize(list1.getSize());
iPage.setTotal(list1.getTotal());
iPage.setPages(list1.getPages());
return Result.success("200",iPage);
IPage<productLineDto> pageres=new Page<>();
pageres.setRecords(listTemp);
pageres.setPages(list1.getPages());
pageres.setTotal(list1.getTotal());
pageres.setCurrent(list1.getCurrent());
pageres.setSize(list1.getSize());
return Result.success("200",pageres);
}
/**
*
* @param current
* @param pageSize
* @param id
* @return
* @author zj
* date 2021-07-15
**/
@GetMapping("/queryStandInfo")
@ApiOperation("查询标准信息")
public ResponseMessage queryStandInfo(@RequestParam(defaultValue = "1", value = "current")int current, @RequestParam(defaultValue = "10", value = "PageSize") int pageSize,
String id){
List<SarStandProjectLibrary> list = sarStandProjectLibraryService.queryStandId(id);
List<String> list1 = new ArrayList();
for(SarStandProjectLibrary s:list){
list1.add(s.getStandId());
}
System.out.println(list1);
IPage<StandAttrInfoDto> list2 = sarStandProjectLibraryService.queryStandInfo(current,pageSize,id);
return Result.success("200",list2);
}
/**
*
* @param id
* @return
* @author zj
* date 2021-07-15
**/
@PostMapping("/deleteByIds")
@ApiOperation("批量删除标准")
public ResponseMessage deleteByIds(String id){
String[] ids = id.split(",");
List<String> list = Arrays.asList(ids);
sarStandProjectLibraryService.deleteByIds(list);
return Result.success("200","删除成功");
}
/**
*
* @param list
* @return
* @author zj
* date 2021-07-15
**/
@PostMapping("/batchInsert")
@ApiOperation("调取标准")
public ResponseMessage batchInsert(@RequestBody List<StandProjectRelationDto> list){
sarStandProjectLibraryService.batchInsert(list);
return Result.success("200","新增成功",list);
}
/**
*
* @param standAttrInfoExcelDto
* @param response
* @return
* @author zj
* date 2021-07-16
**/
@ApiOperation("导出Excel表")
@GetMapping(value = "/exportStandAttrInfoExcel")
public void exportStandAttrInfoExcel(StandAttrInfoExcelDto standAttrInfoExcelDto, HttpServletResponse response) throws Exception {
try {
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
// 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
if(standAttrInfoExcelDto.getExportName()==null){
standAttrInfoExcelDto.setExportName("车型项目详情");
}
String fileName = URLEncoder.encode(standAttrInfoExcelDto.getExportName(), "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
List<StandAttrInfoDto> data= sarStandProjectLibraryService.exportStandAttrInfoExcel(standAttrInfoExcelDto);
// 这里需要设置不关闭流
EasyExcel.write(response.getOutputStream(), StandAttrInfoDto.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,6 +1,7 @@
package com.adc.da.slrs.sarStandProjectLibrary.dao;
import com.adc.da.slrs.sarStandProjectLibrary.entity.SarStandProjectLibrary;
import com.adc.da.slrs.sarStandProjectLibrary.entity.StandProjectRelationDto;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
@@ -16,6 +17,7 @@ import java.util.List;
* @since 2021-06-15
*/
public interface SarStandProjectLibraryDao extends BaseMapper<SarStandProjectLibrary> {
List<SarStandProjectLibrary> queryProjectManagerPage(@Param("current") int current, @Param("pageSize") int pageSize);
// List<SarStandProjectLibrary> queryProjectManagerPage(@Param("current") int current, @Param("pageSize") int pageSize);
void deleteByIds(@Param("ids") List<String> ids);
void batchInsert(@Param("list") List<StandProjectRelationDto> list);
}
@@ -68,8 +68,38 @@ public class SarStandProjectLibrary extends BaseEntity {
private String projectManager;
@ApiModelProperty(value = "项目经理名称")
@TableField(exist = false)
private String uName;
//标准编号
@TableField(exist = false)
private String standId;
//中文名称
@TableField(exist = false)
private String standName;
//英文名称
@TableField(exist = false)
private String standEnName;
//标准实施日期
@TableField(exist = false)
private String ssrq;
//新车型实施日期
@TableField(exist = false)
private String XCXSSRQGJ;
//在产车实施日期
@TableField(exist = false)
private String ZCCSSRQGJ;
//责任部门
@TableField(exist = false)
private String ZRBM;
//关联模块-VPPS
@TableField(exist = false)
private String CYCVPPSBM;
//关联模块-中文名称
@TableField(exist = false)
private String CYCVPPSCN;
}
@@ -0,0 +1,56 @@
package com.adc.da.slrs.sarStandProjectLibrary.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* //TODO 添加类/接口功能描述
*
* @author zhangjin
* @date 2021-07-13
*/
@Data
@HeadRowHeight(35)
@ColumnWidth(30)
public class StandAttrInfoDto {
//标准编号
@ExcelProperty("标准编号")
private String standId;
//中文名称
@ExcelProperty("中文名称")
private String standName;
//英文名称
@ExcelProperty("英文名称")
private String standEnName;
//标准实施日期
@ExcelProperty("标准实施日期")
private String SSRQ;
//新车型实施日期
@ExcelProperty("新车型实施日期")
private String XCXSSRQGJ;
//在产车实施日期
@ExcelProperty("在产车实施日期")
private String ZCCSSRQGJ;
//责任部门
@ExcelProperty("责任部门")
private String ZRBM;
//关联模块--卡车VPPS编码
@ExcelProperty("关联模块--卡车VPPS编码")
private String KCCVPPSBM;
//关联模块--卡车vpps中文名称
@ExcelProperty("关联模块--卡车vpps中文名称")
private String KCCVPPSCN;
//关联模块--乘用车VPPS编码
@ExcelProperty("关联模块--乘用车VPPS编码")
private String CYCVPPSBM;
//关联模块--乘用车vpps中文名称
@ExcelProperty("关联模块--乘用车vpps中文名称")
private String CYCVPPSCN;
}
@@ -0,0 +1,20 @@
package com.adc.da.slrs.sarStandProjectLibrary.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* //TODO 添加类/接口功能描述
*
* @author zhangjin
* @date 2021-07-15
*/
@Data
public class StandAttrInfoExcelDto {
String exportName;
List<String> ids;
}
@@ -0,0 +1,18 @@
package com.adc.da.slrs.sarStandProjectLibrary.entity;
import lombok.Data;
/**
* //TODO 添加类/接口功能描述
*
* @author zhangjin
* @date 2021-07-13
*/
@Data
public class StandProjectRelationDto {
private String projectId;
private String standId;
}
@@ -11,5 +11,7 @@ public class productLineDto {
private String productLine;
private String projectManager;
private List<SarStandProjectLibrary> sarStandProjectLibraries;
}
@@ -1,9 +1,8 @@
package com.adc.da.slrs.sarStandProjectLibrary.service;
import com.adc.da.slrs.sarStandProjectLibrary.entity.SarStandProjectLibrary;
import com.adc.da.slrs.sarStandProjectLibrary.entity.SarStandProjectLibraryDto;
import com.adc.da.slrs.sarStandProjectLibrary.entity.productLineDto;
import com.adc.da.slrs.sarStandProjectLibrary.entity.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -13,4 +12,10 @@ public interface SarStandProjectLibraryService {
List<SarStandProjectLibrary> queryById(String id);
IPage<SarStandProjectLibrary> queryProjectManager(int current, int pageSize);
List<SarStandProjectLibrary> queryByProductLine(String productLine);
List<SarStandProjectLibrary> queryStandId(String standId);
IPage<StandAttrInfoDto> queryStandInfo(int current, int pageSize, String standId);
void deleteByIds(List<String> ids);
void batchInsert(@Param("ids") List<StandProjectRelationDto> list);
List<StandAttrInfoDto> exportStandAttrInfoExcel(StandAttrInfoExcelDto standAttrInfoExcelDto);
}
@@ -1,11 +1,13 @@
package com.adc.da.slrs.sarStandProjectLibrary.service.impl;
import com.adc.da.slrs.sarStandIssueControlProduct.entity.SarStandIssueControlProduct;
import com.adc.da.slrs.sarStandProjectLibrary.entity.SarStandProjectLibrary;
import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao;
import com.adc.da.slrs.sarStandAttrInfo.entity.SarStandAttrInfo;
import com.adc.da.slrs.sarStandProjectLibrary.entity.*;
import com.adc.da.slrs.sarStandProjectLibrary.dao.SarStandProjectLibraryDao;
import com.adc.da.slrs.sarStandProjectLibrary.entity.SarStandProjectLibraryDto;
import com.adc.da.slrs.sarStandProjectLibrary.entity.productLineDto;
import com.adc.da.slrs.sarStandProjectLibrary.service.SarStandProjectLibraryService;
import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao;
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -16,6 +18,8 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
@@ -31,6 +35,10 @@ public class SarStandProjectLibraryServiceImpl extends ServiceImpl<SarStandProje
@Resource
private SarStandProjectLibraryDao sarStandProjectLibraryDao;
@Resource
private SarStandardsInfoDao SarStandardsInfoDao;
@Resource
private SarStandAttrInfoDao sarStandAttrInfoDao;
@Override
@@ -128,11 +136,13 @@ public class SarStandProjectLibraryServiceImpl extends ServiceImpl<SarStandProje
@Override
public IPage<SarStandProjectLibrary> queryProjectManager(int current, int pageSize) {
QueryWrapper<SarStandProjectLibrary> wrapper = new QueryWrapper<>();
wrapper.groupBy("product_line");
IPage<SarStandProjectLibrary> list = sarStandProjectLibraryDao.selectPage(new Page<>(current,pageSize),wrapper);
List<SarStandProjectLibrary> libraryIPage=sarStandProjectLibraryDao.queryProjectManagerPage((current-1)*pageSize,current*pageSize);
list.setRecords(libraryIPage);
return list;
wrapper.select("distinct product_line","project_manager as projectManager","uName");
wrapper.last("inner join ts_user t on sar_stand_project_library.project_manager=t.usid");
Page<SarStandProjectLibrary> page = new Page<>(current, pageSize);
IPage<SarStandProjectLibrary> userIPage = sarStandProjectLibraryDao.selectPage(page, wrapper);
System.out.println("总条数"+userIPage.getTotal());
System.out.println("总页数"+userIPage.getPages());
return userIPage;
}
@Override
@@ -143,6 +153,140 @@ public class SarStandProjectLibraryServiceImpl extends ServiceImpl<SarStandProje
return list;
}
@Override
public List<SarStandProjectLibrary> queryStandId(String standId) {
QueryWrapper<SarStandProjectLibrary> wrapper = new QueryWrapper<>();
wrapper.select("stand_id");
wrapper.last("INNER JOIN sar_stand_project_relation r ON sar_stand_project_library.id = r.project_id");
List<SarStandProjectLibrary> list = sarStandProjectLibraryDao.selectList(wrapper);
return list;
}
@Override
public IPage<StandAttrInfoDto> queryStandInfo(int current, int pageSize, String standId) {
QueryWrapper<SarStandardsInfo> wrapper1 = new QueryWrapper<>();
wrapper1.select("ID","STAND_NAME","STAND_EN_NAME");
wrapper1.last("INNER JOIN sar_stand_project_relation r ON r.stand_id = sar_standards_info.ID WHERE r.project_id ='"+ standId+"'");
Page<SarStandardsInfo> page1 = new Page<>(current, pageSize);
IPage<SarStandardsInfo> userIPage1 = SarStandardsInfoDao.selectPage(page1, wrapper1);
System.out.println("总条数"+userIPage1.getTotal());
System.out.println("总页数"+userIPage1.getPages());
QueryWrapper<SarStandAttrInfo> wrapper2 = new QueryWrapper<>();
wrapper2.select("r.STAND_ID","SSRQ","XCXSSRQGJ","ZCCSSRQGJ","ZRBM","KCCVPPSBM","KCCVPPSCN","CYCVPPSBM","CYCVPPSCN");
wrapper2.last("INNER JOIN sar_stand_project_relation r ON r.stand_id = sar_stand_attr_info.STAND_ID WHERE r.project_id ='"+ standId+"'");
Page<SarStandAttrInfo> page2 = new Page<>(current, pageSize);
IPage<SarStandAttrInfo> userIPage2 = sarStandAttrInfoDao.selectPage(page2, wrapper2);
System.out.println("总条数"+userIPage2.getTotal());
System.out.println("总页数"+userIPage2.getPages());
List<StandAttrInfoDto> list = new ArrayList<>();
List<SarStandardsInfo> list1 = userIPage1.getRecords();
List<SarStandAttrInfo> list2 = userIPage2.getRecords();
for(SarStandardsInfo s:list1){
StandAttrInfoDto p =new StandAttrInfoDto();
p.setStandId(s.getId());
p.setStandName(s.getStandName());
p.setStandEnName(s.getStandEnName());
for (SarStandAttrInfo a:list2){
if(s.getId().equals(a.getStandId())){
p.setCYCVPPSBM(a.getCycvppsbm());
p.setCYCVPPSCN(a.getCycvppscn());
p.setSSRQ(a.getSsrq());
p.setXCXSSRQGJ(a.getXcxssrqgj());
p.setZCCSSRQGJ(a.getZccssrqgj());
p.setKCCVPPSBM(a.getKccvppsbm());
p.setKCCVPPSCN(a.getKccvppscn());
p.setZRBM(a.getZrbm());
}
}
list.add(p);
System.out.println(list);
}
IPage<StandAttrInfoDto> userIPage = new Page<>();
userIPage.setRecords(list);
userIPage.setTotal(userIPage1.getTotal());
System.out.println("总条数"+userIPage.getTotal());
System.out.println("总页数"+userIPage.getPages());
return userIPage;
}
@Override
public void deleteByIds(List<String> ids) {
sarStandProjectLibraryDao.deleteByIds(ids);
}
@Override
public void batchInsert(List<StandProjectRelationDto> list) {
sarStandProjectLibraryDao.batchInsert(list);
}
@Override
public List<StandAttrInfoDto> exportStandAttrInfoExcel(StandAttrInfoExcelDto standAttrInfoExcelDto) {
List<String> ids = standAttrInfoExcelDto.getIds();
List<StandAttrInfoDto> list = new ArrayList<>();
if (ids==null||ids.size()==0){
QueryWrapper<SarStandardsInfo> wrapper1 = new QueryWrapper<>();
wrapper1.select("ID","STAND_NAME","STAND_EN_NAME");
wrapper1.last("INNER JOIN sar_stand_project_relation r ON r.stand_id = sar_standards_info.ID");
List<SarStandardsInfo> userList1 = SarStandardsInfoDao.selectList(wrapper1);
QueryWrapper<SarStandAttrInfo> wrapper2 = new QueryWrapper<>();
wrapper2.select("r.STAND_ID","SSRQ","XCXSSRQGJ","ZCCSSRQGJ","ZRBM","KCCVPPSBM","KCCVPPSCN","CYCVPPSBM","CYCVPPSCN");
wrapper2.last("INNER JOIN sar_stand_project_relation r ON r.stand_id = sar_stand_attr_info.STAND_ID");
List<SarStandAttrInfo> userList2 = sarStandAttrInfoDao.selectList(wrapper2);
for(SarStandardsInfo s:userList1){
StandAttrInfoDto p =new StandAttrInfoDto();
p.setStandId(s.getId());
p.setStandName(s.getStandName());
p.setStandEnName(s.getStandEnName());
for (SarStandAttrInfo a:userList2){
if(s.getId().equals(a.getStandId())){
p.setCYCVPPSBM(a.getCycvppsbm());
p.setCYCVPPSCN(a.getCycvppscn());
p.setSSRQ(a.getSsrq());
p.setXCXSSRQGJ(a.getXcxssrqgj());
p.setZCCSSRQGJ(a.getZccssrqgj());
p.setKCCVPPSBM(a.getKccvppsbm());
p.setKCCVPPSCN(a.getKccvppscn());
p.setZRBM(a.getZrbm());
}
}
list.add(p);
}
}else {
String idmis=String.join(",",ids);
System.out.println(idmis);
QueryWrapper<SarStandardsInfo> wrapper1 = new QueryWrapper<>();
wrapper1.select("ID","STAND_NAME","STAND_EN_NAME");
wrapper1.last("INNER JOIN sar_stand_project_relation r ON r.stand_id = sar_standards_info.ID WHERE r.stand_id in ("+ idmis +")");
List<SarStandardsInfo> userList1 = SarStandardsInfoDao.selectList(wrapper1);
QueryWrapper<SarStandAttrInfo> wrapper2 = new QueryWrapper<>();
wrapper2.select("r.STAND_ID","SSRQ","XCXSSRQGJ","ZCCSSRQGJ","ZRBM","KCCVPPSBM","KCCVPPSCN","CYCVPPSBM","CYCVPPSCN");
wrapper2.last("INNER JOIN sar_stand_project_relation r ON r.stand_id = sar_stand_attr_info.STAND_ID WHERE r.stand_id in ("+ idmis +")");
List<SarStandAttrInfo> userList2 = sarStandAttrInfoDao.selectList(wrapper2);
for(SarStandardsInfo s:userList1){
StandAttrInfoDto p =new StandAttrInfoDto();
p.setStandId(s.getId());
p.setStandName(s.getStandName());
p.setStandEnName(s.getStandEnName());
for (SarStandAttrInfo a:userList2){
if(s.getId().equals(a.getStandId())){
p.setCYCVPPSBM(a.getCycvppsbm());
p.setCYCVPPSCN(a.getCycvppscn());
p.setSSRQ(a.getSsrq());
p.setXCXSSRQGJ(a.getXcxssrqgj());
p.setZCCSSRQGJ(a.getZccssrqgj());
p.setKCCVPPSBM(a.getKccvppsbm());
p.setKCCVPPSCN(a.getKccvppscn());
p.setZRBM(a.getZrbm());
}
}
list.add(p);
}
}
return list;
}
private IPage<SarStandProjectLibrary> getSarStandProjectLibraryIPage(int current, int pageSize, QueryWrapper<SarStandProjectLibrary> wrapper) {
Page<SarStandProjectLibrary> page = new Page<>(current, pageSize);
IPage<SarStandProjectLibrary> userIPage = sarStandProjectLibraryDao.selectPage(page, wrapper);
@@ -34,7 +34,9 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@@ -55,6 +57,18 @@ public class SarStandUnqualifiedController extends BaseController<SarStandUnqual
@Autowired
private ISarStandUnqualifiedService sarStandUnqualifiedService;
@ApiOperation("未符合项整改新增")
@PostMapping("/add")
public ResponseMessage<Object> add(@RequestBody List<SarStandUnqualified> sarStandUnqualified){
sarStandUnqualified.forEach(sarStandUnqualified1 -> sarStandUnqualified1.setCreateTime(new Date()));
if (sarStandUnqualifiedService.saveBatch(sarStandUnqualified)) {
return Result.success("新增成功");
}
else{
return Result.error("新增失败");
}
}
/**
* 分页查询未符合项
* @param sarStandUnqualifiedPage:筛选、分页信息
@@ -1,7 +1,12 @@
package com.adc.da.slrs.sarStandUnqualified.dao;
import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualified;
import com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualifiedPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
@@ -11,6 +16,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @author super_liu
* @since 2021-06-15
*/
@Mapper
public interface SarStandUnqualifiedDao extends BaseMapper<SarStandUnqualified> {
IPage<SarStandUnqualified> getAllDatasByPage(Page page,@Param("sar") SarStandUnqualifiedPage sarStandUnqualified);
}
@@ -3,11 +3,13 @@ package com.adc.da.slrs.sarStandUnqualified.entity;
import com.adc.da.base.entity.BaseEntity;
import java.sql.Timestamp;
import java.util.Date;
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.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
@@ -84,7 +86,7 @@ public class SarStandUnqualified extends BaseEntity {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField("CREATE_TIME")
private Timestamp createTime;
private Date createTime;
@ExcelIgnore
@ApiModelProperty(value = "关闭状态(1为开启,2为关闭)")
@@ -96,14 +98,14 @@ public class SarStandUnqualified extends BaseEntity {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField("ACTUAL_CLOSE_TIME")
private Timestamp actualCloseTime;
private Date actualCloseTime;
@ExcelProperty(value = "计划关闭时间",converter = TimestampConverter.class)
@ApiModelProperty(value = "计划关闭时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField("PLAN_CLOSE_TIME")
private Timestamp planCloseTime;
private Date planCloseTime;
@ApiModelProperty(value = "未符合原因")
@TableField("REASON")
@@ -133,8 +135,21 @@ public class SarStandUnqualified extends BaseEntity {
@ExcelIgnore
@ApiModelProperty(value = "主键")
@TableId("ID")
@TableId(type = IdType.UUID)
private String id;
@ApiModelProperty(value = "质量工程师")
@TableField(exist=false)
private String qaEngineerName;
@ApiModelProperty(value = "认证工程师")
@TableField(exist=false)
private String authEngineerName;
@ApiModelProperty(value = "责任工程师")
@TableField(exist=false)
private String dutyEngineerName;
}
@@ -46,4 +46,5 @@ public interface ISarStandUnqualifiedService extends IService<SarStandUnqualifie
* @return List<SarStandUnqualified>
*/
List<SarStandUnqualified> getStandUnqualifiedExcelData(StandUnqualifiedExcelVO standUnqualifiedExcelVO);
}
@@ -10,10 +10,11 @@ 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.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.stereotype.Service;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.util.ArrayList;
@@ -42,20 +43,23 @@ public class SarStandUnqualifiedServiceImpl extends ServiceImpl<SarStandUnqualif
public IPage<SarStandUnqualified> getSarStandUnqualifiedPage(SarStandUnqualifiedPage sarStandUnqualifiedPage) {
QueryWrapper<SarStandUnqualified> sarStandUnqualifiedQueryWrapper=new QueryWrapper<>();
if(sarStandUnqualifiedPage.getStandId()!=null){
sarStandUnqualifiedQueryWrapper.and(wrapper->wrapper.eq("stand_id",sarStandUnqualifiedPage.getStandId()).or().like("stand_name","%"+sarStandUnqualifiedPage.getStandId()+"%"));
sarStandUnqualifiedQueryWrapper
.like("stand_id",sarStandUnqualifiedPage.getStandId())
.like("stand_name",sarStandUnqualifiedPage.getStandId());
// sarStandUnqualifiedQueryWrapper.eq("stand_id",sarStandUnqualifiedPage.getStandId()).or().like("stand_name","%"+sarStandUnqualifiedPage.getStandId()+"%");
}
//仅查询未关闭的
sarStandUnqualifiedQueryWrapper.eq("close_state",1);
if(sarStandUnqualifiedPage.getProductName()!=null){
sarStandUnqualifiedQueryWrapper.like("product_name","%"+sarStandUnqualifiedPage.getProductName()+"%");
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){
if(sarStandUnqualifiedPage.getCurrent()!=null
&& sarStandUnqualifiedPage.getSize()!=null){
standUnqualifiedPage=new Page<>(sarStandUnqualifiedPage.getCurrent(),sarStandUnqualifiedPage.getSize());
}
return sarStandUnqualifiedDao.selectPage(standUnqualifiedPage,sarStandUnqualifiedQueryWrapper);
@@ -70,14 +74,14 @@ public class SarStandUnqualifiedServiceImpl extends ServiceImpl<SarStandUnqualif
public IPage<SarStandUnqualified> getSarStandUnqualifiedHistoryPage(SarStandUnqualifiedPage sarStandUnqualifiedPage) {
QueryWrapper<SarStandUnqualified> sarStandUnqualifiedQueryWrapper=new QueryWrapper<>();
if(sarStandUnqualifiedPage.getStandId()!=null){
sarStandUnqualifiedQueryWrapper.and(wrapper->wrapper.eq("stand_id",sarStandUnqualifiedPage.getStandId()).or().like("stand_name","%"+sarStandUnqualifiedPage.getStandId()+"%"));
sarStandUnqualifiedQueryWrapper.and(wrapper->wrapper.eq("stand_id",sarStandUnqualifiedPage.getStandId()).or().like("stand_name",sarStandUnqualifiedPage.getStandId()));
// sarStandUnqualifiedQueryWrapper.eq("stand_id",sarStandUnqualifiedPage.getStandId()).or().like("stand_name","%"+sarStandUnqualifiedPage.getStandId()+"%");
}
//仅查询关闭的
sarStandUnqualifiedQueryWrapper.eq("close_state",2);
if(sarStandUnqualifiedPage.getProductName()!=null){
sarStandUnqualifiedQueryWrapper.like("product_name","%"+sarStandUnqualifiedPage.getProductName()+"%");
sarStandUnqualifiedQueryWrapper.like("product_name",sarStandUnqualifiedPage.getProductName());
}
if(sarStandUnqualifiedPage.getResponsibleUnit()!=null){
sarStandUnqualifiedQueryWrapper.eq("responsible_unit",sarStandUnqualifiedPage.getResponsibleUnit());
@@ -1,6 +1,7 @@
package com.adc.da.slrs.sarStandardComplianceAssessResult.controller;
import cn.hutool.core.map.MapUtil;
import com.adc.da.base.web.BaseController;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
@@ -11,17 +12,21 @@ import com.adc.da.slrs.sarStandardComplianceAssessResult.service.ISarInterpretat
import com.adc.da.slrs.sarStandardComplianceAssessResult.service.ISarStandardComplianceProductAssessService;
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo;
import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService;
import com.adc.da.util.UUIDUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import oracle.ucp.proxy.annotation.Post;
import org.apache.commons.beanutils.BeanUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.lang.reflect.InvocationTargetException;
import java.util.*;
/**
* <p>
@@ -98,6 +103,55 @@ public class SarStandardComplianceAssessResultController {
}
}
}
private static class InsertEntity<T>{
List<Map> entityList;
T eo;
}
@ApiOperation(value="(插入/更新)标准清单")
@PostMapping("/standard")
public ResponseMessage insertStandard(@RequestBody InsertEntity<SarStandardsInfoEO> insertEntity) throws InvocationTargetException, IllegalAccessException {
SarStandardsInfoEO eo = insertEntity.eo;
if (eo.getStandApplicationType() == 1) {
List<SarStandardComplianceProductAssess> entityList = new ArrayList<>();
for (int i = 0; i < insertEntity.entityList.size(); i++) {
SarStandardComplianceProductAssess obj=new SarStandardComplianceProductAssess();
BeanUtils.populate(obj, insertEntity.entityList.get(i));
entityList.add(obj);
}
iSarStandardComplianceProductAssessService.saveOrUpdateBatch(entityList);
}else {
if(eo.getPosition()==1){
List<SarInterpretationNationalStandard> entityList = new ArrayList<>();
for (int i = 0; i < insertEntity.entityList.size(); i++) {
SarInterpretationNationalStandard obj=new SarInterpretationNationalStandard();
BeanUtils.populate(obj, insertEntity.entityList.get(i));
entityList.add(obj);
}
iSarInterpretationNationalStandardService.saveOrUpdateBatch(entityList);
}else{
List<SarInterpretationForeignStandard> entityList = new ArrayList<>();
for (int i = 0; i < insertEntity.entityList.size(); i++) {
SarInterpretationForeignStandard obj=new SarInterpretationForeignStandard();
BeanUtils.populate(obj, insertEntity.entityList.get(i));
entityList.add(obj);
}
iSarInterpretationForeignStandardService.saveOrUpdateBatch(entityList);
}
}
return Result.success();
}
@ApiOperation(value = "条件查询标准涉及项目符合性清单")
@GetMapping("/product")
public ResponseMessage<IPage<SarStandardComplianceProductAssess>> selectProduct(SarStandardComplianceProductAssessEO eo) throws Exception {
@@ -109,11 +163,26 @@ public class SarStandardComplianceAssessResultController {
IPage<SarStandardComplianceProductAssess> page = iSarStandardComplianceProductAssessService.page(iPage, queryWrapper);
while(page.getRecords().remove(null));
// while(page.getRecords().remove(null));
return Result.success(page);
}
@ApiOperation(value = "插入标准涉及项目符合性清单")
@PostMapping("/add")
public ResponseMessage insertProduct(@RequestBody List<SarStandardComplianceProductAssess> eo) throws Exception {
eo.forEach(sarStandardComplianceProductAssess -> {
sarStandardComplianceProductAssess.setId(UUIDUtils.randomUUID(32));
sarStandardComplianceProductAssess.setInterpretationTime(new Date());
});
iSarStandardComplianceProductAssessService.saveBatch(eo);
return Result.success();
}
@ApiOperation(value = "条件查询技术审核符合性清单")
@GetMapping("/interpretation")
public ResponseMessage<Object> selectNationalStandard(InterpretationEO eo) throws Exception {
@@ -137,4 +206,37 @@ public class SarStandardComplianceAssessResultController {
return Result.success(page);
}
}
@ApiOperation(value = "插入技术审核符合性清单")
@PostMapping("/interpretation")
public ResponseMessage insertInterpretation(InsertEntity<InterpretationEO> insertEntity) throws Exception {
InterpretationEO eo = insertEntity.eo;
if (eo.getPosition()==1) {
List<SarInterpretationNationalStandard> entityList = new ArrayList<>();
for (int i = 0; i < insertEntity.entityList.size(); i++) {
SarInterpretationNationalStandard obj=new SarInterpretationNationalStandard();
BeanUtils.populate(obj, insertEntity.entityList.get(i));
entityList.add(obj);
}
iSarInterpretationNationalStandardService.saveOrUpdateBatch(entityList);
} else {
List<SarInterpretationForeignStandard> entityList = new ArrayList<>();
for (int i = 0; i < insertEntity.entityList.size(); i++) {
SarInterpretationForeignStandard obj=new SarInterpretationForeignStandard();
BeanUtils.populate(obj, insertEntity.entityList.get(i));
entityList.add(obj);
}
iSarInterpretationForeignStandardService.saveOrUpdateBatch(entityList);
}
return Result.success();
}
}
@@ -15,7 +15,7 @@ import org.springframework.format.annotation.DateTimeFormat;
/**
* <p>
*
*
* </p>
*
* @author zyl
@@ -33,6 +33,7 @@ public class SarStandardComplianceProductAssess extends BaseEntity {
private String productLineId;
@ApiModelProperty(value = "'项目id'")
@TableField("product_id")
private String productId;
@ApiModelProperty(value = "'项目名称'")
@@ -109,4 +110,6 @@ public class SarStandardComplianceProductAssess extends BaseEntity {
private Date interpretationTime;
private String id;
}
@@ -151,6 +151,7 @@ public class SarStandardsInfoController extends BaseController<SarStandardsInfo>
page.setAdvanceSearchStr(null);
}
}
page.setUserId(LoginUserUtil.getUserId());
List<SarStandardsInfo> rows = sarStandardsInfoEOService.getSarStandardsInfoPage(page);
return Result.success(getPageInfo(page.getPager(), rows));
}
@@ -65,8 +65,12 @@ public class TsUrlController{
@ApiOperation(value="第三方链接-添加", notes="第三方链接-添加")
@PostMapping(value = "/add")
public ResponseMessage<?> add(@RequestBody TsUrl tsUrl) {
int orderBy=tsUrlService.getMaxOrderBy();
tsUrl.setOrderBy(orderBy+1);
String orderBy=tsUrlService.getMaxOrderBy();
if (null!=orderBy) {
tsUrl.setOrderBy(Integer.valueOf(orderBy) + 1);
}else {
tsUrl.setOrderBy(1);
}
tsUrlService.save(tsUrl);
return Result.success();
}
@@ -18,5 +18,5 @@ public interface TsUrlDao extends BaseMapper<TsUrl> {
* @return int
*/
@Select("select max(order_by) from ts_url")
int getMaxOrderBy();
String getMaxOrderBy();
}
@@ -20,7 +20,7 @@ public interface ITsUrlService extends IService<TsUrl> {
* 获取最大排序号
* @return int
*/
int getMaxOrderBy();
String getMaxOrderBy();
/**
* 排序
@@ -31,7 +31,7 @@ public class TsUrlServiceImpl extends ServiceImpl<TsUrlDao, TsUrl> implements IT
* @return int
*/
@Override
public int getMaxOrderBy() {
public String getMaxOrderBy() {
return tsUrlDao.getMaxOrderBy();
}
@@ -3,6 +3,7 @@ package com.adc.da.slrs.standardSplit.controller;
import com.adc.da.att.service.IAttFileEOService;
import com.adc.da.base.web.BaseController;
import com.adc.da.http.PageInfo;
import com.adc.da.slrs.standardSplit.entity.SarFileSplitItemsEO;
import com.adc.da.slrs.standardSplit.entity.SarStandFileEO;
import com.adc.da.slrs.standardSplit.entity.SarStandFileEOPage;
import com.adc.da.slrs.standardSplit.service.SarStandAttrDetailsEOService;
@@ -118,6 +119,9 @@ public class SarStandFileEOController extends BaseController<SarStandFileEO> {
page.setFileSuffixList(suffix.split(","));
}
List<SarStandFileEO> rows = sarStandFileEOService.getStandFileListByPage(page);
for (SarStandFileEO one:rows) {
one.setAttId(one.getAttId1());
}
if (rows != null && !rows.isEmpty()) {
for (SarStandFileEO sarStandFileEO : rows) {
List<SelectionResult> getField = sarStandAttrDetailsEOService.selectFileFieldForSel(sarStandFileEO.getStandFileClassify());
@@ -21,6 +21,16 @@ public class SarStandFileEO extends BaseEntity {
private String validFlag;
private String useModel;
private String attId;
public String getAttId1() {
return attId1;
}
public void setAttId1(String attId1) {
this.attId1 = attId1;
}
private String attId1;
private String resId;
private String standId;
private String id;
@@ -37,9 +37,9 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.adc.da.person.dao.PersonShareEODao;
import com.adc.da.person.dao.PersonCollectEODao;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
@Service
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService {
private static final Logger logger = LoggerFactory.getLogger(SarFileSplitInfoEOServiceImpl.class);
@@ -104,6 +104,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
}
@Override
@Transactional
public int fileAplit(SarFileSplitInfoEO sarFileSplitInfoEO){
// 拆分文件主表中插入数据
sarFileSplitInfoEO.setId(UUIDUtils.randomUUID20());
@@ -135,7 +136,8 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
}
try {
AttFileEO attFileEO = attFileEOService.getFileInfo(sarFileSplitInfoEO.getAttId());
String readFilePath = filePath + "/" + attFileEO.getFilePath() + attFileEO.getFileName();
//String readFilePath = filePath + "/" + attFileEO.getFilePath() + attFileEO.getFileName();
String readFilePath = filePath + attFileEO.getFilePath() + attFileEO.getFileName();
InputStream is = new FileInputStream(readFilePath); //需要将文件路更改为word文档所在路径。
XWPFDocument doc = new XWPFDocument(is);
@@ -317,6 +319,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
} catch (Exception e) {
e.printStackTrace();
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return -1;
}
if(treeList.size()>0 && messageList.size() > 0){
@@ -643,7 +643,7 @@
<select id="selectAllItemsByIds" resultType="com.adc.da.slrs.sarStandItems.entity.SarStandItemsDto">
select ID,STAND_ID,ITEMS_NUM,ITEMS_NAME,RESPONSIBLE_UNIT,SVPPS,APPLY_ARCTIC,CLAIM_TYPE,BUS_STAND_COVER
select ID,STAND_ID,ITEMS_NUM,ITEMS_NAME,RESPONSIBLE_UNIT,SVPPS,APPLY_ARCTIC,CLAIM_TYPE,BUS_STAND_COVER,DUTY_ENGINEER as responsibleEngineer
from SAR_STAND_ITEMS
where FILE_TYPE=#{type}
@@ -654,6 +654,35 @@
</foreach>
</if>
</select>
<select id="selectStandTime" resultType="com.adc.da.slrs.sarStandItems.entity.StandsTimeDto">
select STAND_ID,XCXSSRQ,ZCCSSRQ
from sar_stand_attr_info
where STAND_ID=#{standId,jdbcType=VARCHAR}
</select>
<select id="selectStandTimeAll" resultType="com.adc.da.slrs.sarStandItems.entity.StandsTimeDto">
select STAND_ID,XCXSSRQ,ZCCSSRQ
from sar_stand_attr_info
</select>
<select resultType="java.lang.String" id="selectStandId">
SELECT
a.STAND_ID
FROM
sar_stand_items a
LEFT JOIN sar_standards_info b
on a.STAND_ID=b.ID
WHERE b.VALID_FLAG = 0
and a.FILE_TYPE ='FBGBJBD'
GROUP BY
a.STAND_ID
limit #{page},#{size}
</select>
<select id="selectToken" resultType="java.lang.Integer">
SELECT
count(DISTINCT a.STAND_ID )
FROM
sar_stand_items a LEFT JOIN sar_standards_info b
on a.STAND_ID=b.ID
WHERE b.VALID_FLAG = 0
</select>
</mapper>
@@ -2,24 +2,42 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.adc.da.slrs.sarLawsAttrDetailedList.dao.SarLawsAttrDetailedListDao">
<select id="selectLawsById" resultType="com.adc.da.slrs.sarLawsAttrDetailedList.entity.LittleLawsDto">
SELECT ID,STAND_NUMBER,STAND_NAME,STAND_EN_NAME,ISSUE_TIME,TEXT_STATUS
FROM sar_standards_info
<select id="selectLawsById" parameterType="com.adc.da.slrs.sarLawsAttrDetailedList.entity.SarFindDto" resultType="com.adc.da.slrs.sarLawsAttrDetailedList.entity.LawsDto">
SELECT a.ID,a.STAND_NUMBER,a.STAND_NAME,a.STAND_EN_NAME,b.NYLX,a.PUT_TIME,b.XCXSSRQGJ,b.ZCCSSRQGJ,b.ZRBM,b.SYCPX,b.CYCVPPSBM,b.CYCVPPSCN,b.KCCVPPSBM,b.KCCVPPSCN,
b.CLLX as typeApplicable,dicstandSort.DIC_TYPE_NAME as standSortShow ,a.STAND_YEAR as standYear
FROM sar_standards_info a LEFT JOIN sar_stand_attr_info b on
a.ID = b.STAND_ID left join TS_DICTYPE dicstandSort on (dicstandSort.dic_type_code = a.stand_sort and
dicstandSort.dic_id is not null and dicstandSort.valid_flag = 0 and dicstandSort.PARENT_ID is null)
<where>
<if test="standName != null">
(STAND_NUMBER LIKE concat ('%',#{standName,jdbcType=VARCHAR},'%')
or STAND_NAME LIKE concat ('%',#{standName,jdbcType=VARCHAR},'%'))
<if test="sarFindDto.standName != null">
(a.STAND_NUMBER LIKE concat ('%',#{sarFindDto.standName,jdbcType=VARCHAR},'%')
or a.STAND_NAME LIKE concat ('%',#{sarFindDto.standName,jdbcType=VARCHAR},'%'))
and
</if>
ID IN
<foreach collection="param1" index="index" item="item" open="(" separator="," close=")">
<if test="sarFindDto.standEnName != null">
a.STAND_EN_NAME LIKE concat ('%',#{sarFindDto.standEnName,jdbcType=VARCHAR},'%')
and
</if>
<if test="sarFindDto.typeApplicable != null">
b.CLLX LIKE concat ('%',#{sarFindDto.typeApplicable,jdbcType=VARCHAR},'%')
and
</if>
<if test="sarFindDto.NYLX != null">
b.NYLX LIKE concat ('%',#{sarFindDto.NYLX,jdbcType=VARCHAR},'%')
and
</if>
<if test="sarFindDto.ZRBM != null">
b.ZRBM LIKE concat ('%',#{sarFindDto.ZRBM,jdbcType=VARCHAR},'%')
and
</if>
<if test="sarFindDto.SYCPX != null">
b.SYCPX LIKE concat ('%',#{sarFindDto.SYCPX,jdbcType=VARCHAR},'%')
and
</if>
a.ID IN
<foreach collection="param1" item="item" open="(" separator="," close=")">
#{item}
</foreach>
order by field(ID,
<foreach collection="param1" index="index" item="item" separator=",">
#{item}
</foreach>
)
</where>
</select>
@@ -45,11 +63,44 @@
</where>
order by number
</select>
<select id="selectLawsByIdC" resultType="com.adc.da.slrs.sarLawsAttrDetailedList.entity.LawsDto">
SELECT a.ID,a.STAND_NUMBER,a.STAND_NAME,a.STAND_EN_NAME,b.NYLX,a.PUT_TIME,b.XCXSSRQGJ,b.ZCCSSRQGJ,b.ZRBM,b.SYCPX,b.CYCVPPSBM,b.CYCVPPSCN,b.KCCVPPSBM,b.KCCVPPSCN,b.CLLX as typeApplicable
FROM sar_standards_info a LEFT JOIN sar_stand_attr_info b on
a.ID = b.STAND_ID
<where>
<if test="standName != null">
(a.STAND_NUMBER LIKE concat ('%',#{standName,jdbcType=VARCHAR},'%')
or a.STAND_NAME LIKE concat ('%',#{standName,jdbcType=VARCHAR},'%'))
and
</if>
<if test="standType !=null">
a.STAND_TYPE = #{standType} and
</if>
a.ID IN
<foreach collection="param1" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</where>
</select>
<select id="selectTimes" resultType="com.adc.da.slrs.sarLawsAttrDetailedList.entity.StandRegionalTimeDto">
SELECT
b.country_area AS country,
a.putTime AS putTime,
a.xcxssrq AS xcxssrq,
a.zccssrq AS zccssrq
FROM
sar_laws_attr_detailed_list a
LEFT JOIN sar_laws_detailed_list b ON b.id = a.detailed_list_id
WHERE
b.sort_key = 1
AND a.stand_id = #{standId}
</select>
<insert id="insertList">
INSERT INTO sar_laws_attr_detailed_list ( id, number, detailed_list_id, stand_id ) VALUES
INSERT INTO sar_laws_attr_detailed_list ( id, number, detailed_list_id, stand_id ,putTime,xcxssrq,zccssrq) VALUES
<foreach collection ="sarLawsAttrDetailedLists" item="list" separator =",">
(#{list.id,jdbcType=VARCHAR}, #{list.number}, #{list.detailedListId,jdbcType=VARCHAR}, #{list.standId,jdbcType=VARCHAR})
(#{list.id,jdbcType=VARCHAR}, #{list.number}, #{list.detailedListId,jdbcType=VARCHAR}, #{list.standId,jdbcType=VARCHAR},#{list.putTime,jdbcType=VARCHAR},#{list.xcxssrq,jdbcType=VARCHAR},#{list.zccssrq,jdbcType=VARCHAR})
</foreach >
</insert>
@@ -1,14 +1,28 @@
<?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.sarStandProjectLibrary.dao.SarStandProjectLibraryDao">
<insert id="batchInsert">
insert into sar_stand_project_relation(project_id,stand_id) VALUES
<foreach collection="list" item="list" separator=",">
(#{list.projectId,jdbcType=VARCHAR},#{list.standId,jdbcType=VARCHAR})
</foreach>
</insert>
<select id="queryProjectManagerPage" resultType="com.adc.da.slrs.sarStandProjectLibrary.entity.SarStandProjectLibrary">
select s.product_line,t.UNAME as uName
select s.product_line,t.UNAME as uName ,s.project_manager as projectManager
from sar_stand_project_library s
INNER JOIN ts_user t
ON s.project_manager=t.USID
GROUP BY s.product_line
limit #{current},#{pageSize}
</select>
<delete id="deleteByIds">
delete from sar_stand_project_relation where stand_id in (
<foreach collection="ids" item="list" separator=",">
#{list}
</foreach>
)
</delete>
</mapper>
@@ -2,4 +2,31 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.adc.da.slrs.sarStandUnqualified.dao.SarStandUnqualifiedDao">
<select id="getAllDatasByPage" resultType="com.adc.da.slrs.sarStandUnqualified.entity.SarStandUnqualified">
SELECT
a.*,
b.UNAME AS qaEngineerName,
c.UNAME AS authEngineerName,
d.UNAME AS dutyEngineerName
FROM
sar_stand_unqualified a
LEFT JOIN ts_user b ON a.QA_ENGINEER = b.USID
LEFT JOIN ts_user c ON a.AUTH_ENGINEER = c.USID
LEFT JOIN ts_user d ON a.DUTY_ENGINEER = d.USID
WHERE
a.close_state = 1
<if test="sar.productName != null and sar.productName != '' ">
and a.product_name like concat(concat('%',#{sar.productName}),'%')
</if>
<if test="sar.standName != null and sar.standName != '' ">
and a.stand_name like concat(concat('%',#{sar.standName}),'%')
</if>
<if test="sar.productName != null and sar.productName != '' ">
and a.responsible_unit = #{responsibleUnit}
</if>
<if test="sar.standId != null and sar.standId != '' ">
and a.stand_id = #{standId}
</if>
</select>
</mapper>
@@ -263,6 +263,9 @@
<if test="standId != null and standId != ''">
and SAR_FILE_SPLIT_INFO.stand_id = #{standId}
</if>
<if test="sarType != null and sarType != ''">
and SAR_TYPE = #{sarType}
</if>
<if test="id != null and id != ''">
and SAR_FILE_SPLIT_INFO.id = #{id}
</if>
@@ -20,6 +20,7 @@
<result column="standNumber" property="standNumber" />
<result column="standName" property="standName" />
<result column="sarType" property="sarType" />
<result column="attId1" property="attId1" />
</resultMap>
<!-- SAR_STAND_FILE table all fields -->
@@ -278,7 +279,7 @@
CONCAT(SAR_STANDARDS_INFO.stand_sort,' ',SAR_STANDARDS_INFO.stand_number,'-',SAR_STANDARDS_INFO.stand_year)
) ) AS standNumber,
SAR_STANDARDS_INFO.stand_name as standName,
SAR_STAND_FILE.att_id AS attId,
SAR_STAND_FILE.att_id AS attId1,
SAR_STANDARDS_INFO.STAND_TYPE as sarType
FROM
SAR_STAND_FILE
@@ -5,9 +5,11 @@ import com.adc.da.sys.entity.DicTypeEO;
import com.adc.da.sys.page.DicTypeEOPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface DicTypeEODao extends BaseMapper<DicTypeEO> {
public DicTypeEO getDicTypeEOById(String id);