Ver Fonte

2022年8月2日17点00分

纪新园 há 3 anos atrás
pai
commit
fc4b2b035e
26 ficheiros alterados com 251 adições e 27 exclusões
  1. 5 0
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/GoodsDesc.java
  2. 11 0
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/feign/IGoodsDescClient.java
  3. 11 0
      blade-service-api/blade-dict-api/src/main/java/org/springblade/system/feign/IDictBizClient.java
  4. 5 0
      blade-service-api/blade-dict-api/src/main/java/org/springblade/system/feign/IDictBizClientFallback.java
  5. 6 0
      blade-service-api/blade-project-api/src/main/java/org/springblade/project/entity/ServiceProject.java
  6. 5 0
      blade-service-api/blade-project-api/src/main/java/org/springblade/project/entity/ServiceProjectItem.java
  7. 6 0
      blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/OrderItems.java
  8. 1 1
      blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/entity/OrderItems.java
  9. 9 2
      blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/entity/OrderItemsExecl.java
  10. 1 0
      blade-service/blade-client/src/main/java/org/springblade/client/corps/controller/CorpsDescController.java
  11. 21 7
      blade-service/blade-client/src/main/java/org/springblade/client/goods/feign/GoodsDescClient.java
  12. 9 0
      blade-service/blade-client/src/main/java/org/springblade/client/goods/service/impl/GoodsDescServiceImpl.java
  13. 5 4
      blade-service/blade-project/src/main/java/org/springblade/project/controller/ProjectController.java
  14. 25 0
      blade-service/blade-project/src/main/java/org/springblade/project/service/impl/ServiceProjectServiceImpl.java
  15. 10 0
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/entrance/EntranceOrderController.java
  16. 6 0
      blade-service/blade-system/src/main/java/org/springblade/system/feign/DictBizClient.java
  17. 9 0
      blade-service/blade-system/src/main/java/org/springblade/system/mapper/DictBizMapper.java
  18. 5 0
      blade-service/blade-system/src/main/java/org/springblade/system/mapper/DictBizMapper.xml
  19. 10 0
      blade-service/blade-system/src/main/java/org/springblade/system/service/IDictBizService.java
  20. 12 0
      blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DictBizServiceImpl.java
  21. 2 2
      blade-service/trade-finance/src/main/java/org/springblade/finance/controller/AccController.java
  22. 5 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/controller/SettlementController.java
  23. 10 0
      blade-service/trade-purchase/src/main/java/com/trade/purchase/extra/controller/LeadsController.java
  24. 7 0
      blade-service/trade-purchase/src/main/java/com/trade/purchase/extra/service/ILeadsService.java
  25. 32 10
      blade-service/trade-purchase/src/main/java/com/trade/purchase/extra/service/impl/LeadsServiceImpl.java
  26. 23 0
      blade-service/trade-purchase/src/main/java/com/trade/purchase/order/controller/PurchaseOrderController.java

+ 5 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/GoodsDesc.java

@@ -274,4 +274,9 @@ public class GoodsDesc implements Serializable {
 	 */
 	private String coefficient;
 
+	/**
+	 * 提成比例
+	 */
+	private BigDecimal commission;
+
 }

+ 11 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/feign/IGoodsDescClient.java

@@ -31,6 +31,7 @@ public interface IGoodsDescClient {
 	String TERRAC_ECODE = API_PREFIX + "terraceCode";
 	String GET_TERRAC_ECODE = API_PREFIX + "getTerraceCode";
 	String GET_GOODS_DESC_DETIAL = API_PREFIX+ "getGoodsDescDetail";
+	String GET_GOODS_DESC_BY_CNAME = API_PREFIX+ "getGoodsDescByCname";
 	/**
 	 * 获取商品信息
 	 *
@@ -147,4 +148,14 @@ public interface IGoodsDescClient {
 	 */
 	@GetMapping(GET_GOODS_DESC_DETIAL)
 	GoodsDesc getGoodsDescDetail(@RequestParam("Id") Long Id);
+
+
+	/**
+	 * 获取商品信息
+	 *
+	 * @param cname  商品名
+	 * @return
+	 */
+	@GetMapping(GET_GOODS_DESC_BY_CNAME)
+	GoodsDesc getGoodsDescByCname(@RequestParam("cname") String cname);
 }

