|
|
|
@ -1,19 +1,18 @@ |
|
|
|
package com.gaotao.modules.oa.service.impl; |
|
|
|
|
|
|
|
import com.gaotao.common.utils.DateUtils; |
|
|
|
import com.gaotao.modules.oa.dto.OaResponseDto; |
|
|
|
import com.gaotao.modules.oa.dto.ProductionOrderItemDto; |
|
|
|
import com.gaotao.modules.oa.dto.ProductionOrderRequestDto; |
|
|
|
import com.gaotao.modules.oa.service.ProductionOrderService; |
|
|
|
import com.gaotao.modules.shopOrder.dao.ShopOrderMapper; |
|
|
|
import com.gaotao.modules.shopOrder.entity.ShopOrderData; |
|
|
|
import com.gaotao.modules.report.dao.ProcedureDao; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.beans.BeanUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
import org.springframework.util.StringUtils; |
|
|
|
|
|
|
|
import java.util.Date; |
|
|
|
import java.util.*; |
|
|
|
|
|
|
|
/** |
|
|
|
* 生产订单服务实现类 |
|
|
|
@ -23,7 +22,7 @@ import java.util.Date; |
|
|
|
public class ProductionOrderServiceImpl implements ProductionOrderService { |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private ShopOrderMapper shopOrderMapper; |
|
|
|
private ProcedureDao procedureDao; |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
@ -44,25 +43,8 @@ public class ProductionOrderServiceImpl implements ProductionOrderService { |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
// 2. 根据method执行不同操作 |
|
|
|
switch (item.getMethod()) { |
|
|
|
case "0": // 新增 |
|
|
|
processNewOrder(item); |
|
|
|
break; |
|
|
|
case "1": // 修改 |
|
|
|
processUpdateOrder(item); |
|
|
|
break; |
|
|
|
case "2": // 关闭 |
|
|
|
processCloseOrder(item); |
|
|
|
break; |
|
|
|
case "3": // 删除 |
|
|
|
processDeleteOrder(item); |
|
|
|
break; |
|
|
|
default: |
|
|
|
failCount++; |
|
|
|
errorMessages.append("订单").append(item.getOrderNo()).append("操作方法无效; "); |
|
|
|
continue; |
|
|
|
} |
|
|
|
// 2. 调用存储过程UspInsertShopOrder |
|
|
|
callUspInsertShopOrder(item); |
|
|
|
|
|
|
|
successCount++; |
|
|
|
log.info("处理生产订单成功,订单号: {}, 操作: {}", item.getOrderNo(), getMethodDesc(item.getMethod())); |
|
|
|
@ -91,83 +73,47 @@ public class ProductionOrderServiceImpl implements ProductionOrderService { |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 处理新增订单 |
|
|
|
* 调用存储过程UspInsertShopOrder |
|
|
|
*/ |
|
|
|
private void processNewOrder(ProductionOrderItemDto item) { |
|
|
|
ShopOrderData shopOrder = new ShopOrderData(); |
|
|
|
mapItemToShopOrder(item, shopOrder); |
|
|
|
shopOrder.setEnterDate(item.getEnterDate() != null ? item.getEnterDate() : new Date()); |
|
|
|
shopOrder.setUserName("OA_SYSTEM"); |
|
|
|
private void callUspInsertShopOrder(ProductionOrderItemDto item) { |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
|
|
|
|
shopOrderMapper.saveShopOrderData2(shopOrder); |
|
|
|
log.debug("新增生产订单: {}", item.getOrderNo()); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 处理修改订单 |
|
|
|
*/ |
|
|
|
private void processUpdateOrder(ProductionOrderItemDto item) { |
|
|
|
ShopOrderData shopOrder = new ShopOrderData(); |
|
|
|
mapItemToShopOrder(item, shopOrder); |
|
|
|
shopOrder.setUserName("OA_SYSTEM"); |
|
|
|
// 按照存储过程参数顺序添加参数 |
|
|
|
params.add(item.getSite()); // @site |
|
|
|
params.add(item.getBuNo()); // @buNo |
|
|
|
params.add(item.getOrderNo()); // @orderNo |
|
|
|
params.add(item.getStatus()); // @status |
|
|
|
params.add(item.getStatusTmp()); // @statusTmp |
|
|
|
params.add(DateUtils.format(item.getEnterDate() != null ? item.getEnterDate() : new Date())); // @enterDate |
|
|
|
params.add(DateUtils.format(item.getNeedDate())); // @needDate |
|
|
|
params.add(DateUtils.format(item.getPlanStartDate())); // @planStartDate |
|
|
|
params.add(item.getOriginalNeedDate() != null ? DateUtils.format(item.getOriginalNeedDate()) : ""); // @originalNeedDate |
|
|
|
params.add(item.getCloseDate() != null ? DateUtils.format(item.getCloseDate()) : ""); // @closeDate |
|
|
|
params.add(item.getOrderType()); // @orderType |
|
|
|
params.add(item.getPartNo()); // @partNo |
|
|
|
params.add(item.getLotSize()); // @lotSize |
|
|
|
params.add(item.getBomRevNo()); // @bomRevNo |
|
|
|
params.add(item.getRoutingRevNo()); // @routingRevNo |
|
|
|
params.add(item.getProjectID()); // @projectID |
|
|
|
params.add(item.getCustomerId()); // @customerId |
|
|
|
params.add(item.getBatchNo()); // @batchNo |
|
|
|
params.add(item.getOrderref1()); // @orderref1 |
|
|
|
params.add(item.getOrderref2()); // @orderref2 |
|
|
|
params.add(item.getMethod()); // @method |
|
|
|
|
|
|
|
shopOrderMapper.saveShopOrderData(shopOrder); |
|
|
|
log.debug("修改生产订单: {}", item.getOrderNo()); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 处理关闭订单 |
|
|
|
*/ |
|
|
|
private void processCloseOrder(ProductionOrderItemDto item) { |
|
|
|
ShopOrderData shopOrder = new ShopOrderData(); |
|
|
|
shopOrder.setSite(item.getSite()); |
|
|
|
shopOrder.setOrderNo(item.getOrderNo()); |
|
|
|
shopOrder.setStatus("已关闭"); |
|
|
|
shopOrder.setStatusTmp("已关闭"); |
|
|
|
shopOrder.setCloseDate(item.getCloseDate() != null ? item.getCloseDate() : new Date()); |
|
|
|
shopOrder.setUserName("OA_SYSTEM"); |
|
|
|
// 执行存储过程 |
|
|
|
List<Map<String, Object>> resultList = procedureDao.getProcedureData("UspInsertShopOrder", params); |
|
|
|
|
|
|
|
shopOrderMapper.saveShopOrderData(shopOrder); |
|
|
|
log.debug("关闭生产订单: {}", item.getOrderNo()); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 处理删除订单 |
|
|
|
*/ |
|
|
|
private void processDeleteOrder(ProductionOrderItemDto item) { |
|
|
|
ShopOrderData shopOrder = new ShopOrderData(); |
|
|
|
shopOrder.setSite(item.getSite()); |
|
|
|
shopOrder.setOrderNo(item.getOrderNo()); |
|
|
|
shopOrder.setUserName("OA_SYSTEM"); |
|
|
|
// 判断执行结果 |
|
|
|
if (resultList != null && !resultList.isEmpty()) { |
|
|
|
String code = String.valueOf(resultList.get(0).get("resultCode")); |
|
|
|
if ("400".equalsIgnoreCase(code)) { |
|
|
|
String msg = String.valueOf(resultList.get(0).get("resultMsg")); |
|
|
|
throw new RuntimeException(msg); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
shopOrderMapper.deleteShopOrderData(shopOrder); |
|
|
|
log.debug("删除生产订单: {}", item.getOrderNo()); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 将DTO映射到ShopOrderData |
|
|
|
*/ |
|
|
|
private void mapItemToShopOrder(ProductionOrderItemDto item, ShopOrderData shopOrder) { |
|
|
|
shopOrder.setSite(item.getSite()); |
|
|
|
shopOrder.setOrderNo(item.getOrderNo()); |
|
|
|
shopOrder.setStatus(item.getStatus()); |
|
|
|
shopOrder.setStatusTmp(item.getStatusTmp()); |
|
|
|
shopOrder.setEnterDate(item.getEnterDate()); |
|
|
|
shopOrder.setNeedDate(item.getNeedDate()); |
|
|
|
shopOrder.setPlanStartDate(item.getPlanStartDate()); |
|
|
|
shopOrder.setOriginalNeedDate(item.getOriginalNeedDate()); |
|
|
|
shopOrder.setCloseDate(item.getCloseDate()); |
|
|
|
shopOrder.setOrderType(item.getOrderType()); |
|
|
|
shopOrder.setPartNo(item.getPartNo()); |
|
|
|
shopOrder.setLotSize(item.getLotSize()); |
|
|
|
shopOrder.setbOMRevNo(item.getBomRevNo()); |
|
|
|
shopOrder.setRoutingRevNo(item.getRoutingRevNo()); |
|
|
|
shopOrder.setProjectID(item.getProjectID()); |
|
|
|
shopOrder.setCustomerID(item.getCustomerId()); |
|
|
|
shopOrder.setBatchNo(item.getBatchNo()); |
|
|
|
shopOrder.setOrderRef1(item.getOrderref1()); |
|
|
|
shopOrder.setOrderRef2(item.getOrderref2()); |
|
|
|
shopOrder.setBuNo(item.getBuNo()); |
|
|
|
log.debug("调用存储过程UspInsertShopOrder成功,订单号: {}, 操作: {}", item.getOrderNo(), getMethodDesc(item.getMethod())); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
|