浏览代码

1.经销商pc-问卷调查保存接口
2.销售出库,撤销出库,销售列表接口内外单据区分去掉,统一流程
3.增加同步经销商品牌接口
4.增加pc查询地图接口

纪新园 1 周之前
父节点
当前提交
a2aadb97f6
共有 24 个文件被更改,包括 388 次插入257 次删除
  1. 25 1
      blade-common/src/main/java/org/springblade/common/utils/AddressUtil.java
  2. 12 0
      blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/corps/entity/PjCorpsAddr.java
  3. 0 13
      blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/fegin/IBrandClient.java
  4. 1 1
      blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/fegin/IGoodsBrandClient.java
  5. 0 1
      blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/goods/entity/PjBrandDesc.java
  6. 14 0
      blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/survey/vo/BladeSurveyVO.java
  7. 12 0
      blade-service-api/gubersail-dealer-app-api/src/main/java/com/gubersail/app/api/corps/entity/AppPjCorpsAddr.java
  8. 12 0
      blade-service-api/gubersail-shop-app-api/src/main/java/com/gubersail/shop/app/api/corps/entity/ShopAppPjCorpsAddr.java
  9. 2 0
      blade-service/blade-user/src/main/java/org/springblade/system/user/UserApplication.java
  10. 32 0
      blade-service/blade-user/src/main/java/org/springblade/system/user/feign/UserClient.java
  11. 11 0
      blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/corp/controller/CorpsAddrController.java
  12. 25 4
      blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/corp/service/impl/CorpsDescServiceImpl.java
  13. 0 19
      blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/fegin/BrandClient.java
  14. 2 5
      blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/fegin/GoodsBrandClient.java
  15. 4 4
      blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/order/controller/OrderController.java
  16. 4 4
      blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/order/controller/ReturnsController.java
  17. 2 10
      blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/ship/controller/ShipController.java
  18. 179 183
      blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/ship/service/impl/ShipServiceImpl.java
  19. 2 4
      blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/survey/controller/BladeSurveyController.java
  20. 3 0
      blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/survey/service/IBladeSurveyService.java
  21. 34 0
      blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/survey/service/impl/BladeSurveyServiceImpl.java
  22. 4 0
      blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/corp/service/impl/AppCorpsDescServiceImpl.java
  23. 4 4
      blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/order/controller/AppOrderController.java
  24. 4 4
      blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/order/controller/AppReturnsController.java

+ 25 - 1
blade-common/src/main/java/org/springblade/common/utils/AddressUtil.java