+ 11 - 0
blade-service-api/blade-dict-api/src/main/java/org/springblade/system/feign/IDictBizClient.java

@@ -41,6 +41,7 @@ public interface IDictBizClient {
 	String GET_BY_ID = API_PREFIX + "/dict-biz/get-by-id";
 	String GET_VALUE = API_PREFIX + "/dict-biz/get-value";
 	String GET_LIST = API_PREFIX + "/dict-biz/get-list";
+	String GET_ID = API_PREFIX + "/dict-biz/get-id";
 
 	/**
 	 * 获取字典实体
@@ -70,4 +71,14 @@ public interface IDictBizClient {
 	@GetMapping(GET_LIST)
 	R<List<DictBiz>> getList(@RequestParam("code") String code);
 
+	/**
+	 * 获取字典Id
+	 *
+	 * @param code    字典编号
+	 * @param dictKey 字典序号
+	 * @return
+	 */
+	@GetMapping(GET_ID)
+	R<Long> getId(@RequestParam("code") String code, @RequestParam("dictKey") String dictKey);
+
 }

+ 5 - 0
blade-service-api/blade-dict-api/src/main/java/org/springblade/system/feign/IDictBizClientFallback.java

@@ -43,4 +43,9 @@ public class IDictBizClientFallback implements IDictBizClient {
 	public R<List<DictBiz>> getList(String code) {
 		return R.fail("获取数据失败");
 	}
+
+	@Override
+	public R<Long> getId(String code, String dictKey) {
+		return R.fail("获取数据失败");
+	}
 }

+ 6 - 0
blade-service-api/blade-project-api/src/main/java/org/springblade/project/entity/ServiceProject.java

@@ -169,5 +169,11 @@ public class ServiceProject  implements Serializable {
 	@TableField(exist = false)
 	private BigDecimal total;
 
+	/**
+	 * 提成比例
+	 */
+	@TableField(exist = false)
+	private BigDecimal commission;
+
 
 }

+ 5 - 0
blade-service-api/blade-project-api/src/main/java/org/springblade/project/entity/ServiceProjectItem.java

@@ -184,5 +184,10 @@ public class ServiceProjectItem extends TenantEntity implements Serializable {
 	 */
 	private Integer taskStatus;
 
+	/**
+	 * 提成
+	 */
+	private BigDecimal commission;
+
 
 }

+ 6 - 0
blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/OrderItems.java

@@ -502,4 +502,10 @@ public class OrderItems implements Serializable {
 	 */
 	@ApiModelProperty(value = "是否特价")
 	private Integer isSpecial;
+
+	/**
+	 * 毛重
+	 */
+	@ApiModelProperty(value = "毛重")
+	private BigDecimal grossWeight;
 }

+ 1 - 1
blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/entity/OrderItems.java

