Parcourir la source

2023年6月29日08:29:41

纪新园 il y a 2 ans
Parent
commit
1429416b4b
13 fichiers modifiés avec 100 ajouts et 19 suppressions
  1. 8 0
      blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/entity/PjOrder.java
  2. 3 3
      blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/entity/PjStockDesc.java
  3. 2 0
      blade-service/blade-check/src/main/java/org/springblade/check/controller/AuditProecessController.java
  4. 4 1
      blade-service/blade-client/src/main/java/org/springblade/client/message/controller/MessageController.java
  5. 9 2
      blade-service/blade-pay/src/main/java/org/springblade/pay/tonglianPayment/service/impl/PaymentServiceImpl.java
  6. 13 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/controller/OrderController.java
  7. 2 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/IOrderService.java
  8. 26 2
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/impl/OrderServiceImpl.java
  9. 12 1
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/productLaunch/controller/ProductLaunchController.java
  10. 6 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/productLaunch/service/impl/ProductLaunchServiceImpl.java
  11. 6 6
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/ship/service/impl/ShipServiceImpl.java
  12. 1 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/shoppingCart/service/impl/ShoppingCartServiceImpl.java
  13. 8 4
      blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserSearchServiceImpl.java

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

@@ -24,10 +24,12 @@ import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * 配件销售采购表实体类
@@ -83,6 +85,8 @@ public class PjOrder implements Serializable {
 	* 创建时间
 	*/
 		@ApiModelProperty(value = "创建时间")
+		@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+		@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 		private Date createTime;
 	/**
 	* 修改人
@@ -100,6 +104,8 @@ public class PjOrder implements Serializable {
 	* 修改时间
 	*/
 		@ApiModelProperty(value = "修改时间")
+		@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+		@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 		private Date updateTime;
 	/**
 	* 是否已删除(0 否 1是)
@@ -232,6 +238,8 @@ public class PjOrder implements Serializable {
 	 * 应结日期
 	 */
 	@ApiModelProperty(value = "应结日期")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date dueDate;
 
 	/**

+ 3 - 3
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/entity/PjStockDesc.java

@@ -215,9 +215,9 @@ public class PjStockDesc implements Serializable {
 	 * 版本
 	 */
 	@ApiModelProperty(value = "版本")
-	@Version
-	@TableField(value = "version", fill = FieldFill.INSERT_UPDATE)
-	private String version;
+	/*@Version
+	@TableField(value = "version", fill = FieldFill.INSERT_UPDATE)*/
+	private int version;
 
 	@TableField(exist = false)
 	private List<Long> goodsIds;

+ 2 - 0
blade-service/blade-check/src/main/java/org/springblade/check/controller/AuditProecessController.java

@@ -376,6 +376,8 @@ public class AuditProecessController extends BladeController {
 		//配件销售退款
 		else if ("PJTK".equals(proecess.getCheckType())){
 			auditProecessService.pjOrderCheck(auditProecess);
+		}else if ("PJCG".equals(proecess.getCheckType())){
+			auditProecessService.pjOrderCheck(auditProecess);
 		}else {
 			auditProecessService.commonCheck(auditProecess);
 		}

+ 4 - 1
blade-service/blade-client/src/main/java/org/springblade/client/message/controller/MessageController.java

@@ -19,6 +19,7 @@ package org.springblade.client.message.controller;
 import com.alibaba.nacos.api.utils.StringUtils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -118,7 +119,9 @@ public class MessageController extends BladeController {
 		if (StringUtils.isBlank(message.getUserName())) {
 			message.setUserName(AuthUtil.getUserName());
 		}
-		message.setTenantId(AuthUtil.getTenantId());
+		if (ObjectUtils.isNull(message.getTenantId())){
+			message.setTenantId(AuthUtil.getTenantId());
+		}
 		message.setCreateTime(new Date());
 		message.setCreateUser(AuthUtil.getUserId());
 		return R.status(messageService.save(message));

+ 9 - 2
blade-service/blade-pay/src/main/java/org/springblade/pay/tonglianPayment/service/impl/PaymentServiceImpl.java

@@ -352,7 +352,6 @@ public class PaymentServiceImpl implements IPaymentService {
 				String trxstatus = AnalysisMapUtils.getString("trxstatus", params);
 				if (Objects.equals(trxstatus, "0000")) {
 					wechatMark.setSrcBillNo(AnalysisMapUtils.getString("cusorderid", params));
-					wechatMark.setBillNo(AnalysisMapUtils.getString("cusorderid", params));
 					wechatMark.setSerialNumber(AnalysisMapUtils.getString("trxid", params));
 					wechatMark.setAmount(new BigDecimal(Objects.requireNonNull(AnalysisMapUtils.getString("trxamt", params))).divide(new BigDecimal(100), MathContext.DECIMAL32).setScale(2, BigDecimal.ROUND_HALF_UP));
 
@@ -375,6 +374,7 @@ public class PaymentServiceImpl implements IPaymentService {
 							selectOrder.setActualPaymentStatus(2);
 							selectOrder.setStatus(OrderTypeEnum.XSDQR.getType());
 							selectOrder.setXcxStatus(OrderTypeEnum.XSDFH.getType());
+							wechatMark.setBillNo(selectOrder.getOrdNo());
 							ipjOrderClient.updateBySrcOrgId(selectOrder.getId() + "");
 							//给角色为财务的人发送消息
 							R<String> clientDeptIds = sysClient.getRoleIds(parametersDetails.getTenantId(), "销售");
@@ -418,7 +418,14 @@ public class PaymentServiceImpl implements IPaymentService {
 						wechatMark.setCause(AnalysisMapUtils.getString("cusorderid", params) + "单号支付成功,系统未查到单据信息,账单结算失败!");
 						wechatMark.setStatus(2);
 					}
-					wechatMarkService.save(wechatMark);
+					if (re.isSuccess() && ObjectUtils.isNotNull(re.getData())) {
+						for (PjOrder selectOrder : re.getData()) {
+							wechatMark.setBillNo(selectOrder.getOrdNo());
+							wechatMarkService.save(wechatMark);
+						}
+					} else {
+						wechatMarkService.save(wechatMark);
+					}
 				} else {
 					//订单编号
 					wechatMark.setCause("订单" + AnalysisMapUtils.getString("cusorderid", params) + "支付失败!" + "原因:" + AnalysisMapUtils.getString("errmsg", params));

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

@@ -257,6 +257,19 @@ public class OrderController extends BladeController {
 	}
 
 	/**
+	 * 撤销入库任务
+	 */
+	@PostMapping("/revokeInboundTask")
+	@ApiOperationSupport(order = 9)
+	@ApiOperation(value = "生成入库任务", notes = "传入order")
+	public R revokeInboundTask(@Valid @RequestBody PjOrder order) {
+		if (order.getId() == null) {
+			throw new RuntimeException("来源信息错误");
+		}
+		return orderService.revokeInboundTask(order);
+	}
+
+	/**
 	 * 点击收货修改状态
 	 */
 	@PostMapping("/appUpdate")

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

@@ -124,4 +124,6 @@ public interface IOrderService extends IService<PjOrder> {
 	PjOrder checkOrderCG(PjOrder order);
 
 	PjOrder revokeCheckOrderCG(PjOrder order);
+
+	R revokeInboundTask(PjOrder order);
 }

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

@@ -279,7 +279,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 						if (ObjectUtils.isNotNull(productLaunch)){
 							item.setCostprie(item.getGoodsNum().multiply(productLaunch.getShareCost()));
 						}else{
-							throw new RuntimeException("未查到共享商品成本价格");
+							throw new RuntimeException("请维护共享商品成本价格");
 						}
 					}
 
@@ -537,9 +537,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 
 		//修改采购状态
 		pjOrder.setStatus(OrderTypeEnum.XSDFH.getType());
+		pjOrder.setGenerateTask(OrderTypeEnum.SCRW.getType());
 		baseMapper.updateById(pjOrder);
 
-		return R.success("操作成功");
+		return R.data(pjOrder);
 	}
 
 	/**
@@ -1007,6 +1008,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class)
+	@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
 	public PjOrder revokeCheckOrderCG(PjOrder order) {
 		PjOrder declare = baseMapper.selectById(order.getId());
 		R financeProcess = checkClient.deteleByBillId(order.getId());
@@ -1019,6 +1022,27 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 		return declare;
 	}
 
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
+	public R revokeInboundTask(PjOrder order) {
+		PjOrder pjOrder = baseMapper.selectById(order.getId());
+		PjShip pjShip = shipMapper.selectOne(new LambdaQueryWrapper<PjShip>().eq(PjShip::getIsDeleted, 0)
+			.eq(PjShip::getOrdId, order.getId())
+			.eq(PjShip::getBizTypeName, "SHRW"));
+		if (ObjectUtils.isNotNull(pjShip) && (ObjectUtils.isNull(pjShip.getSendTotalNum()) || new BigDecimal("0.00").compareTo(pjShip.getSendTotalNum()) == 0)) {
+			shipMapper.deleteById(pjShip.getId());
+			shipMapper.deleteByTaskId(pjShip.getTaskId());
+		} else {
+			throw new RuntimeException("出库已完成,禁止撤销!");
+		}
+		//修改销售状态为待发货
+		pjOrder.setStatus(OrderTypeEnum.XSDQR.getType());
+		pjOrder.setGenerateTask(OrderTypeEnum.NSCRW.getType());
+		baseMapper.updateById(pjOrder);
+		return R.data(pjOrder);
+	}
+
 	/**
 	 * 生成工单历史记录
 	 */

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

@@ -118,7 +118,7 @@ public class ProductLaunchController extends BladeController {
 			if (ObjectUtils.isNotNull(deptList.getData()) && deptList.getData().size() > 0) {
 				String deptName = deptList.getData().stream()
 					.filter(e -> ObjectUtils.isNotNull(item.getSharedCompany()) && item.getSharedCompany().contains(e.getId() + ""))
-					.map(Dept::getFullName).collect(Collectors.joining());
+					.map(Dept::getFullName).collect(Collectors.joining(" | "));
 				item.setSharedCompany(deptName);
 			}
 		}
@@ -187,6 +187,17 @@ public class ProductLaunchController extends BladeController {
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "删除", notes = "传入ids")
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		List<PjProductLaunch> pjProductLaunchList = productLaunchService.list(new LambdaQueryWrapper<PjProductLaunch>()
+			.apply("find_in_set(id,'" + ids + "')"));
+		for (PjProductLaunch pjProductLaunch : pjProductLaunchList) {
+			List<PjProductLaunch> productLaunches = productLaunchService.list(new LambdaQueryWrapper<PjProductLaunch>()
+				.eq(PjProductLaunch::getGoodsId, pjProductLaunch.getGoodsId())
+				.eq(PjProductLaunch::getSourceId, pjProductLaunch.getId()));
+			if (productLaunches.size() > 0) {
+				List<Long> idList = productLaunches.stream().map(PjProductLaunch::getId).collect(Collectors.toList());
+				productLaunchService.removeByIds(idList);
+			}
+		}
 		return R.status(productLaunchService.removeByIds(Func.toLongList(ids)));
 	}
 

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

@@ -372,6 +372,9 @@ public class ProductLaunchServiceImpl extends ServiceImpl<ProductLaunchMapper, P
 						launchList.add(selOne);
 					}
 				}
+				if (ObjectUtils.isNotNull(productLaunch.getSharedCompany()) && productLaunch.getSharedCompany().length() > 1) {
+					productLaunch.setSharedCompany(productLaunch.getSharedCompany().substring(1, productLaunch.getSharedCompany().length()));
+				}
 				LambdaQueryWrapper<PjProductLaunch> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 				lambdaQueryWrapper.eq(PjProductLaunch::getTenantId, AuthUtil.getTenantId())
 					.eq(PjProductLaunch::getBillType, 1)
@@ -740,6 +743,9 @@ public class ProductLaunchServiceImpl extends ServiceImpl<ProductLaunchMapper, P
 						launchList.add(selOne);
 					}
 				}
