|
@@ -1,17 +1,23 @@
|
|
|
package org.dromara.bulk.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.dromara.bulk.domain.BulkOrderList;
|
|
|
import org.dromara.bulk.domain.UserOrder;
|
|
|
import org.dromara.bulk.domain.UserOrderTemplate;
|
|
|
+import org.dromara.bulk.domain.bo.BulkOrderListBo;
|
|
|
import org.dromara.bulk.domain.bo.NewBulkOrderBo;
|
|
|
import org.dromara.bulk.domain.bo.OrderListBo;
|
|
|
+import org.dromara.bulk.domain.vo.BulkOrderListVo;
|
|
|
import org.dromara.bulk.mapper.BulkOrderListMapper;
|
|
|
+import org.dromara.bulk.mapper.BulkOrderMapper;
|
|
|
import org.dromara.bulk.mapper.UserOrderMapper;
|
|
|
import org.dromara.bulk.mapper.UserOrderTemplateMapper;
|
|
|
import org.dromara.bulk.service.BulkOrderManagementService;
|
|
|
import org.dromara.commodityManagement.domain.bo.TemplateBo;
|
|
|
import org.dromara.common.core.utils.OrderNumberGenerator;
|
|
|
+import org.dromara.common.mybatis.core.page.PageQuery;
|
|
|
+import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
|
import org.dromara.productionManagement.domain.ProductionPlan;
|
|
|
import org.dromara.productionManagement.mapper.ProductionPlanMapper;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -31,9 +37,11 @@ public class BulkOrderManagementServiceImpl implements BulkOrderManagementServic
|
|
|
private final BulkOrderListMapper bulkOrderListMapper;
|
|
|
private final UserOrderMapper userOrderMapper;
|
|
|
private final UserOrderTemplateMapper userOrderTemplateMapper;
|
|
|
+ private final BulkOrderMapper bulkOrderMapper;
|
|
|
|
|
|
/**
|
|
|
* 新增生产订单
|
|
|
+ *
|
|
|
* @param newBulkOrderBo 生产订单的BO对象
|
|
|
* @return 添加结果
|
|
|
*/
|
|
@@ -42,26 +50,50 @@ public class BulkOrderManagementServiceImpl implements BulkOrderManagementServic
|
|
|
public int insertBulkOrder(NewBulkOrderBo newBulkOrderBo) {
|
|
|
try {
|
|
|
OrderNumberGenerator orderNumberGenerator = OrderNumberGenerator.getInstance();
|
|
|
- for (OrderListBo orderList : newBulkOrderBo.getOrderLists()){
|
|
|
- //生成各种单号
|
|
|
+ for (OrderListBo orderList : newBulkOrderBo.getOrderLists()) {
|
|
|
+ // 生成单号
|
|
|
String sysNo = orderNumberGenerator.generateOrderNumber("SYS");
|
|
|
String purchaseCode = orderNumberGenerator.generateOrderNumber("SC");
|
|
|
String orderNumber = orderNumberGenerator.generateOrderNumber("DH");
|
|
|
|
|
|
- bulkOrderListMapper.insert(initBulkOrderList(orderList, sysNo, purchaseCode));
|
|
|
+ // 使用Mapper转换
|
|
|
+ BulkOrderList bulkOrderList = bulkOrderMapper.toBulkOrderList(orderList);
|
|
|
+ bulkOrderList.setSysNo(sysNo);
|
|
|
+ bulkOrderList.setScNo(purchaseCode);
|
|
|
+ bulkOrderList.setGoodsId(9L); // 保留必要的手动设置
|
|
|
+ bulkOrderListMapper.insert(bulkOrderList);
|
|
|
|
|
|
- ProductionPlan productionPlan = initProductionPlan(newBulkOrderBo, orderList, sysNo, purchaseCode, orderNumber);
|
|
|
+ // 生产计划映射
|
|
|
+ ProductionPlan productionPlan = bulkOrderMapper.toProductionPlan(
|
|
|
+ newBulkOrderBo,
|
|
|
+ orderList,
|
|
|
+ sysNo,
|
|
|
+ purchaseCode,
|
|
|
+ orderNumber
|
|
|
+ );
|
|
|
+ productionPlan.setCreateTime(newBulkOrderBo.getCreateTime());
|
|
|
productionPlanMapper.insert(productionPlan);
|
|
|
|
|
|
- UserOrder userOrder = initUserOrder(newBulkOrderBo, orderList, orderNumber, newBulkOrderBo.getRemark());
|
|
|
+ // 用户订单映射
|
|
|
+ UserOrder userOrder = bulkOrderMapper.toUserOrder(
|
|
|
+ newBulkOrderBo,
|
|
|
+ orderList,
|
|
|
+ orderNumber,
|
|
|
+ newBulkOrderBo.getRemark()
|
|
|
+ );
|
|
|
+ userOrder.setCreateTime(newBulkOrderBo.getCreateTime());
|
|
|
userOrderMapper.insert(userOrder);
|
|
|
|
|
|
- //获取订单id和生产计划id
|
|
|
- Long orderId = productionPlan.getId();
|
|
|
- Long planId = userOrder.getId();
|
|
|
-
|
|
|
- if (null != orderList.getTemplateList()){
|
|
|
- userOrderTemplateMapper.insert(initUserOrderTemplate(newBulkOrderBo, orderList, orderId, planId));
|
|
|
+ // 处理模板
|
|
|
+ if (orderList.getTemplateList() != null) {
|
|
|
+ List<UserOrderTemplate> templates = bulkOrderMapper.toTemplateList(
|
|
|
+ newBulkOrderBo,
|
|
|
+ orderList,
|
|
|
+ productionPlan.getId(),
|
|
|
+ userOrder.getId(),
|
|
|
+ orderList.getTemplateList()
|
|
|
+ );
|
|
|
+ userOrderTemplateMapper.insert(templates); // 需要实现批量插入
|
|
|
}
|
|
|
}
|
|
|
return 1;
|
|
@@ -69,138 +101,4 @@ public class BulkOrderManagementServiceImpl implements BulkOrderManagementServic
|
|
|
return 0;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- /**
|
|
|
- * 初始化大货订单列表BO对象
|
|
|
- * @param orderList 订单列表
|
|
|
- * @param sysNo 系统单号
|
|
|
- * @param purchaseCode 生产单号
|
|
|
- * @return 构建完毕的BO对象
|
|
|
- */
|
|
|
- private BulkOrderList initBulkOrderList(OrderListBo orderList, String sysNo, String purchaseCode) {
|
|
|
- BulkOrderList bulkOrderList = new BulkOrderList();
|
|
|
- //设置系统单号
|
|
|
- bulkOrderList.setSysNo(sysNo);
|
|
|
- //设置生产单号
|
|
|
- bulkOrderList.setScNo(purchaseCode);
|
|
|
- //设置商品ID
|
|
|
- bulkOrderList.setGoodsId(9L);
|
|
|
- //设置商品编号
|
|
|
- bulkOrderList.setGoodsCode("SP001");
|
|
|
- //设置商品名称
|
|
|
- bulkOrderList.setGoodsName("图片下单");
|
|
|
- //设置单位ID
|
|
|
- bulkOrderList.setUnitId(5);
|
|
|
- //设置默认单位ID
|
|
|
- bulkOrderList.setDefaultUnit(5);
|
|
|
- //设置大货编号
|
|
|
- bulkOrderList.setGoodsTypeExtend1Id(orderList.getDaHuoNumberName());
|
|
|
- //设置成衣厂
|
|
|
- bulkOrderList.setGarmentFactory(orderList.getGarmentFactory());
|
|
|
- //设置成衣厂联系人
|
|
|
- bulkOrderList.setGarmentFactoryPeople(orderList.getGarmentFactoryPeople());
|
|
|
- //设置成衣厂电话
|
|
|
- bulkOrderList.setGarmentFactoryTel(orderList.getGarmentFactoryTel());
|
|
|
- //设置收货地址
|
|
|
- bulkOrderList.setReceivingAddress(orderList.getReceivingAddress());
|
|
|
- //设置当前消耗时间
|
|
|
- bulkOrderList.setCurrentTimeConsumption(orderList.getCurrentTimeConsumption());
|
|
|
- //设置下单时间
|
|
|
- bulkOrderList.setOrderTime(orderList.getOrderTime());
|
|
|
- //设置目标时间
|
|
|
- bulkOrderList.setTargetDate(orderList.getTargetDate());
|
|
|
- //设置底布
|
|
|
- bulkOrderList.setBaseCloth(orderList.getBaseCloth());
|
|
|
- //设置底布价格
|
|
|
- bulkOrderList.setBaseClothPrice(orderList.getBaseClothPrice());
|
|
|
- //设置品牌组
|
|
|
- bulkOrderList.setBrandGroup(orderList.getBrandGroup());
|
|
|
- //设置工艺类型id
|
|
|
- bulkOrderList.setGoodsTypeExtend3Id(orderList.getCraftId());
|
|
|
- //设置花型号id
|
|
|
- bulkOrderList.setGoodsTypeExtend4Id(orderList.getOemId());
|
|
|
- return bulkOrderList;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 初始化生产计划BO对象
|
|
|
- * @param orderList 订单列表
|
|
|
- * @param sysNo 系统单号
|
|
|
- * @param purchaseCode 生产单号
|
|
|
- * @return 构建完毕的生产计划BO对象
|
|
|
- */
|
|
|
- private ProductionPlan initProductionPlan(NewBulkOrderBo newBulkOrderBo, OrderListBo orderList, String sysNo, String purchaseCode, String orderNumber) {
|
|
|
- ProductionPlan productionPlan = new ProductionPlan();
|
|
|
- //设置系统单号
|
|
|
- productionPlan.setSysNo(sysNo);
|
|
|
- //设置生产单号
|
|
|
- productionPlan.setPurchaseCode(purchaseCode);
|
|
|
- //设置订单单号
|
|
|
- productionPlan.setOrderNum(orderNumber);
|
|
|
- //设置用户id
|
|
|
- productionPlan.setUserId(newBulkOrderBo.getUserId());
|
|
|
- //设置是否烧花
|
|
|
- productionPlan.setIsBurnFlowers(orderList.getIsBurnFlowers());
|
|
|
- //设置是否快返
|
|
|
- productionPlan.setIsQuickReturn(orderList.getIsQuickReturn());
|
|
|
- //设置是否作废
|
|
|
- productionPlan.setIsToVoid(orderList.getIsToVoid());
|
|
|
- //设置是否多色
|
|
|
- productionPlan.setIsMulticolor(orderList.getIsMulticolor());
|
|
|
- //设置是否首单
|
|
|
- productionPlan.setIsFirstOrder(orderList.getIsFirstOrder());
|
|
|
- //设置是否紧急
|
|
|
- productionPlan.setIsUrgent(orderList.getIsUrgent());
|
|
|
- //设置是否补货
|
|
|
- productionPlan.setIsBuhuo(orderList.getIsBuhuo());
|
|
|
- //设置是否系统单
|
|
|
- productionPlan.setIsSys(orderList.getIsSys());
|
|
|
- //设置创建时间
|
|
|
- productionPlan.setCreateTime(newBulkOrderBo.getCreateTime());
|
|
|
- return productionPlan;
|
|
|
- }
|
|
|
-
|
|
|
- private List<UserOrderTemplate> initUserOrderTemplate(NewBulkOrderBo newBulkOrderBo, OrderListBo orderList, Long orderId, Long planId) {
|
|
|
- ArrayList<UserOrderTemplate> userOrderTemplateList = new ArrayList<>();
|
|
|
- for (TemplateBo templateBo : orderList.getTemplateList()) {
|
|
|
- UserOrderTemplate userOrderTemplate = new UserOrderTemplate();
|
|
|
- //设置用户id
|
|
|
- userOrderTemplate.setUserId(newBulkOrderBo.getUserId());
|
|
|
- //设置订单id 对应fa_kuyou_user_order表id
|
|
|
- userOrderTemplate.setOrderId(orderId);
|
|
|
- //设置生产计划id 对应fa_kuyou_production_plan表id
|
|
|
- userOrderTemplate.setPlanId(planId);
|
|
|
- //设置大货编号id
|
|
|
- userOrderTemplate.setItemId(orderList.getDaHuoNumberId());
|
|
|
- //设置份数
|
|
|
- userOrderTemplate.setNumber(templateBo.getNumber());
|
|
|
- //设置米数
|
|
|
- userOrderTemplate.setMiter(templateBo.getMiter());
|
|
|
- //设置版图名称
|
|
|
- userOrderTemplate.setName(templateBo.getName());
|
|
|
- //设置版图图片
|
|
|
- userOrderTemplate.setImage(templateBo.getImage());
|
|
|
- userOrderTemplateList.add(userOrderTemplate);
|
|
|
- }
|
|
|
- return userOrderTemplateList;
|
|
|
- }
|
|
|
-
|
|
|
- private UserOrder initUserOrder(NewBulkOrderBo newBulkOrderBo, OrderListBo orderList, String orderNumber, String remark) {
|
|
|
- UserOrder userOrder = new UserOrder();
|
|
|
- //设置用户id
|
|
|
- userOrder.setUserId(newBulkOrderBo.getUserId());
|
|
|
- //设置订单名称
|
|
|
- userOrder.setName(newBulkOrderBo.getUserName());
|
|
|
- //设置订单电话
|
|
|
- userOrder.setPhone(newBulkOrderBo.getUserPhone());
|
|
|
- //设置订单地址
|
|
|
- userOrder.setAddress(orderList.getReceivingAddress());
|
|
|
- //设置订单编号
|
|
|
- userOrder.setOrderNumber(orderNumber);
|
|
|
- //设置备注
|
|
|
- userOrder.setRemark(remark);
|
|
|
- //设置创建时间
|
|
|
- userOrder.setCreateTime(newBulkOrderBo.getCreateTime());
|
|
|
- return userOrder;
|
|
|
- }
|
|
|
}
|