市场法规库清单添加发布接口
This commit is contained in:
+22
-2
@@ -11,7 +11,6 @@ import io.swagger.annotations.ApiOperation;
|
|||||||
import io.swagger.annotations.ApiParam;
|
import io.swagger.annotations.ApiParam;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.poi.ss.formula.functions.T;
|
|
||||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
@@ -19,7 +18,6 @@ import org.springframework.web.multipart.MultipartFile;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
@@ -82,6 +80,28 @@ public class MarketStandardDetailController {
|
|||||||
return lawsMarketStandardDetailService.add(marketStandardDetail);
|
return lawsMarketStandardDetailService.add(marketStandardDetail);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 复制
|
||||||
|
*
|
||||||
|
* @param map
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "外部标准库-市场法规清单-新增")
|
||||||
|
@ApiOperation(value = "外部标准库-市场法规清单-新增", notes = "外部标准库-市场法规清单-新增")
|
||||||
|
@ApiOperationSupport(order = 5)
|
||||||
|
@PostMapping(value = "/copy")
|
||||||
|
@RequiresPermissions("marketStandard:copy")
|
||||||
|
public Result<?> copy(@RequestBody Map<String, String> map) {
|
||||||
|
if (!map.containsKey("newId") || StringUtils.isEmpty(map.get("newId"))) {
|
||||||
|
return Result.error("请选择数据!");
|
||||||
|
}
|
||||||
|
if (!map.containsKey("oldId") || StringUtils.isEmpty(map.get("oldId"))) {
|
||||||
|
return Result.error("请选择数据!");
|
||||||
|
}
|
||||||
|
return lawsMarketStandardDetailService.copy(map.get("oldId"),map.get("newId"));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 编辑
|
* 编辑
|
||||||
*
|
*
|
||||||
|
|||||||
+15
@@ -53,6 +53,14 @@ public interface ILawsMarketStandardDetailService extends IService<LawsMarketSta
|
|||||||
*/
|
*/
|
||||||
Result<?> add(LawsMarketStandardDetail marketStandardDetail);
|
Result<?> add(LawsMarketStandardDetail marketStandardDetail);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 复制
|
||||||
|
* @param oldId 原始id
|
||||||
|
* @param newId 新id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Result<?> copy(String oldId,String newId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 编辑
|
* 编辑
|
||||||
* @param marketStandardDetail
|
* @param marketStandardDetail
|
||||||
@@ -73,4 +81,11 @@ public interface ILawsMarketStandardDetailService extends IService<LawsMarketSta
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Result<?> deleteBatchById(String ids);
|
Result<?> deleteBatchById(String ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量保存数据
|
||||||
|
* @param oldId
|
||||||
|
* @param newId
|
||||||
|
*/
|
||||||
|
void saveBatchData(String oldId,String newId);
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -76,4 +76,10 @@ public interface ILawsMarketStandardService extends IService<LawsMarketStandard>
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Result<?> publish(String id);
|
Result<?> publish(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改清单状态
|
||||||
|
* @param id 清单id
|
||||||
|
*/
|
||||||
|
void updateStatus(String id);
|
||||||
}
|
}
|
||||||
|
|||||||
+48
@@ -11,6 +11,7 @@ import com.jero.common.system.vo.LoginUser;
|
|||||||
import com.jero.common.util.ImportExcelUtil;
|
import com.jero.common.util.ImportExcelUtil;
|
||||||
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandard;
|
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandard;
|
||||||
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail;
|
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail;
|
||||||
|
import com.jero.modules.laws.marketStandard.entity.MarketStandardDetailVO;
|
||||||
import com.jero.modules.laws.marketStandard.mapper.LawsMarketStandardDetailMapper;
|
import com.jero.modules.laws.marketStandard.mapper.LawsMarketStandardDetailMapper;
|
||||||
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardDetailService;
|
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardDetailService;
|
||||||
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardService;
|
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardService;
|
||||||
@@ -22,6 +23,7 @@ import org.jeecgframework.poi.excel.ExcelImportUtil;
|
|||||||
import org.jeecgframework.poi.excel.entity.ImportParams;
|
import org.jeecgframework.poi.excel.entity.ImportParams;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@@ -108,6 +110,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = JeroBootException.class)
|
||||||
public Result<?> importExcel(MultipartFile file,String manifestId) {
|
public Result<?> importExcel(MultipartFile file,String manifestId) {
|
||||||
List<LawsMarketStandardDetail> list = new ArrayList<>();
|
List<LawsMarketStandardDetail> list = new ArrayList<>();
|
||||||
// 校验文件是否为excel
|
// 校验文件是否为excel
|
||||||
@@ -140,6 +143,8 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
|||||||
return Result.error(m.toString());
|
return Result.error(m.toString());
|
||||||
}
|
}
|
||||||
saveBatch(listLawsMarketStandardDetail);
|
saveBatch(listLawsMarketStandardDetail);
|
||||||
|
// 更细状态
|
||||||
|
marketStandardService.updateStatus(manifestId);
|
||||||
return Result.OK("导入成功");
|
return Result.OK("导入成功");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(e.getMessage(),e);
|
log.error(e.getMessage(),e);
|
||||||
@@ -150,6 +155,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return Result.OK("导入成功");
|
return Result.OK("导入成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -175,6 +181,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = JeroBootException.class)
|
||||||
public Result<?> add(LawsMarketStandardDetail marketStandardDetail) {
|
public Result<?> add(LawsMarketStandardDetail marketStandardDetail) {
|
||||||
LambdaQueryWrapper<LawsMarketStandardDetail> queryLawsMarketStandardDetail = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<LawsMarketStandardDetail> queryLawsMarketStandardDetail = new LambdaQueryWrapper<>();
|
||||||
queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getStandardId,marketStandardDetail.getStandardId());
|
queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getStandardId,marketStandardDetail.getStandardId());
|
||||||
@@ -184,10 +191,19 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
|||||||
Result.error("标准已存在");
|
Result.error("标准已存在");
|
||||||
}
|
}
|
||||||
save(marketStandardDetail);
|
save(marketStandardDetail);
|
||||||
|
// 更细状态
|
||||||
|
marketStandardService.updateStatus(marketStandardDetail.getManifestId());
|
||||||
return Result.OK("操作成功");
|
return Result.OK("操作成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
public Result<?> copy(String oldId,String newId) {
|
||||||
|
saveBatchData(oldId, newId);
|
||||||
|
return Result.OK("操作成功");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = JeroBootException.class)
|
||||||
public Result<?> edit(LawsMarketStandardDetail marketStandardDetail) {
|
public Result<?> edit(LawsMarketStandardDetail marketStandardDetail) {
|
||||||
LambdaQueryWrapper<LawsMarketStandardDetail> queryLawsMarketStandardDetail = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<LawsMarketStandardDetail> queryLawsMarketStandardDetail = new LambdaQueryWrapper<>();
|
||||||
queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getStandardId,marketStandardDetail.getStandardId());
|
queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getStandardId,marketStandardDetail.getStandardId());
|
||||||
@@ -198,22 +214,54 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
|||||||
Result.error("标准已存在");
|
Result.error("标准已存在");
|
||||||
}
|
}
|
||||||
updateById(marketStandardDetail);
|
updateById(marketStandardDetail);
|
||||||
|
// 更细状态
|
||||||
|
marketStandardService.updateStatus(marketStandardDetail.getManifestId());
|
||||||
return Result.OK("操作成功");
|
return Result.OK("操作成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = JeroBootException.class)
|
||||||
public Result<?> deleteById(String id) {
|
public Result<?> deleteById(String id) {
|
||||||
checkData(id);
|
checkData(id);
|
||||||
|
LawsMarketStandardDetail lawsMarketStandardDetail = getById(id);
|
||||||
|
if(Objects.isNull(lawsMarketStandardDetail)){
|
||||||
|
throw new JeroBootException("数据不存在");
|
||||||
|
}
|
||||||
removeById(id);
|
removeById(id);
|
||||||
|
// 更细状态
|
||||||
|
marketStandardService.updateStatus(lawsMarketStandardDetail.getManifestId());
|
||||||
return Result.OK("删除成功");
|
return Result.OK("删除成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = JeroBootException.class)
|
||||||
public Result<?> deleteBatchById(String ids) {
|
public Result<?> deleteBatchById(String ids) {
|
||||||
checkData(ids);
|
checkData(ids);
|
||||||
|
LawsMarketStandardDetail lawsMarketStandardDetail = getById(ids.split(",")[0]);
|
||||||
|
if(Objects.isNull(lawsMarketStandardDetail)){
|
||||||
|
throw new JeroBootException("数据不存在");
|
||||||
|
}
|
||||||
|
// 更细状态
|
||||||
|
marketStandardService.updateStatus(lawsMarketStandardDetail.getManifestId());
|
||||||
removeByIds(Arrays.asList(ids.split(",")));
|
removeByIds(Arrays.asList(ids.split(",")));
|
||||||
return Result.OK("批量删除成功");
|
return Result.OK("批量删除成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void saveBatchData(String oldId, String newId) {
|
||||||
|
LambdaQueryWrapper<LawsMarketStandardDetail> queryLawsMarketStandardDetail = new LambdaQueryWrapper<>();
|
||||||
|
queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getManifestId, oldId);
|
||||||
|
List<LawsMarketStandardDetail> listLawsMarketStandardDetail = list(queryLawsMarketStandardDetail);
|
||||||
|
if(CollectionUtils.isEmpty(listLawsMarketStandardDetail)){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (LawsMarketStandardDetail lawsMarketStandardDetail : listLawsMarketStandardDetail) {
|
||||||
|
lawsMarketStandardDetail.setId(null);
|
||||||
|
lawsMarketStandardDetail.setManifestId(newId);
|
||||||
|
}
|
||||||
|
saveBatch(listLawsMarketStandardDetail);
|
||||||
|
}
|
||||||
|
|
||||||
// 验证数据权限
|
// 验证数据权限
|
||||||
private void checkData(String id) {
|
private void checkData(String id) {
|
||||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
|||||||
+36
-13
@@ -171,19 +171,14 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
|
|||||||
}
|
}
|
||||||
// 状态为已发布需要生成新数据
|
// 状态为已发布需要生成新数据
|
||||||
if(Objects.equals(lawsMarketStandardOld.getManifestStatus(),MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){
|
if(Objects.equals(lawsMarketStandardOld.getManifestStatus(),MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){
|
||||||
manifest.setManifestStatus(MarketStandardConstants.MANIFEST_STATUS_EDIT);
|
// 将旧数据拷贝一份
|
||||||
manifest.setManifestVersion("");
|
syncData(lawsMarketStandardOld);
|
||||||
// 设置清单编号
|
// 新数据版本设置为空,状态设置为编辑中
|
||||||
manifest.setManifestNo(this.generateManifestNo(manifest.getCountry()));
|
LambdaUpdateWrapper<LawsMarketStandard> update = new LambdaUpdateWrapper<>();
|
||||||
Map<String, List<DictModel>> map = sysBaseAPI.translateManyDict("market_state",manifest.getCountry());
|
update.set(LawsMarketStandard::getManifestVersion,"");
|
||||||
List<DictModel> listDict = map.get("market_state");
|
update.set(LawsMarketStandard::getManifestStatus,MarketStandardConstants.MANIFEST_STATUS_EDIT);
|
||||||
List<String> country = listDict.stream().map(DictModel::getText).collect(Collectors.toList());
|
update.eq(LawsMarketStandard::getId,lawsMarketStandardOld.getId());
|
||||||
// 国家/地区+自定义+固定字段,自定义字段:预留手填,当前默认不填;固定字段:车型需满足标准法规清单
|
update(update);
|
||||||
manifest.setManifestName(String.join("",country) + manifest.getCustomColumnName() + "车型需满足标准法规清单");
|
|
||||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
||||||
manifest.setAuthor(sysUser.getId());
|
|
||||||
manifest.setVersionFlag(lawsMarketStandardOld.getVersionFlag());
|
|
||||||
save(manifest);
|
|
||||||
}else{
|
}else{
|
||||||
List<String> listCountry = Arrays.stream(manifest.getCountry().split(",")).sorted().collect(Collectors.toList());
|
List<String> listCountry = Arrays.stream(manifest.getCountry().split(",")).sorted().collect(Collectors.toList());
|
||||||
List<String> listOldCountry = Arrays.stream(lawsMarketStandardOld.getCountry().split(",")).sorted().collect(Collectors.toList());;
|
List<String> listOldCountry = Arrays.stream(lawsMarketStandardOld.getCountry().split(",")).sorted().collect(Collectors.toList());;
|
||||||
@@ -352,6 +347,34 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
|
|||||||
// todo 发起流程
|
// todo 发起流程
|
||||||
return Result.OK("发布成功");
|
return Result.OK("发布成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = JeroBootException.class)
|
||||||
|
public synchronized void updateStatus(String id) {
|
||||||
|
LawsMarketStandard lawsMarketStandardOld = getById(id);
|
||||||
|
if(Objects.isNull(lawsMarketStandardOld)){
|
||||||
|
throw new JeroBootException("数据不存在");
|
||||||
|
}
|
||||||
|
// 状态为已发布需要生成新数据
|
||||||
|
if(Objects.equals(lawsMarketStandardOld.getManifestStatus(),MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){
|
||||||
|
// 将旧数据拷贝一份
|
||||||
|
syncData(lawsMarketStandardOld);
|
||||||
|
// 新数据版本设置为空,状态设置为编辑中
|
||||||
|
LambdaUpdateWrapper<LawsMarketStandard> update = new LambdaUpdateWrapper<>();
|
||||||
|
update.set(LawsMarketStandard::getManifestVersion,"");
|
||||||
|
update.set(LawsMarketStandard::getManifestStatus,MarketStandardConstants.MANIFEST_STATUS_EDIT);
|
||||||
|
update.eq(LawsMarketStandard::getId,id);
|
||||||
|
update(update);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void syncData(LawsMarketStandard lawsMarketStandardOld) {
|
||||||
|
String oldId = lawsMarketStandardOld.getId();
|
||||||
|
lawsMarketStandardOld.setId(null);
|
||||||
|
save(lawsMarketStandardOld);
|
||||||
|
// 添加标准数据
|
||||||
|
lawsMarketStandardDetailService.saveBatchData(oldId, lawsMarketStandardOld.getId());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user