From 8a283c3bfa642aa604f6ea3af8c4711912cbd2d5 Mon Sep 17 00:00:00 2001 From: syruan <15555146157@163.com> Date: Tue, 15 Jul 2025 20:31:06 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E4=BB=B6=E6=89=B9=E9=87=8F=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/app/entity/PartApplyAppVo.java | 5 +- .../bases/controller/PartApplyController.java | 22 +- .../bases/service/PartApplyServiceImpl.java | 211 +++++++++--------- .../service/PlanApplicationServiceImp.java | 17 +- .../mappers/plan/PlanApplicationMapper.xml | 1 - 5 files changed, 137 insertions(+), 119 deletions(-) diff --git a/src/main/java/com/bonus/gzgqj/business/app/entity/PartApplyAppVo.java b/src/main/java/com/bonus/gzgqj/business/app/entity/PartApplyAppVo.java index 09f491d..56ef44e 100644 --- a/src/main/java/com/bonus/gzgqj/business/app/entity/PartApplyAppVo.java +++ b/src/main/java/com/bonus/gzgqj/business/app/entity/PartApplyAppVo.java @@ -13,12 +13,15 @@ import java.util.List; * @author 黑子 */ @Data -public class PartApplyAppVo extends PageInfo { + +public class PartApplyAppVo extends PageInfo implements java.io.Serializable { @Excel(name = "序号", width = 10.0, orderNum = "0") private int xh; private String id; + + private List idList; /** * 编码 */ diff --git a/src/main/java/com/bonus/gzgqj/business/bases/controller/PartApplyController.java b/src/main/java/com/bonus/gzgqj/business/bases/controller/PartApplyController.java index 6131731..abb512a 100644 --- a/src/main/java/com/bonus/gzgqj/business/bases/controller/PartApplyController.java +++ b/src/main/java/com/bonus/gzgqj/business/bases/controller/PartApplyController.java @@ -3,6 +3,7 @@ package com.bonus.gzgqj.business.bases.controller; import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; +import cn.hutool.core.util.ObjectUtil; import com.bonus.gzgqj.business.app.entity.PartApplyAppVo; import com.bonus.gzgqj.business.app.entity.PartApplyDetailAppVo; import com.bonus.gzgqj.business.bases.entity.PartInputDetails; @@ -36,6 +37,7 @@ import java.util.List; @RequestMapping("/backstage/partApply") @Slf4j public class PartApplyController { + @Autowired private PartApplyService service; @@ -62,6 +64,7 @@ public class PartApplyController { public ServerResponse getPartDetails(EncryptedReq dto) { return service.getPartDetails(dto.getData()); } + /** * 领料出库 查询 * @param dto @@ -75,6 +78,7 @@ public class PartApplyController { PageInfo pageInfo = new PageInfo<>(list); return pageInfo; } + /** * 导出需求计划 * @param @@ -102,6 +106,7 @@ public class PartApplyController { log.error(e.toString(), e); } } + /** * 导出需求计划详情 * @param request @@ -131,7 +136,6 @@ public class PartApplyController { } - /** * 数据审核 * @param dto @@ -143,7 +147,21 @@ public class PartApplyController { return service.auditData(dto.getData()); } - + /** + * 数据审核--批量审核 + */ + @PostMapping("batchAudit") + @DecryptAndVerify(decryptedClass = PartApplyAppVo.class) + public ServerResponse batchAudit(EncryptedReq dto) { + PartApplyAppVo data = dto.getData(); + ServerResponse serverResponse = null; + for (String id : data.getIdList()) { + PartApplyAppVo cloned = ObjectUtil.cloneByStream(data); + cloned.setId(id); + serverResponse = service.auditData(cloned); + } + return serverResponse; + } diff --git a/src/main/java/com/bonus/gzgqj/business/bases/service/PartApplyServiceImpl.java b/src/main/java/com/bonus/gzgqj/business/bases/service/PartApplyServiceImpl.java index eaaf480..b32c383 100644 --- a/src/main/java/com/bonus/gzgqj/business/bases/service/PartApplyServiceImpl.java +++ b/src/main/java/com/bonus/gzgqj/business/bases/service/PartApplyServiceImpl.java @@ -28,209 +28,206 @@ import java.util.Objects; /** * 配件管理 入库 + * * @author 黑子 */ @Service @Slf4j -public class PartApplyServiceImpl implements PartApplyService{ - - @Autowired - private PartApplyMapper mapper; - - @Autowired - private FileUploadService uploadService; +public class PartApplyServiceImpl implements PartApplyService { @Autowired UserPartInfoServiceImpl userPartInfoService; + @Autowired + private PartApplyMapper mapper; + @Autowired + private FileUploadService uploadService; + + public static String transBast64(String url) { + try { + if (StringHelper.isEmpty(url)) { + return ""; + } + Path path = Paths.get(url); + byte[] fileBytes = Files.readAllBytes(path); + return Base64.getEncoder().encodeToString(fileBytes); + } catch (Exception e) { + log.error(e.toString(), e); + } + return ""; + + } /** * 申请记录列表查询 + * * @param data * @return */ @Override public List findByPage(PartApplyAppVo data) { - List list=new ArrayList<>(); - try{ - list=mapper.findByPage(data); - }catch (Exception e){ - log.error(e.toString(),e); - } - return list; + List list = new ArrayList<>(); + try { + list = mapper.findByPage(data); + } catch (Exception e) { + log.error(e.toString(), e); + } + return list; } /** * 查询申请记录详情 + * * @param data * @return */ @Override public ServerResponse getPartDetails(PartApplyAppVo data) { - try{ - PartApplyAppVo vo=mapper.getPartDetails(data); - List info=mapper.getInfoMsg(data); + try { + PartApplyAppVo vo = mapper.getPartDetails(data); + List info = mapper.getInfoMsg(data); String infoMsg = String.join(",", info); vo.setInfoMsg(infoMsg); //图片转换 - String bast641=transBast64(vo.getLyUrl()); - String bast642=transBast64(vo.getCkUrl()); - String bast643=transBast64(vo.getShUrl()); - String bast644=transBast64(vo.getZdUrl()); + String bast641 = transBast64(vo.getLyUrl()); + String bast642 = transBast64(vo.getCkUrl()); + String bast643 = transBast64(vo.getShUrl()); + String bast644 = transBast64(vo.getZdUrl()); vo.setLyUrl(bast641); vo.setCkUrl(bast642); vo.setShUrl(bast643); vo.setZdUrl(bast644); - List flieList=uploadService.getFileList(data.getId(),"t_part_apply",null); + List flieList = uploadService.getFileList(data.getId(), "t_part_apply", null); vo.setFileList(flieList); - return ServerResponse.createSuccess(vo); - }catch (Exception e){ - log.error(e.toString(),e); + return ServerResponse.createSuccess(vo); + } catch (Exception e) { + log.error(e.toString(), e); } - return ServerResponse.createSuccess(new PartApplyAppVo()); + return ServerResponse.createSuccess(new PartApplyAppVo()); } /** * 查询申请记录详情 + * * @param data * @return */ @Override - public List getPartDetailsList(PartApplyDetailAppVo data) { - try{ - List details=mapper.getDetailsList(data); + public List getPartDetailsList(PartApplyDetailAppVo data) { + try { + List details = mapper.getDetailsList(data); return details; - }catch (Exception e){ - log.error(e.toString(),e); + } catch (Exception e) { + log.error(e.toString(), e); } - return new ArrayList(); + return new ArrayList<>(); } /** * 审核 数据 + * * @param data * @return */ @Override public ServerResponse auditData(PartApplyAppVo data) { - try{ - String status=data.getStatus(); - PartApplyAppVo vo=mapper.getAuditStatus(data); - if(!"1".equals(vo.getStatus())){ - return ServerResponse.createErroe("该数据已被审核,请刷新重试"); - } - Long userId= Objects.requireNonNull(UserUtil.getLoginUser()).getUserId(); - AuditRecord voo=new AuditRecord(); - voo.setAuditor(userId.toString()); - voo.setAuditRemark(data.getRemark()); - voo.setApplyId(data.getId()); - voo.setAuditStatus(status); - voo.setAuditType("2"); + try { + String status = data.getStatus(); + PartApplyAppVo vo = mapper.getAuditStatus(data); + if (!"1".equals(vo.getStatus())) { + return ServerResponse.createErroe("该数据已被审核,请刷新重试"); + } + Long userId = Objects.requireNonNull(UserUtil.getLoginUser()).getUserId(); + AuditRecord voo = new AuditRecord(); + voo.setAuditor(userId.toString()); + voo.setAuditRemark(data.getRemark()); + voo.setApplyId(data.getId()); + voo.setAuditStatus(status); + voo.setAuditType("2"); //通过 - if("2".equals(status)){ + if ("2".equals(status)) { data.setStatusType("3"); } - int num=mapper.insertAuditRecord(voo); - if(num>0){ + int num = mapper.insertAuditRecord(voo); + if (num > 0) { data.setFzUser(userId.toString()); mapper.updatePartInfo(data); - return ServerResponse.createSuccess("审核成功","审核成功"); + return ServerResponse.createSuccess("审核成功", "审核成功"); } - }catch (Exception e){ - log.error(e.toString(),e); - } - return ServerResponse.createErroe("审核失败"); + } catch (Exception e) { + log.error(e.toString(), e); + } + return ServerResponse.createErroe("审核失败"); } - - /** * 出库-接口 + * * @param request * @return */ @Override public ServerResponse partOutInfo(HttpServletRequest request, MultipartFile[] files) { - List list=new ArrayList<>(); - try{ - String param=request.getParameter("params"); - PartApplyAppVo data= JSON.parseObject(param,PartApplyAppVo.class); - String id=data.getId(); - if(StringHelper.isEmpty(id)){ - return ServerResponse.createErroe("请选择出库记录"); + List list = new ArrayList<>(); + try { + String param = request.getParameter("params"); + PartApplyAppVo data = JSON.parseObject(param, PartApplyAppVo.class); + String id = data.getId(); + if (StringHelper.isEmpty(id)) { + return ServerResponse.createErroe("请选择出库记录"); } - if(files==null || files.length <= 0){ + if (files == null || files.length <= 0) { System.out.println("本次未上传附件"); //return ServerResponse.createErroe("请先上传文件"); } else { - List fileList=uploadService.uploadImage(files,id,"t_part_apply","出库附件"); - if(fileList.size()!=files.length){ - return ServerResponse.createErroe("出库失败,附件上传缺失"); + List fileList = uploadService.uploadImage(files, id, "t_part_apply", "出库附件"); + if (fileList.size() != files.length) { + return ServerResponse.createErroe("出库失败,附件上传缺失"); } } - PartApplyAppVo vo=mapper.getAuditStatus(data); - if(!"2".equals(vo.getStatus())){ - return ServerResponse.createErroe("该数据状态已变更,请刷新数据重试"); + PartApplyAppVo vo = mapper.getAuditStatus(data); + if (!"2".equals(vo.getStatus())) { + return ServerResponse.createErroe("该数据状态已变更,请刷新数据重试"); } - Long userId= Objects.requireNonNull(UserUtil.getLoginUser()).getUserId(); - AuditRecord voo=new AuditRecord(); + Long userId = Objects.requireNonNull(UserUtil.getLoginUser()).getUserId(); + AuditRecord voo = new AuditRecord(); voo.setAuditor(userId.toString()); voo.setApplyId(data.getId()); voo.setAuditStatus("4"); voo.setAuditType("3"); - int num=mapper.insertAuditRecord(voo); - if(num>0){ + int num = mapper.insertAuditRecord(voo); + if (num > 0) { //出库 data.setCkUser(userId.toString()); data.setStatus("4"); data.setStatusType("1"); mapper.updatePartInfo(data); // - PartApplyDetailAppVo det=new PartApplyDetailAppVo(); + PartApplyDetailAppVo det = new PartApplyDetailAppVo(); det.setId(data.getId()); //计算出库数量 - List details=mapper.getDetailsList(det); - String userName=UserUtil.getLoginUser().getUsername(); + List details = mapper.getDetailsList(det); + String userName = UserUtil.getLoginUser().getUsername(); //出库数据 维护 - userPartInfoService.insert(details,vo.getCreator(),vo.getUserName()); - details.forEach(detail->{ - String partId=detail.getPartId(); - int applyNum=detail.getApplyNum(); - PaTypeVo paTypeVo=mapper.getPaTypeVoById(partId); - paTypeVo.setNum(paTypeVo.getNum()-applyNum); - paTypeVo.setCkNum(paTypeVo.getCkNum()+applyNum); + userPartInfoService.insert(details, vo.getCreator(), vo.getUserName()); + details.forEach(detail -> { + String partId = detail.getPartId(); + int applyNum = detail.getApplyNum(); + PaTypeVo paTypeVo = mapper.getPaTypeVoById(partId); + paTypeVo.setNum(paTypeVo.getNum() - applyNum); + paTypeVo.setCkNum(paTypeVo.getCkNum() + applyNum); //更新当前库存 mapper.updatePaTypeVoById(paTypeVo); }); - return ServerResponse.createSuccess("出库成功","出库成功"); + return ServerResponse.createSuccess("出库成功", "出库成功"); } - }catch (Exception e){ - log.error(e.toString(),e); + } catch (Exception e) { + log.error(e.toString(), e); } - return ServerResponse.createErroe("出库失败"); - } - - - public static String transBast64(String url){ - try{ - if(StringHelper.isEmpty(url)){ - return ""; - } - Path path = Paths.get(url); - byte[] fileBytes = Files.readAllBytes(path); - return Base64.getEncoder().encodeToString(fileBytes); - }catch (Exception e){ - log.error(e.toString(),e); - } - return ""; - - } - - public static void main(String[] args) { - System.err.println(transBast64("D:\\files\\zg_gqj\\20241109\\173113057456537938315.jpg")); + return ServerResponse.createErroe("出库失败"); } } diff --git a/src/main/java/com/bonus/gzgqj/business/plan/service/PlanApplicationServiceImp.java b/src/main/java/com/bonus/gzgqj/business/plan/service/PlanApplicationServiceImp.java index 797b8c7..a44e5d2 100644 --- a/src/main/java/com/bonus/gzgqj/business/plan/service/PlanApplicationServiceImp.java +++ b/src/main/java/com/bonus/gzgqj/business/plan/service/PlanApplicationServiceImp.java @@ -212,10 +212,10 @@ public class PlanApplicationServiceImp implements PlanApplicationService { Row row = sheet.getRow(i); PlanDevBean data = new PlanDevBean(); // 获取全部列的值 - data.setPpName(row.getCell(1).getStringCellValue()); //物资类型 - data.setpName(row.getCell(2).getStringCellValue()); //物资名称 - data.setName(row.getCell(3).getStringCellValue()); //物资型号 - data.setUnit(row.getCell(4).getStringCellValue()); //单位 + data.setPpName(row.getCell(1).getStringCellValue().trim()); //物资类型 + data.setpName(row.getCell(2).getStringCellValue().trim()); //物资名称 + data.setName(row.getCell(3).getStringCellValue().trim()); //物资型号 + data.setUnit(row.getCell(4).getStringCellValue().trim()); //单位 data.setNeedNum((int)row.getCell(5).getNumericCellValue()); //数量 // data.setTimes(row.getCell(6).getStringCellValue()); //时间 Cell cell = row.getCell(6); // 假设时间是在第7列(0-based index 6) @@ -255,20 +255,21 @@ public class PlanApplicationServiceImp implements PlanApplicationService { workbook.close(); } } - if(dataList!=null && !dataList.isEmpty()){ + if (!dataList.isEmpty()) { for (PlanDevBean planDevBean : dataList) { //根据物资类型,物资名称,物资型号 去数据库查询是否存在 PlanDevBean bean = dao.getExist(planDevBean); - if(bean == null){ + if (bean == null) { // 在数据库中不存在,则记录下,全部判断完,返回到前段,提示 nonExistList.add(planDevBean); - }else{ + } else { planDevBean.setId(bean.getId()); } } // 如果存在数据库中不存在的数据,返回提示 if (!nonExistList.isEmpty()) { - return ServerResponse.createError("导入失败,以下数据在数据库中不存在", nonExistList); + return ServerResponse.createSuccess("导入成功,有部分物资不存在", dataList); +// return ServerResponse.createError("导入失败,以下数据在数据库中不存在", nonExistList); } } return ServerResponse.createSuccess("导入成功", dataList); diff --git a/src/main/resources/mappers/plan/PlanApplicationMapper.xml b/src/main/resources/mappers/plan/PlanApplicationMapper.xml index ad7be23..fb434d7 100644 --- a/src/main/resources/mappers/plan/PlanApplicationMapper.xml +++ b/src/main/resources/mappers/plan/PlanApplicationMapper.xml @@ -238,7 +238,6 @@ LEFT JOIN mm_type mt1 on mt.PARENT_ID=mt1.id and mt1.IS_ACTIVE=1 LEFT JOIN mm_type mt2 on mt1.PARENT_ID=mt2.id and mt2.IS_ACTIVE=1 WHERE mt.IS_ACTIVE=1 - and mt.IS_LABEL=1 and mt2.`NAME` = #{param.ppName} and mt1.`NAME` = #{param.pName} and mt.`NAME` = #{param.name}