+				if (ObjectUtils.isNotNull(productLaunch.getSharedCompany()) && productLaunch.getSharedCompany().length() > 1) {
+					productLaunch.setSharedCompany(productLaunch.getSharedCompany().substring(1, productLaunch.getSharedCompany().length()));
+				}
 				LambdaQueryWrapper<PjProductLaunch> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 				lambdaQueryWrapper.eq(PjProductLaunch::getTenantId, AuthUtil.getTenantId())
 					.eq(PjProductLaunch::getBillType, 1)

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

@@ -152,12 +152,6 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 		ship.setStockClerkName(userClient.userInfoById(ship.getStockClerkId()).getData().getRealName());
 		ship.setStorageName(storageDescMapper.selectById(ship.getStorageId()).getCname());
 
-		if (ship.getBizTypeName().equals(OrderTypeEnum.SHGD.getType())) {
-			ship.setStatusName(OrderTypeEnum.TREATWAREHOUSING.getType());
-		} else {
-			ship.setStatusName(OrderTypeEnum.TOBESHIPPEDOUT.getType());
-		}
-
 		if (ship.getId() == null) {
 			// 获取系统编号
 			R billNo = serialClient.getBillNo(ship.getBizTypeName(), ship.getBizTypeName(), ship.getBizTypeName());
@@ -165,6 +159,11 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 				TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 				return R.fail(500, "生成系统编号失败");
 			}
