From 59099ec96f7a2da11df4b0b1593092b0aff38e90 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 23 十月 2025 13:45:52 +0800
Subject: [PATCH] 修改bug
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 53 insertions(+), 2 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java
index 40d0237..9e7124c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java
@@ -24,6 +24,7 @@
import io.swagger.annotations.ApiOperation;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@@ -166,6 +167,29 @@
return R.ok();
}
+ @ApiOperation(value = "删除采购")
+ @DeleteMapping(value = "/delProcurement/{id}")
+ public R<String> delProcurement(@PathVariable String id) {
+ SysUser user = tokenService.getLoginUser().getUser();
+ Integer roleType = user.getRoleType();
+ String clinicSupplierId=null;
+ if(roleType == 5){
+ // 诊所
+ TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class)
+ .eq(TCrmClinic::getUserId, user.getUserId())
+ .last("LIMIT 1"));
+ clinicSupplierId = crmClinic.getId();
+ }
+ TErpProcurement tErpProcurement = erpProcurementService.getById(id);
+ if(tErpProcurement.getClinicId().equals(clinicSupplierId)){
+ erpProcurementService.removeById( id);
+ return R.ok();
+ }else {
+ return R.fail("无权限");
+ }
+ }
+
+
@@ -267,6 +291,7 @@
@ApiOperation(value = "采购详情入库")
@PostMapping(value = "/updateStatusProcurement")
+ @Transactional(rollbackFor = Exception.class)
public R<DetailProcurementVO> updateStatusProcurement(@RequestBody @Valid UpdateStatusProcurementLastDto dto) {
SysUser user = tokenService.getLoginUser().getUser();
Integer roleType = user.getRoleType();
@@ -308,9 +333,35 @@
// tErpClinicWarehousing.setUnitAmount(tErpProcurementGoods.getSalesAmount());
tErpClinicWarehousing.setWarehousingType(1);
tErpClinicWarehousing.setType(1);
- tErpClinicWarehousing.setWarehouseNo("G"+ DateUtils.dateTimeNow());
+
+ TErpClinicWarehousing last = erpClinicWarehousingService.getOne(new LambdaQueryWrapper<TErpClinicWarehousing>().orderByDesc(BaseModel::getCreateTime).orderByDesc(TErpClinicWarehousing::getWarehouseNo).last("LIMIT 1"));
+ if(last==null){
+ tErpClinicWarehousing.setWarehouseNo("G"+ DateUtils.dateTimeNow()+"00001");
+ }else {
+ String lastProcurementCode = last.getWarehouseNo();
+ String datePart = "G" + DateUtils.dateTimeNow();
+
+ // 直接获取后五位数字并+1,不考虑是否同一天
+ try {
+ String numberPart = lastProcurementCode.substring(Math.max(0, lastProcurementCode.length() - 5));
+ int number = Integer.parseInt(numberPart);
+ if (number < 99999) {
+ number++;
+ } else {
+ number = 2; // 达到99999后重置为00002
+ }
+ tErpClinicWarehousing.setWarehouseNo(datePart + String.format("%05d", number));
+ } catch (NumberFormatException e) {
+ // 如果解析失败,默认从00001开始
+ tErpClinicWarehousing.setWarehouseNo(datePart + "00001");
+ }
+ }
tErpClinicWarehousing.setProcurementId(erpProcurement.getId());
- erpClinicWarehousingService.save(tErpClinicWarehousing);
+ try {
+ erpClinicWarehousingService.save(tErpClinicWarehousing);
+ }catch (Exception e){
+ throw new RuntimeException("网络繁忙,请重试");
+ }
// goodsId分组
for (UpdateStatusProcurementDto updateStatusProcurementDto : dto.getList()) {
TErpProcurementGoods tErpProcurementGoods = list.stream().filter(t -> t.getId().equals(updateStatusProcurementDto.getId())).findFirst().get();
--
Gitblit v1.7.1