Browse Source

opt: 客户特殊价调整

muti_db
Yen 5 months ago
parent
commit
4a79cef7b6
  1. 2
      src/main/java/com/qs/serve/common/util/AuthContextUtils.java
  2. 51
      src/main/java/com/qs/serve/controller/AdminPortalController.java
  3. 34
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java
  4. 40
      src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java
  5. 18
      src/main/java/com/qs/serve/modules/oms/controller/OmsSaleOrderController.java
  6. 60
      src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java
  7. 109
      src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderServiceImpl.java
  8. 2
      src/main/java/com/qs/serve/modules/tbs/common/dto/TbsBudgetChangeVo.java
  9. 14
      src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java
  10. 28
      src/main/java/com/qs/serve/modules/third/PortalOfCostRmController.java
  11. 34
      src/main/resources/mapper/tbs/TbsBudgetChangeMapper.xml

2
src/main/java/com/qs/serve/common/util/AuthContextUtils.java

@ -104,7 +104,7 @@ public class AuthContextUtils {
public static String getLockTheme(){return RES_THEME_LOCK.get();}
public static void setSupplierId(String value){
if(value!=null){
if(StringUtils.hasText(value)){
try {
THREAD_SUPPLIER.set(Long.parseLong(value));
} catch (NumberFormatException e) {

51
src/main/java/com/qs/serve/controller/AdminPortalController.java

@ -29,9 +29,13 @@ import com.qs.serve.modules.goods.service.GoodsSkuService;
import com.qs.serve.modules.goods.service.GoodsSpuService;
import com.qs.serve.modules.oms.entity.OmsOrder;
import com.qs.serve.modules.oms.entity.OmsOrderItem;
import com.qs.serve.modules.oms.entity.OmsSaleOrder;
import com.qs.serve.modules.oms.entity.OmsSaleOrderItem;
import com.qs.serve.modules.oms.mapper.OmsOrderMapper;
import com.qs.serve.modules.oms.service.OmsOrderItemService;
import com.qs.serve.modules.oms.service.OmsOrderService;
import com.qs.serve.modules.oms.service.OmsSaleOrderItemService;
import com.qs.serve.modules.oms.service.OmsSaleOrderService;
import com.qs.serve.modules.seeyon.entity.SyAffairStateResult;
import com.qs.serve.modules.seeyon.enums.SyAffairState;
import com.qs.serve.modules.seeyon.service.SeeYonRequestService;
@ -98,6 +102,10 @@ public class AdminPortalController {
private OmsOrderService omsOrderService;
private OmsOrderItemService omsOrderItemService;
private OmsSaleOrderService omsSaleOrderService;
private OmsSaleOrderItemService omsSaleOrderItemService;
private BmsSupplierAddressService bmsSupplierAddressService;
private GoodsCategoryRuleService goodsCategoryRuleService;
private GoodsSpuService goodsSpuService;
@ -358,4 +366,47 @@ public class AdminPortalController {
return R.error();
}
/**
* 根据ID查询
* @param id
* @return
*/
@GetMapping("/getSaleOrder/{id}")
public R<OmsSaleOrder> getSaleOrderById(@PathVariable("id") String id, String supplierId){
AuthContextUtils.setTenant("001");
OmsSaleOrder omsOrder = omsSaleOrderService.getById(id);
if(omsOrder==null){return R.errorNotFound();}
omsOrder.setBrandRuleInfo(goodsCategoryRuleService.getById(omsOrder.getBrandRuleId()));
omsOrder.setAddressInfo(bmsSupplierAddressService.getById(omsOrder.getSupplierAddrId()));
// 关联折扣信息
if(StringUtils.hasText(omsOrder.getOaRateId())){
SimpleKeyValue obj = omsOrderMapper.getExpiredRateInfo(omsOrder.getOaRateId());
omsOrder.setDiscountRateInfo(obj);
}
if(omsOrder.getSupplierId().toString().equals(supplierId)){
LambdaQueryWrapper<OmsSaleOrderItem> lqw = new LambdaQueryWrapper<>();
lqw.eq(OmsSaleOrderItem::getOrderId,id);
List<OmsSaleOrderItem> list = omsSaleOrderItemService.list(lqw);
for (OmsSaleOrderItem orderItem : list) {
GoodsSpu goodsSpu = goodsSpuService.getById(orderItem.getSpuId());
GoodsCategory goodsCategory = goodsCategoryService.getById(goodsSpu.getCategoryLast());
orderItem.setCategoryInfo(goodsCategory);
orderItem.setSpuInfo(goodsSpu);
GoodsSku goodsSku = goodsSkuService.getById(orderItem.getSkuId());
if(goodsSku!=null){
orderItem.setSkuSpecialFlag(goodsSku.getSpecialFlag());
}
//临期品添加批次对象
if(omsOrder.getOrderType().equals(3)&&orderItem.getSkuBatchId()!=null){
orderItem.setBatchInfo(goodsImminentBatchMapper.selectById(orderItem.getSkuBatchId()));
}
}
omsOrder.setOrderItems(list);
return R.ok(omsOrder);
}
return R.error();
}
}

34
src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java

@ -549,23 +549,23 @@ public class GoodsSpuController {
List<InventoryCusPrice> inventoryCusPrices = null;
try {
if(skuCodes.size()>0){
List<GoodsCustomerPrice> customerPrices = goodsCustomerPriceService.getBySupplierCodeAndCode(supplierCode,skuCodes);
return customerPrices.stream().map(obj->{
InventoryCusPrice cusPrice = new InventoryCusPrice();
cusPrice.setCusCode(supplierCode);
cusPrice.setInvCode(obj.getSkuCode());
cusPrice.setPrice(obj.getRealPrice());
return cusPrice;
}).collect(Collectors.toList());
// InventoryCusPriceQuery query = new InventoryCusPriceQuery();
// query.setCusCode(supplierCode);
// query.setInvCodes(skuCodes);
// R<String> res = seeYonRequestBaseService.postBase(TbsSeeYonConst.ERP_CUS_INV_PRICE,query,"查询客户特殊价");
// if(res.getStatus().equals(200)){
// inventoryCusPrices = JsonUtil.jsonToList(res.getData(), InventoryCusPrice.class);
// }
//
// List<GoodsCustomerPrice> customerPrices = goodsCustomerPriceService.getBySupplierCodeAndCode(supplierCode,skuCodes);
// return customerPrices.stream().map(obj->{
// InventoryCusPrice cusPrice = new InventoryCusPrice();
// cusPrice.setCusCode(supplierCode);
// cusPrice.setInvCode(obj.getSkuCode());
// cusPrice.setPrice(obj.getRealPrice());
// return cusPrice;
// }).collect(Collectors.toList());
InventoryCusPriceQuery query = new InventoryCusPriceQuery();
query.setCusCode(supplierCode);
query.setInvCodes(skuCodes);
R<String> res = seeYonRequestBaseService.postBase(TbsSeeYonConst.ERP_CUS_INV_PRICE,query,"查询客户特殊价");
if(res.getStatus().equals(200)){
inventoryCusPrices = JsonUtil.jsonToList(res.getData(), InventoryCusPrice.class);
}
}
} catch (Exception e) {
log.error("客户特殊价异常:{}",e.getMessage());

40
src/main/java/com/qs/serve/modules/goods/service/impl/GoodsSkuServiceImpl.java

@ -91,29 +91,29 @@ public class GoodsSkuServiceImpl extends ServiceImpl<GoodsSkuMapper,GoodsSku> im
query.setCusCode(supplierCode);
query.setInvCodes(codes);
try {
GoodsCustomerPriceService goodsCustomerPriceService = SpringUtils.getBean(GoodsCustomerPriceService.class);
List<GoodsCustomerPrice> customerPrices = goodsCustomerPriceService.getBySupplierCodeAndCode(supplierCode,codes);
for (GoodsCustomerPrice customerPrice : customerPrices) {
for (GoodsSku sku : skus) {
if(sku.getSkuCode().equals(customerPrice.getSkuCode())){
sku.setSalesPrice(customerPrice.getRealPrice());
break;
}
}
}
// R<String> res = seeYonRequestBaseService.postBase(TbsSeeYonConst.ERP_CUS_INV_PRICE,query,"查询客户特殊价");
// if(res.getStatus().equals(200)){
// List<InventoryCusPrice> inventoryCusPrices = JsonUtil.jsonToList(res.getData(), InventoryCusPrice.class);
// assert inventoryCusPrices != null;
// for (InventoryCusPrice cusPrice : inventoryCusPrices) {
// for (GoodsSku sku : skus) {
// if(sku.getSkuCode().equals(cusPrice.getInvCode())){
// sku.setSalesPrice(cusPrice.getPrice());
// break;
// }
// GoodsCustomerPriceService goodsCustomerPriceService = SpringUtils.getBean(GoodsCustomerPriceService.class);
// List<GoodsCustomerPrice> customerPrices = goodsCustomerPriceService.getBySupplierCodeAndCode(supplierCode,codes);
// for (GoodsCustomerPrice customerPrice : customerPrices) {
// for (GoodsSku sku : skus) {
// if(sku.getSkuCode().equals(customerPrice.getSkuCode())){
// sku.setSalesPrice(customerPrice.getRealPrice());
// break;
// }
// }
// }
R<String> res = seeYonRequestBaseService.postBase(TbsSeeYonConst.ERP_CUS_INV_PRICE,query,"查询客户特殊价");
if(res.getStatus().equals(200)){
List<InventoryCusPrice> inventoryCusPrices = JsonUtil.jsonToList(res.getData(), InventoryCusPrice.class);
assert inventoryCusPrices != null;
for (InventoryCusPrice cusPrice : inventoryCusPrices) {
for (GoodsSku sku : skus) {
if(sku.getSkuCode().equals(cusPrice.getInvCode())){
sku.setSalesPrice(cusPrice.getPrice());
break;
}
}
}
}
} catch (Exception e) {
log.error("客户特殊价异常:{}",e.getMessage());
}

18
src/main/java/com/qs/serve/modules/oms/controller/OmsSaleOrderController.java

@ -15,10 +15,7 @@ import com.qs.serve.modules.bms.entity.BmsSupplierAddress;
import com.qs.serve.modules.bms.mapper.BmsSupplierMapper;
import com.qs.serve.modules.bms.service.BmsSupplierAddressService;
import com.qs.serve.modules.oms.common.OmsOrderCheckState;
import com.qs.serve.modules.oms.entity.OmsOrder;
import com.qs.serve.modules.oms.entity.OmsOrderItem;
import com.qs.serve.modules.oms.entity.OmsSaleOrder;
import com.qs.serve.modules.oms.entity.OmsSaleOrderItem;
import com.qs.serve.modules.oms.entity.*;
import com.qs.serve.modules.oms.entity.bo.*;
import com.qs.serve.modules.oms.entity.vo.OmsPlanResult;
import com.qs.serve.modules.oms.entity.vo.OmsSpuAssesInfo;
@ -58,6 +55,7 @@ public class OmsSaleOrderController {
private OmsSaleOrderItemService omsSaleOrderItemService;
private BmsSupplierMapper bmsSupplierMapper;
private SeeYonRequestBaseService seeYonRequestBaseService;
private OmsVerSaleOrderService omsVerSaleOrderService;
/**
* 查看排产预估计划
@ -94,6 +92,18 @@ public class OmsSaleOrderController {
return R.ok(omsSaleOrderService.getChangeLog(code));
}
/**
* 获取erp订单日志
* @param code
* @return
*/
@GetMapping("getErpOrderChanges")
public R<?> getErpOrderVersionChangeLogs(String code){
List<OmsVerSaleOrder> list = omsVerSaleOrderService.list(new LambdaQueryWrapper<OmsVerSaleOrder>()
.eq(OmsVerSaleOrder::getOrderSn,code)
.orderByAsc(OmsVerSaleOrder::getId));
return R.ok(list);
}
/**
* 获取ERP订单信息

60
src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java

@ -690,21 +690,21 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper, OmsOrder> i
String supplierCode = supplier.getCode();
List<String> skuCodes = orderItems.stream().map(OmsOrderItem::getSkuCode).collect(Collectors.toList());
if (skuCodes.size() > 0) {
List<GoodsCustomerPrice> customerPrices = goodsCustomerPriceService.getBySupplierCodeAndCode(supplierCode, skuCodes);
inventoryCusPrices = customerPrices.stream().map(obj -> {
InventoryCusPrice cusPrice = new InventoryCusPrice();
cusPrice.setCusCode(supplierCode);
cusPrice.setInvCode(obj.getSkuCode());
cusPrice.setPrice(obj.getRealPrice());
return cusPrice;
}).collect(Collectors.toList());
// InventoryCusPriceQuery query = new InventoryCusPriceQuery();
// query.setCusCode(supplierCode);
// query.setInvCodes(skuCodes);
// R<String> res = seeYonRequestBaseService.postBase(TbsSeeYonConst.ERP_CUS_INV_PRICE,query,"查询客户特殊价");
// if(res.getStatus().equals(200)){
// inventoryCusPrices = JsonUtil.jsonToList(res.getData(), InventoryCusPrice.class);
// }
// List<GoodsCustomerPrice> customerPrices = goodsCustomerPriceService.getBySupplierCodeAndCode(supplierCode, skuCodes);
// inventoryCusPrices = customerPrices.stream().map(obj -> {
// InventoryCusPrice cusPrice = new InventoryCusPrice();
// cusPrice.setCusCode(supplierCode);
// cusPrice.setInvCode(obj.getSkuCode());
// cusPrice.setPrice(obj.getRealPrice());
// return cusPrice;
// }).collect(Collectors.toList());
InventoryCusPriceQuery query = new InventoryCusPriceQuery();
query.setCusCode(supplierCode);
query.setInvCodes(skuCodes);
R<String> res = seeYonRequestBaseService.postBase(TbsSeeYonConst.ERP_CUS_INV_PRICE,query,"查询客户特殊价");
if(res.getStatus().equals(200)){
inventoryCusPrices = JsonUtil.jsonToList(res.getData(), InventoryCusPrice.class);
}
}
} catch (Exception e) {
log.error("客户特殊价异常:{}", e.getMessage());
@ -1023,14 +1023,32 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper, OmsOrder> i
}
private void buildSkuSpecPrice(BmsSupplier supplier, List<OmsOrderItem> orderItems, List<String> skuCodes) {
List<GoodsCustomerPrice> customerPrices = goodsCustomerPriceService.getBySupplierCodeAndCode(supplier.getCode(), skuCodes);
for (OmsOrderItem orderItem : orderItems) {
for (GoodsCustomerPrice customerPrice : customerPrices) {
if (orderItem.getSkuCode().equals(customerPrice.getSkuCode())) {
orderItem.setSalesPrice(customerPrice.getRealPrice());
break;
// List<GoodsCustomerPrice> customerPrices = goodsCustomerPriceService.getBySupplierCodeAndCode(supplier.getCode(), skuCodes);
// for (OmsOrderItem orderItem : orderItems) {
// for (GoodsCustomerPrice customerPrice : customerPrices) {
// if (orderItem.getSkuCode().equals(customerPrice.getSkuCode())) {
// orderItem.setSalesPrice(customerPrice.getRealPrice());
// break;
// }
// }
// }
InventoryCusPriceQuery query = new InventoryCusPriceQuery();
query.setCusCode(supplier.getCode());
query.setInvCodes(skuCodes);
try {
R<String> res = seeYonRequestBaseService.postBase(TbsSeeYonConst.ERP_CUS_INV_PRICE,query,"查询客户特殊价");
if(res.getStatus().equals(200)){
List<InventoryCusPrice> inventoryCusPrices = JsonUtil.jsonToList(res.getData(), InventoryCusPrice.class);
for (InventoryCusPrice cusPrice : inventoryCusPrices) {
for (OmsOrderItem orderItem : orderItems) {
if(cusPrice.getCusCode().equals(orderItem.getSkuCode())&&cusPrice.getPrice().compareTo(cusPrice.getPrice())!=0){
orderItem.setSalesPrice(cusPrice.getPrice());
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}

109
src/main/java/com/qs/serve/modules/oms/service/impl/OmsSaleOrderServiceImpl.java

@ -670,7 +670,7 @@ public class OmsSaleOrderServiceImpl extends ServiceImpl<OmsSaleOrderMapper, Oms
OmsSaleOrder order = new OmsSaleOrder();
String orderPrefix = null;
if (order.getOrderType() == null || order.getOrderType().equals(0)) {
orderPrefix = "SN";
orderPrefix = "";
} else if (order.getOrderType().equals(1)) {
orderPrefix = "ZP";
} else if (order.getOrderType().equals(2)) {
@ -781,21 +781,21 @@ public class OmsSaleOrderServiceImpl extends ServiceImpl<OmsSaleOrderMapper, Oms
String supplierCode = supplier.getCode();
List<String> skuCodes = orderItems.stream().map(OmsSaleOrderItem::getSkuCode).collect(Collectors.toList());
if (skuCodes.size() > 0) {
List<GoodsCustomerPrice> customerPrices = goodsCustomerPriceService.getBySupplierCodeAndCode(supplierCode, skuCodes);
inventoryCusPrices = customerPrices.stream().map(obj -> {
InventoryCusPrice cusPrice = new InventoryCusPrice();
cusPrice.setCusCode(supplierCode);
cusPrice.setInvCode(obj.getSkuCode());
cusPrice.setPrice(obj.getRealPrice());
return cusPrice;
}).collect(Collectors.toList());
// InventoryCusPriceQuery query = new InventoryCusPriceQuery();
// query.setCusCode(supplierCode);
// query.setInvCodes(skuCodes);
// R<String> res = seeYonRequestBaseService.postBase(TbsSeeYonConst.ERP_CUS_INV_PRICE,query,"查询客户特殊价");
// if(res.getStatus().equals(200)){
// inventoryCusPrices = JsonUtil.jsonToList(res.getData(), InventoryCusPrice.class);
// }
// List<GoodsCustomerPrice> customerPrices = goodsCustomerPriceService.getBySupplierCodeAndCode(supplierCode, skuCodes);
// inventoryCusPrices = customerPrices.stream().map(obj -> {
// InventoryCusPrice cusPrice = new InventoryCusPrice();
// cusPrice.setCusCode(supplierCode);
// cusPrice.setInvCode(obj.getSkuCode());
// cusPrice.setPrice(obj.getRealPrice());
// return cusPrice;
// }).collect(Collectors.toList());
InventoryCusPriceQuery query = new InventoryCusPriceQuery();
query.setCusCode(supplierCode);
query.setInvCodes(skuCodes);
R<String> res = seeYonRequestBaseService.postBase(TbsSeeYonConst.ERP_CUS_INV_PRICE,query,"查询客户特殊价");
if(res.getStatus().equals(200)){
inventoryCusPrices = JsonUtil.jsonToList(res.getData(), InventoryCusPrice.class);
}
}
} catch (Exception e) {
log.error("客户特殊价异常:{}", e.getMessage());
@ -1287,14 +1287,32 @@ public class OmsSaleOrderServiceImpl extends ServiceImpl<OmsSaleOrderMapper, Oms
}
private void buildSkuSpecPrice(BmsSupplier supplier, List<OmsSaleOrderItem> orderItems, List<String> skuCodes) {
List<GoodsCustomerPrice> customerPrices = goodsCustomerPriceService.getBySupplierCodeAndCode(supplier.getCode(), skuCodes);
for (OmsSaleOrderItem orderItem : orderItems) {
for (GoodsCustomerPrice customerPrice : customerPrices) {
if (orderItem.getSkuCode().equals(customerPrice.getSkuCode())) {
orderItem.setSalesPrice(customerPrice.getRealPrice());
break;
// List<GoodsCustomerPrice> customerPrices = goodsCustomerPriceService.getBySupplierCodeAndCode(supplier.getCode(), skuCodes);
// for (OmsSaleOrderItem orderItem : orderItems) {
// for (GoodsCustomerPrice customerPrice : customerPrices) {
// if (orderItem.getSkuCode().equals(customerPrice.getSkuCode())) {
// orderItem.setSalesPrice(customerPrice.getRealPrice());
// break;
// }
// }
// }
InventoryCusPriceQuery query = new InventoryCusPriceQuery();
query.setCusCode(supplier.getCode());
query.setInvCodes(skuCodes);
try {
R<String> res = seeYonRequestBaseService.postBase(TbsSeeYonConst.ERP_CUS_INV_PRICE,query,"查询客户特殊价");
if(res.getStatus().equals(200)){
List<InventoryCusPrice> inventoryCusPrices = JsonUtil.jsonToList(res.getData(), InventoryCusPrice.class);
for (InventoryCusPrice cusPrice : inventoryCusPrices) {
for (OmsSaleOrderItem orderItem : orderItems) {
if(cusPrice.getCusCode().equals(orderItem.getSkuCode())&&cusPrice.getPrice().compareTo(cusPrice.getPrice())!=0){
orderItem.setSalesPrice(cusPrice.getPrice());
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
@ -1311,9 +1329,9 @@ public class OmsSaleOrderServiceImpl extends ServiceImpl<OmsSaleOrderMapper, Oms
Assert.throwEx("非制单人无法下单");
}
// 非临期品不走当前流程
// if(omsOrder.getOrderType().equals(3)){
// Assert.throwEx("临期品需要审批方式下单");
// }
if(omsOrder.getOrderType().equals(3)){
Assert.throwEx("临期品需要审批方式下单");
}
this.checkMsOrderStatus(omsOrder);
if (!omsOrder.getStatus().equals(0) && !omsOrder.getStatus().equals(6)) {
Assert.throwEx("订单状态不支持下单");
@ -1379,9 +1397,8 @@ public class OmsSaleOrderServiceImpl extends ServiceImpl<OmsSaleOrderMapper, Oms
omsOrder.setStatus(2);
omsOrder.setCheckTime(LocalDateTime.now());
omsOrder.setCheckUserId(omsOrder.getCreateBy());
if(omsOrder.getOrderSn().contains("SN")){
omsOrder.setBusinessType("普通销售");
}
omsOrder.setBusinessType("普通销售");
omsOrder.setSaleDept("客户服务部");
omsOrder.setSaleType("常规销售");
if(!omsOrder.getOrderType().equals(3)){
@ -1401,6 +1418,23 @@ public class OmsSaleOrderServiceImpl extends ServiceImpl<OmsSaleOrderMapper, Oms
this.flushPreDelivery(omsOrder.getId()+"");
// 统计产品数量、总金额、总体积和总重量
int totalQuantity = 0;
BigDecimal totalAmount = BigDecimal.ZERO;
double totalVolume = 0.0;
double totalWeight = 0.0;
for (OmsSaleOrderItem baseItem : orderItemList) {
totalQuantity += baseItem.getQuantity();
totalAmount = totalAmount.add(baseItem.getSalesPrice().multiply(new BigDecimal(baseItem.getQuantity())));
if(baseItem.getVolume()!=null){
totalVolume += baseItem.getVolume().doubleValue() * baseItem.getQuantity();
}
if(baseItem.getWeight()!=null){
totalWeight += baseItem.getWeight().doubleValue() * baseItem.getQuantity();
}
}
//保存版本变更
OmsVerSaleOrder verSaleOrder = new OmsVerSaleOrder();
verSaleOrder.setOrderSn(omsOrder.getOrderSn());
@ -1410,21 +1444,30 @@ public class OmsSaleOrderServiceImpl extends ServiceImpl<OmsSaleOrderMapper, Oms
verSaleOrder.setCurrentVersion(omsOrder.getVersion());
StringBuilder sb = new StringBuilder();
for (OmsSaleOrderItem baseItem : orderItemList) {
sb.append(String.format("商品[%s] 数量:%d,价格:%.2f\n",
sb.append(String.format("商品[%s %s] 数量:%d,价格:%.2f,体积:%.2f,重量:%.2f\n",
baseItem.getSkuCode(),
baseItem.getSkuTitle(),
baseItem.getQuantity(),
baseItem.getSalesPrice()));
baseItem.getSalesPrice(),
baseItem.getVolume(),
baseItem.getWeight()
));
}
sb.append(String.format("产品数量:%d,总金额:%.2f,总体积:%.2f,总重量:%.2f",
totalQuantity,
totalAmount,
totalVolume,
totalWeight));
verSaleOrder.setOperationContext(sb.toString());
if(omsOrder.getVersion().equals("cms")){
verSaleOrder.setOperationType("提交");
verSaleOrder.setLastVersion(omsOrder.getVersion());
verSaleOrder.setSort(0);
}else {
OmsVerSaleOrder version = omsVerSaleOrderMapper.getLastVersionByOrderSn(omsOrder.getOrderSn());
verSaleOrder.setOperationType("重新提交");
//TODO 获取上一个版本号
verSaleOrder.setLastVersion("");
verSaleOrder.setSort(0);
verSaleOrder.setLastVersion(version.getCurrentVersion());
verSaleOrder.setSort(version.getSort()+1);
}
omsVerSaleOrderMapper.insert(verSaleOrder);

2
src/main/java/com/qs/serve/modules/tbs/common/dto/TbsBudgetChangeVo.java

@ -49,6 +49,8 @@ public class TbsBudgetChangeVo {
@NotNull(message = "审批状态不能为空")
private Integer budgetCheckState;
private Integer budgetState;
/** 科目id */
@NotNull(message = "科目id不能为空")
private Long subjectId;

14
src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java

@ -587,6 +587,20 @@ public class TbsCostApplyController {
return R.ok(resultInfoList);
}
/**
* 移除费用申请
* @param costCode
* @param remark
* @return
*/
@GetMapping("removeByAdmin2")
public R<?> removeByAdmin2(String costCode,String remark){
TbsCostApply costApply = tbsCostApplyMapper.selectList(new LambdaQueryWrapper<TbsCostApply>().eq(TbsCostApply::getCode,costCode)).get(0);
Long costApplyId = costApply.getId();
deleteLogService.deleteCostApply(costApplyId,remark);
BirActivityCenterGoodsUtil.buildBir(costApplyId);
return R.ok();
}
/**
* 移除费用申请

28
src/main/java/com/qs/serve/modules/third/PortalOfCostRmController.java

@ -0,0 +1,28 @@
package com.qs.serve.modules.third;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author YenHex
* @since 2025/2/24
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("thirty/cost")
public class PortalOfCostRmController {
/**
* 移除试吃品费用
*/
@PostMapping("/rmSHXCost")
public void rmShxSpuCost(){
}
}

34
src/main/resources/mapper/tbs/TbsBudgetChangeMapper.xml

@ -28,7 +28,37 @@
<result property="userName" column="user_name"/>
</resultMap>
<select id="selectChangeVoList" resultType="com.qs.serve.modules.tbs.common.dto.TbsBudgetChangeVo">
<resultMap id="budgetChangeResultMap" type="com.qs.serve.modules.tbs.common.dto.TbsBudgetChangeVo">
<result property="type" column="type"/>
<result property="budgetChangeId" column="budget_change_id"/>
<result property="budgetId" column="budget_id"/>
<result property="changeCode" column="change_code"/>
<result property="budgetTitle" column="budget_title"/>
<result property="newBudgetTitle" column="new_budget_title"/>
<result property="budgetNumber" column="budget_number"/>
<result property="budgetState" column="budget_state"/>
<result property="budgetCheckState" column="budget_check_state"/>
<result property="subjectId" column="subject_id"/>
<result property="subjectCode" column="subject_code"/>
<result property="subjectName" column="subject_name"/>
<result property="centerType" column="center_type"/>
<result property="centerId" column="center_id"/>
<result property="centerCode" column="center_code"/>
<result property="centerName" column="center_name"/>
<result property="scheduleId" column="schedule_id"/>
<result property="scheduleCode" column="schedule_code"/>
<result property="scheduleName" column="schedule_name"/>
<result property="submitTime" column="submit_time"/>
<result property="remark" column="remark"/>
<result property="userId" column="user_id"/>
<result property="userCode" column="user_code"/>
<result property="userName" column="user_name"/>
<result property="batchApplyFlag" column="batch_apply_flag"/>
<result property="batchApplyId" column="batch_apply_id"/>
</resultMap>
<select id="selectChangeVoList" resultType="com.qs.serve.modules.tbs.common.dto.TbsBudgetChangeVo" resultMap="budgetChangeResultMap">
select
'apply' as type,
null as `budget_change_id`,
@ -91,10 +121,10 @@
tbs_budget_change.`schedule_code`,
tbs_budget_change.`schedule_name`,
tbs_budget_change.`submit_time`,
tbs_budget_change.`remark`,
tbs_budget_change.`user_id`,
tbs_budget_change.`user_code`,
tbs_budget_change.`user_name`,
tbs_budget_change.`remark`,
tbs_budget_change.`batch_apply_flag`,
tbs_budget_change.`batch_apply_id`
from tbs_budget_change

Loading…
Cancel
Save