+			if (ship.getBizTypeName().equals(OrderTypeEnum.SHGD.getType())) {
+				ship.setStatusName(OrderTypeEnum.TREATWAREHOUSING.getType());
+			} else {
+				ship.setStatusName(OrderTypeEnum.TOBESHIPPEDOUT.getType());
+			}
 			ship.setBillno((String) billNo.getData());
 			ship.setOrdNo((String) billNo.getData());
 			ship.setCreateTime(new Date());
@@ -552,6 +551,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 			gdShip.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
 			gdShip.setCreateUser(AuthUtil.getUserId());
 			gdShip.setCreateTime(new Date());
+			gdShip.setTaskId(rwShip.getId());
 			baseMapper.insert(gdShip);
 
 			//根据采购id获得采购明细数据

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

@@ -231,6 +231,7 @@ public class ShoppingCartServiceImpl extends ServiceImpl<ShoppingCartMapper, PjS
 							orderItems.setInventory(e.getInventory());
 							orderItems.setTotalAmount(orderItems.getGoodsNum().multiply(orderItems.getPrice()));
 							orderItems.setUrl(ObjectUtils.isNotNull(e.getFilesList()) && e.getFilesList().size() > 0 ? e.getFilesList().get(0).getUrl() : "");
+							orderItems.setGoodsName(e.getGoodsName());
 							orderItemsMapper.insert(orderItems);
 							PjGoodsDesc goodsDesc = goodsDescMapper.selectById(orderItems.getGoodsId());
 							if (ObjectUtils.isNotNull(goodsDesc)) {

+ 8 - 4
blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserSearchServiceImpl.java

@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.AllArgsConstructor;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.mapper.UserMapper;
 import org.springblade.system.user.service.IUserSearchService;
@@ -60,6 +61,9 @@ public class UserSearchServiceImpl extends BaseServiceImpl<UserMapper, User> imp
 	@Override
 	public List<User> listByRole(List<Long> roleId) {
 		LambdaQueryWrapper<User> queryWrapper = Wrappers.lambdaQuery();
+		if ("883868".equals(AuthUtil.getTenantId())) {
+			queryWrapper.apply("find_in_set(dept_id,'" + AuthUtil.getDeptId() + "')");
+		}
 		roleId.forEach(id -> queryWrapper.like(User::getRoleId, id).or());
 		return this.list(queryWrapper);
 	}
@@ -67,11 +71,11 @@ public class UserSearchServiceImpl extends BaseServiceImpl<UserMapper, User> imp
 	@Override
 	public List<User> getWarehouseKeeper(List<Long> toLongList, String salesCompanyId) {
 		LambdaQueryWrapper<User> queryWrapper = Wrappers.lambdaQuery();
-		if (toLongList.size()>0){
-			queryWrapper.in(User::getRoleId,toLongList);
-			queryWrapper.eq(User::getDeptId,salesCompanyId);
+		if (toLongList.size() > 0) {
+			queryWrapper.in(User::getRoleId, toLongList);
+			queryWrapper.eq(User::getDeptId, salesCompanyId);
 			return this.list(queryWrapper);
-		}else{
+		} else {
 			return new ArrayList<>();
 		}