|
@@ -1,30 +1,30 @@
|
|
|
package org.dromara.bulk.service.impl;
|
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
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.mapper.BulkOrderListMapper;
|
|
|
import org.dromara.bulk.mapper.UserOrderMapper;
|
|
|
import org.dromara.bulk.mapper.UserOrderTemplateMapper;
|
|
|
+import org.dromara.bulk.mapstruct.NewBulkOrderMapstruct;
|
|
|
import org.dromara.bulk.service.BulkOrderManagementService;
|
|
|
-import org.dromara.commodityManagement.domain.Template;
|
|
|
-import org.dromara.commodityManagement.domain.bo.TemplateBo;
|
|
|
-import org.dromara.common.core.utils.MapstructUtils;
|
|
|
import org.dromara.common.core.utils.OrderNumberGenerator;
|
|
|
-import org.dromara.common.json.utils.JsonUtils;
|
|
|
import org.dromara.productionManagement.domain.ProductionPlan;
|
|
|
import org.dromara.productionManagement.mapper.ProductionPlanMapper;
|
|
|
+import org.dromara.system.service.impl.SysOssServiceImpl;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
|
* 大货订单管理服务层实现
|
|
|
*/
|
|
|
+@Slf4j
|
|
|
@Service
|
|
|
@RequiredArgsConstructor
|
|
|
public class BulkOrderManagementServiceImpl implements BulkOrderManagementService {
|
|
@@ -33,141 +33,75 @@ public class BulkOrderManagementServiceImpl implements BulkOrderManagementServic
|
|
|
private final BulkOrderListMapper bulkOrderListMapper;
|
|
|
private final UserOrderMapper userOrderMapper;
|
|
|
private final UserOrderTemplateMapper userOrderTemplateMapper;
|
|
|
+ private final NewBulkOrderMapstruct newBulkOrderMapstruct;
|
|
|
+ private final SysOssServiceImpl sysOssService;
|
|
|
|
|
|
+ /**
|
|
|
+ * 新增生产订单
|
|
|
+ *
|
|
|
+ * @param newBulkOrderBo 生产订单的BO对象
|
|
|
+ * @return 添加结果
|
|
|
+ */
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public int insertBulkOrder(NewBulkOrderBo newBulkOrderBo) {
|
|
|
- OrderNumberGenerator orderNumberGenerator = OrderNumberGenerator.getInstance();
|
|
|
- for (OrderListBo orderList : newBulkOrderBo.getOrderLists()){
|
|
|
- String sysNo = orderNumberGenerator.generateOrderNumber("SYS");
|
|
|
- String purchaseCode = orderNumberGenerator.generateOrderNumber("SC");
|
|
|
- String orderNumber = orderNumberGenerator.generateOrderNumber("DH");
|
|
|
+ try {
|
|
|
+ OrderNumberGenerator orderNumberGenerator = OrderNumberGenerator.getInstance();
|
|
|
+ for (OrderListBo orderList : newBulkOrderBo.getOrderLists()) {
|
|
|
+ // 生成单号
|
|
|
+ String sysNo = orderNumberGenerator.generateOrderNumber("SYS");
|
|
|
+ String purchaseCode = orderNumberGenerator.generateOrderNumber("SC");
|
|
|
+ String orderNumber = orderNumberGenerator.generateOrderNumber("DH");
|
|
|
|
|
|
- productionPlanMapper.insert(initProductionPlanBo(orderList, sysNo, purchaseCode, orderNumber));
|
|
|
+ // 用户订单映射
|
|
|
+ UserOrder userOrder = newBulkOrderMapstruct.toUserOrder(
|
|
|
+ newBulkOrderBo,
|
|
|
+ orderList,
|
|
|
+ orderNumber,
|
|
|
+ newBulkOrderBo.getRemark()
|
|
|
+ );
|
|
|
+ userOrder.setCreateTime(newBulkOrderBo.getCreateTime());
|
|
|
+ userOrderMapper.insert(userOrder);
|
|
|
|
|
|
- bulkOrderListMapper.insert(initBulkOrderListBo(orderList, sysNo, purchaseCode));
|
|
|
+ // 生产计划映射
|
|
|
+ ProductionPlan productionPlan = newBulkOrderMapstruct.toProductionPlan(
|
|
|
+ newBulkOrderBo,
|
|
|
+ orderList,
|
|
|
+ sysNo,
|
|
|
+ purchaseCode,
|
|
|
+ orderNumber
|
|
|
+ );
|
|
|
+ productionPlan.setCreateTime(newBulkOrderBo.getCreateTime());
|
|
|
+ productionPlanMapper.insert(productionPlan);
|
|
|
|
|
|
- Long orderId = userOrderMapper.selectLastId();
|
|
|
- Long planId = productionPlanMapper.selectLastId();
|
|
|
-
|
|
|
- List<UserOrderTemplate> userOrderTemplate = initUserOrderTemplate(orderList, orderId, planId);
|
|
|
- userOrderTemplateMapper.insert(userOrderTemplate);
|
|
|
- }
|
|
|
+ // 订单列表映射
|
|
|
+ BulkOrderList bulkOrderList = newBulkOrderMapstruct.toBulkOrderList(
|
|
|
+ newBulkOrderBo,
|
|
|
+ orderList, sysNo,
|
|
|
+ purchaseCode,
|
|
|
+ userOrder.getId(),
|
|
|
+ productionPlan.getId());
|
|
|
+ bulkOrderListMapper.insert(bulkOrderList);
|
|
|
|
|
|
- return 0;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 初始化大货订单列表BO对象
|
|
|
- * @param orderList 订单列表
|
|
|
- * @param sysNo 系统单号
|
|
|
- * @param purchaseCode 生产单号
|
|
|
- * @return 构建完毕的BO对象
|
|
|
- */
|
|
|
- private BulkOrderList initBulkOrderListBo(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.getDaHuoNumberBo().getName());
|
|
|
- //设置成衣厂
|
|
|
- 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());
|
|
|
- //设置工艺类型并转换为JSON格式后存入
|
|
|
- bulkOrderList.setGoodsTypeExtend3Attr(JsonUtils.toJsonString(orderList.getCraft()));
|
|
|
- //设置花型号类型并转换为JSON格式存入
|
|
|
- bulkOrderList.setGoodsTypeExtend4Attr(JsonUtils.toJsonString(orderList.getOem()));
|
|
|
- return bulkOrderList;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 初始化生产计划BO对象
|
|
|
- * @param orderList 订单列表
|
|
|
- * @param sysNo 系统单号
|
|
|
- * @param purchaseCode 生产单号
|
|
|
- * @return 构建完毕的生产计划BO对象
|
|
|
- */
|
|
|
- private ProductionPlan initProductionPlanBo(OrderListBo orderList, String sysNo, String purchaseCode, String orderNumber) {
|
|
|
- ProductionPlan productionPlan = new ProductionPlan();
|
|
|
- //设置系统单号
|
|
|
- productionPlan.setSysNo(sysNo);
|
|
|
- //设置生产单号
|
|
|
- productionPlan.setPurchaseCode(purchaseCode);
|
|
|
- //设置订单单号
|
|
|
- productionPlan.setOrderNum(orderNumber);
|
|
|
- //设置用户id
|
|
|
- productionPlan.setUserId(orderList.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(orderList.getCreateTime());
|
|
|
- return productionPlan;
|
|
|
- }
|
|
|
+ // 处理模板
|
|
|
+ if (orderList.getTemplateList() != null) {
|
|
|
+ List<UserOrderTemplate> templates = newBulkOrderMapstruct.toTemplateList(
|
|
|
+ newBulkOrderBo,
|
|
|
+ orderList,
|
|
|
+ productionPlan.getId(),
|
|
|
+ userOrder.getId(),
|
|
|
+ orderList.getTemplateList()
|
|
|
+ );
|
|
|
+ userOrderTemplateMapper.insert(templates);
|
|
|
+ }
|
|
|
|
|
|
- private List<UserOrderTemplate> initUserOrderTemplate(OrderListBo orderList, Long orderId, Long planId) {
|
|
|
- ArrayList<UserOrderTemplate> userOrderTemplateList = new ArrayList<>();
|
|
|
- for (TemplateBo templateBo : orderList.getTemplateList()) {
|
|
|
- UserOrderTemplate userOrderTemplate = new UserOrderTemplate();
|
|
|
- //设置用户id
|
|
|
- userOrderTemplate.setUserId(orderList.getUserId());
|
|
|
- //设置订单id 对应fa_kuyou_user_order表id
|
|
|
- userOrderTemplate.setOrderId(orderId);
|
|
|
- //设置生产计划id 对应fa_kuyou_production_plan表id
|
|
|
- userOrderTemplate.setPlanId(planId);
|
|
|
- //设置大货编号id
|
|
|
- userOrderTemplate.setItemId(orderList.getDaHuoNumberBo().getId());
|
|
|
- //设置份数
|
|
|
- userOrderTemplate.setNumber(templateBo.getNumber());
|
|
|
- //设置米数
|
|
|
- userOrderTemplate.setMiter(templateBo.getMiter());
|
|
|
- //设置版图名称
|
|
|
- userOrderTemplate.setName(templateBo.getName());
|
|
|
- //设置版图图片
|
|
|
- userOrderTemplate.setImage(templateBo.getImage());
|
|
|
- userOrderTemplateList.add(userOrderTemplate);
|
|
|
+ //处理款式图
|
|
|
+// SysOssVo styleImageVo = sysOssService.upload(orderList.getStyleImage());
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error(String.valueOf(e));
|
|
|
+ return 0;
|
|
|
}
|
|
|
- return userOrderTemplateList;
|
|
|
}
|
|
|
}
|