@@ -14,7 +14,7 @@ import java.util.Map;
 
 public class AddressUtil {
 
-	private final static String AMAPkey = "giPPmuSUdzqr6IuvBEnSggHfUvVDORUC";
+	private final static String AMAPkey = "639d6b93b11d15c8b7df707612d42b8e";
 
 	public static Map<String, BigDecimal> getLnglat(String address) {
 		//"http://restapi.amap.com/v3/geocode/geo?address=上海市东方明珠&output=JSON&key=xxxxxxxxx";
@@ -51,6 +51,30 @@ public class AddressUtil {
 		}
 	}
 
+	public static JSONObject getLnglatV1(String address) {
+		String geturl = "https://restapi.amap.com/v3/geocode/regeo?location=" + address + "&output=JSON&key=" + AMAPkey;
+		String location = "";
+		try {
+			URL url = new URL(geturl);    // 把字符串转换为URL请求地址
+			HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 打开连接
+			connection.connect();// 连接会话
+			// 获取输入流
+			BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
+			String line;
+			StringBuilder sb = new StringBuilder();
+			while ((line = br.readLine()) != null) {// 循环读取流
+				sb.append(line);
+			}
+			br.close();// 关闭流
+			connection.disconnect();// 断开连接
+			System.out.println(JSON.parseObject(sb.toString()));
+			return JSON.parseObject(sb.toString());
+		} catch (Exception e) {
+			System.out.println(address + "获取经纬度失败");
+			return null;
+		}
+	}
+
 	public static void main(String[] args) {
 		Map<String, BigDecimal> map = AddressUtil.getLnglat("丰台区");
 		System.out.println(map);

+ 12 - 0
blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/corps/entity/PjCorpsAddr.java

@@ -139,4 +139,16 @@ public class PjCorpsAddr implements Serializable {
 	@ApiModelProperty(value = "电话")
 	private String tel;
 
+	/**
+	 * 经度
+	 */
+	@ApiModelProperty(value = "经度")
+	private String longitude;
+
+	/**
+	 * 维度
+	 */
+	@ApiModelProperty(value = "维度")
+	private String dimension;
+
 }

+ 0 - 13
blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/fegin/IBrandClient.java

@@ -1,7 +1,6 @@
 package com.gubersail.dealer.admin.api.fegin;
 
 import com.gubersail.dealer.admin.api.corps.entity.PjCorpsDesc;
-import com.gubersail.dealer.admin.api.goods.entity.PjBrandDesc;
 import com.gubersail.dealer.admin.api.goods.entity.PjGoodsDesc;
 import com.gubersail.dealer.admin.api.inventory.entity.PjStockDesc;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -17,8 +16,6 @@ public interface IBrandClient {
 
 	String API_PREFIX = "/client";
 
-	String GET_DEALER_BRAND_LIST = API_PREFIX + "/getDealerBrandList";
-
 	String GET_CORP_LIST = API_PREFIX + "/getCorpList";
 
 	String GET_STOCK_DESC_BY_GOODS_ID = API_PREFIX + "/getStockDescByGoodsId";
@@ -28,15 +25,6 @@ public interface IBrandClient {
 
 
 	/**
-	 * 获取经销商品牌列表
-	 *
-	 * @return 结果
-	 */
-	@GetMapping(GET_DEALER_BRAND_LIST)
-	List<PjBrandDesc> getDealerBrandList();
-
-
-	/**
 	 * 获取客户列表
 	 *
 	 * @param corpsDesc 查询参数
@@ -66,5 +54,4 @@ public interface IBrandClient {
 	List<PjGoodsDesc> getGoodsList(PjGoodsDesc goodsDesc);
 
 
-
 }

+ 1 - 1
blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/fegin/IGoodsBrandClient.java

@@ -34,6 +34,6 @@ public interface IGoodsBrandClient {
 	 * @return 结果
 	 */
 	@GetMapping(GET_DEALER_BRAND_LIST)
-	List<PjBrandDesc> getBrandList(PjBrandDesc pjBrandDesc);
+	List<PjBrandDesc> getBrandList();
 
 }

+ 0 - 1
blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/goods/entity/PjBrandDesc.java

@@ -50,7 +50,6 @@ public class PjBrandDesc implements Serializable {
 	 */
 	@ApiModelProperty(value = "租户id")
 	private String tenantId = AuthUtil.getTenantId();
-	;
 	/**
 	 * 创建人
 	 */

+ 14 - 0
blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/survey/vo/BladeSurveyVO.java

@@ -18,6 +18,7 @@ package com.gubersail.dealer.admin.api.survey.vo;
 
 import com.gubersail.dealer.admin.api.imageStore.entity.BladeImageStoreApplyAttachment;
 import com.gubersail.dealer.admin.api.survey.entity.BladeSurvey;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;
@@ -45,6 +46,19 @@ public class BladeSurveyVO extends BladeSurvey {
 	 */
 	private String updateUserName;
 
+	/**
+	 * 填写方公司名
+	 */
+	private String companyName;
+	/**
+	 * 填写人姓名
+	 */
+	private String fillName;
+	/**
+	 * 联系电话
+	 */
+	private String fillPhone;
+
 
 	/**
 	 * 问卷题目表

+ 12 - 0
blade-service-api/gubersail-dealer-app-api/src/main/java/com/gubersail/app/api/corps/entity/AppPjCorpsAddr.java

@@ -139,4 +139,16 @@ public class AppPjCorpsAddr implements Serializable {
 	@ApiModelProperty(value = "电话")
 	private String tel;
 
+	/**
+	 * 经度
+	 */
+	@ApiModelProperty(value = "经度")
+	private String longitude;
+
+	/**
+	 * 维度
+	 */
+	@ApiModelProperty(value = "维度")
+	private String dimension;
+
 }

+ 12 - 0
blade-service-api/gubersail-shop-app-api/src/main/java/com/gubersail/shop/app/api/corps/entity/ShopAppPjCorpsAddr.java

@@ -139,4 +139,16 @@ public class ShopAppPjCorpsAddr implements Serializable {
 	@ApiModelProperty(value = "电话")
 	private String tel;
 
+	/**
+	 * 经度
+	 */
+	@ApiModelProperty(value = "经度")
+	private String longitude;
+
+	/**
+	 * 维度
+	 */
+	@ApiModelProperty(value = "维度")
+	private String dimension;
+
 }

+ 2 - 0
blade-service/blade-user/src/main/java/org/springblade/system/user/UserApplication.java

@@ -5,6 +5,7 @@ import org.springblade.core.cloud.feign.EnableBladeFeign;
 import org.springblade.core.launch.BladeApplication;
 import org.springblade.core.launch.constant.AppConstant;
 import org.springframework.cloud.client.SpringCloudApplication;
+import org.springframework.cloud.openfeign.EnableFeignClients;
 
 /**
  * 用户启动器
@@ -13,6 +14,7 @@ import org.springframework.cloud.client.SpringCloudApplication;
  */
 @EnableBladeFeign
 @SpringCloudApplication
+@EnableFeignClients({"com.gubersail","org.springblade"})
 public class UserApplication {
 
 	public static void main(String[] args) {

+ 32 - 0
blade-service/blade-user/src/main/java/org/springblade/system/user/feign/UserClient.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.gubersail.dealer.admin.api.fegin.IGoodsBrandClient;
+import com.gubersail.dealer.admin.api.goods.entity.PjBrandDesc;
 import lombok.AllArgsConstructor;
 import org.apache.ibatis.datasource.DataSourceException;
 import org.springblade.common.config.MD5Util;
@@ -405,6 +406,37 @@ public class UserClient implements IUserClient {
 				userDeptService.remove(Wrappers.<UserDept>update().lambda().eq(UserDept::getUserId, user.getId()));
 			});
 			userDeptService.saveOrUpdateBatch(userDeptList);
+			List<PjBrandDesc> brandDescList = new ArrayList<>();
+			List<PjBrandDesc> brandList = goodsBrandClient.getBrandList();
+			for (ZcrmViewCustomerSel customerSel : customerSelList) {
+				if (ObjectUtils.isNull(customerSel.getPubDescSeg4Name()) || userList.isEmpty()) {
+					continue;
+				}
+				User user = userList.stream().filter(e -> e.getCustomerId().equals(customerSel.getCustomerId()))
+					.findFirst().orElse(null);
+				if (user == null) {
+					continue;
+				}
+				List<String> name = Func.toStrList(";", customerSel.getPubDescSeg4Name());
+				for (String item : name) {
+					if (!brandList.isEmpty() && brandList.stream().anyMatch(e -> e.getCname().equals(item) &&
+						e.getCreateDept().equals(Long.parseLong(user.getDeptId())))) {
+						continue;
+					}
+					PjBrandDesc brandDesc = new PjBrandDesc();
+					brandDesc.setCreateUser(user.getId());
+					brandDesc.setCreateDept(Long.parseLong(user.getDeptId()));
+					brandDesc.setCreateTime(new Date());
+					brandDesc.setEnableOrNot(1);
+					brandDesc.setCname(customerSel.getPubDescSeg4Name());
+					brandDesc.setType("PP");
+					brandDescList.add(brandDesc);
+				}
+			}
+			R res = goodsBrandClient.addBrandList(brandDescList);
+			if (!res.isSuccess()) {
+				throw new RuntimeException("同步品牌失败");
+			}
 		}
 		return R.success("成功");
 	}

+ 11 - 0
blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/corp/controller/CorpsAddrController.java

@@ -29,6 +29,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
+import org.springblade.common.utils.AddressUtil;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
@@ -224,4 +225,14 @@ public class CorpsAddrController extends BladeController {
 		}
 		return R.data(list);
 	}
+
+	/**
+	 * 获取经纬度
+	 */
+	@GetMapping("getAddressMessage")
+	@ApiOperationSupport(order = 14)
+	@ApiOperation(value = "获取经纬度")
+	public R getAddressMessage(@RequestParam("location") String location) {
+		return R.data(AddressUtil.getLnglatV1(location));
+	}
 }

+ 25 - 4
blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/corp/service/impl/CorpsDescServiceImpl.java

@@ -10,7 +10,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gubersail.admin.corp.mapper.CorpsDescMapper;
 import com.gubersail.admin.corp.service.ICorpsDescService;
 import com.gubersail.admin.goods.service.IBrandDescService;
-import com.gubersail.admin.zcrm.customer.service.IViewCustomerSelService;
 import com.gubersail.dealer.admin.api.corps.entity.*;
 import com.gubersail.dealer.admin.api.corps.vo.CorpsDescVO;
 import com.gubersail.dealer.admin.api.excel.CorpsDescImportExcel;
@@ -92,7 +91,7 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, PjCorpsDe
 					corpsTypeList.stream().filter(e -> id.equals(e.getId() + "")).findFirst()
 						.ifPresent(corpsType -> corpsTypeName.append(corpsType.getCname()).append(","));
 				}
-				if (ObjectUtils.isNotNull(corpsTypeName)){
+				if (ObjectUtils.isNotNull(corpsTypeName)) {
 					String corpsName = corpsTypeName.substring(0, corpsTypeName.length() - 1);
 					corpsDescVO.setCorpsTypeName(corpsName);
 				}
@@ -227,7 +226,29 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, PjCorpsDe
 		}
 
 		//保存客户地址信息
-		this.saveOrUpdateAddr(corpsDescVO, userId, pId, tenantId, date);
+		if (CollectionUtils.isNotEmpty(corpsDescVO.getCorpsAddrList())) {
+			long count = corpsDescVO.getCorpsAddrList().stream().filter(e -> "1".equals(e.getDefaultAddres())).count();
+			if (count != 1) {
+				throw new RuntimeException("开启默认地址");
+			}
+			corpsDescVO.getCorpsAddrList().forEach(addr -> {
+				addr.setPid(pId);
+				addr.setTenantId(tenantId);
+				if ("1".equals(addr.getDefaultAddres()) && ObjectUtils.isNotNull(addr.getLongitude())) {
+					corpsDesc.setLongitude(addr.getLongitude());
+					corpsDesc.setDimension(addr.getDimension());
+				}
+				if (addr.getId() == null) {
+					addr.setCreateTime(date);
+					addr.setCreateUser(userId);
+				} else {
+					addr.setUpdateTime(date);
+					addr.setUpdateUser(userId);
+				}
+			});
+			corpsAddrService.saveOrUpdateBatch(corpsDescVO.getCorpsAddrList());
+			this.saveOrUpdate(corpsDesc);
+		}
 
 		//保存客户文件信息
 		this.saveOrUpdateFiles(corpsDescVO, userId, pId, tenantId, date);
@@ -520,7 +541,7 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, PjCorpsDe
 				.eq(PjCorpsAttn::getIsDeleted, 0)
 				.eq(PjCorpsAttn::getTenantId, AuthUtil.getTenantId())
 				.and(i -> i.isNull(PjCorpsAttn::getUserId).or().eq(PjCorpsAttn::getUserId, 0)));
