|
|
@@ -34,12 +34,16 @@ import org.springblade.client.vo.GoodsDescVO;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
|
import org.springblade.core.secure.utils.SecureUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
+import org.springblade.mocha.entity.SalesPolicy;
|
|
|
+import org.springblade.mocha.entity.SalesPolicyItem;
|
|
|
import org.springblade.mocha.feign.IPriceItemClient;
|
|
|
+import org.springblade.mocha.feign.ISalesPolicyClient;
|
|
|
import org.springblade.purchase.sales.entity.Order;
|
|
|
import org.springblade.purchase.sales.entity.OrderItems;
|
|
|
import org.springblade.purchase.sales.entity.OrderParts;
|
|
|
import org.springblade.purchase.sales.excel.DealerOrderItem;
|
|
|
import org.springblade.purchase.sales.excel.OrderItemsExcel;
|
|
|
+import org.springblade.purchase.sales.excel.PolicyExcel;
|
|
|
import org.springblade.purchase.sales.excel.orderItemStat;
|
|
|
import org.springblade.purchase.sales.mapper.OrderItemsMapper;
|
|
|
import org.springblade.purchase.sales.mapper.OrderPartsMapper;
|
|
|
@@ -54,10 +58,7 @@ import org.springframework.stereotype.Service;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.BigInteger;
|
|
|
import java.math.RoundingMode;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* 订单明细表 服务实现类
|
|
|
@@ -98,6 +99,8 @@ public class OrderItemsServiceImpl extends ServiceImpl<OrderItemsMapper, OrderIt
|
|
|
private final IStorageClient iStorageClient;
|
|
|
|
|
|
private final OrderPartsMapper orderPartsMapper;
|
|
|
+ //获取政策
|
|
|
+ private final ISalesPolicyClient salesPolicyClient;
|
|
|
|
|
|
@Override
|
|
|
public IPage<OrderItemsVO> selectOrderItemsPage(IPage<OrderItemsVO> page, OrderItemsVO orderItems) {
|
|
|
@@ -572,4 +575,40 @@ public class OrderItemsServiceImpl extends ServiceImpl<OrderItemsMapper, OrderIt
|
|
|
return page.setRecords(baseMapper.dataset(page, datasetVO));
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public R<Map<String,Object>> importPolicy(List<PolicyExcel> data, Boolean isCovered,Long policyName,String salesType) {
|
|
|
+ Map<String,Object> map = new HashMap<>();
|
|
|
+ //查找政策
|
|
|
+ SalesPolicy policy = salesPolicyClient.getPolicy(policyName);
|
|
|
+ if (policy == null){
|
|
|
+ throw new SecurityException("未找到政策信息");
|
|
|
+ }
|
|
|
+ StringBuffer stringBuffer = new StringBuffer();//导入失败的商品
|
|
|
+ List<SalesPolicyItem> list = new ArrayList<>();
|
|
|
+ //根据商品编码和主政策id查政策明细
|
|
|
+ for(int i=0;i<data.size();i++)
|
|
|
+ {
|
|
|
+ PolicyExcel policyExcel = data.get(i);
|
|
|
+ if (StringUtils.isBlank(policyExcel.getCode())){
|
|
|
+ stringBuffer.append(policyExcel.getCode()+",");
|
|
|
+ data.remove(i);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (policyExcel.getOrderQuantity() == null){
|
|
|
+ policyExcel.setOrderQuantity(BigDecimal.ZERO);
|
|
|
+ }
|
|
|
+ SalesPolicyItem policyItem = salesPolicyClient.getPolicyItem(policyExcel.getCode(), policy.getId(),salesType);
|
|
|
+ if (policyItem == null){
|
|
|
+ stringBuffer.append(policyExcel.getCode()+",");
|
|
|
+ data.remove(i);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ policyItem.setOrderQuantity(policyExcel.getOrderQuantity());
|
|
|
+ list.add(policyItem);
|
|
|
+ }
|
|
|
+ map.put("list",list);
|
|
|
+ map.put("message",stringBuffer.toString());
|
|
|
+ return R.data(map);
|
|
|
+ }
|
|
|
+
|
|
|
}
|