diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/controller/back/BackApplyController.java b/src/main/java/com/bonus/aqgqj/business/backstage/controller/back/BackApplyController.java index c8584a8..5d34c58 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/controller/back/BackApplyController.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/controller/back/BackApplyController.java @@ -71,6 +71,17 @@ public class BackApplyController { return backApplyService.addBackApplyData(request,files); } + /** + * 数据修改接口 + * @param + * @return + */ + @ApiOperation("数据修改接口") + @PostMapping("updateBackApplyData") + public ServerResponse updateBackApplyData(HttpServletRequest request, @RequestParam(value = "file[]",required = false) MultipartFile[] files) { + return backApplyService.updateBackApplyData(request,files); + } + @ApiOperation("详情数据接口-基本信息、附件文档") @GetMapping("getDetails") @DecryptAndVerify(decryptedClass = BackApplyVo.class) @@ -88,6 +99,13 @@ public class BackApplyController { return pageInfo; } + @ApiOperation("详情数据接口-基本信息、明细、附件文档") + @GetMapping("getDetailsAndFile") + @DecryptAndVerify(decryptedClass = BackApplyVo.class) + public ServerResponse getDetailsAndFile(EncryptedReq dto) { + return backApplyService.getDetailsAndFile(dto.getData()); + } + @ApiOperation("导出接口") @PostMapping("export") public void export(HttpServletResponse response, @RequestBody BackApplyVo dto) { diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/controller/plan/PlanApplyController.java b/src/main/java/com/bonus/aqgqj/business/backstage/controller/plan/PlanApplyController.java index bf513da..59bea9a 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/controller/plan/PlanApplyController.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/controller/plan/PlanApplyController.java @@ -100,6 +100,15 @@ public class PlanApplyController { return service.getProSelect(dto.getData()); } + /** + * 工程下拉选,带公司 + */ + @PostMapping("getProSelectAndCompanyName") + @DecryptAndVerify(decryptedClass = PlanApplyVo.class) + public ServerResponse getProSelectAndCompanyName(EncryptedReq dto) { + return service.getProSelectAndCompanyName(dto.getData()); + } + /** * 需求计划申请-详情 * diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/entity/PurchaseVo.java b/src/main/java/com/bonus/aqgqj/business/backstage/entity/PurchaseVo.java index 2822fd3..df160e7 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/entity/PurchaseVo.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/entity/PurchaseVo.java @@ -78,5 +78,10 @@ public class PurchaseVo extends ParentVo { private String endTime; + /** + * 公司名称 + */ + private String companyName; + } diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/entity/back/BackApplyVo.java b/src/main/java/com/bonus/aqgqj/business/backstage/entity/back/BackApplyVo.java index 111de6c..a9bb090 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/entity/back/BackApplyVo.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/entity/back/BackApplyVo.java @@ -92,4 +92,6 @@ public class BackApplyVo extends ParentVo { * 退料清点详情list */ private List detailsList; + + private Integer status; } diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/entity/pro/ProVo.java b/src/main/java/com/bonus/aqgqj/business/backstage/entity/pro/ProVo.java index 8ebf8cd..419f55d 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/entity/pro/ProVo.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/entity/pro/ProVo.java @@ -151,4 +151,9 @@ public class ProVo { @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private String keyWord; + /** + * 公司 + */ + private String companyName; + } diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/mapper/back/BackApplyMapper.java b/src/main/java/com/bonus/aqgqj/business/backstage/mapper/back/BackApplyMapper.java index 7896924..eaf591a 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/mapper/back/BackApplyMapper.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/mapper/back/BackApplyMapper.java @@ -59,4 +59,23 @@ public interface BackApplyMapper { * @return */ List getDetailsList(BackApplyDetailsVo data); + + /** + * 删除退料清点明细 + * @param backApplyVo + * @return + */ + int deleteBackApplyDetailsById(BackApplyVo backApplyVo); + + /** + * 修改退料清点状态 + */ + int updateBackApplyStatus(BackApplyVo backApplyVo); + + /** + * 详情:明细、导出 + * @param bean + * @return + */ + List getDetailsListTwo(BackApplyDetailsVo bean); } diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/mapper/plan/PlanApplyMapper.java b/src/main/java/com/bonus/aqgqj/business/backstage/mapper/plan/PlanApplyMapper.java index f999142..478ebc2 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/mapper/plan/PlanApplyMapper.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/mapper/plan/PlanApplyMapper.java @@ -4,6 +4,7 @@ import com.bonus.aqgqj.business.backstage.entity.MaTypeVo; import com.bonus.aqgqj.business.backstage.entity.plan.PlanApplyVo; import com.bonus.aqgqj.business.backstage.entity.plan.PlanAuditRecordVo; import com.bonus.aqgqj.business.backstage.entity.plan.PlanDetailVo; +import com.bonus.aqgqj.business.backstage.entity.pro.ProVo; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -184,4 +185,11 @@ public interface PlanApplyMapper { * @return */ MaTypeVo getExist(@Param("param") MaTypeVo planDevBean); + + /** + * 获取工程下拉选和公司名称 + * @param data + * @return + */ + List getProSelectAndCompanyName(PlanApplyVo data); } diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/service/PurchaseServiceImpl.java b/src/main/java/com/bonus/aqgqj/business/backstage/service/PurchaseServiceImpl.java index c9743bd..1daed09 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/service/PurchaseServiceImpl.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/service/PurchaseServiceImpl.java @@ -25,6 +25,8 @@ import com.google.common.collect.Maps; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; @@ -205,6 +207,7 @@ public class PurchaseServiceImpl implements PurchaseService { } @Override + @Transactional(rollbackFor = Exception.class) public ServerResponse addPurchaseData(HttpServletRequest request, MultipartFile[] files) { try { String params = request.getParameter("params"); @@ -357,6 +360,7 @@ public class PurchaseServiceImpl implements PurchaseService { return ServerResponse.createSuccess("新增成功", outPlanVo); } catch (Exception e) { log.error(e.toString(), e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); } return ServerResponse.createErroe("新增失败"); } diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/service/back/BackApplyService.java b/src/main/java/com/bonus/aqgqj/business/backstage/service/back/BackApplyService.java index c838aac..e7362cd 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/service/back/BackApplyService.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/service/back/BackApplyService.java @@ -47,4 +47,16 @@ public interface BackApplyService { * @return */ List getDetailsList(BackApplyDetailsVo data); + + /** + * 详情:基本信息、明细、附件文档 + * @param data + * @return + */ + ServerResponse getDetailsAndFile(BackApplyVo data); + + /** + * 数据修改 + */ + ServerResponse updateBackApplyData(HttpServletRequest request, MultipartFile[] files); } diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/service/back/BackApplyServiceImpl.java b/src/main/java/com/bonus/aqgqj/business/backstage/service/back/BackApplyServiceImpl.java index 74c80cc..5ad19ab 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/service/back/BackApplyServiceImpl.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/service/back/BackApplyServiceImpl.java @@ -14,6 +14,8 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; @@ -126,6 +128,40 @@ public class BackApplyServiceImpl implements BackApplyService { return ServerResponse.createErroe("新增失败"); } + @Override + @Transactional(rollbackFor = Exception.class) + public ServerResponse updateBackApplyData(HttpServletRequest request, MultipartFile[] files) { + try { + String param = request.getParameter("params"); + if(StringHelper.isEmpty(param)){ + return ServerResponse.createErroe("请上传参数!"); + } + BackApplyVo backApplyVo = JSON.parseObject(param, BackApplyVo.class); + if (backApplyVo.getId()!= null){ + //将以前的详情数据删除 + int res = backApplyMapper.deleteBackApplyDetailsById(backApplyVo); + List list = backApplyVo.getDetailsList(); + if(list != null && list.size() > 0){ + int isSuccess1 = backApplyMapper.addBackApplyDataDetails(backApplyVo,list); + if(isSuccess1 != list.size()){ + return ServerResponse.createErroe("退料清点明细新增失败!"); + } + } + //修改保存状态 + if(backApplyVo.getStatus()!=null){ + int re = backApplyMapper.updateBackApplyStatus(backApplyVo); + } + } else { + return ServerResponse.createErroe("请上传退料清点编号!"); + } + return ServerResponse.createSuccess("修改成功","修改成功"); + } catch (Exception e) { + log.error(e.toString(), e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return ServerResponse.createErroe("退料清点修改失败"); + } + } + /** * 详情:基本信息、附件文档 */ @@ -156,6 +192,23 @@ public class BackApplyServiceImpl implements BackApplyService { return list; } + @Override + public ServerResponse getDetailsAndFile(BackApplyVo data) { + try { + BackApplyVo vo = backApplyMapper.getDetails(data); + List flieList = uploadService.getFileList(data.getId() + "", "st_back_apply", null); + BackApplyDetailsVo bean = new BackApplyDetailsVo(); + bean.setId(data.getId()); + List list = backApplyMapper.getDetailsListTwo(bean); + vo.setFileList(flieList); + vo.setDetailsList(list); + return ServerResponse.createSuccess(vo); + } catch (Exception e) { + log.error(e.toString(), e); + } + return ServerResponse.createSuccess(new BackApplyVo()); + } + /** * 处理退料编号 * @param value diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/service/plan/PlanApplyService.java b/src/main/java/com/bonus/aqgqj/business/backstage/service/plan/PlanApplyService.java index 304945c..5e9544b 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/service/plan/PlanApplyService.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/service/plan/PlanApplyService.java @@ -118,4 +118,11 @@ public interface PlanApplyService { * @date 2024/12/20 15:28 */ ServerResponse importExcelTools(HttpServletRequest request, MultipartFile[] files); + + /** + * 工程下拉选,带公司 + * @param data + * @return + */ + ServerResponse getProSelectAndCompanyName(PlanApplyVo data); } diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/service/plan/PlanApplyServiceImpl.java b/src/main/java/com/bonus/aqgqj/business/backstage/service/plan/PlanApplyServiceImpl.java index 695c628..04a34cf 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/service/plan/PlanApplyServiceImpl.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/service/plan/PlanApplyServiceImpl.java @@ -5,6 +5,7 @@ import com.bonus.aqgqj.business.backstage.entity.MaTypeVo; import com.bonus.aqgqj.business.backstage.entity.plan.PlanApplyVo; import com.bonus.aqgqj.business.backstage.entity.plan.PlanAuditRecordVo; import com.bonus.aqgqj.business.backstage.entity.plan.PlanDetailVo; +import com.bonus.aqgqj.business.backstage.entity.pro.ProVo; import com.bonus.aqgqj.business.backstage.mapper.plan.PlanApplyMapper; import com.bonus.aqgqj.manager.advice.ValidatorsUtils; import com.bonus.aqgqj.manager.common.util.DateTimeHelper; @@ -187,20 +188,19 @@ public class PlanApplyServiceImpl implements PlanApplyService { Row row = sheet.getRow(i); MaTypeVo data = new MaTypeVo(); // 获取全部列的值 - data.setType(row.getCell(1).getStringCellValue()); //物资类型 - data.setName(row.getCell(2).getStringCellValue()); //物资名称 - data.setModel(row.getCell(3).getStringCellValue()); //物资型号 - data.setUnitName(row.getCell(4).getStringCellValue()); //单位 + data.setName(row.getCell(1).getStringCellValue()); //物资名称 + data.setModel(row.getCell(2).getStringCellValue()); //物资型号 + data.setUnitName(row.getCell(3).getStringCellValue()); //单位 // data.setNeedNum(row.getCell(5).getStringCellValue()); //数量 - Cell cell5 = row.getCell(5); - if(cell5 != null){ + Cell cell4 = row.getCell(4); + if(cell4 != null){ String needNum ; - switch (cell5.getCellType()){ + switch (cell4.getCellType()){ case STRING: - needNum = cell5.getStringCellValue(); + needNum = cell4.getStringCellValue(); break; case NUMERIC: - needNum = String.valueOf(cell5.getNumericCellValue()); + needNum = String.valueOf(cell4.getNumericCellValue()); break; default: needNum = ""; @@ -209,7 +209,7 @@ public class PlanApplyServiceImpl implements PlanApplyService { data.setNeedNum(needNum); } - Cell cell = row.getCell(6); // 假设时间是在第7列(0-based index 6) + Cell cell = row.getCell(5); // 假设时间是在第7列(0-based index 6) if (cell != null) { String timeValue; switch (cell.getCellType()) { @@ -239,7 +239,7 @@ public class PlanApplyServiceImpl implements PlanApplyService { log.warn("单元格为空"); data.setTimes(""); } - data.setRemarks(getCellStringValue(row.getCell(7)));//备注 + data.setRemarks(getCellStringValue(row.getCell(6)));//备注 dataList.add(data); } workbook.close(); @@ -247,7 +247,7 @@ public class PlanApplyServiceImpl implements PlanApplyService { } if(dataList!=null && !dataList.isEmpty()){ for (MaTypeVo planDevBean : dataList) { - //根据物资类型,物资名称,物资型号 去数据库查询是否存在 + //根据物资名称,物资型号 去数据库查询是否存在 MaTypeVo bean = mapper.getExist(planDevBean); if(bean == null){ // 在数据库中不存在,则记录下,全部判断完,返回到前段,提示 @@ -258,7 +258,7 @@ public class PlanApplyServiceImpl implements PlanApplyService { } // 如果存在数据库中不存在的数据,返回提示 if (!nonExistList.isEmpty()) { - return ServerResponse.createError("导入失败,以下数据在数据库中不存在", nonExistList); + return ServerResponse.createError("导入失败,以下数据名称或规格型号不存在", nonExistList); } } return ServerResponse.createSuccess("导入成功", dataList); @@ -268,6 +268,17 @@ public class PlanApplyServiceImpl implements PlanApplyService { return ServerResponse.createError("导入失败,请检查表格数据",dataList); } + @Override + public ServerResponse getProSelectAndCompanyName(PlanApplyVo data) { + try { + List list = mapper.getProSelectAndCompanyName(data); + return ServerResponse.createSuccess("获取成功", list); + } catch (Exception e) { + log.error(e.toString(), e); + return ServerResponse.createSuccess("获取成功", new ArrayList<>()); + } + } + private String getCellStringValue(Cell cell) { if (cell == null) return ""; switch (cell.getCellType()) { diff --git a/src/main/resources/mappers/business/SupAoolyMapper.xml b/src/main/resources/mappers/business/SupAoolyMapper.xml index 2aa624f..cd38447 100644 --- a/src/main/resources/mappers/business/SupAoolyMapper.xml +++ b/src/main/resources/mappers/business/SupAoolyMapper.xml @@ -211,6 +211,7 @@ GROUP BY spos.sup_id,spos.contract_id,sta.id + ORDER BY spo.out_time DESC SELECT @@ -43,7 +51,8 @@ su.user_name AS recipient, sba.manager, sba.phone, sba.back_time as backTime, - sba.remark + sba.remark, + sba.`status` FROM st_back_apply sba LEFT JOIN bm_project bp ON sba.project_id = bp.bid_id @@ -71,7 +80,7 @@ sba.back_time, sba.remark order by - sba.back_time desc + sba.`status` asc ,sba.back_time desc + + \ No newline at end of file diff --git a/src/main/resources/mappers/business/backstage/PurchaseMapper.xml b/src/main/resources/mappers/business/backstage/PurchaseMapper.xml index 4c58eb3..2b3c323 100644 --- a/src/main/resources/mappers/business/backstage/PurchaseMapper.xml +++ b/src/main/resources/mappers/business/backstage/PurchaseMapper.xml @@ -82,7 +82,7 @@