-			if (!corpsAttnList.isEmpty()){
+			if (!corpsAttnList.isEmpty()) {
 				corpsAttnService.createUserBatch(corpsAttnList);
 			}
 		} else {

+ 0 - 19
blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/fegin/BrandClient.java

@@ -2,23 +2,19 @@ package com.gubersail.admin.fegin;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.gubersail.admin.corp.service.ICorpsDescService;
-import com.gubersail.admin.goods.service.IBrandDescService;
 import com.gubersail.admin.goods.service.IGoodsDescService;
 import com.gubersail.admin.inventory.service.IStockDescService;
 import com.gubersail.dealer.admin.api.corps.entity.PjCorpsDesc;
 import com.gubersail.dealer.admin.api.fegin.IBrandClient;
-import com.gubersail.dealer.admin.api.goods.entity.PjBrandDesc;
 import com.gubersail.dealer.admin.api.goods.entity.PjGoodsDesc;
 import com.gubersail.dealer.admin.api.inventory.entity.PjStockDesc;
 import lombok.AllArgsConstructor;
-import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.Collections;
 import java.util.List;
 
 /**
@@ -30,27 +26,12 @@ import java.util.List;
 public class BrandClient implements IBrandClient {
 
 
-	private final IBrandDescService brandDescService;
-
 	private final ICorpsDescService corpsDescService;
 
 	private final IStockDescService stockDescService;
 
 	private final IGoodsDescService goodsDescService;
 
-
-	@Override
-	@GetMapping(IBrandClient.GET_DEALER_BRAND_LIST)
-	public List<PjBrandDesc> getDealerBrandList() {
-		BladeUser bladeUser = new BladeUser();
-		System.out.println(bladeUser);
-		bladeUser.setTenantId(AuthUtil.getTenantId());
-
-		return brandDescService.list(new LambdaQueryWrapper<PjBrandDesc>()
-			.eq(PjBrandDesc::getTenantId, bladeUser.getTenantId()).eq(PjBrandDesc::getType, "PP")
-			.eq(PjBrandDesc::getEnableOrNot, 1).eq(PjBrandDesc::getIsDeleted, 0));
-	}
-
 	@Override
 	@GetMapping(IBrandClient.GET_CORP_LIST)
 	public List<PjCorpsDesc> getCorpList(PjCorpsDesc corpsDesc) {

+ 2 - 5
blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/fegin/GoodsBrandClient.java

@@ -31,14 +31,11 @@ public class GoodsBrandClient implements IGoodsBrandClient {
 	}
 
 	@Override
-	public List<PjBrandDesc> getBrandList(PjBrandDesc pjBrandDesc) {
+	public List<PjBrandDesc> getBrandList() {
 		return brandDescMapper.selectList(new LambdaQueryWrapper<PjBrandDesc>()
-			.eq(PjBrandDesc::getTenantId, pjBrandDesc.getTenantId())
 			.eq(PjBrandDesc::getType, "PP")
 			.eq(PjBrandDesc::getEnableOrNot, 1)
-			.eq(PjBrandDesc::getIsDeleted, 0)
-			.eq(PjBrandDesc::getCname, pjBrandDesc.getCname())
-			.eq(PjBrandDesc::getCreateDept, pjBrandDesc.getCreateDept()));
+			.eq(PjBrandDesc::getIsDeleted, 0));
 	}
 
 }

+ 4 - 4
blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/order/controller/OrderController.java

@@ -137,9 +137,9 @@ public class OrderController extends BladeController {
 		} else {
 			lambdaQueryWrapper.apply(ObjectUtils.isNotEmpty(order.getStatus()), "find_in_set(status,'" + order.getStatus() + "')");
 		}
-		lambdaQueryWrapper.apply("(( business_source = '外部销售' AND FIND_IN_SET( actual_payment_status, '2,3,4' ) )" +
+		/*lambdaQueryWrapper.apply("(( business_source = '外部销售' AND FIND_IN_SET( actual_payment_status, '2,3,4' ) )" +
 			" OR (business_source = '内部销售' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' ))" +
-			" OR (business_source = '额度支付' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' )))");
+			" OR (business_source = '额度支付' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' )))");*/
 		lambdaQueryWrapper.orderByDesc(PjOrder::getCreateTime);
 		if (!AuthUtil.getUserRole().contains("admin")) {
 			List<Long> deptIdList = DeptUtils.getUserFirstDeptId(Long.valueOf(AuthUtil.getDeptId()));
@@ -248,9 +248,9 @@ public class OrderController extends BladeController {
 		} else {
 			lambdaQueryWrapper.apply(ObjectUtils.isNotEmpty(order.getStatus()), "find_in_set(status,'" + order.getStatus() + "')");
 		}
-		lambdaQueryWrapper.apply("(( business_source = '外部销售' AND FIND_IN_SET( actual_payment_status, '2,3,4' ) )" +
+		/*lambdaQueryWrapper.apply("(( business_source = '外部销售' AND FIND_IN_SET( actual_payment_status, '2,3,4' ) )" +
 			" OR (business_source = '内部销售' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' ))" +
-			" OR (business_source = '额度支付' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' )))");
+			" OR (business_source = '额度支付' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' )))");*/
 		lambdaQueryWrapper.orderByDesc(PjOrder::getCreateTime);
 		if (!AuthUtil.getUserRole().contains("admin")) {
 			List<Long> deptIdList = DeptUtils.getUserFirstDeptId(Long.valueOf(AuthUtil.getDeptId()));

+ 4 - 4
blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/order/controller/ReturnsController.java

@@ -116,9 +116,9 @@ public class ReturnsController {
 		} else {
 			lambdaQueryWrapper.apply(ObjectUtils.isNotEmpty(order.getStatus()), "find_in_set(status,'" + order.getStatus() + "')");
 		}
-		lambdaQueryWrapper.apply("(( business_source = '外部销售' AND FIND_IN_SET( actual_payment_status, '2,3,4' ) )" +
+		/*lambdaQueryWrapper.apply("(( business_source = '外部销售' AND FIND_IN_SET( actual_payment_status, '2,3,4' ) )" +
 			" OR (business_source = '内部销售' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' ))" +
-			" OR (business_source = '额度支付' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' )))");
+			" OR (business_source = '额度支付' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' )))");*/
 		lambdaQueryWrapper.orderByDesc(PjOrder::getCreateTime);
 		if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("老板")) {
 			if (AuthUtil.getUserRole().contains("业务员")) {
@@ -218,9 +218,9 @@ public class ReturnsController {
 		} else {
 			lambdaQueryWrapper.apply(ObjectUtils.isNotEmpty(order.getStatus()), "find_in_set(status,'" + order.getStatus() + "')");
 		}
-		lambdaQueryWrapper.apply("(( business_source = '外部销售' AND FIND_IN_SET( actual_payment_status, '2,3,4' ) )" +
+		/*lambdaQueryWrapper.apply("(( business_source = '外部销售' AND FIND_IN_SET( actual_payment_status, '2,3,4' ) )" +
 			" OR (business_source = '内部销售' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' ))" +
-			" OR (business_source = '额度支付' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' )))");
+			" OR (business_source = '额度支付' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' )))");*/
 		lambdaQueryWrapper.orderByDesc(PjOrder::getCreateTime);
 		if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("老板")) {
 			if (AuthUtil.getUserRole().contains("业务员")) {

+ 2 - 10
blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/ship/controller/ShipController.java

@@ -21,24 +21,17 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import com.gubersail.admin.annotation.VersionControl;
-import com.gubersail.admin.ship.service.IShipItemsService;
 import com.gubersail.admin.ship.service.IShipService;
 import com.gubersail.admin.util.DeptUtils;
-import com.gubersail.admin.wrapper.OrderWrapper;
 import com.gubersail.admin.wrapper.ShipWrapper;
 import com.gubersail.dealer.admin.api.excel.PjShipStockDetails;
 import com.gubersail.dealer.admin.api.excel.ShipItemImportCodeExcel;
 import com.gubersail.dealer.admin.api.excel.ShipItemImportExcel;
-import com.gubersail.dealer.admin.api.order.entity.PjOrder;
-import com.gubersail.dealer.admin.api.order.vo.OrderVO;
 import com.gubersail.dealer.admin.api.ship.dto.ShipItemsDTO;
 import com.gubersail.dealer.admin.api.ship.entity.PjShip;
-import com.gubersail.dealer.admin.api.ship.entity.PjShipItems;
 import com.gubersail.dealer.admin.api.ship.vo.ShipVO;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
 import org.springblade.common.annotation.RepeatSubmit;
@@ -79,7 +72,6 @@ import java.util.stream.Collectors;
 public class ShipController extends BladeController {
 
 	private final IShipService shipService;
-	private final IShipItemsService shipItemsService;
 	private final IUserClient userClient;
 
 	/**
@@ -149,7 +141,7 @@ public class ShipController extends BladeController {
 			if (ObjectUtils.isNotNull(user.toString())) {
 				userList = userClient.selectUserList(user.substring(0, user.length() - 1));
 			}
-			for (ShipVO item : voPage.getRecords()){
+			for (ShipVO item : voPage.getRecords()) {
 				if (ObjectUtil.isNotEmpty(userList)) {
 					if (ObjectUtils.isNotNull(item.getUpdateUser())) {
 						userList.stream().filter(e -> e.getId().equals(item.getUpdateUser()))
@@ -394,7 +386,7 @@ public class ShipController extends BladeController {
 	 */
 	@GetMapping("/removeShip")
 	@RepeatSubmit
-	public R removeShip(@RequestParam("id")Long id) {
+	public R removeShip(@RequestParam("id") Long id) {
 		return shipService.removeShip(id);
 	}
 

+ 179 - 183
blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/ship/service/impl/ShipServiceImpl.java

@@ -254,109 +254,107 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 		List<TireStockDesc> pjStockDescArrayList = new ArrayList<>();
 		if (CollectionUtils.isNotEmpty(shipVO.getShipItemsList())) {
 			List<PjOrderItems> pjOrderItemsList = new ArrayList<>();
-			if ("内部销售".equals(ship.getBsType())) {
-				// 保存订单明细
-				List<PjOrderItems> orderItemsList = orderItemsService.list(new LambdaQueryWrapper<PjOrderItems>()
-					.eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
-					.eq(PjOrderItems::getIsDeleted, 0)
-					.eq(PjOrderItems::getPid, ship.getOrdId()));
-				List<Long> goodIds = shipVO.getShipItemsList().stream().map(PjShipItems::getGoodsId).distinct().collect(Collectors.toList());
-				LambdaQueryWrapper<PjGoodsDesc> lambdaQueryWrapperGoods = new LambdaQueryWrapper<PjGoodsDesc>()
-					.eq(PjGoodsDesc::getTenantId, AuthUtil.getTenantId())
-					.eq(PjGoodsDesc::getIsDeleted, 0)
-					.in(PjGoodsDesc::getId, goodIds);
-				if (!AuthUtil.getUserRole().contains("admin")) {
-					lambdaQueryWrapperGoods.eq(PjGoodsDesc::getCreateDept, AuthUtil.getDeptId());
+			// 保存订单明细
+			List<PjOrderItems> orderItemsList = orderItemsService.list(new LambdaQueryWrapper<PjOrderItems>()
+				.eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
+				.eq(PjOrderItems::getIsDeleted, 0)
+				.eq(PjOrderItems::getPid, ship.getOrdId()));
+			List<Long> goodIds = shipVO.getShipItemsList().stream().map(PjShipItems::getGoodsId).distinct().collect(Collectors.toList());
+			LambdaQueryWrapper<PjGoodsDesc> lambdaQueryWrapperGoods = new LambdaQueryWrapper<PjGoodsDesc>()
+				.eq(PjGoodsDesc::getTenantId, AuthUtil.getTenantId())
+				.eq(PjGoodsDesc::getIsDeleted, 0)
+				.in(PjGoodsDesc::getId, goodIds);
+			if (!AuthUtil.getUserRole().contains("admin")) {
+				lambdaQueryWrapperGoods.eq(PjGoodsDesc::getCreateDept, AuthUtil.getDeptId());
+			}
+			List<PjGoodsDesc> pjGoodsDescList = goodsDescMapper.selectList(lambdaQueryWrapperGoods);
+			//修改库存账
+			LambdaQueryWrapper<TireStockDesc> stockLambdaQueryWrapperTireStock = new LambdaQueryWrapper<>();
+			stockLambdaQueryWrapperTireStock
+				.eq(TireStockDesc::getTenantId, AuthUtil.getTenantId())
+				.eq(TireStockDesc::getIsDeleted, 0)
+				.in(TireStockDesc::getGoodsId, goodIds);
+			if (!AuthUtil.getUserRole().contains("admin")) {
+				stockLambdaQueryWrapperTireStock.eq(TireStockDesc::getCreateDept, AuthUtil.getDeptId());
+			}
+			List<TireStockDesc> pjStockDescList = iStockDescService.list(stockLambdaQueryWrapperTireStock);
+			StringBuilder msg = new StringBuilder();
+			for (PjShipItems item : shipVO.getShipItemsList()) {
+				PjGoodsDesc goodsDesc = pjGoodsDescList.stream().filter(e -> e.getId().equals(item.getGoodsId())).findFirst().orElse(null);
+				if (ObjectUtil.isEmpty(goodsDesc)) {
+					throw new RuntimeException("商品数据异常");
 				}
-				List<PjGoodsDesc> pjGoodsDescList = goodsDescMapper.selectList(lambdaQueryWrapperGoods);
-				//修改库存账
-				LambdaQueryWrapper<TireStockDesc> stockLambdaQueryWrapperTireStock = new LambdaQueryWrapper<>();
-				stockLambdaQueryWrapperTireStock
-					.eq(TireStockDesc::getTenantId, AuthUtil.getTenantId())
-					.eq(TireStockDesc::getIsDeleted, 0)
-					.in(TireStockDesc::getGoodsId, goodIds);
-				if (!AuthUtil.getUserRole().contains("admin")) {
-					stockLambdaQueryWrapperTireStock.eq(TireStockDesc::getCreateDept, AuthUtil.getDeptId());
-				}
-				List<TireStockDesc> pjStockDescList = iStockDescService.list(stockLambdaQueryWrapperTireStock);
-				StringBuilder msg = new StringBuilder();
-				for (PjShipItems item : shipVO.getShipItemsList()) {
-					PjGoodsDesc goodsDesc = pjGoodsDescList.stream().filter(e -> e.getId().equals(item.getGoodsId())).findFirst().orElse(null);
-					if (ObjectUtil.isEmpty(goodsDesc)) {
-						throw new RuntimeException("商品数据异常");
-					}
-					if ("1".equals(goodsDesc.getWhether()) && ObjectUtils.isNull(item.getDot())) {
-						throw new RuntimeException("商品:" + goodsDesc.getCname() + ",请选择批次号");
-					}
-					//管理批次号
-					TireStockDesc stockOne;
-					if (ObjectUtil.isNotEmpty(goodsDesc.getWhether()) && "1".equals(goodsDesc.getWhether())) {
-						stockOne = pjStockDescList.stream()
-							.filter(e -> e.getGoodsId().equals(item.getGoodsId()) && e.getStorageId().equals(item.getStorageId())
-								&& e.getDot().equals(item.getDot()) && e.getReservoirAreaId().equals(item.getReservoirAreaId()))
-							.findFirst().orElse(null);
-					} else {
-						stockOne = pjStockDescList.stream()
-							.filter(e -> e.getGoodsId().equals(item.getGoodsId()) && e.getStorageId().equals(item.getStorageId())
-								&& ObjectUtils.isNull(e.getDot()) && e.getReservoirAreaId().equals(item.getReservoirAreaId()))
-							.findFirst().orElse(null);
+				if ("1".equals(goodsDesc.getWhether()) && ObjectUtils.isNull(item.getDot())) {
+					throw new RuntimeException("商品:" + goodsDesc.getCname() + ",请选择批次号");
+				}
+				//管理批次号
+				TireStockDesc stockOne;
+				if (ObjectUtil.isNotEmpty(goodsDesc.getWhether()) && "1".equals(goodsDesc.getWhether())) {
+					stockOne = pjStockDescList.stream()
+						.filter(e -> e.getGoodsId().equals(item.getGoodsId()) && e.getStorageId().equals(item.getStorageId())
+							&& e.getDot().equals(item.getDot()) && e.getReservoirAreaId().equals(item.getReservoirAreaId()))
+						.findFirst().orElse(null);
+				} else {
+					stockOne = pjStockDescList.stream()
+						.filter(e -> e.getGoodsId().equals(item.getGoodsId()) && e.getStorageId().equals(item.getStorageId())
+							&& ObjectUtils.isNull(e.getDot()) && e.getReservoirAreaId().equals(item.getReservoirAreaId()))
+						.findFirst().orElse(null);
+				}
+				if (stockOne != null) {
+					if (stockOne.getBalanceQuantity().compareTo(item.getSendNum()) < 0) {
+						throw new RuntimeException("库区:" + item.getReservoirArea() + "中库存小于实际出库数量");
 					}
-					if (stockOne != null) {
-						if (stockOne.getBalanceQuantity().compareTo(item.getSendNum()) < 0) {
-							throw new RuntimeException("库区:" + item.getReservoirArea() + "中库存小于实际出库数量");
-						}
-						stockOne.setBalanceQuantity(stockOne.getBalanceQuantity().subtract(item.getSendNum()));
-						stockOne.setStoreInventory(stockOne.getBalanceQuantity());
-						BigDecimal inventoryAmount = item.getSendNum().multiply(stockOne.getInventoryCostPrice());
-						BigDecimal rebateInventoryAmount = item.getSendNum().multiply(stockOne.getRebatePrice());
-						stockOne.setInventoryAmount(stockOne.getInventoryAmount().subtract(inventoryAmount));
-						stockOne.setRebateInventoryAmount(stockOne.getRebateInventoryAmount().subtract(rebateInventoryAmount));
-						stockOne.setVersion(stockOne.getVersion());
-						PjOrderItems orderItems = orderItemsList.stream().filter(e -> e.getId().equals(item.getSrcItemId())).findFirst().orElse(null);
-						if (orderItems != null) {
-							if (orderItems.getGoodsNum().compareTo(orderItems.getSendNum().add(item.getSendNum())) < 0) {
-								throw new RuntimeException(orderItems.getGoodsName() + "剩余应发货数量" + orderItems.getGoodsNum().subtract(orderItems.getSendNum()));
-							} else {
-								orderItems.setSendNum(orderItems.getSendNum().add(item.getSendNum()));
-							}
-							orderItems.setGoodsTotalShipAmount(orderItems.getSendNum().multiply(orderItems.getPrice()));
-							if (ObjectUtils.isNull(orderItems.getCostprie()) || new BigDecimal("0.00").compareTo(orderItems.getCostprie()) == 0) {
-								orderItems.setCostpriePrice(stockOne.getInventoryCostPrice());
-								orderItems.setCostprie(stockOne.getInventoryCostPrice().multiply(orderItems.getGoodsNum()));
-								orderItems.setGrossProfit(orderItems.getSubTotalMoney().subtract(orderItems.getCostprie()));
-								orderItems.setProfit(orderItems.getSubTotalMoney().subtract(orderItems.getCostprie()));
-							}
-							if (ObjectUtils.isNull(orderItems.getRebateCostprie()) || new BigDecimal("0.00").compareTo(orderItems.getRebateCostprie()) == 0) {
-								orderItems.setRebatePrice(stockOne.getRebatePrice());
-								orderItems.setRebateCostprie(stockOne.getRebatePrice().multiply(orderItems.getGoodsNum()));
-								orderItems.setRebateProfit(orderItems.getSubTotalMoney().subtract(orderItems.getRebateCostprie()));
-							}
-							pjOrderItemsList.add(orderItems);
+					stockOne.setBalanceQuantity(stockOne.getBalanceQuantity().subtract(item.getSendNum()));
+					stockOne.setStoreInventory(stockOne.getBalanceQuantity());
+					BigDecimal inventoryAmount = item.getSendNum().multiply(stockOne.getInventoryCostPrice());
+					BigDecimal rebateInventoryAmount = item.getSendNum().multiply(stockOne.getRebatePrice());
+					stockOne.setInventoryAmount(stockOne.getInventoryAmount().subtract(inventoryAmount));
+					stockOne.setRebateInventoryAmount(stockOne.getRebateInventoryAmount().subtract(rebateInventoryAmount));
+					stockOne.setVersion(stockOne.getVersion());
+					PjOrderItems orderItems = orderItemsList.stream().filter(e -> e.getId().equals(item.getSrcItemId())).findFirst().orElse(null);
+					if (orderItems != null) {
+						if (orderItems.getGoodsNum().compareTo(orderItems.getSendNum().add(item.getSendNum())) < 0) {
+							throw new RuntimeException(orderItems.getGoodsName() + "剩余应发货数量" + orderItems.getGoodsNum().subtract(orderItems.getSendNum()));
 						} else {
-							throw new RuntimeException("数据异常请联系管理员");
+							orderItems.setSendNum(orderItems.getSendNum().add(item.getSendNum()));
 						}
-						item.setCostprie(item.getSendNum().multiply(stockOne.getInventoryCostPrice()));
-						item.setCostpriePrice(stockOne.getInventoryCostPrice());
-						item.setProfit(item.getSubTotalMoney().subtract(orderItems.getCostprie()));
-						item.setRebateCostprie(item.getSendNum().multiply(stockOne.getRebatePrice()));
-						item.setRebatePrice(stockOne.getRebatePrice());
-						item.setRebateProfit(item.getSubTotalMoney().subtract(item.getRebateCostprie()));
+						orderItems.setGoodsTotalShipAmount(orderItems.getSendNum().multiply(orderItems.getPrice()));
+						if (ObjectUtils.isNull(orderItems.getCostprie()) || new BigDecimal("0.00").compareTo(orderItems.getCostprie()) == 0) {
+							orderItems.setCostpriePrice(stockOne.getInventoryCostPrice());
+							orderItems.setCostprie(stockOne.getInventoryCostPrice().multiply(orderItems.getGoodsNum()));
+							orderItems.setGrossProfit(orderItems.getSubTotalMoney().subtract(orderItems.getCostprie()));
+							orderItems.setProfit(orderItems.getSubTotalMoney().subtract(orderItems.getCostprie()));
+						}
+						if (ObjectUtils.isNull(orderItems.getRebateCostprie()) || new BigDecimal("0.00").compareTo(orderItems.getRebateCostprie()) == 0) {
+							orderItems.setRebatePrice(stockOne.getRebatePrice());
+							orderItems.setRebateCostprie(stockOne.getRebatePrice().multiply(orderItems.getGoodsNum()));
+							orderItems.setRebateProfit(orderItems.getSubTotalMoney().subtract(orderItems.getRebateCostprie()));
+						}
+						pjOrderItemsList.add(orderItems);
 					} else {
-						msg.append(goodsDesc.getCname()).append(",");
+						throw new RuntimeException("数据异常请联系管理员");
 					}
-					pjStockDescArrayList.add(stockOne);
-				}
-				if (msg.length() > 0) {
-					throw new RuntimeException("商品:" + msg + "未查到库存账");
-				}
-				R res = iStockDescService.updateBatchByIdNew(pjStockDescArrayList);
-				if (!res.isSuccess()) {
-					throw new RuntimeException(res.getMsg());
+					item.setCostprie(item.getSendNum().multiply(stockOne.getInventoryCostPrice()));
+					item.setCostpriePrice(stockOne.getInventoryCostPrice());
+					item.setProfit(item.getSubTotalMoney().subtract(orderItems.getCostprie()));
+					item.setRebateCostprie(item.getSendNum().multiply(stockOne.getRebatePrice()));
+					item.setRebatePrice(stockOne.getRebatePrice());
+					item.setRebateProfit(item.getSubTotalMoney().subtract(item.getRebateCostprie()));
+				} else {
+					msg.append(goodsDesc.getCname()).append(",");
 				}
-				orderItemsService.updateBatchById(pjOrderItemsList);
-				shipItemsService.updateBatchById(shipVO.getShipItemsList());
-				ship.setNumberRows(shipVO.getShipItemsList().size());
+				pjStockDescArrayList.add(stockOne);
+			}
+			if (msg.length() > 0) {
+				throw new RuntimeException("商品:" + msg + "未查到库存账");
 			}
+			R res = iStockDescService.updateBatchByIdNew(pjStockDescArrayList);
+			if (!res.isSuccess()) {
+				throw new RuntimeException(res.getMsg());
+			}
+			orderItemsService.updateBatchById(pjOrderItemsList);
+			shipItemsService.updateBatchById(shipVO.getShipItemsList());
+			ship.setNumberRows(shipVO.getShipItemsList().size());
 			PjOrder order = orderMapper.selectById(ship.getOrdId());
 			if (ObjectUtil.isNotEmpty(order)) {
 				if ("已收货".equals(order.getStatus()) || "申请退货".equals(order.getStatus()) || "已取消".equals(order.getStatus())) {
@@ -405,100 +403,98 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 		// 保存订单明细
 		List<TireStockDesc> pjStockDescArrayList = new ArrayList<>();
 		if (CollectionUtils.isNotEmpty(shipVO.getShipItemsList())) {
-			if ("内部销售".equals(ship.getBsType())) {
-				List<Long> goodIds = shipVO.getShipItemsList().stream().map(PjShipItems::getGoodsId).distinct().collect(Collectors.toList());
-				LambdaQueryWrapper<PjGoodsDesc> lambdaQueryWrapperGoods = new LambdaQueryWrapper<PjGoodsDesc>()
-					.eq(PjGoodsDesc::getTenantId, AuthUtil.getTenantId())
-					.eq(PjGoodsDesc::getIsDeleted, 0)
-					.in(PjGoodsDesc::getId, goodIds);
-				if (!AuthUtil.getUserRole().contains("admin")) {
-					lambdaQueryWrapperGoods.eq(PjGoodsDesc::getCreateDept, AuthUtil.getDeptId());
+			List<Long> goodIds = shipVO.getShipItemsList().stream().map(PjShipItems::getGoodsId).distinct().collect(Collectors.toList());
+			LambdaQueryWrapper<PjGoodsDesc> lambdaQueryWrapperGoods = new LambdaQueryWrapper<PjGoodsDesc>()
+				.eq(PjGoodsDesc::getTenantId, AuthUtil.getTenantId())
+				.eq(PjGoodsDesc::getIsDeleted, 0)
+				.in(PjGoodsDesc::getId, goodIds);
+			if (!AuthUtil.getUserRole().contains("admin")) {
+				lambdaQueryWrapperGoods.eq(PjGoodsDesc::getCreateDept, AuthUtil.getDeptId());
+			}
+			List<PjGoodsDesc> pjGoodsDescList = goodsDescMapper.selectList(lambdaQueryWrapperGoods);
+			//修改库存账
+			LambdaQueryWrapper<TireStockDesc> stockLambdaQueryWrapperTireStock = new LambdaQueryWrapper<>();
+			stockLambdaQueryWrapperTireStock
+				.eq(TireStockDesc::getTenantId, AuthUtil.getTenantId())
+				.eq(TireStockDesc::getIsDeleted, 0)
+				.in(TireStockDesc::getGoodsId, goodIds);
+			if (!AuthUtil.getUserRole().contains("admin")) {
+				stockLambdaQueryWrapperTireStock.eq(TireStockDesc::getCreateDept, AuthUtil.getDeptId());
+			}
+			List<TireStockDesc> pjStockDescList = iStockDescService.list(stockLambdaQueryWrapperTireStock);
+			// 保存订单明细
+			List<PjOrderItems> pjOrderItemsList = new ArrayList<>();
+			List<PjOrderItems> orderItemsList = orderItemsService.list(new LambdaQueryWrapper<PjOrderItems>()
+				.eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
+				.eq(PjOrderItems::getIsDeleted, 0)
+				.eq(PjOrderItems::getPid, ship.getOrdId()));
+			for (PjShipItems item : shipVO.getShipItemsList()) {
+				//获得商品
+				PjGoodsDesc goodsDesc = pjGoodsDescList.stream().filter(e -> e.getId().equals(item.getGoodsId())).findFirst().orElse(null);
+				if (ObjectUtil.isEmpty(goodsDesc)) {
+					throw new RuntimeException("商品数据异常");
 				}
-				List<PjGoodsDesc> pjGoodsDescList = goodsDescMapper.selectList(lambdaQueryWrapperGoods);
-				//修改库存账
-				LambdaQueryWrapper<TireStockDesc> stockLambdaQueryWrapperTireStock = new LambdaQueryWrapper<>();
-				stockLambdaQueryWrapperTireStock
-					.eq(TireStockDesc::getTenantId, AuthUtil.getTenantId())
-					.eq(TireStockDesc::getIsDeleted, 0)
-					.in(TireStockDesc::getGoodsId, goodIds);
-				if (!AuthUtil.getUserRole().contains("admin")) {
-					stockLambdaQueryWrapperTireStock.eq(TireStockDesc::getCreateDept, AuthUtil.getDeptId());
-				}
-				List<TireStockDesc> pjStockDescList = iStockDescService.list(stockLambdaQueryWrapperTireStock);
-				// 保存订单明细
-				List<PjOrderItems> pjOrderItemsList = new ArrayList<>();
-				List<PjOrderItems> orderItemsList = orderItemsService.list(new LambdaQueryWrapper<PjOrderItems>()
-					.eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
-					.eq(PjOrderItems::getIsDeleted, 0)
-					.eq(PjOrderItems::getPid, ship.getOrdId()));
-				for (PjShipItems item : shipVO.getShipItemsList()) {
-					//获得商品
-					PjGoodsDesc goodsDesc = pjGoodsDescList.stream().filter(e -> e.getId().equals(item.getGoodsId())).findFirst().orElse(null);
-					if (ObjectUtil.isEmpty(goodsDesc)) {
-						throw new RuntimeException("商品数据异常");
-					}
-					//管理批次号
-					TireStockDesc stockOne;
-					if (ObjectUtil.isNotEmpty(goodsDesc.getWhether()) && "1".equals(goodsDesc.getWhether())) {
-						stockOne = pjStockDescList.stream()
-							.filter(e -> e.getGoodsId().equals(item.getGoodsId()) && e.getStorageId().equals(item.getStorageId())
-								&& e.getDot().equals(item.getDot())).findFirst().orElse(null);
-					} else {
-						stockOne = pjStockDescList.stream()
-							.filter(e -> e.getGoodsId().equals(item.getGoodsId()) && e.getStorageId().equals(item.getStorageId())
-								&& ObjectUtils.isNull(e.getDot())).findFirst().orElse(null);
-					}
-					if (stockOne != null) {
-						stockOne.setBalanceQuantity(stockOne.getBalanceQuantity().add(item.getSendNum()));
-						stockOne.setStoreInventory(stockOne.getBalanceQuantity());
-						BigDecimal inventoryAmount = item.getSendNum().multiply(stockOne.getInventoryCostPrice());
-						BigDecimal rebateInventoryAmount = item.getSendNum().multiply(stockOne.getRebatePrice());
-						stockOne.setInventoryAmount(stockOne.getInventoryAmount().add(inventoryAmount));
-						stockOne.setRebateInventoryAmount(stockOne.getRebateInventoryAmount().add(rebateInventoryAmount));
-						stockOne.setVersion(stockOne.getVersion());
-						pjStockDescArrayList.add(stockOne);
-					} else {
-						throw new RuntimeException("未查到库存账");
-					}
-					PjOrderItems orderItems = orderItemsList.stream().filter(e -> e.getId().equals(item.getSrcItemId())).findFirst().orElse(null);
-					if (orderItems != null) {
-						orderItems.setSendNum(orderItems.getSendNum().subtract(item.getSendNum()));
-						orderItems.setGoodsTotalShipAmount(orderItems.getSendNum().multiply(orderItems.getPrice()));
-						pjOrderItemsList.add(orderItems);
-					} else {
-						throw new RuntimeException("数据异常请联系管理员");
-					}
+				//管理批次号
+				TireStockDesc stockOne;
+				if (ObjectUtil.isNotEmpty(goodsDesc.getWhether()) && "1".equals(goodsDesc.getWhether())) {
+					stockOne = pjStockDescList.stream()
+						.filter(e -> e.getGoodsId().equals(item.getGoodsId()) && e.getStorageId().equals(item.getStorageId())
+							&& e.getDot().equals(item.getDot())).findFirst().orElse(null);
+				} else {
+					stockOne = pjStockDescList.stream()
+						.filter(e -> e.getGoodsId().equals(item.getGoodsId()) && e.getStorageId().equals(item.getStorageId())
+							&& ObjectUtils.isNull(e.getDot())).findFirst().orElse(null);
 				}
-				R res = iStockDescService.updateBatchByIdNew(pjStockDescArrayList);
-				if (!res.isSuccess()) {
-					throw new RuntimeException(res.getMsg());
-				}
-				orderItemsService.updateBatchById(pjOrderItemsList);
-				ship.setNumberRows(shipVO.getShipItemsList().size());
-				PjOrder order = orderMapper.selectById(ship.getOrdId());
-				if (ObjectUtil.isNotEmpty(order)) {
-					PjOrder order1 = orderMapper.selectOne(new LambdaQueryWrapper<PjOrder>()
-						.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
-						.eq(PjOrder::getIsDeleted, 0)
-						.eq(PjOrder::getSrcNo, order.getOrdNo()));
-					if (order1 != null && "待入库,已完成".contains(order1.getStatus())) {
-						throw new RuntimeException("已生成销售退货单据,撤销失败");
-					}
-					if ("已收货".equals(order.getStatus()) || "申请退货".equals(order.getStatus()) || "已取消".equals(order.getStatus())) {
-						throw new RuntimeException("单据已收货或申请售后中,操作失败");
-					}
-					order.setDeliveryBusinesDate(null);
-					order.setStatus(OrderTypeEnum.GENERATED.getType());
-					order.setXcxStatus("待发货");
-					order.setVersion(order.getVersion() + 1);
-					BigDecimal sendNum = shipVO.getShipItemsList().stream().map(PjShipItems::getSendNum).filter(Objects::nonNull)
-						.reduce(BigDecimal.ZERO, BigDecimal::add);
-					order.setOutGoodsTotalShipNum(order.getOutGoodsTotalShipNum().subtract(sendNum));
-					orderMapper.updateById(order);
+				if (stockOne != null) {
+					stockOne.setBalanceQuantity(stockOne.getBalanceQuantity().add(item.getSendNum()));
+					stockOne.setStoreInventory(stockOne.getBalanceQuantity());
+					BigDecimal inventoryAmount = item.getSendNum().multiply(stockOne.getInventoryCostPrice());
+					BigDecimal rebateInventoryAmount = item.getSendNum().multiply(stockOne.getRebatePrice());
+					stockOne.setInventoryAmount(stockOne.getInventoryAmount().add(inventoryAmount));
+					stockOne.setRebateInventoryAmount(stockOne.getRebateInventoryAmount().add(rebateInventoryAmount));
+					stockOne.setVersion(stockOne.getVersion());
+					pjStockDescArrayList.add(stockOne);
+				} else {
+					throw new RuntimeException("未查到库存账");
+				}
+				PjOrderItems orderItems = orderItemsList.stream().filter(e -> e.getId().equals(item.getSrcItemId())).findFirst().orElse(null);
+				if (orderItems != null) {
+					orderItems.setSendNum(orderItems.getSendNum().subtract(item.getSendNum()));
+					orderItems.setGoodsTotalShipAmount(orderItems.getSendNum().multiply(orderItems.getPrice()));
+					pjOrderItemsList.add(orderItems);
 				} else {
 					throw new RuntimeException("数据异常请联系管理员");
 				}
 			}
+			R res = iStockDescService.updateBatchByIdNew(pjStockDescArrayList);
+			if (!res.isSuccess()) {
+				throw new RuntimeException(res.getMsg());
+			}
+			orderItemsService.updateBatchById(pjOrderItemsList);
+			ship.setNumberRows(shipVO.getShipItemsList().size());
+			PjOrder order = orderMapper.selectById(ship.getOrdId());
+			if (ObjectUtil.isNotEmpty(order)) {
+				PjOrder order1 = orderMapper.selectOne(new LambdaQueryWrapper<PjOrder>()
+					.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
+					.eq(PjOrder::getIsDeleted, 0)
+					.eq(PjOrder::getSrcNo, order.getOrdNo()));
+				if (order1 != null && "待入库,已完成".contains(order1.getStatus())) {
+					throw new RuntimeException("已生成销售退货单据,撤销失败");
+				}
+				if ("已收货".equals(order.getStatus()) || "申请退货".equals(order.getStatus()) || "已取消".equals(order.getStatus())) {
+					throw new RuntimeException("单据已收货或申请售后中,操作失败");
+				}
+				order.setDeliveryBusinesDate(null);
+				order.setStatus(OrderTypeEnum.GENERATED.getType());
+				order.setXcxStatus("待发货");
+				order.setVersion(order.getVersion() + 1);
+				BigDecimal sendNum = shipVO.getShipItemsList().stream().map(PjShipItems::getSendNum).filter(Objects::nonNull)
+					.reduce(BigDecimal.ZERO, BigDecimal::add);
+				order.setOutGoodsTotalShipNum(order.getOutGoodsTotalShipNum().subtract(sendNum));
+				orderMapper.updateById(order);
+			} else {
+				throw new RuntimeException("数据异常请联系管理员");
+			}
 		} else {
 			throw new RuntimeException("出库明细不能为空");
 		}

+ 2 - 4
blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/survey/controller/BladeSurveyController.java

@@ -78,10 +78,8 @@ public class BladeSurveyController extends BladeController {
 	 * 新增或修改 调查问卷主表
 	 */
 	@PostMapping("/submit")
-	@ApiOperationSupport(order = 6)
-	@ApiOperation(value = "新增或修改", notes = "传入bladeSurvey")
-	public R submit(@Valid @RequestBody BladeSurvey bladeSurvey) {
-		return R.status(bladeSurveyService.saveOrUpdate(bladeSurvey));
+	public R submit(@Valid @RequestBody BladeSurveyVO bladeSurvey) {
+		return bladeSurveyService.submit(bladeSurvey);
 	}
 
 }

+ 3 - 0
blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/survey/service/IBladeSurveyService.java

@@ -20,6 +20,7 @@ import com.gubersail.dealer.admin.api.survey.entity.BladeSurvey;
 import com.gubersail.dealer.admin.api.survey.vo.BladeSurveyVO;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.tool.api.R;
 
 /**
  * 调查问卷主表 服务类
@@ -39,4 +40,6 @@ public interface IBladeSurveyService extends IService<BladeSurvey> {
 	IPage<BladeSurveyVO> selectBladeSurveyPage(IPage<BladeSurveyVO> page, BladeSurveyVO bladeSurvey);
 
     BladeSurveyVO detail(BladeSurvey bladeSurvey);
+
+    R submit(BladeSurveyVO bladeSurvey);
 }

+ 34 - 0
blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/survey/service/impl/BladeSurveyServiceImpl.java

@@ -34,6 +34,7 @@ import com.gubersail.dealer.admin.api.survey.entity.BladeSurveyResult;
 import com.gubersail.dealer.admin.api.survey.vo.BladeSurveyQuestionVO;
 import com.gubersail.dealer.admin.api.survey.vo.BladeSurveyVO;
 import lombok.AllArgsConstructor;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.feign.IUserClient;
@@ -41,6 +42,7 @@ import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
 import java.util.Comparator;
+import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -115,4 +117,36 @@ public class BladeSurveyServiceImpl extends ServiceImpl<BladeSurveyMapper, Blade
 		return vo;
 	}
 
+	@Override
+	public R submit(BladeSurveyVO bladeSurvey) {
+		List<BladeSurveyQuestionVO> surveyQuestionVOList = bladeSurvey.getSurveyQuestionVOList();
+		List<BladeSurveyResult> resultList = new ArrayList<>();
+		for (BladeSurveyQuestionVO item : surveyQuestionVOList) {
+			if (!item.getSurveyResultList().isEmpty()) {
+				for (BladeSurveyResult result : item.getSurveyResultList()) {
+					result.setSurveyId(bladeSurvey.getId());
+					result.setSurveyCode(bladeSurvey.getSurveyCode());
+					result.setQuestionId(item.getId());
+					result.setCompanyName(bladeSurvey.getCompanyName());
+					result.setFillName(bladeSurvey.getFillName());
+					result.setFillPhone(bladeSurvey.getFillPhone());
+					result.setFillTime(new Date());
+					if (result.getId() == null) {
+						result.setCreateUser(AuthUtil.getUserId());
+						result.setCreateDept(Long.parseLong(AuthUtil.getDeptId()));
+						result.setCreateTime(new Date());
+					} else {
+						result.setUpdateUser(AuthUtil.getUserId());
+						result.setUpdateTime(new Date());
+					}
+					resultList.add(result);
+				}
+			}
+		}
+		if (!resultList.isEmpty()) {
+			bladeSurveyResultService.saveOrUpdateBatch(resultList);
+		}
+		return R.data(bladeSurvey);
+	}
+
 }

+ 4 - 0
blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/corp/service/impl/AppCorpsDescServiceImpl.java

@@ -201,6 +201,8 @@ public class AppCorpsDescServiceImpl extends ServiceImpl<AppCorpsDescMapper, App
 			corpsAddr.setDetailedAddress(corpsDescVO.getDetailedAddress());
 			corpsAddr.setUpdateTime(date);
 			corpsAddr.setUpdateUser(userId);
+			corpsAddr.setDimension(corpsDesc.getDimension());
+			corpsAddr.setLongitude(corpsDesc.getLongitude());
 		} else {
 			corpsAddr = new AppPjCorpsAddr();
 			corpsAddr.setTenantId(tenantId);
@@ -214,6 +216,8 @@ public class AppCorpsDescServiceImpl extends ServiceImpl<AppCorpsDescMapper, App
 			corpsAddr.setDetailedAddress(corpsDescVO.getDetailedAddress());
 			corpsAddr.setDefaultAddres("1");
 			corpsAddr.setPid(pId);
+			corpsAddr.setDimension(corpsDesc.getDimension());
+			corpsAddr.setLongitude(corpsDesc.getLongitude());
 		}
 		corpsAddrService.saveOrUpdate(corpsAddr);
 

+ 4 - 4
blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/order/controller/AppOrderController.java

@@ -136,9 +136,9 @@ public class AppOrderController extends BladeController {
 		} else {
 			lambdaQueryWrapper.apply(ObjectUtils.isNotEmpty(order.getStatus()), "find_in_set(status,'" + order.getStatus() + "')");
 		}
-		lambdaQueryWrapper.apply("(( business_source = '外部销售' AND FIND_IN_SET( actual_payment_status, '2,3,4' ) )" +
+		/*lambdaQueryWrapper.apply("(( business_source = '外部销售' AND FIND_IN_SET( actual_payment_status, '2,3,4' ) )" +
 			" OR (business_source = '内部销售' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' ))" +
-			" OR (business_source = '额度支付' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' )))");
+			" OR (business_source = '额度支付' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' )))");*/
 		lambdaQueryWrapper.orderByDesc(AppOrder::getCreateTime);
 		if (!AuthUtil.getUserRole().contains("admin")) {
 			List<Long> deptIdList = AppDeptUtils.getUserFirstDeptId(Long.valueOf(AuthUtil.getDeptId()));
@@ -247,9 +247,9 @@ public class AppOrderController extends BladeController {
 		} else {
 			lambdaQueryWrapper.apply(ObjectUtils.isNotEmpty(order.getStatus()), "find_in_set(status,'" + order.getStatus() + "')");
 		}
-		lambdaQueryWrapper.apply("(( business_source = '外部销售' AND FIND_IN_SET( actual_payment_status, '2,3,4' ) )" +
+		/*lambdaQueryWrapper.apply("(( business_source = '外部销售' AND FIND_IN_SET( actual_payment_status, '2,3,4' ) )" +
 			" OR (business_source = '内部销售' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' ))" +
-			" OR (business_source = '额度支付' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' )))");
+			" OR (business_source = '额度支付' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' )))");*/
 		lambdaQueryWrapper.orderByDesc(AppOrder::getCreateTime);
 		if (!AuthUtil.getUserRole().contains("admin")) {
 			List<Long> deptIdList = AppDeptUtils.getUserFirstDeptId(Long.valueOf(AuthUtil.getDeptId()));

+ 4 - 4
blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/order/controller/AppReturnsController.java

@@ -109,9 +109,9 @@ public class AppReturnsController {
 		} else {
 			lambdaQueryWrapper.apply(ObjectUtils.isNotEmpty(order.getStatus()), "find_in_set(status,'" + order.getStatus() + "')");
 		}
-		lambdaQueryWrapper.apply("(( business_source = '外部销售' AND FIND_IN_SET( actual_payment_status, '2,3,4' ) )" +
+		/*lambdaQueryWrapper.apply("(( business_source = '外部销售' AND FIND_IN_SET( actual_payment_status, '2,3,4' ) )" +
 			" OR (business_source = '内部销售' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' ))" +
-			" OR (business_source = '额度支付' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' )))");
+			" OR (business_source = '额度支付' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' )))");*/
 		lambdaQueryWrapper.orderByDesc(AppOrder::getCreateTime);
 		if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("老板")) {
 			if (AuthUtil.getUserRole().contains("业务员")) {
@@ -211,9 +211,9 @@ public class AppReturnsController {
 		} else {
 			lambdaQueryWrapper.apply(ObjectUtils.isNotEmpty(order.getStatus()), "find_in_set(status,'" + order.getStatus() + "')");
 		}
-		lambdaQueryWrapper.apply("(( business_source = '外部销售' AND FIND_IN_SET( actual_payment_status, '2,3,4' ) )" +
+		/*lambdaQueryWrapper.apply("(( business_source = '外部销售' AND FIND_IN_SET( actual_payment_status, '2,3,4' ) )" +
 			" OR (business_source = '内部销售' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' ))" +
-			" OR (business_source = '额度支付' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' )))");
+			" OR (business_source = '额度支付' AND FIND_IN_SET( actual_payment_status, '0,1,2,3,4' )))");*/
 		lambdaQueryWrapper.orderByDesc(AppOrder::getCreateTime);
 		if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("老板")) {
 			if (AuthUtil.getUserRole().contains("业务员")) {