wangzhuo 2 лет назад
Родитель
Сommit
8baaa50c3c
27 измененных файлов с 290 добавлено и 19 удалено
  1. 1 0
      blade-auth/src/main/java/org/springblade/auth/service/BladeUserDetailsServiceImpl.java
  2. 6 0
      blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/entity/PjOrder.java
  3. 13 1
      blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/entity/PjOrderItems.java
  4. 31 0
      blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/entity/PjProductLaunch.java
  5. 6 0
      blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/enums/OrderTypeEnum.java
  6. 7 0
      blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/vo/CorpsDescVO.java
  7. 2 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/accountManagement/controller/AccountManagementController.java
  8. 3 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/brand/controller/BrandDescController.java
  9. 23 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/controller/CorpsAddrController.java
  10. 3 4
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/controller/CorpsDescController.java
  11. 6 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/mapper/CorpsDescMapper.xml
  12. 1 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/mapper/CorpsTypeMapper.xml
  13. 19 6
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/service/impl/CorpsDescServiceImpl.java
  14. 5 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/service/impl/CorpsTypeServiceImpl.java
  15. 64 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/controller/OrderController.java
  16. 8 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/IOrderService.java
  17. 20 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/impl/OrderServiceImpl.java
  18. 4 1
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/productLaunch/controller/ProductLaunchController.java
  19. 1 1
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/productLaunch/service/IProductLaunchService.java
  20. 23 5
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/productLaunch/service/impl/ProductLaunchServiceImpl.java
  21. 1 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/ship/controller/ShipController.java
  22. 1 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/ship/service/impl/ShipServiceImpl.java
  23. 2 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/shoppingCart/controller/ShoppingCartController.java
  24. 2 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/shoppingCart/service/impl/ShoppingCartServiceImpl.java
  25. 15 1
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/stock/controller/StockDescController.java
  26. 9 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/storage/controller/StorageDescController.java
  27. 14 0
      blade-service/blade-system/src/main/java/org/springblade/system/controller/DeptController.java

+ 1 - 0
blade-auth/src/main/java/org/springblade/auth/service/BladeUserDetailsServiceImpl.java

