From 2cf48d0f35ca23f1f49530719ed9a2c4202b0c1a Mon Sep 17 00:00:00 2001
From: hayu <1604366271@qq.com>
Date: Mon, 14 Jul 2025 18:40:16 +0800
Subject: [PATCH 1/6] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?=
=?UTF-8?q?=EF=BC=8C=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/resources/mappers/app/PartApplyAppMapper.xml | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/main/resources/mappers/app/PartApplyAppMapper.xml b/src/main/resources/mappers/app/PartApplyAppMapper.xml
index 7115c24..ae9fd0a 100644
--- a/src/main/resources/mappers/app/PartApplyAppMapper.xml
+++ b/src/main/resources/mappers/app/PartApplyAppMapper.xml
@@ -139,7 +139,8 @@
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 3/6] =?UTF-8?q?=E9=85=8D=E4=BB=B6=E6=89=B9=E9=87=8F?=
=?UTF-8?q?=E5=AE=A1=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}
From 73b8ebfd688bdd47a3c9ba2b2cc1449439dcc495 Mon Sep 17 00:00:00 2001
From: hayu <1604366271@qq.com>
Date: Wed, 16 Jul 2025 22:48:48 +0800
Subject: [PATCH 4/6] =?UTF-8?q?=E9=85=8D=E4=BB=B6=E8=A7=84=E6=A0=BC?=
=?UTF-8?q?=E6=8E=92=E5=BA=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../mappers/app/PartApplyAppMapper.xml | 29 +++++++++++----
.../mappers/bases/PartApplyMapper.xml | 34 +++++++++++-------
.../mappers/bases/PartBackMapper.xml | 36 ++++++++++++-------
.../mappers/bases/PartCheckMapper.xml | 11 +++++-
.../mappers/bases/PartScrapMapper.xml | 10 ++++++
.../mappers/bases/StatisticsMapper.xml | 12 ++++++-
6 files changed, 99 insertions(+), 33 deletions(-)
diff --git a/src/main/resources/mappers/app/PartApplyAppMapper.xml b/src/main/resources/mappers/app/PartApplyAppMapper.xml
index c43c827..ce0d99d 100644
--- a/src/main/resources/mappers/app/PartApplyAppMapper.xml
+++ b/src/main/resources/mappers/app/PartApplyAppMapper.xml
@@ -226,11 +226,28 @@ order by tpa.create_time desc
where tpa.id=#{id}
\ No newline at end of file
diff --git a/src/main/resources/mappers/bases/PartApplyMapper.xml b/src/main/resources/mappers/bases/PartApplyMapper.xml
index 889ab8c..1339341 100644
--- a/src/main/resources/mappers/bases/PartApplyMapper.xml
+++ b/src/main/resources/mappers/bases/PartApplyMapper.xml
@@ -61,21 +61,31 @@
where tpa.id=#{id}