@@ -319,7 +319,7 @@ public class OrderItems extends OrderBase {
 	 * 箱型
 	 */
 	@ApiModelProperty(value = "箱型")
-	private Long cntrType;
+	private String cntrType;
 	/**
 	 * 箱量
 	 */

+ 9 - 2
blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/entity/OrderItemsExecl.java

@@ -1,7 +1,10 @@
 package com.trade.purchase.order.entity;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.trade.purchase.order.common.entity.OrderBase;
+import io.protostuff.Exclude;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -20,9 +23,13 @@ public class OrderItemsExecl {
 	private String billNo;
 
 	//商品类别名称
-	@ExcelProperty("商品类别名称")
+	@ExcelProperty("货物品种")
 	private String priceCategoryNames;
 
+	//商品类别id
+	@ExcelIgnore
+	private Long priceCategory;
+
 	//规格型号
 	@ExcelProperty("规格型号")
 	private String specificationAndModel;
@@ -37,7 +44,7 @@ public class OrderItemsExecl {
 
 	//箱型
 	@ExcelProperty("箱型")
-	private Long cntrType;
+	private String cntrType;
 
 	//件数
 	@ExcelProperty("件数")

+ 1 - 0
blade-service/blade-client/src/main/java/org/springblade/client/corps/controller/CorpsDescController.java

@@ -227,6 +227,7 @@ public class CorpsDescController extends BladeController {
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "删除", notes = "传入ids")
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+
 		return R.status(corpsDescService.removeByIds(Func.toLongList(ids)));
 	}
 

+ 21 - 7
blade-service/blade-client/src/main/java/org/springblade/client/goods/feign/GoodsDescClient.java

@@ -22,7 +22,6 @@ import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringUtil;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
@@ -159,23 +158,23 @@ public class GoodsDescClient implements IGoodsDescClient {
 	}
 
 	@Override
-	public GoodsDesc terraceCode(String code,String tenantId) {
-		return goodsDescService.terraceCode(code,tenantId);
+	public GoodsDesc terraceCode(String code, String tenantId) {
+		return goodsDescService.terraceCode(code, tenantId);
 	}
 
 	@Override
 	public GoodsDesc getTerraceCode(String terraceCode, String tenantId) {
 		LambdaQueryWrapper<GoodsDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-		lambdaQueryWrapper.eq(GoodsDesc::getIsDeleted,0);
-		lambdaQueryWrapper.eq(GoodsDesc::getTerraceCode,terraceCode);
-		lambdaQueryWrapper.eq(GoodsDesc::getTenantId,tenantId);
+		lambdaQueryWrapper.eq(GoodsDesc::getIsDeleted, 0);
+		lambdaQueryWrapper.eq(GoodsDesc::getTerraceCode, terraceCode);
+		lambdaQueryWrapper.eq(GoodsDesc::getTenantId, tenantId);
 		return goodsDescService.getOne(lambdaQueryWrapper);
 	}
 
 	/**
 	 * 根据商品id获取商品信息
 	 *
-	 * @param id  商品id
+	 * @param id 商品id
 	 * @return
 	 */
 	@Override
@@ -184,6 +183,21 @@ public class GoodsDescClient implements IGoodsDescClient {
 	}
 
 	/**
+	 * 获取商品信息
+	 *
+	 * @param cname 商品名
+	 * @return
+	 */
+	@Override
+	public GoodsDesc getGoodsDescByCname(String cname) {
+		LambdaQueryWrapper<GoodsDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(GoodsDesc::getIsDeleted, 0);
+		lambdaQueryWrapper.eq(GoodsDesc::getTenantId, AuthUtil.getTenantId());
+		lambdaQueryWrapper.eq(GoodsDesc::getCname, cname);
+		return goodsDescService.getOne(lambdaQueryWrapper);
+	}
+
+	/**
 	 * 递归查询ID
 	 */
 	private void selectChildById(Long id, List<Long> idList) {

+ 9 - 0
blade-service/blade-client/src/main/java/org/springblade/client/goods/service/impl/GoodsDescServiceImpl.java

@@ -432,6 +432,15 @@ public class GoodsDescServiceImpl extends ServiceImpl<GoodsDescMapper, GoodsDesc
 				GoodsDesc goodsDesc = new GoodsDesc();
 				goodsDesc.setCode(e.getCode());
 				goodsDesc.setCname(e.getCname());
+				goodsDesc.setEname(e.getEname());
+				goodsDesc.setTypeno(e.getTypeno());
+				goodsDesc.setEtypeno(e.getEtypeno());
+				goodsDesc.setCustomName(e.getCustomName());
+				goodsDesc.setCustomEname(e.getCustomEname());
+				goodsDesc.setCustomCode(e.getCustomCode());
+				goodsDesc.setCustomRate(e.getCustomRate());
+				goodsDesc.setNameDescription(e.getNameDescription());
+				goodsDesc.setCnameDescription(e.getCnameDescription());
 				if (StringUtil.isBlank(goodsDesc.getCnameInt())) {
 					goodsDesc.setCnameInt(getCnameInt(goodsDesc.getCname()));
 				}

+ 5 - 4
blade-service/blade-project/src/main/java/org/springblade/project/controller/ProjectController.java

@@ -23,6 +23,7 @@ import org.springblade.system.entity.Dept;
 import org.springblade.system.entity.Tenant;
 import org.springblade.system.feign.ISysClient;
 import org.springblade.system.feign.ITenantClient;
+import org.springblade.system.user.entity.User;
 import org.springblade.system.user.feign.IUserClient;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
@@ -329,8 +330,8 @@ public class ProjectController {
 			}
 		}
 
-		// 承做人
-		/*  if(!CollectionUtils.isEmpty(users))
+		/*// 承做人
+		  if(!CollectionUtils.isEmpty(users))
 		{
 		  List<Long> userIds = users.stream().map(User::getId).collect(Collectors.toList());
 		  itemLambdaQueryWrapper .in(ServiceProjectItem::getUserid,userIds);
@@ -363,11 +364,11 @@ public class ProjectController {
 				}
 				//承做人
 
-				/* R<User> userR = userClient.userInfoById(e.getUserid());
+				 R<User> userR = userClient.userInfoById(e.getUserid());
 				if(userR.isSuccess())
 				{
 				  e.setUserName(userR.getData().getRealName());
-				}*/
+				}
 				//毛收入
 				e.setGrossIncome((e.getServiceCharge().add(e.getMatMoney())).subtract(e.getCostReturn()));
 			});

+ 25 - 0
blade-service/blade-project/src/main/java/org/springblade/project/service/impl/ServiceProjectServiceImpl.java

@@ -490,14 +490,39 @@ public class ServiceProjectServiceImpl extends ServiceImpl<ServiceProjectMapper,
 				}
 				switch (ls.getFrequency()) {
 					case "1"://年
+						if(ObjectUtils.isNotNull(ls.getCommission())){
+							ls.setCommission(ls.getAmount().multiply(ls.getCommission()).divide(new BigDecimal(ls.getSecond() * 12)));
+						}else{
+							ls.setCommission(new BigDecimal(0));
+						}
 						this.insertProjectItem(ls, ls.getSecond() * 12, serviceProject.getId());
 					case "2"://半年
+						if(ObjectUtils.isNotNull(ls.getCommission())){
+							ls.setCommission(ls.getAmount().multiply(ls.getCommission()).divide(new BigDecimal(ls.getSecond() * 6)));
+						}else{
+							ls.setCommission(new BigDecimal(0));
+						}
 						this.insertProjectItem(ls, ls.getSecond() * 6, serviceProject.getId());
 					case "3"://季度
+						if(ObjectUtils.isNotNull(ls.getCommission())){
+							ls.setCommission(ls.getAmount().multiply(ls.getCommission()).divide(new BigDecimal(ls.getSecond() * 3)));
+						}else{
+							ls.setCommission(new BigDecimal(0));
+						}
 						this.insertProjectItem(ls, ls.getSecond() * 3, serviceProject.getId());
 					case "4"://月
+						if(ObjectUtils.isNotNull(ls.getCommission())){
+							ls.setCommission(ls.getAmount().multiply(ls.getCommission()).divide(new BigDecimal(ls.getSecond())));
+						}else{
+							ls.setCommission(new BigDecimal(0));
+						}
 						this.insertProjectItem(ls, ls.getSecond(), serviceProject.getId());
 					case "5"://次
+						if(ObjectUtils.isNotNull(ls.getCommission())){
+							ls.setCommission(ls.getAmount().multiply(ls.getCommission()).divide(new BigDecimal(ls.getSecond())));
+						}else{
+							ls.setCommission(new BigDecimal(0));
+						}
 						this.insertProjectItem(ls, ls.getSecond(), serviceProject.getId());
 					default:
 						status.set(0);

+ 10 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/entrance/EntranceOrderController.java

@@ -331,4 +331,14 @@ public class EntranceOrderController extends BladeController {
 	}
 
 
+	/**
+	 * 删除 销售或采购费用明细订单表
+	 */
+	@PostMapping("/removeOrderFees")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "删除", notes = "传入id")
+	public R removeOrderFees(@ApiParam(value = "主键id", required = true) @RequestParam String id) {
+		return R.status(orderFeesService.removeById(Long.parseLong(id)));
+	}
+
 }

