|
@@ -1274,4 +1274,98 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
|
|
|
System.out.println(saleOrderIds + ":saleOrderIds");
|
|
|
return null;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public synchronized int addTruckNoGreat(List<Map<String, Object>> mapList) {
|
|
|
+
|
|
|
+ int result = 0;
|
|
|
+ for (Map<String, Object> map : mapList) {
|
|
|
+ // 销售订单id
|
|
|
+ BigDecimal saleOrderId = DataChange.dataToBigDecimal(map.get("saleOrderId"));
|
|
|
+ // 车序号
|
|
|
+ BigDecimal truckNo = DataChange.dataToBigDecimal(map.get("truckNo"));
|
|
|
+ AmsSaleOrderMaterial amsSaleOrderMaterial;
|
|
|
+ Map<String,Object> saleMap = new HashMap<>();
|
|
|
+ saleMap.put("saleOrderId",saleOrderId);
|
|
|
+ saleMap.put("saleOrderMaterialTruckNo",truckNo);
|
|
|
+ // 检测销售订单下的车序号是否已存在
|
|
|
+ List<AmsSaleOrderMaterial> amsSaleOrderMaterials = amsSaleOrderMaterialMapper.selectByParameters(saleMap);
|
|
|
+ // 如果已存在则不处理
|
|
|
+ if (amsSaleOrderMaterials != null && amsSaleOrderMaterials.size() != 0) {
|
|
|
+ amsSaleOrderMaterial = amsSaleOrderMaterials.get(0);
|
|
|
+ }
|
|
|
+ // 如果不存在则新增车序号
|
|
|
+ else {
|
|
|
+ amsSaleOrderMaterial = new AmsSaleOrderMaterial();
|
|
|
+ // 收货地址id
|
|
|
+ BigDecimal shippingAddressId = DataChange.dataToBigDecimal(map.get("shippingAddressId"));
|
|
|
+ String place = (String) (map.get("place"));
|
|
|
+ if (place != null) {
|
|
|
+ List<Map<String, Object>> placeIdList = amsSaleOrderMaterialMapper.getPlaceId(place,shippingAddressId);
|
|
|
+ if (placeIdList == null || placeIdList.size() == 0) {
|
|
|
+ RmsReceivePlace rmsReceivePlace = new RmsReceivePlace();
|
|
|
+ rmsReceivePlace.setPlaceId(rmsReceivePlaceMapper.selectMaxId());
|
|
|
+ rmsReceivePlace.setAddressId(shippingAddressId);
|
|
|
+ rmsReceivePlace.setAddressDeliveryAddress(place);
|
|
|
+ amsSaleOrderMaterial.setSaleShippingAddressId(rmsReceivePlace.getPlaceId());
|
|
|
+ rmsReceivePlaceMapper.insertSelective(rmsReceivePlace);
|
|
|
+ } else {
|
|
|
+ amsSaleOrderMaterial.setSaleShippingAddressId((BigDecimal) placeIdList.get(0).get("placeId"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Date dateOfReceipt = new Date((Long) map.get("dateOfReceipt"));
|
|
|
+ // 收货方姓名
|
|
|
+ String orderConsignee = (String) map.get("orderConsignee");
|
|
|
+ // 收货方联系方式
|
|
|
+ Object orderConsigneeTel = map.get("orderConsigneeTel");
|
|
|
+ BigDecimal saleOrderMaterialId = amsSaleOrderMaterialMapper.selectMaxId();
|
|
|
+ amsSaleOrderMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
|
|
|
+ amsSaleOrderMaterial.setSaleOrderId(saleOrderId);
|
|
|
+ amsSaleOrderMaterial.setSaleOrderMaterialTruckNo(truckNo);
|
|
|
+ // 钢材收货日期
|
|
|
+ amsSaleOrderMaterial.setSaleDateOfReceipt(dateOfReceipt);
|
|
|
+ amsSaleOrderMaterial.setSaleOrderConsignee(orderConsignee);
|
|
|
+ if (orderConsignee != null) {
|
|
|
+ amsSaleOrderMaterial.setSaleOrderConsigneeTel(orderConsigneeTel.toString());
|
|
|
+ }
|
|
|
+ Object priceId = map.get("priceId");
|
|
|
+ if(priceId != null && !"".equals(priceId)) amsSaleOrderMaterial.setPriceId(DataChange.dataToBigDecimal(priceId));
|
|
|
+ amsSaleOrderMaterial.setInsertTime(new Date());
|
|
|
+ amsSaleOrderMaterial.setInsertUsername("admin");
|
|
|
+ amsSaleOrderMaterial.setDeleted(new BigDecimal(0));
|
|
|
+ amsSaleOrderMaterial.setInsertUpdateRemark("无");
|
|
|
+ amsSaleOrderMaterial.setUpdated(new BigDecimal(0));
|
|
|
+ amsSaleOrderMaterial.setIssueStatus(new BigDecimal(2));
|
|
|
+ AmsDispatchSaleOrder amsDispatchSaleOrder = new AmsDispatchSaleOrder();
|
|
|
+ amsDispatchSaleOrder.setDispatchId(amsDispatchSaleOrderMapper.selectOtherId());
|
|
|
+ amsDispatchSaleOrder.setSaleOrderMaterialId(saleOrderMaterialId);
|
|
|
+ amsDispatchSaleOrder.setCarrierId(DataChange.dataToBigDecimal(map.get("carrierId")));
|
|
|
+ amsDispatchSaleOrder.setDispatchTime(new Date());
|
|
|
+ // 设置为定向派单
|
|
|
+ amsDispatchSaleOrder.setDispatchType(new BigDecimal(0));
|
|
|
+ amsDispatchSaleOrder.setDispatchStatus(new BigDecimal(0));
|
|
|
+ amsDispatchSaleOrder.setInsertTime(new Date());
|
|
|
+ amsDispatchSaleOrder.setInsertUsername("admin");
|
|
|
+ amsDispatchSaleOrder.setInsertUpdateRemark("无");
|
|
|
+ result += amsSaleOrderMaterialMapper.insertSelective(amsSaleOrderMaterial);
|
|
|
+ result += amsDispatchSaleOrderMapper.insertSelective(amsDispatchSaleOrder);
|
|
|
+ }
|
|
|
+ // 新增车序号与物资中间表
|
|
|
+ AmsSaleTrucknoMaterial amsSaleTrucknoMaterial = new AmsSaleTrucknoMaterial();
|
|
|
+ // 物资id
|
|
|
+ BigDecimal materialId = DataChange.dataToBigDecimal(map.get("saleMaterialId"));
|
|
|
+ // 物资数量
|
|
|
+ BigDecimal materialNumber = DataChange.dataToBigDecimal(map.get("materialNumber"));
|
|
|
+ BigDecimal saleTrucknoMaterialId = amsSaleTrucknoMaterialMapper.selectMaxId();
|
|
|
+ amsSaleTrucknoMaterial.setTrucknoMaterialId(saleTrucknoMaterialId);
|
|
|
+ amsSaleTrucknoMaterial.setMaterialId(materialId);
|
|
|
+ amsSaleTrucknoMaterial.setSaleOrderMaterialId(amsSaleOrderMaterial.getSaleOrderMaterialId());
|
|
|
+ amsSaleTrucknoMaterial.setSaleOrderMaterialNumber(materialNumber);
|
|
|
+ amsSaleTrucknoMaterial.setInsertTime(new Date());
|
|
|
+ amsSaleTrucknoMaterial.setInsertUsername("admin");
|
|
|
+ amsSaleTrucknoMaterial.setInsertUpdateRemark("无");
|
|
|
+ result += amsSaleTrucknoMaterialMapper.insertSelective(amsSaleTrucknoMaterial);
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
}
|