市场法规库清单添加发布接口
This commit is contained in:
+22
-2
@@ -11,7 +11,6 @@ import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
@@ -19,7 +18,6 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
@@ -82,6 +80,28 @@ public class MarketStandardDetailController {
|
||||
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);
|
||||
|
||||
/**
|
||||
* 复制
|
||||
* @param oldId 原始id
|
||||
* @param newId 新id
|
||||
* @return
|
||||
*/
|
||||
Result<?> copy(String oldId,String newId);
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
* @param marketStandardDetail
|
||||
@@ -73,4 +81,11 @@ public interface ILawsMarketStandardDetailService extends IService<LawsMarketSta
|
||||
* @return
|
||||
*/
|
||||
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
|
||||
*/
|
||||
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.modules.laws.marketStandard.entity.LawsMarketStandard;
|
||||
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.service.ILawsMarketStandardDetailService;
|
||||
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.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -108,6 +110,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public Result<?> importExcel(MultipartFile file,String manifestId) {
|
||||
List<LawsMarketStandardDetail> list = new ArrayList<>();
|
||||
// 校验文件是否为excel
|
||||
@@ -140,6 +143,8 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
return Result.error(m.toString());
|
||||
}
|
||||
saveBatch(listLawsMarketStandardDetail);
|
||||
// 更细状态
|
||||
marketStandardService.updateStatus(manifestId);
|
||||
return Result.OK("导入成功");
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(),e);
|
||||
@@ -150,6 +155,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
return Result.OK("导入成功");
|
||||
}
|
||||
|
||||
@@ -175,6 +181,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public Result<?> add(LawsMarketStandardDetail marketStandardDetail) {
|
||||
LambdaQueryWrapper<LawsMarketStandardDetail> queryLawsMarketStandardDetail = new LambdaQueryWrapper<>();
|
||||
queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getStandardId,marketStandardDetail.getStandardId());
|
||||
@@ -184,10 +191,19 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
Result.error("标准已存在");
|
||||
}
|
||||
save(marketStandardDetail);
|
||||
// 更细状态
|
||||
marketStandardService.updateStatus(marketStandardDetail.getManifestId());
|
||||
return Result.OK("操作成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<?> copy(String oldId,String newId) {
|
||||
saveBatchData(oldId, newId);
|
||||
return Result.OK("操作成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public Result<?> edit(LawsMarketStandardDetail marketStandardDetail) {
|
||||
LambdaQueryWrapper<LawsMarketStandardDetail> queryLawsMarketStandardDetail = new LambdaQueryWrapper<>();
|
||||
queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getStandardId,marketStandardDetail.getStandardId());
|
||||
@@ -198,22 +214,54 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
Result.error("标准已存在");
|
||||
}
|
||||
updateById(marketStandardDetail);
|
||||
// 更细状态
|
||||
marketStandardService.updateStatus(marketStandardDetail.getManifestId());
|
||||
return Result.OK("操作成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public Result<?> deleteById(String id) {
|
||||
checkData(id);
|
||||
LawsMarketStandardDetail lawsMarketStandardDetail = getById(id);
|
||||
if(Objects.isNull(lawsMarketStandardDetail)){
|
||||
throw new JeroBootException("数据不存在");
|
||||
}
|
||||
removeById(id);
|
||||
// 更细状态
|
||||
marketStandardService.updateStatus(lawsMarketStandardDetail.getManifestId());
|
||||
return Result.OK("删除成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public Result<?> deleteBatchById(String 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(",")));
|
||||
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) {
|
||||
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)){
|
||||
manifest.setManifestStatus(MarketStandardConstants.MANIFEST_STATUS_EDIT);
|
||||
manifest.setManifestVersion("");
|
||||
// 设置清单编号
|
||||
manifest.setManifestNo(this.generateManifestNo(manifest.getCountry()));
|
||||
Map<String, List<DictModel>> map = sysBaseAPI.translateManyDict("market_state",manifest.getCountry());
|
||||
List<DictModel> listDict = map.get("market_state");
|
||||
List<String> country = listDict.stream().map(DictModel::getText).collect(Collectors.toList());
|
||||
// 国家/地区+自定义+固定字段,自定义字段:预留手填,当前默认不填;固定字段:车型需满足标准法规清单
|
||||
manifest.setManifestName(String.join("",country) + manifest.getCustomColumnName() + "车型需满足标准法规清单");
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
manifest.setAuthor(sysUser.getId());
|
||||
manifest.setVersionFlag(lawsMarketStandardOld.getVersionFlag());
|
||||
save(manifest);
|
||||
// 将旧数据拷贝一份
|
||||
syncData(lawsMarketStandardOld);
|
||||
// 新数据版本设置为空,状态设置为编辑中
|
||||
LambdaUpdateWrapper<LawsMarketStandard> update = new LambdaUpdateWrapper<>();
|
||||
update.set(LawsMarketStandard::getManifestVersion,"");
|
||||
update.set(LawsMarketStandard::getManifestStatus,MarketStandardConstants.MANIFEST_STATUS_EDIT);
|
||||
update.eq(LawsMarketStandard::getId,lawsMarketStandardOld.getId());
|
||||
update(update);
|
||||
}else{
|
||||
List<String> listCountry = Arrays.stream(manifest.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 发起流程
|
||||
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