Explorar o código

陆运散货保存,列表查询

lichao %!s(int64=3) %!d(string=hai) anos
pai
achega
1b1cb51125

+ 61 - 0
blade-service-api/blade-land-api/src/main/java/org/springblade/land/entity/Order.java

@@ -196,6 +196,11 @@ public class Order implements Serializable {
 	@ApiModelProperty(value = "地址")
 	private String addressDetail;
 	/**
+	 * 卸货地址
+	 */
+	@ApiModelProperty(value = "卸货地址")
+	private String unloadingPlace;
+	/**
 	 * 租户
 	 */
 	@ApiModelProperty(value = "租户")
@@ -229,6 +234,51 @@ public class Order implements Serializable {
 	 */
 	@ApiModelProperty(value = "是否已删除(0-否、1-是)")
 	private Integer isDeleted;
+	/**
+	 * 合同号
+	 */
+	@ApiModelProperty(value = "合同号")
+	private String contractNo;
+	/**
+	 * 派车单号
+	 */
+	@ApiModelProperty(value = "派车单号")
+	private String dispatchNumber;
+	/**
+	 * 车队id
+	 */
+	@ApiModelProperty(value = "车队")
+	private String fleet;
+	/**
+	 * 车号
+	 */
+	@ApiModelProperty(value = "车号")
+	private String licenseNumber;
+	/**
+	 * 司机
+	 */
+	@ApiModelProperty(value = "司机")
+	private String driver;
+	/**
+	 * 电话
+	 */
+	@ApiModelProperty(value = "电话")
+	private String driverTel;
+	/**
+	 * 车体积
+	 */
+	@ApiModelProperty(value = "车体积")
+	private String fleetVolum;
+	/**
+	 * 单车收费
+	 */
+	@ApiModelProperty(value = "单车收费")
+	private BigDecimal freightCollect;
+	/**
+	 * 单车运费
+	 */
+	@ApiModelProperty(value = "单车付费")
+	private BigDecimal freightPay;
 
 	@TableField(exist = false)
 	private List<OrderItem> itemList;
@@ -239,6 +289,17 @@ public class Order implements Serializable {
 	@TableField(exist = false)
 	private List<OrderAddress> orderAddressList;
 
+	/**
+	 * 装货地址
+	 */
+	@TableField(exist = false)
+	private List<OrderAddress> loadingAddressList;
+	/**
+	 * 卸货地址
+	 */
+	@TableField(exist = false)
+	private List<OrderAddress> unloadedAddressList;
+
 	@TableField(exist = false)
 	private List<OrderFee> orderFeeList;
 

+ 48 - 0
blade-service-api/blade-land-api/src/main/java/org/springblade/land/entity/OrderAddress.java

@@ -121,5 +121,53 @@ public class OrderAddress implements Serializable {
 	@ApiModelProperty(value = "是否已删除(0-否、1-是)")
 	private Integer isDeleted;
 
+	/**
+	 * 类别(0-默认、1-装、2-卸)
+	 */
+	@ApiModelProperty("类别")
+	private Integer billType;
+
+	/**
+	 * 货运日期
+	 */
+	@ApiModelProperty(value = "货运日期")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	private Date freightTime;
+
+	/**
+	 * 货运地点ID
+	 */
+	@ApiModelProperty(value = "货运地点ID")
+	private String freightPlaceId;
+
+	/**
+	 * 货运地点名称
+	 */
+	@ApiModelProperty(value = "货运地点名称")
+	private String freightPlaceName;
 
+	/**
+	 * 货物体积
+	 */
+	@ApiModelProperty(value = "货物体积")
+	private String volume;
+
+	/**
+	 * 包装类型
+	 */
+	@ApiModelProperty(value = "包装类型")
+	private String packingType;
+
+	/**
+	 * 重量
+	 */
+	@ApiModelProperty(value = "重量")
+	private String weight;
+
+	/**
+	 * 数量
+	 */
+	@ApiModelProperty(value = "数量")
+	private String quantity;
 }

+ 20 - 0
blade-service/blade-land/src/main/java/org/springblade/land/controller/OrderController.java

@@ -123,6 +123,26 @@ public class OrderController extends BladeController {
 	}
 
 	/**
+	 * 提交 陆运散货提交
+	 */
+	@PostMapping("/submitBulkLoad")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "提交", notes = "传入order")
+	public R submitBulkLoad(@Valid @RequestBody Order order) {
+		return R.data(orderService.submitBulkLoad(order));
+	}
+
+	/**
+	 * 自定义分页 陆运散货订单表
+	 */
+	@GetMapping("/pageBulkLoad")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "散货分页", notes = "传入order")
+	public R<IPage<Order>> pageBulkLoad(Order order, Query query) {
+		return R.data(orderService.selectBulkLoadList(order, query));
+	}
+
+	/**
 	 * 变更许可
 	 */
 	@GetMapping("/valid-change")

+ 10 - 0
blade-service/blade-land/src/main/java/org/springblade/land/service/IOrderService.java

@@ -96,6 +96,16 @@ public interface IOrderService extends IService<Order> {
 	Long saveOrder(Order order);
 
 	/**
+	 * 提交 陆运散货提交
+	 */
+	Long submitBulkLoad(Order order);
+
+	/**
+	 * 自定义分页 陆运散货订单表
+	 */
+	IPage<Order> selectBulkLoadList(Order page, Query query);
+
+	/**
 	 * 变更许可
 	 *
 	 * @param id

+ 168 - 26
blade-service/blade-land/src/main/java/org/springblade/land/service/impl/OrderServiceImpl.java

@@ -511,7 +511,15 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 
 		order.setFreight(freight);
 		if (addressDetail.length() > 0) {
-			order.setAddressDetail(addressDetail.deleteCharAt(addressDetail.lastIndexOf("\n")).toString());
+			if(order.getShippingMode().equals("散货")){
+				String address = addressDetail.deleteCharAt(addressDetail.lastIndexOf("\n")).toString();
+				String[] addressList = address.split(",");
+				order.setAddressDetail(addressList[0]);
+				order.setUnloadingPlace(addressList[1]);
+			} else {
+				order.setAddressDetail(addressDetail.deleteCharAt(addressDetail.lastIndexOf("\n")).toString());
+			}
+
 		}
 		if (CollectionUtil.isNotEmpty(itemList)) {
 			order.setArrivalTime(itemList.get(0).getArrivalTime());
@@ -520,6 +528,67 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		return order.getId();
 	}
 
+	/**
+	 * 提交 陆运散货提交
+	 */
+	@Override
+	public Long submitBulkLoad(Order order) {
+		if (ObjectUtil.isEmpty(order.getId())) {
+			order.setStatus(1);
+			baseMapper.updateById(order);
+		}
+		return order.getId();
+	}
+
+	/**
+	 * 自定义分页 陆运散货订单表
+	 */
+	@Override
+	public IPage<Order> selectBulkLoadList(Order order, Query query) {
+		LambdaQueryWrapper<Order> orderQueryWrapper = new LambdaQueryWrapper<Order>();
+		orderQueryWrapper.eq(Order::getShippingMode, "散货")
+			.eq(Order::getTenantId, AuthUtil.getTenantId())
+			.eq(Order::getIsDeleted, 0);
+		IPage<Order> pages = baseMapper.selectPage(Condition.getPage(query), orderQueryWrapper);
+		pages.getRecords().forEach(record -> {
+			//客户
+			if (!ObjectUtil.isEmpty(record.getCorpId())) {
+				R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(record.getCorpId());
+				if (corpMessage.isSuccess() && corpMessage.getData() != null) {
+					record.setCorpName(corpMessage.getData().getCname());
+					record.setCorpShortName(corpMessage.getData().getShortName());
+				}
+			}
+			//创建人
+			if (!ObjectUtil.isEmpty(record.getCreateUser())) {
+				R<User> user = userClient.userInfoById(record.getCreateUser());
+				if (user.isSuccess() && user.getData() != null) {
+					record.setCreateUserName(user.getData().getRealName());
+				}
+			}
+			//业务员
+			if (!ObjectUtil.isEmpty(record.getSalesman())) {
+				R<User> user = userClient.userInfoById(record.getSalesman());
+				if (user.isSuccess() && user.getData() != null) {
+					record.setSalesmanName(user.getData().getRealName());
+				}
+			}
+			if (!ObjectUtil.isEmpty(record.getDispatcher())) {
+				R<User> user = userClient.userInfoById(record.getDispatcher());
+				if (user.isSuccess() && user.getData() != null) {
+					record.setDispatcherName(user.getData().getRealName());
+				}
+			}
+			if (!ObjectUtil.isEmpty(record.getDispatchDept())) {
+				R<String> dept = sysClient.getDeptName(record.getDispatchDept());
+				if (dept.isSuccess() && dept.getData() != null) {
+					record.setDispatchDeptName(dept.getData());
+				}
+			}
+		});
+		return pages;
+	}
+
 	@Override
 	public boolean validChange(Long id) {
 		Integer count = orderItemMapper.selectCount(new LambdaQueryWrapper<OrderItem>()
@@ -843,37 +912,110 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 
 	private void dealExtraInfo(Order order, StringBuilder addressDetail) {
 		int i = 1;
-		for (OrderAddress address : order.getOrderAddressList()) {
-			if (ObjectUtil.isEmpty(address.getId())) {
-				address.setOrderId(order.getId());
-				address.setTenantId(AuthUtil.getTenantId());
-				address.setCreateUser(AuthUtil.getUserId());
-				address.setCreateTime(new Date());
-				orderAddressMapper.insert(address);
-			} else {
-				address.setUpdateUser(AuthUtil.getUserId());
-				address.setUpdateTime(new Date());
-				orderAddressMapper.updateById(address);
-			}
-
-			if (ObjectUtil.isNotEmpty(address.getCorpId()) || StringUtil.isNotBlank(address.getContacts())
-				|| StringUtil.isNotBlank(address.getTel()) || StringUtil.isNotBlank(address.getAddress())) {
-				if (ObjectUtil.isNotEmpty(address.getCorpId()) && StringUtil.isNotBlank(address.getCorpName())) {
-					addressDetail.append(i).append(".").append(address.getCorpName()).append("(");
+		if (order.getShippingMode().equals("集装箱")) {
+			for (OrderAddress address : order.getOrderAddressList()) {
+				if (ObjectUtil.isEmpty(address.getId())) {
+					address.setOrderId(order.getId());
+					address.setTenantId(AuthUtil.getTenantId());
+					address.setCreateUser(AuthUtil.getUserId());
+					address.setCreateTime(new Date());
+					orderAddressMapper.insert(address);
 				} else {
-					addressDetail.append(i).append(".").append("(");
+					address.setUpdateUser(AuthUtil.getUserId());
+					address.setUpdateTime(new Date());
+					orderAddressMapper.updateById(address);
 				}
 
-				if (StringUtil.isNotBlank(address.getContacts())) {
-					addressDetail.append(address.getContacts());
+				if (ObjectUtil.isNotEmpty(address.getCorpId()) || StringUtil.isNotBlank(address.getContacts())
+					|| StringUtil.isNotBlank(address.getTel()) || StringUtil.isNotBlank(address.getAddress())) {
+
+					if (ObjectUtil.isNotEmpty(address.getCorpId()) && StringUtil.isNotBlank(address.getCorpName())) {
+						addressDetail.append(i).append(".").append(address.getCorpName()).append("(");
+					} else {
+						addressDetail.append(i).append(".").append("(");
+					}
+
+					if (StringUtil.isNotBlank(address.getContacts())) {
+						addressDetail.append(address.getContacts());
+					}
+					if (StringUtil.isNotBlank(address.getTel())) {
+						addressDetail.append(" ").append(address.getTel());
+					}
+					if (StringUtil.isNotBlank(address.getAddress())) {
+						addressDetail.append(") ").append(address.getAddress()).append("\n");
+					} else {
+						addressDetail.append(") ").append("\n");
+					}
+
+					i++;
 				}
-				if (StringUtil.isNotBlank(address.getTel())) {
-					addressDetail.append(" ").append(address.getTel());
+			}
+		}else if (order.getShippingMode().equals("散货")){
+			//装货
+			for (OrderAddress address : order.getLoadingAddressList()){
+				if (ObjectUtil.isEmpty(address.getId())) {
+					address.setOrderId(order.getId());
+					address.setTenantId(AuthUtil.getTenantId());
+					address.setCreateUser(AuthUtil.getUserId());
+					address.setBillType(1);
+					address.setCreateTime(new Date());
+					orderAddressMapper.insert(address);
+				} else {
+					address.setUpdateUser(AuthUtil.getUserId());
+					address.setUpdateTime(new Date());
+					orderAddressMapper.updateById(address);
 				}
-				if (StringUtil.isNotBlank(address.getAddress())) {
-					addressDetail.append(") ").append(address.getAddress()).append("\n");
+
+				if (StringUtil.isNotBlank(address.getContacts()) || StringUtil.isNotBlank(address.getTel()) || StringUtil.isNotBlank(address.getAddress())) {
+
+					if (ObjectUtil.isNotEmpty(address.getFreightPlaceId()) && StringUtil.isNotBlank(address.getFreightPlaceName())) {
+						addressDetail.append(i).append(".").append(address.getFreightPlaceName()).append("(");
+					} else {
+						addressDetail.append(i).append(".").append("(");
+					}
+
+					if (StringUtil.isNotBlank(address.getAddress())) {
+						addressDetail.append(") ").append(address.getAddress()).append("\n");
+					} else {
+						addressDetail.append(") ").append("\n");
+					}
+
+				}
+			}
+
+			addressDetail.append(",");
+
+			i = 1;
+
+			//卸货
+			for (OrderAddress address : order.getUnloadedAddressList()){
+				if (ObjectUtil.isEmpty(address.getId())) {
+					address.setOrderId(order.getId());
+					address.setTenantId(AuthUtil.getTenantId());
+					address.setCreateUser(AuthUtil.getUserId());
+					address.setBillType(2);
+					address.setCreateTime(new Date());
+					orderAddressMapper.insert(address);
 				} else {
-					addressDetail.append(") ").append("\n");
+					address.setUpdateUser(AuthUtil.getUserId());
+					address.setUpdateTime(new Date());
+					orderAddressMapper.updateById(address);
+				}
+
+				if (StringUtil.isNotBlank(address.getContacts()) || StringUtil.isNotBlank(address.getTel()) || StringUtil.isNotBlank(address.getAddress())) {
+
+					if (ObjectUtil.isNotEmpty(address.getFreightPlaceId()) && StringUtil.isNotBlank(address.getFreightPlaceName())) {
+						addressDetail.append(i).append(".").append(address.getFreightPlaceName()).append("(");
+					} else {
+						addressDetail.append(i).append(".").append("(");
+					}
+
+					if (StringUtil.isNotBlank(address.getAddress())) {
+						addressDetail.append(") ").append(address.getAddress()).append("\n");
+					} else {
+						addressDetail.append(") ").append("\n");
+					}
+
 				}
 
 				i++;