更新了导出毒品计算Excel会因为重名报错的Bug

This commit is contained in:
杨海航
2026-09-29 15:46:04 +08:00
parent 0cb61371d8
commit 7a015634c6
@@ -44,7 +44,7 @@ import java.util.stream.Collectors;
* @describe 毒品清单 前端控制器
*/
@RestController
@RequestMapping("/comm/drug" )
@RequestMapping("/comm/drug")
@Api(value = "drug", tags = "毒品清单管理")
public class CommDrugController {
@@ -53,46 +53,50 @@ public class CommDrugController {
@Resource
private DrugTypeService drugTypeService;
/**
* 通过id查询毒品清单
* @param id id
* @return R
*/
@ApiOperation(value = "通过id查询", notes = "通过id查询")
@GetMapping("/{id}" )
/**
* 通过id查询毒品清单
*
* @param id id
* @return R
*/
@ApiOperation(value = "通过id查询", notes = "通过id查询")
@GetMapping("/{id}")
// @PreAuthorize("@pms.hasPermission('common_drug_get')" )
public R<Drug> getById(@PathVariable("id" ) String id) {
return R.ok(drugService.getById(id));
}
public R<Drug> getById(@PathVariable("id") String id) {
return R.ok(drugService.getById(id));
}
/**
* 提供给内部服务通过id查询
*
* @param id id
* @return R
*/
@ApiOperation(value = "提供给内部服务通过id查询", notes = "提供给内部服务通过id查询")
@GetMapping("/inner/{id}" )
@GetMapping("/inner/{id}")
@Inner(value = false)
public R<Drug> innerGetById(@PathVariable("id" ) String id) {
public R<Drug> innerGetById(@PathVariable("id") String id) {
return R.ok(drugService.getById(id));
}
@ApiOperation("获取所有顶层毒品类型的数据,以map的列表返回")
@GetMapping("/drugMapList")
public R< List<SuspiciousDrugVO>> drugMapList(String drugType, String name, String englishName, String casCode) {
public R<List<SuspiciousDrugVO>> drugMapList(String drugType, String name, String englishName, String casCode) {
return R.ok(drugService.drugMapList(drugType, name, englishName, casCode));
}
/**
* 通过毒品名称查询毒品清单
*
* @param name name
* @return R
*/
@ApiOperation(value = "通过名称查询", notes = "通过名称查询")
@GetMapping("/name/{name}" )
@GetMapping("/name/{name}")
// @PreAuthorize("@pms.hasPermission('common_drug_get')" )
public R<DrugLite> getByName(@PathVariable("name" ) String name) {
public R<DrugLite> getByName(@PathVariable("name") String name) {
if (StrUtil.isBlank(name)) {
throw new RuntimeException("名称不能为空");
}
@@ -108,68 +112,75 @@ public class CommDrugController {
return R.ok(drugLite);
}
/**
* 查询毒品列表
* @param drug 查询条件(name, alias => like)
* @return
*/
@ApiOperation(value = "常用毒品查询列表", notes = "常用毒品查询列表")
@GetMapping("/list" )
/**
* 查询毒品列表
*
* @param drug 查询条件(name, alias => like)
* @return
*/
@ApiOperation(value = "常用毒品查询列表", notes = "常用毒品查询列表")
@GetMapping("/list")
// @PreAuthorize("@pms.hasPermission('common_drug_get')" )
public R getDrugPage(Drug drug) {
List<DrugType> drugTypeList=drugTypeService.list(Wrappers.<DrugType>lambdaQuery()
.eq(DrugType::getName,"常规毒品"));
Assert.notEmpty(drugTypeList,"系统中并没有找到 常规毒品 分类");
public R getDrugPage(Drug drug) {
List<DrugType> drugTypeList = drugTypeService.list(Wrappers.<DrugType>lambdaQuery()
.eq(DrugType::getName, "常规毒品"));
Assert.notEmpty(drugTypeList, "系统中并没有找到 常规毒品 分类");
List<Drug> r = drugService.list(Wrappers.<Drug>query()
.like(StrUtil.isNotBlank(drug.getName()), "name", drug.getName())
.like(StrUtil.isNotBlank(drug.getAlias()), "english_name", drug.getEnglishName())
.like(StrUtil.isNotBlank(drug.getName()), "name", drug.getName())
.like(StrUtil.isNotBlank(drug.getAlias()), "english_name", drug.getEnglishName())
.like(StrUtil.isNotBlank(drug.getCasCode()), "cas_code", drug.getCasCode())
.eq("drug_type", drugTypeList.get(0).getId())//只查询NPS的毒品列表
);
return R.ok(r);
}
.orderByAsc("order_index")
);
return R.ok(r);
}
//NPS 毒品清单
@ApiOperation(value = "查询NPS的毒品列表",notes = "查询NPS的毒品列表")
@ApiOperation(value = "查询NPS的毒品列表", notes = "查询NPS的毒品列表")
@GetMapping("/getNPSDrugList")
public R getNPSDrugList(Drug drug){
List<DrugType> drugTypeList=drugTypeService.list(Wrappers.<DrugType>lambdaQuery()
.eq(DrugType::getName,"常规毒品"));
Assert.notEmpty(drugTypeList,"系统中并没有找到 NPS毒品 分类");
public R getNPSDrugList(Drug drug) {
List<DrugType> drugTypeList = drugTypeService.list(Wrappers.<DrugType>lambdaQuery()
.eq(DrugType::getName, "常规毒品"));
Assert.notEmpty(drugTypeList, "系统中并没有找到 NPS毒品 分类");
//根据这个ID查询出下面的子类ID
List<Drug> r = drugService.list(Wrappers.<Drug>query()
.like(StrUtil.isNotBlank(drug.getName()), "name", drug.getName())
.like(StrUtil.isNotBlank(drug.getEnglishName()), "english_name", drug.getEnglishName())
.like(StrUtil.isNotBlank(drug.getCasCode()), "cas_code", drug.getCasCode())
.like(StrUtil.isNotBlank(drug.getCode()), "code", drug.getCode())
.eq(drug.getPublishTime()!=null, "publish_time", drug.getPublishTime())
.eq(drug.getImplementTime()!=null, "implement_time", drug.getImplementTime())
.eq(drug.getPublishTime() != null, "publish_time", drug.getPublishTime())
.eq(drug.getImplementTime() != null, "implement_time", drug.getImplementTime())
.orderByAsc("order_index")
.ne("drug_type", drugTypeList.get(0).getId())//只查询NPS的毒品列表
);
return R.ok(r);
}
/**
/**
* 分页查询
*
* @param page 分页对象
* @param drug 毒品清单
* @return
*/
@ApiOperation(value = "分页查询", notes = "分页查询")
@GetMapping("/page" )
@GetMapping("/page")
// @PreAuthorize("@pms.hasPermission('common_drug_get')" )
public R<IPage<Drug>> getDrugPage(Page page, Drug drug) {
return R.ok(drugService.getDrugPage(page,drug));
return R.ok(drugService.getDrugPage(page, drug));
}
/**
* 新增毒品清单
*
* @param drug 毒品清单
* @return R
*/
@ApiOperation(value = "新增毒品清单", notes = "新增毒品清单")
@SysLog("新增毒品清单" )
@SysLog("新增毒品清单")
@PostMapping
// @PreAuthorize("@pms.hasPermission('common_drug_add')" )
public R postAddObject(@RequestBody Drug drug) {
@@ -178,53 +189,57 @@ public class CommDrugController {
/**
* 修改毒品清单
*
* @param drug 毒品清单
* @return R
*/
@ApiOperation(value = "修改毒品清单", notes = "修改毒品清单")
@SysLog("修改毒品清单" )
@SysLog("修改毒品清单")
@PutMapping
// @PreAuthorize("@pms.hasPermission('common_drug_edit')" )
public R putUpdateById(@RequestBody Drug drug) {
return R.ok(drugService.updateById(drug));
}
/**
* 通过id删除毒品清单
*
* @param id id
* @return R
*/
@ApiOperation(value = "通过id删除毒品清单", notes = "通过id删除毒品清单")
@SysLog("通过id删除毒品清单" )
@DeleteMapping("/{id}" )
@SysLog("通过id删除毒品清单")
@DeleteMapping("/{id}")
// @PreAuthorize("@pms.hasPermission('common_drug_del')" )
public R deleteById(@PathVariable String id) {
return R.ok(drugService.removeById(id));
}
//导入NPS毒品筛查列表
@PostMapping("/importNPSExcelData")
public R importNPSExcelData() throws ParseException {
File file= FileUtil.file("D:\\禁毒大数据平台\\整理之后的数据.xlsx");
ExcelReader excelReader=ExcelUtil.getReader(file);
List<List<Object>> excelDataList=excelReader.read();
List<Drug> drugList=new ArrayList<>();
File file = FileUtil.file("D:\\禁毒大数据平台\\整理之后的数据.xlsx");
ExcelReader excelReader = ExcelUtil.getReader(file);
List<List<Object>> excelDataList = excelReader.read();
List<Drug> drugList = new ArrayList<>();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
for(int i=0;i<excelDataList.size();i++){
if(i>1){
for (int i = 0; i < excelDataList.size(); i++) {
if (i > 1) {
//0=编号 1=名称 2=英文名称 3=cas编号 4=发布日期
//5=实施日期 6=来源,7=备注
Drug drug=new Drug();
Drug drug = new Drug();
drug.setId(IdWorker.get32UUID());
drug.setCode(excelDataList.get(i).get(0).toString().trim());
drug.setName(excelDataList.get(i).get(1).toString().trim());
drug.setEnglishName(excelDataList.get(i).get(2).toString().trim());
drug.setCasCode(excelDataList.get(i).get(3)!=null?excelDataList.get(i).get(3).toString().trim():"");
drug.setPublishTime(LocalDateTime.parse(excelDataList.get(i).get(4).toString().trim()+" 00:00:00",formatter));
drug.setImplementTime(LocalDateTime.parse(excelDataList.get(i).get(5).toString().trim()+" 00:00:00",formatter));
drug.setCasCode(excelDataList.get(i).get(3) != null ? excelDataList.get(i).get(3).toString().trim() : "");
drug.setPublishTime(LocalDateTime.parse(excelDataList.get(i).get(4).toString().trim() + " 00:00:00", formatter));
drug.setImplementTime(LocalDateTime.parse(excelDataList.get(i).get(5).toString().trim() + " 00:00:00", formatter));
drug.setSource(excelDataList.get(i).get(6).toString().trim());
drug.setComments(excelDataList.get(i).get(7)!=null?excelDataList.get(i).get(7).toString().trim():"");
drug.setComments(excelDataList.get(i).get(7) != null ? excelDataList.get(i).get(7).toString().trim() : "");
drug.setOrderIndex(Integer.parseInt(excelDataList.get(i).get(0).toString().trim()));
drug.setDrugType("1");
System.out.println("添加完了一条,编号是:--------------------------------------"+drug.getCode());
System.out.println("添加完了一条,编号是:--------------------------------------" + drug.getCode());
drugList.add(drug);
}
}
@@ -250,7 +265,7 @@ public class CommDrugController {
// 处理委托中两社人员导入时,没有匹配的毒品信息,则调用该接口保存
@PostMapping("/innerSaveDrug")
@Inner(value = false)
public R<Boolean> innerSaveDrug(@RequestBody DrugLite drugLite){
public R<Boolean> innerSaveDrug(@RequestBody DrugLite drugLite) {
Drug drug = new Drug();
drug.setId(drugLite.getId());
drug.setDrugType("f73ea1ef4394c2fdd9013b997aa60b6e"); // 默认分配给新型毒品类型