From c3013bb5d539cf08e8faad076c8ad323f9b683ae Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 21 十月 2025 11:26:40 +0800
Subject: [PATCH] 修改bug
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpGoodsController.java | 166 +++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 153 insertions(+), 13 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpGoodsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpGoodsController.java
index 40bd0f9..f126d56 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpGoodsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpGoodsController.java
@@ -22,6 +22,8 @@
import com.ruoyi.system.dto.*;
import com.ruoyi.system.importExcel.TErpGoodsExcel;
import com.ruoyi.system.model.*;
+import com.ruoyi.system.query.PageAddListQuery;
+import com.ruoyi.system.query.TErpGoodsAdminQuery;
import com.ruoyi.system.query.TErpGoodsQuery;
import com.ruoyi.system.service.*;
import com.ruoyi.system.vo.TErpGoodsVO;
@@ -44,6 +46,7 @@
import java.net.URLEncoder;
import java.time.LocalDateTime;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
@@ -115,12 +118,30 @@
}
return R.ok(erpGoodsService.pageList(query,user));
}
+
+ /**
+ * 获取erp问题上报管理列表
+ */
+ @ApiOperation(value = "平台获取商品分页列表")
+ @PostMapping(value = "/pageAdminList")
+ public R<PageInfo<TErpGoodsVO>> pageAdminList(@RequestBody TErpGoodsAdminQuery query) {
+ SysUser user = tokenService.getLoginUser().getUser();
+ Integer roleType = user.getRoleType();
+ if(roleType == 1){
+ // 平台
+ return R.ok(erpGoodsService.pageAdminList(query));
+ }
+ return R.ok();
+ }
+
+
+
/**
* 获取erp问题上报管理列表
*/
@ApiOperation(value = "诊所 一键获取商品分页列表")
@PostMapping(value = "/pageAddList")
- public R<Page<TErpGoods>> pageAddList(BasePage query) {
+ public R<Page<TErpGoods>> pageAddList(@RequestBody PageAddListQuery query) {
SysUser user = tokenService.getLoginUser().getUser();
Integer roleType = user.getRoleType();
String clinicSupplierId=null;
@@ -133,17 +154,48 @@
}
Page<TErpGoods> tErpGoodsPage = new Page<>(query.getPageNum(), query.getPageSize());
- Page<TErpGoods> page = erpGoodsService.page(tErpGoodsPage, new LambdaQueryWrapper<TErpGoods>().eq(TErpGoods::getGoodsSource, 1).eq(BaseModel::getDisabled, 0).isNotNull(TErpGoods::getPlatformCommissionPrice).last(" NOT FIND_IN_SET(" + clinicSupplierId + ",clinic_ids)"));
- for (TErpGoods record : page.getRecords()) {
- TCrmSupplier byId = crmSupplierService.getById(record.getSupplierClinicId());
- record.setSupplierName(byId.getSupplierName());
+ List<TErpGoods> page = erpGoodsService.pageAddList(tErpGoodsPage,clinicSupplierId,query);
+ tErpGoodsPage.setRecords(page);
+ return R.ok(tErpGoodsPage);
+ }
+ /**
+ * 获取erp问题上报管理列表
+ */
+ @ApiOperation(value = "诊所 一键获取商品 获取全部")
+ @PostMapping(value = "/getAllGoodsList")
+ public R<?> getAllGoodsList() {
+ 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();
+ }
- TErpGoodsType byId1 = erpGoodsTypeService.getById(record.getTypeId());
- record.setTypeName(byId1.getTypeName());
+ List<TErpGoods> list = erpGoodsService.list(new LambdaQueryWrapper<TErpGoods>().eq(TErpGoods::getGoodsSource, 1).eq(TErpGoods::getState,1).eq(BaseModel::getDisabled, 0).isNotNull(TErpGoods::getPlatformCommissionPrice).last("and (NOT FIND_IN_SET(" + clinicSupplierId + ",clinic_ids) or clinic_ids is null)"));
+ for (TErpGoods goods : list) {
+ String clinicIds = goods.getClinicIds();
+ if(clinicIds == null || clinicIds.isEmpty()){
+ goods.setClinicIds(clinicSupplierId);
+ }else {
+ String[] split = clinicIds.split(",");
+ ArrayList<String> split1 = new ArrayList<>();
+ for (String s : split) {
+ split1.add(s);
+ }
+ if(!split1.contains(clinicSupplierId)){
+ split1.add(clinicSupplierId);
+ goods.setClinicIds(String.join(",",split1));
+ }
+ }
}
- return R.ok(page);
+ erpGoodsService.updateBatchById(list);
+ return R.ok();
}
@@ -152,7 +204,7 @@
@PostMapping(value = "/add")
public R<Boolean> add(@Validated @RequestBody TErpGoodsAddDto dto) {
SysUser user = tokenService.getLoginUser().getUser();
- if (erpGoodsService.isExit(dto.getGoodsIdCode(), dto.getQuasiNumber())) {
+ if (erpGoodsService.isExit(dto.getGoodsIdCode(), dto.getQuasiNumber(),null)) {
return R.fail("erp商品已存在");
}
Integer roleType = user.getRoleType();
@@ -186,7 +238,7 @@
@PostMapping(value = "/clinicAdd")
public R<Boolean> clinicAdd(@Validated @RequestBody TErpClinicGoodsAddDto dto) {
SysUser user = tokenService.getLoginUser().getUser();
- if (erpGoodsService.isExit(dto.getGoodsIdCode(), dto.getQuasiNumber())) {
+ if (erpGoodsService.isExit(dto.getGoodsIdCode(), dto.getQuasiNumber(),null)) {
return R.fail("erp商品已存在");
}
Integer roleType = user.getRoleType();
@@ -202,13 +254,101 @@
}
goods.setCreateId(user.getUserId().toString());
goods.setGoodsIdCode(dto.getGoodsIdCode());
+// goods.setClinicPurchasePrice(dto.getSalesAmount());
return R.ok(erpGoodsService.save(goods));
}
- @ApiOperation(value = "供应商删除商品")
+ @ApiOperation(value = "诊所编辑商品")
+ @PostMapping(value = "/clinicUpdate")
+ public R<Boolean> clinicUpdate(@Validated @RequestBody TErpClinicGoodsUpdateDto dto) {
+ SysUser user = tokenService.getLoginUser().getUser();
+ if (erpGoodsService.isExit(dto.getGoodsIdCode(), dto.getQuasiNumber(),dto.getId())) {
+ return R.fail("erp商品已存在");
+ }
+ Integer roleType = user.getRoleType();
+ TErpGoods goods = new TErpGoods();
+ BeanUtils.copyProperties(dto,goods);
+ if(roleType == 5){
+ // 诊所
+ TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class)
+ .eq(TCrmClinic::getUserId, user.getUserId())
+ .last("LIMIT 1"));
+ goods.setSupplierClinicId(crmClinic.getId());
+ goods.setGoodsSource(2);
+ }
+ goods.setCreateId(user.getUserId().toString());
+ goods.setGoodsIdCode(dto.getGoodsIdCode());
+ goods.setId(dto.getId());
+ return R.ok(erpGoodsService.updateById(goods));
+ }
+
+ @ApiOperation(value = "供应商/诊所 删除商品")
@DeleteMapping(value = "/delete/{id}")
public R<Boolean> delete(@PathVariable String id) {
- return R.ok(erpGoodsService.removeById(id));
+ TErpGoods goods = erpGoodsService.getById(id);
+ SysUser user = tokenService.getLoginUser().getUser();
+ String cid = null;
+
+ if(user.getRoleType() == 5){
+ // 诊所
+ TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class)
+ .eq(TCrmClinic::getUserId, user.getUserId())
+ .last("LIMIT 1"));
+ cid = crmClinic.getId();
+ if(goods.getGoodsSource()==1){
+ String clinicIds = goods.getClinicIds();
+ String[] split = clinicIds.split(",");
+ // clinicIds 移除cid
+ ArrayList<String> strings = new ArrayList<>();
+ for (String s : split) {
+ if(!s.equals(cid)){
+ strings.add(s);
+ }
+ }
+ goods.setClinicIds(String.join(",",strings));
+ erpGoodsService.updateById(goods);
+ }else {
+ erpGoodsService.removeById(id);
+ }
+ return R.ok();
+ }
+ erpGoodsService.removeById(id);
+ return R.ok();
+ }
+
+ @ApiOperation(value = "诊所 一键添加商品")
+ @PostMapping(value = "/addSupplierGoods")
+ public R<Boolean> addSupplierGoods(@RequestBody AddSupplierGoodsDto dto) {
+// List<String> split = Arrays.asList(goodsIds.split(","));
+ List<TErpGoods> list = erpGoodsService.list(new LambdaQueryWrapper<TErpGoods>().in(TErpGoods::getId, dto.getGoodsIds()));
+ SysUser user = tokenService.getLoginUser().getUser();
+ String cid = null;
+
+ if(user.getRoleType() == 5){
+ TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class)
+ .eq(TCrmClinic::getUserId, user.getUserId())
+ .last("LIMIT 1"));
+ cid = crmClinic.getId();
+ for (TErpGoods goods : list) {
+ String clinicIds = goods.getClinicIds();
+ if(clinicIds==null || clinicIds.isEmpty()){
+ goods.setClinicIds( cid);
+ }else {
+ String[] split = clinicIds.split(",");
+ List<String> split1 = new ArrayList<>();
+ for (String s : split) {
+ split1.add(s);
+ }
+ if(!split1.contains(cid)){
+ split1.add(cid);
+ goods.setClinicIds(String.join(",",split1));
+ }
+ }
+
+ }
+ erpGoodsService.updateBatchById(list);
+ }
+ return R.ok();
}
@@ -286,7 +426,7 @@
return R.ok(erpGoodsService.updateById(goods));
}
- @ApiOperation(value = "供应商商品详情")
+ @ApiOperation(value = "商品详情")
@GetMapping(value = "/detail/{id}")
public R<TErpGoods> detail( @PathVariable String id) {
TErpGoods goods = erpGoodsService.getById(id);
--
Gitblit v1.7.1