diff --git a/sql/asset_manage.sql b/sql/asset_manage.sql index 03d83a7..1c289c7 100644 --- a/sql/asset_manage.sql +++ b/sql/asset_manage.sql @@ -70,6 +70,7 @@ create table am_material_log( user_id int NOT NULL, description varchar(200), operate int NOT NULL, -- 0:in,1:out + batch varchar(100), create_time datetime default CURRENT_TIMESTAMP ); diff --git a/src/main/java/cn/redrock/assetmanage/controller/MaterialController.java b/src/main/java/cn/redrock/assetmanage/controller/MaterialController.java index 16e0cf4..e25edc8 100644 --- a/src/main/java/cn/redrock/assetmanage/controller/MaterialController.java +++ b/src/main/java/cn/redrock/assetmanage/controller/MaterialController.java @@ -15,6 +15,7 @@ import cn.redrock.assetmanage.utils.DateUtil; import cn.redrock.assetmanage.utils.ExcelUtils; import cn.redrock.assetmanage.utils.StringUtil; import com.github.pagehelper.PageInfo; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.*; @@ -51,22 +52,29 @@ public class MaterialController { materialLog.setStatus(status.getStatus()); materialLog.setDescription(material.getDescription()); materialLog.setUserId(userId); + materialLog.setBatch(material.getCode()+"_"+material.getNum()+"_"+DateUtil.dateToStr(new Date(),"yyyyMMddHHmmss")); return materialLog; } return null; } - private List buildBatchLog(Integer userId,Constants.Operate operate, Constants.Status status,List materials){ + private List buildBatchLog(Integer userId,Constants.Operate operate, Constants.Status status,List materials,String batch){ List materialLogs = new ArrayList<>(); for(Material material : materials){ AmMaterialLog log = buildLog(userId,operate,status,material); if(log != null){ + log.setBatch(batch); materialLogs.add(log); } } return materialLogs; } + private String getBatch(MultipartFile file){ + String fileName = file.getOriginalFilename(); + return StringUtils.substringBeforeLast(fileName,"."); + } + @Admin @PostMapping("/add") public Result addMaterial(@CurrentUser AmUser user,@Valid @RequestBody Material material) { @@ -92,10 +100,10 @@ public class MaterialController { ret = materialService.batchAdd(list,false); } if(!ret){ - materialLogService.batchWriteLog(buildBatchLog(user.getId(),Constants.Operate.IN, Constants.Status.FAILED,list)); + materialLogService.batchWriteLog(buildBatchLog(user.getId(),Constants.Operate.IN, Constants.Status.FAILED,list,getBatch(file))); return Result.error(ResponseCode.ASSET_BATCH_ADD_FAIL); } - materialLogService.batchWriteLog(buildBatchLog(user.getId(),Constants.Operate.IN,Constants.Status.NO_AUDIT,list)); + materialLogService.batchWriteLog(buildBatchLog(user.getId(),Constants.Operate.IN,Constants.Status.NO_AUDIT,list,getBatch(file))); return Result.ok(); } @@ -125,14 +133,14 @@ public class MaterialController { if(user.getIsAdmin() == 1){ materialService.batchSub(list,successMaterial,failMaterial); if(!successMaterial.isEmpty() && failMaterial.isEmpty()){ - materialLogService.batchWriteLog(buildBatchLog(user.getId(),Constants.Operate.OUT, Constants.Status.SUCCESS,list)); + materialLogService.batchWriteLog(buildBatchLog(user.getId(),Constants.Operate.OUT, Constants.Status.SUCCESS,list,getBatch(file))); }else{ - materialLogService.batchWriteLog(buildBatchLog(user.getId(),Constants.Operate.OUT, Constants.Status.FAILED,failMaterial)); - materialLogService.batchWriteLog(buildBatchLog(user.getId(),Constants.Operate.OUT, Constants.Status.SUCCESS,successMaterial)); + materialLogService.batchWriteLog(buildBatchLog(user.getId(),Constants.Operate.OUT, Constants.Status.FAILED,failMaterial,getBatch(file))); + materialLogService.batchWriteLog(buildBatchLog(user.getId(),Constants.Operate.OUT, Constants.Status.SUCCESS,successMaterial,getBatch(file))); return Result.ok(failMaterial); } }else{ - materialLogService.batchWriteLog(buildBatchLog(user.getId(),Constants.Operate.OUT, Constants.Status.NO_AUDIT,list)); + materialLogService.batchWriteLog(buildBatchLog(user.getId(),Constants.Operate.OUT, Constants.Status.NO_AUDIT,list,getBatch(file))); } return Result.ok(); } @@ -192,13 +200,18 @@ public class MaterialController { } @GetMapping("/log") - public Result queryMaterialLog(@RequestParam Integer operate,@RequestParam Integer status, + public Result queryMaterialLog(@CurrentUser AmUser user, + @RequestParam Integer operate,@RequestParam Integer status, @RequestParam(required = false) String field, @RequestParam(required = false) String content, @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startTm, @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTm, Integer pageNum, Integer pageSize) { - return Result.ok(materialLogService.queryLog(operate,status,field,content,startTm,endTm,pageNum,pageSize)); + Integer userId = null; + if(user.getIsAdmin() == 0){ + userId = user.getId(); + } + return Result.ok(materialLogService.queryLog(userId,operate,status,field,content,startTm,endTm,pageNum,pageSize)); } @GetMapping("/warn") diff --git a/src/main/java/cn/redrock/assetmanage/dto/Material.java b/src/main/java/cn/redrock/assetmanage/dto/Material.java index e88ee9e..ae72b1f 100644 --- a/src/main/java/cn/redrock/assetmanage/dto/Material.java +++ b/src/main/java/cn/redrock/assetmanage/dto/Material.java @@ -15,7 +15,7 @@ import javax.validation.constraints.NotNull; */ @Data public class Material { - private Integer id; + private Integer id; //日志ID @ExcelColumn(value = "物料编号", col = 1) @NotBlank diff --git a/src/main/java/cn/redrock/assetmanage/entity/AmMaterialLog.java b/src/main/java/cn/redrock/assetmanage/entity/AmMaterialLog.java index 04d7d58..96e698f 100644 --- a/src/main/java/cn/redrock/assetmanage/entity/AmMaterialLog.java +++ b/src/main/java/cn/redrock/assetmanage/entity/AmMaterialLog.java @@ -31,6 +31,7 @@ public class AmMaterialLog { private Integer operate; + private String batch; @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") @Column(name = "create_time",updatable=false) private Date createTime; diff --git a/src/main/java/cn/redrock/assetmanage/entity/MaterialInfo.java b/src/main/java/cn/redrock/assetmanage/entity/MaterialInfo.java index baccac0..02470a7 100644 --- a/src/main/java/cn/redrock/assetmanage/entity/MaterialInfo.java +++ b/src/main/java/cn/redrock/assetmanage/entity/MaterialInfo.java @@ -38,6 +38,7 @@ public class MaterialInfo { private Integer status; + private String batch; @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") @Column(name = "create_time",updatable=false) private Date createTime; diff --git a/src/main/java/cn/redrock/assetmanage/mapper/AmMaterialLogMapper.java b/src/main/java/cn/redrock/assetmanage/mapper/AmMaterialLogMapper.java index aa210df..ec2a6ca 100644 --- a/src/main/java/cn/redrock/assetmanage/mapper/AmMaterialLogMapper.java +++ b/src/main/java/cn/redrock/assetmanage/mapper/AmMaterialLogMapper.java @@ -10,7 +10,8 @@ import java.util.List; @org.apache.ibatis.annotations.Mapper public interface AmMaterialLogMapper extends Mapper { - List queryLog(@Param("operate") Integer operate, + List queryLog(@Param("userId") Integer userId, + @Param("operate") Integer operate, @Param("status") Integer status, @Param("field") String field, @Param("content") String content, diff --git a/src/main/java/cn/redrock/assetmanage/service/MaterialLogService.java b/src/main/java/cn/redrock/assetmanage/service/MaterialLogService.java index 5a969f4..82e5cb4 100644 --- a/src/main/java/cn/redrock/assetmanage/service/MaterialLogService.java +++ b/src/main/java/cn/redrock/assetmanage/service/MaterialLogService.java @@ -19,5 +19,5 @@ public interface MaterialLogService { void writeLog(AmMaterialLog materialLog); void batchWriteLog(List materialLogs); void updateLog(List materials,Integer status); - PageInfo queryLog(Integer operate, Integer status,String field,String content, Date startTm, Date endTm,Integer pageNum, Integer pageSize); + PageInfo queryLog(Integer userId,Integer operate, Integer status,String field,String content, Date startTm, Date endTm,Integer pageNum, Integer pageSize); } diff --git a/src/main/java/cn/redrock/assetmanage/service/impl/MaterialLogServiceImpl.java b/src/main/java/cn/redrock/assetmanage/service/impl/MaterialLogServiceImpl.java index b2b6fc8..f21a0a1 100644 --- a/src/main/java/cn/redrock/assetmanage/service/impl/MaterialLogServiceImpl.java +++ b/src/main/java/cn/redrock/assetmanage/service/impl/MaterialLogServiceImpl.java @@ -55,10 +55,10 @@ public class MaterialLogServiceImpl implements MaterialLogService { } @Override - public PageInfo queryLog(Integer operate, Integer status,String field,String content,Date startTm, Date endTm, Integer pageNum, Integer pageSize) { + public PageInfo queryLog(Integer userId,Integer operate, Integer status,String field,String content,Date startTm, Date endTm, Integer pageNum, Integer pageSize) { if(pageNum != null && pageSize != null){ PageHelper.startPage(pageNum, pageSize); } - return PageInfo.of(materialLogMapper.queryLog(operate,status,field,content,startTm,endTm)); + return PageInfo.of(materialLogMapper.queryLog(userId,operate,status,field,content,startTm,endTm)); } } diff --git a/src/main/java/cn/redrock/assetmanage/service/impl/MaterialServiceImpl.java b/src/main/java/cn/redrock/assetmanage/service/impl/MaterialServiceImpl.java index 42996de..34e19ea 100644 --- a/src/main/java/cn/redrock/assetmanage/service/impl/MaterialServiceImpl.java +++ b/src/main/java/cn/redrock/assetmanage/service/impl/MaterialServiceImpl.java @@ -134,9 +134,11 @@ public class MaterialServiceImpl implements MaterialService { } }else{ BeanUtils.copyProperties(oldMaterial,errorMaterial); + errorMaterial.setId(material.getId()); failMaterials.add(errorMaterial); } }else{ + errorMaterial.setId(material.getId()); errorMaterial.setCode(material.getCode()); errorMaterial.setNum(-1); failMaterials.add(errorMaterial); diff --git a/src/main/resources/mapper/AmMaterialLogMapper.xml b/src/main/resources/mapper/AmMaterialLogMapper.xml index d746d66..eb34e32 100644 --- a/src/main/resources/mapper/AmMaterialLogMapper.xml +++ b/src/main/resources/mapper/AmMaterialLogMapper.xml @@ -9,6 +9,7 @@ + @@ -22,6 +23,7 @@ +