+ 6 - 0
blade-service/blade-system/src/main/java/org/springblade/system/feign/DictBizClient.java

@@ -60,4 +60,10 @@ public class DictBizClient implements IDictBizClient {
 		return R.data(service.getList(code));
 	}
 
+	@Override
+	@GetMapping(GET_ID)
+	public R<Long> getId(String code, String dictKey) {
+		return R.data(service.getId(code, dictKey));
+	}
+
 }

+ 9 - 0
blade-service/blade-system/src/main/java/org/springblade/system/mapper/DictBizMapper.java

@@ -61,4 +61,13 @@ public interface DictBizMapper extends BaseMapper<DictBiz> {
 	 */
 	List<DictBizVO> parentTree();
 
+	/**
+	 * 获取字典id
+	 *
+	 * @param code    字典编号
+	 * @param dictKey 字典序号
+	 * @return
+	 */
+	Long getId(String code, String dictKey);
+
 }

+ 5 - 0
blade-service/blade-system/src/main/java/org/springblade/system/mapper/DictBizMapper.xml

@@ -47,5 +47,10 @@
     <select id="parentTree" resultMap="treeNodeResultMap">
         select id, parent_id, dict_value as title, id as "value", id as "key" from blade_dict_biz where is_deleted = 0 and parent_id = 0
     </select>