@@ -113,6 +113,7 @@ public class BladeUserDetailsServiceImpl implements UserDetailsService {
 					saveUser.setRealName(username);
 					saveUser.setUserType(4);
 					saveUser.setPhone(username);
+					saveUser.setDeptId(parametersR.getData().getSalesCompanyId().toString());
 					//获取注册用户类型
 					R<String> r = sysClient.getRoleIds(tenant.getData().getTenantId(), "客户");
 					if (r.isSuccess() && ObjectUtils.isNotNull(r.getData())) {

+ 6 - 0
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/entity/PjOrder.java

@@ -305,4 +305,10 @@ public class PjOrder implements Serializable {
 	 */
 	@TableField(exist = false)
 	private List<PjShip> shipList;
+
+	/**
+	 * 商品名称拼接
+	 */
+	@TableField(exist = false)
+	private String goodsNameJoin;
 }

+ 13 - 1
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/entity/PjOrderItems.java

@@ -120,7 +120,7 @@ public class PjOrderItems implements Serializable {
 	 * 品牌id
 	 */
 	@ApiModelProperty(value = "品牌id")
-	private String brandId;
+	private Long brandId;
 
 	/**
 	* 品牌名称
@@ -213,4 +213,16 @@ public class PjOrderItems implements Serializable {
 	@ApiModelProperty(value = "毛利")
 	private BigDecimal grossProfit;
 
+	/**
+	 * 图片url
+	 */
+	@ApiModelProperty(value = "图片url")
+	private String url;
+
+	/**
+	 * 总金额
+	 */
+	@ApiModelProperty(value = "总金额")
+	private BigDecimal totalAmount;
+
 }

+ 31 - 0
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/entity/PjProductLaunch.java

@@ -18,6 +18,7 @@ package org.springblade.salesPart.entity;
 
 import java.math.BigDecimal;
 
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.time.LocalDateTime;
@@ -188,6 +189,7 @@ public class PjProductLaunch implements Serializable {
 	 * 共享公司
 	 */
 	@ApiModelProperty(value = "共享公司")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private String sharedCompany;
 
 	/**
@@ -244,4 +246,33 @@ public class PjProductLaunch implements Serializable {
 	@TableField(exist = false)
 	private BigDecimal goodsNum;
 
+	/**
+	 * 花纹
+	 */
+	@ApiModelProperty(value = "花纹")
+	private String brandItem;
+
+	/**
+	 * 产地
+	 */
+	@ApiModelProperty(value = "产地")
+	private String placeProduction;
+
+	/**
+	 * 防爆(0否,1是)
+	 */
+	@ApiModelProperty(value = "防爆(0否,1是)")
+	private Integer explosionProof;
+
+	/**
+	 * 原厂
+	 */
+	@ApiModelProperty(value = "原厂")
+	private String originalFactory;
+
+	/**
+	 * 自修补
+	 */
+	@ApiModelProperty(value = "自修补")
+	private String selfRecovery;
 }

+ 6 - 0
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/enums/OrderTypeEnum.java

@@ -123,6 +123,12 @@ public enum OrderTypeEnum {
 	 */
 	RECEIVEDGOODS("已收货"),
 
+	/**
+	 * 销售订单状态待收货
+	 */
+	GOODSRECEIVED("待收货"),
+
+
 	;
 
 	private final String type;

+ 7 - 0
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/vo/CorpsDescVO.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.salesPart.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -42,4 +43,10 @@ public class CorpsDescVO extends PjCorpsDesc {
 	@ApiModelProperty(value = "客户类别")
 	private List<Long> typeList;
 
+	/**
+	 * 所属公司
+	 */
+	@TableField(exist = false)
+	private List<String> strTenantId;
+
 }

+ 2 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/accountManagement/controller/AccountManagementController.java

@@ -31,6 +31,7 @@ import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.salesPart.entity.PjAccountManagement;
+import org.springblade.salesPart.entity.PjProductLaunch;
 import org.springblade.salesPart.vo.AccountManagementVO;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -72,6 +73,7 @@ public class AccountManagementController extends BladeController {
 		LambdaQueryWrapper<PjAccountManagement> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(PjAccountManagement::getTenantId, AuthUtil.getTenantId())
 			.eq(PjAccountManagement::getIsDeleted, 0)
+			.eq(PjAccountManagement::getSalesCompanyId, AuthUtil.getDeptId())//公司
 			.like(StringUtils.isNotBlank(accountManagement.getCname()), PjAccountManagement::getCname, accountManagement.getCname())//客户名称
 			.eq(StringUtils.isNotBlank(accountManagement.getAccountType()), PjAccountManagement::getAccountType, accountManagement.getAccountType())//账户类型
 			.eq(StringUtils.isNotBlank(accountManagement.getStatus()), PjAccountManagement::getStatus, accountManagement.getStatus());//状态

+ 3 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/brand/controller/BrandDescController.java

@@ -37,6 +37,7 @@ import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.salesPart.brand.service.IBrandFilesService;
 import org.springblade.salesPart.entity.PjBrandFiles;
 import org.springblade.salesPart.entity.PjOrder;
+import org.springblade.salesPart.entity.PjProductLaunch;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.feign.IUserClient;
 import org.springframework.web.bind.annotation.*;
@@ -86,6 +87,7 @@ public class BrandDescController extends BladeController {
 		LambdaQueryWrapper<PjBrandDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(PjBrandDesc::getTenantId, AuthUtil.getTenantId())
 			.eq(PjBrandDesc::getIsDeleted, 0)
+			.eq(PjBrandDesc::getSalesCompanyId, AuthUtil.getDeptId())//公司
 			.like(ObjectUtils.isNotEmpty(brandDesc.getCname()), PjBrandDesc::getCname, brandDesc.getCname());
 		IPage<PjBrandDesc> pages = brandDescService.page(Condition.getPage(query), lambdaQueryWrapper);
 
@@ -211,6 +213,7 @@ public class BrandDescController extends BladeController {
 		LambdaQueryWrapper<PjBrandDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(PjBrandDesc::getTenantId, AuthUtil.getTenantId())
 			.eq(PjBrandDesc::getIsDeleted, 0)
+			.eq(PjBrandDesc::getSalesCompanyId, AuthUtil.getDeptId())//公司
 			.like(ObjectUtils.isNotEmpty(brandDesc.getCname()), PjBrandDesc::getCname, brandDesc.getCname());
 		List<PjBrandDesc> list = brandDescService.list(lambdaQueryWrapper);
 

+ 23 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/controller/CorpsAddrController.java

@@ -242,4 +242,27 @@ public class CorpsAddrController extends BladeController {
 		}
 		return R.data(list.get(0));
 	}
+
+	/**
+	 * 客户明细地址
+	 */
+	@GetMapping("/corpIdByAddr")
+	@ApiOperationSupport(order = 10)
+	@ApiOperation(value = "分页", notes = "传入corpsAddr")
+	public R<List<PjCorpsAddr>> corpIdByAddr(PjCorpsAddr corpsAddr) {
+
+		LambdaQueryWrapper<PjCorpsAddr> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(PjCorpsAddr::getTenantId, AuthUtil.getTenantId())
+			.eq(PjCorpsAddr::getIsDeleted, 0)
+			.eq(PjCorpsAddr::getPid, corpsAddr.getPid());
+
+		List<PjCorpsAddr> list = corpsAddrService.list(lambdaQueryWrapper);
+
+		if (ObjectUtil.isNotEmpty(list)){
+			list.forEach(e -> {
+				e.setAddress(e.getBelongtoarea() + " " +e.getDetailedAddress());
+			});
+		}
+		return R.data(list);
+	}
 }

+ 3 - 4
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/controller/CorpsDescController.java

@@ -40,10 +40,7 @@ import org.springblade.core.tool.utils.Func;
 import org.springblade.salesPart.corps.service.ICorpsDescService;
 import org.springblade.salesPart.corps.service.ICorpsTypeDescService;
 import org.springblade.salesPart.corps.service.ICorpsTypeService;
-import org.springblade.salesPart.entity.PjBrandDesc;
-import org.springblade.salesPart.entity.PjCorpsDesc;
-import org.springblade.salesPart.entity.PjCorpsType;
-import org.springblade.salesPart.entity.PjCorpsTypeDesc;
+import org.springblade.salesPart.entity.*;
 import org.springblade.salesPart.excel.CorpsDescExportExcel;
 import org.springblade.salesPart.excel.CorpsDescImportExcel;
 import org.springblade.salesPart.excel.SupplierImportExcel;
@@ -206,6 +203,7 @@ public class CorpsDescController extends BladeController {
 		// 默认查有效的
 		corpsDesc.setIsDeleted(0);
 		corpsDesc.setTenantId(SecureUtil.getTenantId());
+		corpsDesc.setSalesCompanyId(Long.valueOf(AuthUtil.getDeptId()));
 		List<CorpsDescVO> list = corpsDescService.selectCorpsDescAll(corpsDesc);
 
 		if (CollectionUtils.isNotEmpty(list)) {
@@ -301,6 +299,7 @@ public class CorpsDescController extends BladeController {
 		LambdaQueryWrapper<PjCorpsDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(PjCorpsDesc::getTenantId, AuthUtil.getTenantId())
 			.eq(PjCorpsDesc::getIsDeleted, 0)
+			.eq(PjCorpsDesc::getSalesCompanyId, AuthUtil.getDeptId())//公司
 			.eq(PjCorpsDesc::getCorpType, corpsDesc.getCorpType());
 		List<PjCorpsDesc> list = corpsDescService.list(lambdaQueryWrapper);
 

+ 6 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/mapper/CorpsDescMapper.xml

@@ -44,6 +44,12 @@
         <if test="corpsDesc.isDeleted!=null">
             and is_deleted = #{corpsDesc.isDeleted}
         </if>
+        <if test="corpsDesc.strTenantId != null">
+            and sales_company_id in
+            <foreach collection="corpsDesc.strTenantId" item="item" open="(" close=")" separator="," >
+                #{item}
+            </foreach>
+        </if>
         <if test="corpsDesc.corpType!=null and corpsDesc.corpType != ''">
             and corp_type like CONCAT(CONCAT('%', #{corpsDesc.corpType}), '%')
         </if>

+ 1 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/mapper/CorpsTypeMapper.xml

@@ -49,6 +49,7 @@
         dept.update_time,
         dept.status,
         dept.is_deleted,
+        dept.sales_company_id,
         case
             when dept.status = '0' then '正常'
             when dept.status = '1' then '停用'

+ 19 - 6
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/service/impl/CorpsDescServiceImpl.java

@@ -24,11 +24,13 @@ 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.service.impl.ServiceImpl;
+import io.seata.spring.annotation.GlobalTransactional;
 import lombok.AllArgsConstructor;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.ObjectUtil;
+import org.springblade.purchase.sales.entity.Biding;
 import org.springblade.salesPart.corps.mapper.CorpsDescMapper;
 import org.springblade.salesPart.corps.mapper.CorpsTypeDescMapper;
 import org.springblade.salesPart.corps.mapper.CorpsTypeMapper;
@@ -72,7 +74,7 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, PjCorpsDe
 
 	private final CorpsTypeMapper corpsTypeMapper;
 	private final IUserClient userClient;
-	private final ISysClient iSysClient;
+	private final ISysClient sysClient;
 
 	/**
 	 * 获取客户详情
@@ -140,6 +142,12 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, PjCorpsDe
 		}
 		corpsDesc.setTenantId(AuthUtil.getTenantId());
 		corpsDesc.setIsDeleted(0);
+		corpsDesc.setStrTenantId(Arrays.asList(AuthUtil.getDeptId().split(",")));
+
+		/*String role = AuthUtil.getUserRole();
+		if (!role.contains("管理员")){
+
+		}*/
 
 		IPage<CorpsDescVO> page1 = page.setRecords(baseMapper.selectCorpsDescPage(page, corpsDesc));
 		return page1;
@@ -150,7 +158,8 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, PjCorpsDe
 	 * 新增或修改
 	 */
 	@Override
-	@Transactional
+	@Transactional(rollbackFor = Exception.class)
+	@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
 	public R submit(PjCorpsDesc corpsDesc) {
 		Long userId = SecureUtil.getUserId();
 		Date date = new Date();
@@ -161,17 +170,19 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, PjCorpsDe
 			corpsDesc.setCreateDept(Long.valueOf(SecureUtil.getDeptId()));
 			corpsDesc.setCreateTime(date);
 			corpsDesc.setCreateUser(userId);
+			corpsDesc.setSalesCompanyId(Long.valueOf(AuthUtil.getDeptId()));
+			corpsDesc.setSalesCompanyName(sysClient.getDept(Long.valueOf(AuthUtil.getDeptId())).getData().getFullName());
 			baseMapper.insert(corpsDesc);
 		} else {
 			corpsDesc.setTenantId(SecureUtil.getTenantId());
 			corpsDesc.setUpdateTime(date);
 			corpsDesc.setCreateDept(Long.valueOf(SecureUtil.getDeptId()));
-			corpsDesc.setUpdateUser(userId);
+			corpsDesc.setUpdateUser(AuthUtil.getUserId());
 			baseMapper.updateById(corpsDesc);
 		}
 		Long pId = corpsDesc.getId();
 		String tenantId = corpsDesc.getTenantId();
-		//保客户联系人信息
+		//保客户联系人信息
 		R saveOrUpdateAttn = this.saveOrUpdateAttn(corpsDesc, userId, pId, tenantId, date);
 		if (saveOrUpdateAttn.getCode() != 200) {
 			TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -198,7 +209,8 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, PjCorpsDe
 	 * @return
 	 */
 	@Override
-	@Transactional
+	@Transactional(rollbackFor = Exception.class)
+	@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
 	public R importUser(List<CorpsDescImportExcel> data) {
 		try {
 			if (CollectionUtils.isEmpty(data)) {
@@ -294,7 +306,8 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, PjCorpsDe
 	 * @return
 	 */
 	@Override
-	@Transactional
+	@Transactional(rollbackFor = Exception.class)
+	@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
 	public R supplierImport(List<SupplierImportExcel> data) {
 		try {
 			if (CollectionUtils.isEmpty(data)) {

+ 5 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/service/impl/CorpsTypeServiceImpl.java

@@ -22,7 +22,9 @@ 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.service.impl.ServiceImpl;
+import lombok.AllArgsConstructor;
 import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.node.ForestNodeMerger;
@@ -32,6 +34,7 @@ import org.springblade.salesPart.corps.mapper.CorpsTypeMapper;
 import org.springblade.salesPart.corps.service.ICorpsTypeService;
 import org.springblade.salesPart.entity.PjCorpsType;
 import org.springblade.salesPart.vo.CorpsTypeVO;
+import org.springblade.system.feign.ISysClient;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.feign.IUserClient;
 import org.springframework.stereotype.Service;
@@ -97,12 +100,14 @@ public class CorpsTypeServiceImpl extends ServiceImpl<CorpsTypeMapper, PjCorpsTy
 			corpsType.setCreateTime(new Date());
 			corpsType.setCreateDept(Long.valueOf(SecureUtil.getUser().getDeptId()));
 			corpsType.setTenantId(SecureUtil.getTenantId());
+			corpsType.setSalesCompanyId(Long.valueOf(AuthUtil.getDeptId()));
 			i = baseMapper.insert(corpsType);
 		} else {
 			corpsType.setUpdateUser(SecureUtil.getUserId());
 			corpsType.setCreateTime(new Date());
 			corpsType.setCreateDept(Long.valueOf(SecureUtil.getUser().getDeptId()));
 			corpsType.setTenantId(SecureUtil.getTenantId());
+			corpsType.setSalesCompanyId(Long.valueOf(AuthUtil.getDeptId()));
 			i = baseMapper.updateById(corpsType);
 		}
 		if (i != null && i > 0) {

+ 64 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/controller/OrderController.java

@@ -35,7 +35,9 @@ import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.salesPart.entity.PjOrder;
 import org.springblade.salesPart.entity.PjOrderItems;
+import org.springblade.salesPart.entity.PjProductLaunch;
 import org.springblade.salesPart.entity.PjShip;
+import org.springblade.salesPart.enums.OrderTypeEnum;
 import org.springblade.salesPart.order.service.IOrderItemsService;
 import org.springblade.salesPart.vo.OrderVO;
 import org.springblade.system.user.entity.User;
@@ -46,6 +48,7 @@ import org.springblade.salesPart.order.service.IOrderService;
 import org.springblade.core.boot.ctrl.BladeController;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 配件销售采购表 控制器
@@ -86,6 +89,7 @@ public class OrderController extends BladeController {
 		lambdaQueryWrapper.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
 			.eq(PjOrder::getIsDeleted, 0)
 			.eq(PjOrder::getBsType, order.getBsType())
+			.eq(PjOrder::getSalesCompanyId, AuthUtil.getDeptId())//公司
 			.eq(ObjectUtils.isNotEmpty(order.getStorageId()), PjOrder::getStorageId, order.getStorageId())//仓库
 			.like(ObjectUtils.isNotEmpty(order.getStorageName()), PjOrder::getStorageName, order.getStorageName())
 			.eq(ObjectUtils.isNotEmpty(order.getCustomerId()), PjOrder::getCustomerId, order.getCustomerId())//客户
@@ -229,4 +233,64 @@ public class OrderController extends BladeController {
 		return orderService.inboundTask(order);
 	}
 
+	/**
+	 * 点击收货修改状态
+	 */
+	@PostMapping("/appUpdate")
+	@ApiOperationSupport(order = 10)
+	@ApiOperation(value = "点击收货修改状态", notes = "传入order")
+	public R appUpdate(@Valid @RequestBody PjOrder order) {
+		order.setXcxStatus(OrderTypeEnum.RECEIVEDGOODS.getType());
+		orderService.updateById(order);
+		return R.success("操作成功");
+	}
+
+	/**
+	 * 小程序我的订单查询
+	 */
+	@GetMapping("/appStatusList")
+	@ApiOperationSupport(order = 11)
+	@ApiOperation(value = "小程序我的订单查询", notes = "传入order")
+	public R<IPage<PjOrder>> appStatusList(PjOrder order, Query query) {
+		LambdaQueryWrapper<PjOrder> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
+			.eq(PjOrder::getIsDeleted, 0)
+			.eq(PjOrder::getBsType, order.getBsType())
+			.eq(PjOrder::getBusinessSource, OrderTypeEnum.XCX)
+			.eq(PjOrder::getSalesCompanyId, AuthUtil.getDeptId())//公司
+			.eq(ObjectUtils.isNotEmpty(order.getXcxStatus()), PjOrder::getXcxStatus, order.getXcxStatus())//状态
+			.eq(ObjectUtils.isNotEmpty(order.getSalesCompanyName()), PjOrder::getSalesCompanyName, order.getSalesCompanyName())//所属公司
+			.orderByAsc(PjOrder::getCreateTime);
+
+		IPage<PjOrder> pages = orderService.page(Condition.getPage(query), Condition.getQueryWrapper(order));
+
+		pages.getRecords().forEach(e -> {
+			//获得销售明细
+			LambdaQueryWrapper<PjOrderItems> itemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
+			itemsLambdaQueryWrapper.eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
+				.eq(PjOrderItems::getIsDeleted, 0)
+				.eq(PjOrderItems::getPid, e.getId());
+
+			List<PjOrderItems> itemsList = orderItemsService.list(itemsLambdaQueryWrapper);
+			if (ObjectUtils.isNotNull(itemsList)){
+				e.setGoodsNameJoin(itemsList.stream().map(PjOrderItems::getGoodsName).collect(Collectors.joining(",")));
+			}
+
+		});
+
+		return R.data(pages);
+	}
+
+	/**
+	 * 小程序销售详情
+	 */
+	@GetMapping("/appDetail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "小程序销售详情", notes = "传入order")
+	public R<PjOrder> appDetail(PjOrder order) {
+		order.setTenantId(AuthUtil.getTenantId());
+		PjOrder detail = orderService.getAppMessageById(order);
+		return R.data(detail);
+	}
+
 }

+ 8 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/IOrderService.java

@@ -71,4 +71,12 @@ public interface IOrderService extends IService<PjOrder> {
 	 */
 	R inboundTask(PjOrder order);
 
+	/**
+	 * 获取小程序销售订单详情
+	 *
+	 * @param order
+	 * @return
+	 */
+	PjOrder getAppMessageById(PjOrder order);
+
 }

+ 20 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/impl/OrderServiceImpl.java

@@ -320,4 +320,24 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 		return R.success("操作成功");
 	}
 
+	/**
+	 * 获取小程序销售订单详情
+	 *
+	 * @param order
+	 * @return
+	 */
+	@Override
+	public PjOrder getAppMessageById(PjOrder order) {
+		PjOrder detail = baseMapper.selectById(order.getId());
+
+		//获得销售明细
+		LambdaQueryWrapper<PjOrderItems> itemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
+		itemsLambdaQueryWrapper.eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
+			.eq(PjOrderItems::getIsDeleted, 0)
+			.eq(PjOrderItems::getPid, detail.getId());
+		detail.setOrderItemsList(orderItemsMapper.selectList(itemsLambdaQueryWrapper));
+
+		return detail;
+	}
+
 }

+ 4 - 1
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/productLaunch/controller/ProductLaunchController.java

@@ -96,9 +96,9 @@ public class ProductLaunchController extends BladeController {
 		lambdaQueryWrapper.eq(PjProductLaunch::getTenantId, AuthUtil.getTenantId())
 			.eq(PjProductLaunch::getIsDeleted, 0)
 			.eq(PjProductLaunch::getBillType, productLaunch.getBillType())
+			.eq(PjProductLaunch::getSalesCompanyId, AuthUtil.getDeptId())//公司
 			.like(ObjectUtils.isNotEmpty(productLaunch.getCname()), PjProductLaunch::getCname, productLaunch.getCname())//名称
 			.like(ObjectUtils.isNotEmpty(productLaunch.getSpecificationAndModel()), PjProductLaunch::getSpecificationAndModel, productLaunch.getSpecificationAndModel())//规格型号
-			.eq(ObjectUtils.isNotEmpty(productLaunch.getSalesCompanyId()), PjProductLaunch::getSalesCompanyId, productLaunch.getSalesCompanyId())//公司
 			.like(ObjectUtils.isNotEmpty(productLaunch.getSalesCompanyName()), PjProductLaunch::getSalesCompanyName, productLaunch.getSalesCompanyName());
 		if (productLaunch.getBillType() == 1){
 			lambdaQueryWrapper.eq(PjProductLaunch::getWhetherShare, 0);
@@ -233,6 +233,7 @@ public class ProductLaunchController extends BladeController {
 		lambdaQueryWrapper.eq(PjProductLaunch::getTenantId, AuthUtil.getTenantId())
 			.eq(PjProductLaunch::getIsDeleted, 0)
 			.eq(PjProductLaunch::getUpAndDownShelves,1)
+			.eq(PjProductLaunch::getSalesCompanyId, AuthUtil.getDeptId())//公司
 			.eq(ObjectUtils.isNotEmpty(productLaunch.getBrandId()), PjProductLaunch::getBrandId, productLaunch.getBrandId())//品牌
 			.like(ObjectUtils.isNotEmpty(productLaunch.getBrandName()), PjProductLaunch::getBrandName, productLaunch.getBrandName())
 			.ne(PjProductLaunch::getWhetherShare, 1)
@@ -267,6 +268,8 @@ public class ProductLaunchController extends BladeController {
 						item.setMallPrice(item.getPriceThree());
 					}else if ("售价4".equals(finalCorpsDesc.getPriceSystem())){
 						item.setMallPrice(item.getPriceFour());
+					}else {
+						item.setMallPrice(item.getPriceOne());
 					}
 				}else {
 					item.setMallPrice(item.getPriceOne());

+ 1 - 1
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/productLaunch/service/IProductLaunchService.java

@@ -72,7 +72,7 @@ public interface IProductLaunchService extends IService<PjProductLaunch> {
 
 	/**
 	 * 批量操作上下架
-	 * */
+	 */
 	void batchOperationProductLaunch(List<Long> ids,int flag);
 
 	/**

+ 23 - 5
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/productLaunch/service/impl/ProductLaunchServiceImpl.java

@@ -152,16 +152,17 @@ public class ProductLaunchServiceImpl extends ServiceImpl<ProductLaunchMapper, P
 				PjProductLaunch selOne = baseMapper.selectOne(lambdaQueryWrapper);
 
 				if (ObjectUtil.isEmpty(selOne)){
-
 					launch.setId(null);
 					launch.setBillType(1);
 					launch.setWhetherShare(0);
+					launch.setUpAndDownShelves(0);
 					launch.setCreateUser(AuthUtil.getUserId());
 					launch.setCreateTime(new Date());
 					launch.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
 					launch.setSourceId(productLaunch.getId());
 					launch.setSourceCompanyId(productLaunch.getSalesCompanyId());
 					launch.setTenantId(AuthUtil.getTenantId());
+					launch.setSharedCompany(null);
 					R<Dept> dept = iSysClient.getDept(Long.valueOf(id));
 					if (ObjectUtil.isNotEmpty(dept)) {
 						launch.setSalesCompanyId(Long.valueOf(id));
@@ -172,10 +173,22 @@ public class ProductLaunchServiceImpl extends ServiceImpl<ProductLaunchMapper, P
 					baseMapper.insert(launch);
 
 				}else {
-					launch.setUpdateTime(new Date());
-					launch.setUpdateUser(AuthUtil.getUserId());
-					launch.setWhetherShare(0);
-					baseMapper.updateById(launch);
+					selOne.setInventory(productLaunch.getInventory());
+					selOne.setPriceOne(productLaunch.getPriceOne());
+					selOne.setPriceTwo(productLaunch.getPriceTwo());
+					selOne.setPriceThree(productLaunch.getPriceThree());
+					selOne.setPriceFour(productLaunch.getPriceFour());
+					selOne.setBrandItem(productLaunch.getBrandItem());
+					selOne.setPlaceProduction(productLaunch.getPlaceProduction());
+					selOne.setExplosionProof(productLaunch.getExplosionProof());
+					selOne.setOriginalFactory(productLaunch.getOriginalFactory());
+					selOne.setSelfRecovery(productLaunch.getSelfRecovery());
+					selOne.setUpdateTime(new Date());
+					selOne.setUpdateUser(AuthUtil.getUserId());
+					selOne.setWhetherShare(0);
+					selOne.setUpAndDownShelves(0);
+					selOne.setSharedCompany(null);
+					baseMapper.updateById(selOne);
 				}
 			}
 		}else {
@@ -226,6 +239,11 @@ public class ProductLaunchServiceImpl extends ServiceImpl<ProductLaunchMapper, P
 				productLaunch.setGoodsId(pjGoodsDesc.getId());
 				productLaunch.setBrandId(pjGoodsDesc.getBrandId());
 				productLaunch.setBrandName(pjGoodsDesc.getBrandName());
+				productLaunch.setBrandItem(pjGoodsDesc.getBrandItem());
+				productLaunch.setPlaceProduction(pjGoodsDesc.getPlaceProduction());
+				productLaunch.setExplosionProof(pjGoodsDesc.getExplosionProof());
+				productLaunch.setOriginalFactory(pjGoodsDesc.getOriginalFactory());
+				productLaunch.setSelfRecovery(pjGoodsDesc.getSelfRecovery());
 			}else {
 				throw new RuntimeException("商品"+e.getCname()+"名称错误或商品不存在");
 			}

+ 1 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/ship/controller/ShipController.java

@@ -88,6 +88,7 @@ public class ShipController extends BladeController {
 		lambdaQueryWrapper.eq(PjShip::getTenantId, AuthUtil.getTenantId())
 			.eq(PjShip::getIsDeleted, 0)
 			.eq(PjShip::getBizTypeName, ship.getBizTypeName())//单据类型
+			.eq(PjShip::getSalesCompanyId, AuthUtil.getDeptId())//公司
 			.like(ObjectUtil.isNotEmpty(ship.getOrdNo()), PjShip::getOrdNo, ship.getOrdNo())//销售订单
 			.eq(ObjectUtil.isNotEmpty(ship.getStorageId()), PjShip::getStorageId, ship.getStorageId())//仓库
 			.like(ObjectUtil.isNotEmpty(ship.getStorageName()), PjShip::getStorageName, ship.getStorageName())

+ 1 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/ship/service/impl/ShipServiceImpl.java

@@ -371,6 +371,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 			PjOrder order = orderMapper.selectById(ship.getOrdId());
 			if (ObjectUtil.isNotEmpty(order)){
 				order.setStatus(OrderTypeEnum.SHIPED.getType());
+				order.setXcxStatus(OrderTypeEnum.GOODSRECEIVED.getType());
 				orderMapper.updateById(order);
 			}else {
 				throw new RuntimeException("数据异常请联系管理员");

+ 2 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/shoppingCart/controller/ShoppingCartController.java

@@ -33,6 +33,7 @@ import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.ObjectUtil;
+import org.springblade.salesPart.entity.PjProductLaunch;
 import org.springblade.salesPart.entity.PjProductLaunchFiles;
 import org.springblade.salesPart.entity.PjShoppingCart;
 import org.springblade.salesPart.productLaunch.service.IProductLaunchFilesService;
@@ -82,6 +83,7 @@ public class ShoppingCartController extends BladeController {
 		LambdaQueryWrapper<PjShoppingCart> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(PjShoppingCart::getTenantId, AuthUtil.getTenantId())
 			.eq(PjShoppingCart::getIsDeleted, 0)
+			.eq(PjShoppingCart::getSalesCompanyId, AuthUtil.getDeptId())//公司
 			.eq(PjShoppingCart::getCreateUser, AuthUtil.getUserId());
 		List<PjShoppingCart> list = shoppingCartService.list(lambdaQueryWrapper);
 

+ 2 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/shoppingCart/service/impl/ShoppingCartServiceImpl.java

@@ -191,6 +191,8 @@ public class ShoppingCartServiceImpl extends ServiceImpl<ShoppingCartMapper, PjS
 							orderItems.setTenantId(AuthUtil.getTenantId());
 							orderItems.setBillNo(order.getOrdNo());
 							orderItems.setBizType(order.getBsType());
+							orderItems.setTotalAmount(orderItems.getGoodsNum().multiply(orderItems.getPrice()));
+							orderItems.setUrl(e.getPicture());
 							orderItemsMapper.insert(orderItems);
 
 							//生成完毕删除购物车

+ 15 - 1
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/stock/controller/StockDescController.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.salesPart.stock.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -25,8 +26,11 @@ import javax.validation.Valid;
 
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.ObjectUtil;
+import org.springblade.salesPart.entity.PjProductLaunch;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.salesPart.entity.PjStockDesc;
@@ -66,7 +70,17 @@ public class StockDescController extends BladeController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入stockDesc")
 	public R<IPage<PjStockDesc>> list(PjStockDesc stockDesc, Query query) {
-		IPage<PjStockDesc> pages = stockDescService.page(Condition.getPage(query), Condition.getQueryWrapper(stockDesc));
+		LambdaQueryWrapper<PjStockDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(PjStockDesc::getTenantId, AuthUtil.getTenantId())
+			.eq(PjStockDesc::getIsDeleted, 0)
+			.eq(PjStockDesc::getSalesCompanyId, AuthUtil.getDeptId())//公司
+			.like(ObjectUtil.isNotEmpty(stockDesc.getCode()), PjStockDesc::getCode, stockDesc.getCode())
+			.like(ObjectUtil.isNotEmpty(stockDesc.getCname()), PjStockDesc::getCname, stockDesc.getCname())
+			.like(ObjectUtil.isNotEmpty(stockDesc.getTypeno()), PjStockDesc::getTypeno, stockDesc.getTypeno())
+			.eq(ObjectUtil.isNotEmpty(stockDesc.getStorageId()), PjStockDesc::getStorageId, stockDesc.getStorageId())
+			.eq(ObjectUtil.isNotEmpty(stockDesc.getBrandId()), PjStockDesc::getBrandId, stockDesc.getBrandId());
+
+		IPage<PjStockDesc> pages = stockDescService.page(Condition.getPage(query), lambdaQueryWrapper);
 		return R.data(pages);
 	}
 

+ 9 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/storage/controller/StorageDescController.java

@@ -31,6 +31,7 @@ import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.salesPart.entity.PjProductLaunch;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.salesPart.entity.PjStorageDesc;
@@ -38,6 +39,7 @@ import org.springblade.salesPart.vo.StorageDescVO;
 import org.springblade.salesPart.storage.service.IStorageDescService;
 import org.springblade.core.boot.ctrl.BladeController;
 
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -76,6 +78,7 @@ public class StorageDescController extends BladeController {
 		LambdaQueryWrapper<PjStorageDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(PjStorageDesc::getTenantId, AuthUtil.getTenantId())
 			.eq(PjStorageDesc::getIsDeleted, 0)
+			.eq(PjStorageDesc::getSalesCompanyId, AuthUtil.getDeptId())//公司
 			.like(ObjectUtils.isNotEmpty(storageDesc.getCode()), PjStorageDesc::getCode, storageDesc.getCode())//仓库编码
 			.like(ObjectUtils.isNotEmpty(storageDesc.getCname()), PjStorageDesc::getCname, storageDesc.getCname())//仓库名称
 			.like(ObjectUtils.isNotEmpty(storageDesc.getContacts()), PjStorageDesc::getContacts, storageDesc.getContacts())//联系人
@@ -84,6 +87,11 @@ public class StorageDescController extends BladeController {
 			.like(ObjectUtils.isNotEmpty(storageDesc.getStorageCapacity()), PjStorageDesc::getStorageCapacity, storageDesc.getStorageCapacity())//库容
 			.eq(ObjectUtils.isNotEmpty(storageDesc.getSalesCompanyId()), PjStorageDesc::getSalesCompanyId, storageDesc.getSalesCompanyId())//所属公司
 			.in(ObjectUtils.isNotEmpty(storageDesc.getSharedCompany()), PjStorageDesc::getSharedCompany, storageDesc.getSharedCompany());//共享公司
+
+		/*String role = AuthUtil.getUserRole();
+		if (!role.contains("admin")){
+			lambdaQueryWrapper.eq(PjStorageDesc::getSalesCompanyId, AuthUtil.getDeptId());//公司
+		}*/
 		IPage<PjStorageDesc> pages = storageDescService.page(Condition.getPage(query), lambdaQueryWrapper);
 		return R.data(pages);
 	}
@@ -158,6 +166,7 @@ public class StorageDescController extends BladeController {
 		LambdaQueryWrapper<PjStorageDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(PjStorageDesc::getTenantId, AuthUtil.getTenantId())
 			.eq(PjStorageDesc::getIsDeleted, 0)
+			.eq(PjStorageDesc::getSalesCompanyId, AuthUtil.getDeptId())//公司
 			.like(ObjectUtils.isNotEmpty(storageDesc.getCname()), PjStorageDesc::getCname, storageDesc.getCname());//仓库名称
 		List<PjStorageDesc> list = storageDescService.list(lambdaQueryWrapper);
 		return R.data(list);

+ 14 - 0
blade-service/blade-system/src/main/java/org/springblade/system/controller/DeptController.java

@@ -120,6 +120,7 @@ public class DeptController extends BladeController {
 			.eq(Dept::getParentId, 0)
 			.eq(Dept::getTenantId, AuthUtil.getTenantId())
 			.eq(Dept::getIsDeleted, 0)
+			.ne(Dept::getId ,AuthUtil.getDeptId())
 		);
 		return R.data(DeptWrapper.build().listNodeVO(list));
 	}
@@ -144,6 +145,7 @@ public class DeptController extends BladeController {
 	@GetMapping("/lazy-tree")
 	@ApiOperationSupport(order = 5)
 	@ApiOperation(value = "懒加载树形结构", notes = "树形结构")
+	@PreAuth(AuthConstant.PERMIT_ALL)
 	public R<List<DeptVO>> lazyTree(String tenantId, Long parentId, BladeUser bladeUser) {
 		List<DeptVO> tree = deptService.lazyTree(Func.toStrWithEmpty(tenantId, bladeUser.getTenantId()), parentId);
 		return R.data(tree);
@@ -201,5 +203,17 @@ public class DeptController extends BladeController {
 		return R.data(list);
 	}
 
+	/**
+	 * 当前用户所属公司
+	 */
+	@GetMapping("/userDept")
+	@PreAuth(AuthConstant.PERMIT_ALL)
+	public R<Dept> topList() {
+		Dept dept = deptService.getById(AuthUtil.getDeptId());
+		if (ObjectUtil.isEmpty(dept)){
+			throw new RuntimeException("数据异常请联系管理员");
+		}
+		return R.data(dept);
+	}
 
 }