+    <select id="getId" resultType="java.lang.Long">
+        select
+            id
+        from blade_dict_biz where code = #{param1} and dict_key = #{param2} and is_deleted = 0
+    </select>
 
 </mapper>

+ 10 - 0
blade-service/blade-system/src/main/java/org/springblade/system/service/IDictBizService.java

@@ -98,4 +98,14 @@ public interface IDictBizService extends IService<DictBiz> {
 	 */
 	List<DictBizVO> childList(Map<String, Object> dict, Long parentId);
 
+
+	/**
+	 * 获取字典id
+	 *
+	 * @param code    字典编号
+	 * @param dictKey 字典序号
+	 * @return
+	 */
+	Long getId(String code, String dictKey);
+
 }

+ 12 - 0
blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DictBizServiceImpl.java

@@ -116,4 +116,16 @@ public class DictBizServiceImpl extends ServiceImpl<DictBizMapper, DictBiz> impl
 		List<DictBiz> list = this.list(Condition.getQueryWrapper(dict, DictBiz.class).lambda().ne(DictBiz::getId, parentId).eq(DictBiz::getCode, parentDict.getCode()).orderByAsc(DictBiz::getSort));
 		return DictBizWrapper.build().listNodeVO(list);
 	}
+
+	/**
+	 * 获取字典id
+	 *
+	 * @param code    字典编号
+	 * @param dictKey 字典序号
+	 * @return
+	 */
+	@Override
+	public Long getId(String code, String dictKey) {
+		return baseMapper.getId(code, dictKey);
+	}
 }

+ 2 - 2
blade-service/trade-finance/src/main/java/org/springblade/finance/controller/AccController.java

@@ -109,9 +109,9 @@ public class AccController extends BladeController {
 	public R<IPage<Acc>> list(Acc acc, Query query) {
 		LambdaQueryWrapper<Acc> accLambdaQueryWrapper = new LambdaQueryWrapper<>();
 		if (acc.getFlag() != null && acc.getFlag() == 1) {
-			accLambdaQueryWrapper.apply(" Amount > Settlement_Amount");
+			accLambdaQueryWrapper.apply(" Amount >= Settlement_Amount");
 		} else if (acc.getFlag() != null && acc.getFlag() == 2) {
-			accLambdaQueryWrapper.apply(" Amount > Invoice_Amount");
+			accLambdaQueryWrapper.apply(" Amount >= Invoice_Amount");
 		}
 		accLambdaQueryWrapper.between(StringUtils.isNotBlank(acc.getCreateStartDate()) && StringUtils.isNotBlank(acc.getCreateEndDate()), Acc::getCreateTime, acc.getCreateStartDate(), acc.getCreateEndDate())
 			.like(StringUtils.isNotBlank(acc.getBillType()), Acc::getBillType, acc.getBillType())

+ 5 - 1
blade-service/trade-finance/src/main/java/org/springblade/finance/controller/SettlementController.java

@@ -361,7 +361,11 @@ public class SettlementController extends BladeController {
 			.eq(Acc::getIsDeleted, 0);
 		List<Acc> accList = accService.list(accLambdaQueryWrapper);
 		return R.data(accList.stream().filter(e -> e.getSettlementAmount() != null).reduce(BigDecimal.ZERO, (x, y) -> {
-			return x.add(y.getSettlementAmount().multiply(y.getExchangeRate()));
+			if (!y.getExchangeRate().equals(BigDecimal.ZERO)){
+				return x.add(y.getSettlementAmount().multiply(y.getExchangeRate()));
+			}else{
+				return x.add(y.getSettlementAmount());
+			}
 		}, BigDecimal::add));
 	}
 

+ 10 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/extra/controller/LeadsController.java

@@ -152,6 +152,16 @@ public class LeadsController extends BladeController {
 		return R.success("操作成功");
 	}
 
+	/**
+	 * 新增 销售机会表(请核)
+	 */
+	@PostMapping("/leadsSubmit")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入leads")
+	public R leadsSubmit(@Valid @RequestBody Leads leads) {
+		return R.data(leadsService.leadsSubmit(leads));
+	}
+
 
 
 }

+ 7 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/extra/service/ILeadsService.java

@@ -91,4 +91,11 @@ public interface ILeadsService extends IService<Leads> {
 	 * 审批不通过
 	 */
 	void leadsPassCancel(Long id);
+
+	/**
+	 * 销售机会提交
+	 * @param leads
+	 * @return
+	 */
+	Object leadsSubmit(Leads leads);
 }

+ 32 - 10
blade-service/trade-purchase/src/main/java/com/trade/purchase/extra/service/impl/LeadsServiceImpl.java

@@ -124,16 +124,6 @@ public class LeadsServiceImpl extends ServiceImpl<LeadsMapper, Leads> implements
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public Long saveLeads(Leads leads) {
-
-		R<CorpsDesc> corpsDescR = corpsDescClient.getCorpByName(leads.getCorpName(),AuthUtil.getTenantId());
-		if (ObjectUtils.isNull(corpsDescR.getData())){
-			CorpsDesc corpsDesc = new CorpsDesc();
-			corpsDesc.setCname(leads.getCorpName());
-			corpsDesc.setCorpType("KH");
-			corpsDescClient.insertCorp(corpsDesc);
-			leads.setCorpId(corpsDesc.getId());
-;		}
-
 		if (ObjectUtil.isEmpty(leads.getId())) {
 			leads.setTenantId(AuthUtil.getTenantId());
 			leads.setCreateUser(AuthUtil.getUserId());
@@ -187,6 +177,9 @@ public class LeadsServiceImpl extends ServiceImpl<LeadsMapper, Leads> implements
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public R saveExamine(Leads leads) {
+		if (ObjectUtils.isNull(leads.getItemList())){
+			throw new SecurityException("清核失败:沟通记录为空,不允许提交请核");
+		}
 		if (ObjectUtil.isNotEmpty(leads.getId())){
 			Leads leads1 = baseMapper.selectById(leads.getId());
 			if(leads1==null)
@@ -271,6 +264,35 @@ public class LeadsServiceImpl extends ServiceImpl<LeadsMapper, Leads> implements
 		baseMapper.updateById(leads);
 	}
 
+	/**
+	 * 销售机会提交
+	 * @param leads
+	 * @return
+	 */
+	@Override
+	public Object leadsSubmit(Leads leads) {
+
+		// 判断该客户是否存在  如果存在直接返回,不存在怎么新增客户并将新客户id添加到销售机会中
+		R<CorpsDesc> corpsDescR = corpsDescClient.getCorpByName(leads.getCorpName(),AuthUtil.getTenantId());
+		if (ObjectUtils.isNull(corpsDescR.getData())){
+			CorpsDesc corpsDesc = new CorpsDesc();
+			corpsDesc.setCname(leads.getCorpName());
+			corpsDesc.setCode(leads.getCorpName());
+			corpsDesc.setCorpType("KH");
+			corpsDescClient.insertCorp(corpsDesc);
+
+			if (ObjectUtil.isNotEmpty(leads.getId())) {
+				leads.setCorpId(corpsDesc.getId());
+				leads.setUpdateUser(AuthUtil.getUserId());
+				leads.setUpdateTime(new Date());
+				baseMapper.updateById(leads);
+			}else{
+				throw new SecurityException("操作失败:未查询到销售机会数据");
+			}
+		}
+		return leads;
+	}
+
 	private String getUserName(Long userId) {
 		R<User> user = userClient.userInfoById(userId);
 		if (user.isSuccess() && ObjectUtil.isNotEmpty(user.getData())) {

+ 23 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/controller/PurchaseOrderController.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.baomidou.mybatisplus.core.toolkit.BeanUtils;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
@@ -23,7 +24,9 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
+import lombok.val;
 import org.springblade.client.entity.CorpsDesc;
+import org.springblade.client.entity.GoodsDesc;
 import org.springblade.client.feign.ICorpsDescClient;
 import org.springblade.client.feign.IGoodsDescClient;
 import org.springblade.client.vo.GoodsDescVO;
@@ -38,6 +41,7 @@ import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.CollectionUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.ObjectUtil;
+import org.springblade.system.feign.IDictBizClient;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.feign.IUserClient;
 import org.springframework.web.bind.annotation.*;
@@ -78,6 +82,8 @@ public class PurchaseOrderController extends BladeController {
 
     private IUserClient userClient;
 
+    private IDictBizClient dictBizClient;
+
 
 	/**
 	 * 详情
@@ -517,6 +523,17 @@ public class PurchaseOrderController extends BladeController {
 	@ApiOperationSupport(order = 7)
 	@ApiOperation(value = "删除", notes = "传入ids")
 	public R<String> remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		if (ObjectUtils.isNotNull(ids)){
+			List<Long> arrs = Arrays.stream(ids.split(",")).map(Long::parseLong).collect(Collectors.toList());
+			for (Long arr:arrs) {
+				LambdaQueryWrapper<OrderItems> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+				lambdaQueryWrapper.eq(OrderItems::getPid,arr);
+				List<OrderItems> orderItemsList =  orderItemsService.list(lambdaQueryWrapper);
+				if (ObjectUtils.isNotNull(orderItemsList)){
+					return R.fail("该采购订单存在明细,无法删除订单");
+				}
+			}
+		}
 		return R.status(orderService.removeByIds(Func.toLongList(ids)));
 	}
 
@@ -691,6 +708,12 @@ public class PurchaseOrderController extends BladeController {
 		if (CollectionUtils.isEmpty(excelList)) {
 			throw new SecurityException("数据不能为空");
 		}
+		for (OrderItemsExecl orderItemsExecl:excelList) {
+			GoodsDesc goodsDesc = goodsDescClient.getGoodsDescByCname(orderItemsExecl.getPriceCategoryNames());
+			if (ObjectUtils.isNotNull(goodsDesc)){
+				orderItemsExecl.setPriceCategory(goodsDesc.getId());
+			}
+		}
 		return R.data(excelList);
 	}