|
@@ -165,14 +165,14 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
|
|
return salesOrderMapper.updateSalesOrder(salesOrder);
|
|
|
}
|
|
|
|
|
|
- @Transactional
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = {SQLException.class, Exception.class}, isolation = Isolation.REPEATABLE_READ)
|
|
|
public Integer updateOrderInfo(SalesOrder salesOrder) {
|
|
|
int flag = 0;
|
|
|
if(salesOrder.getSalesId()==null){
|
|
|
throw new RuntimeException("订单ID不存在!");
|
|
|
}
|
|
|
-
|
|
|
+ // 处理订单项
|
|
|
for (SalesOrderItem addItem:salesOrder.getSalesOrderItemList()) {
|
|
|
if(addItem.getItemNum() > 0 && addItem.getItemColorId() > 0){
|
|
|
ProductColor productColor = productService.getProduceColor(addItem.getItemColorId());
|
|
@@ -206,7 +206,6 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
|
|
SalesOrderItem soi = new SalesOrderItem();
|
|
|
soi.setItemOrderId(salesOrder.getSalesId());
|
|
|
List<SalesOrderItem> salesOrderItemList = salesOrderMapper.listSalesOrderItem(soi);
|
|
|
-// List<SalesOrderItem> addsaleSOrderItemList = new ArrayList<>();
|
|
|
List<SalesOrderItem> updateSalesOrderItemList = new ArrayList<>();
|
|
|
List<SalesOrderItem>deleteSalesOrderItemList = new ArrayList<>();
|
|
|
|
|
@@ -249,7 +248,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
|
|
}
|
|
|
|
|
|
//批量修改订单
|
|
|
- if(updateSalesOrderItemList != null && updateSalesOrderItemList.size() > 0) {
|
|
|
+ if(updateSalesOrderItemList.size() > 0) {
|
|
|
for (SalesOrderItem salesOrderItem : updateSalesOrderItemList) {
|
|
|
flag = salesOrderMapper.updateOrderItemObj(salesOrderItem);
|
|
|
}
|
|
@@ -620,69 +619,71 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- @Transactional(rollbackFor = {SQLException.class, RuntimeException.class, Exception.class}, isolation = Isolation.READ_COMMITTED)
|
|
|
+ @Transactional(rollbackFor = {SQLException.class, Exception.class}, isolation = Isolation.REPEATABLE_READ)
|
|
|
public boolean addRstOrderinfo(SalesOrder mainOrder,List<SalesOrder> listSalesOrder,String[] detectIds) {
|
|
|
- Integer flag = salesOrderMapper.getOrderBySalesDealCodeNum(mainOrder.getSalesDealCode());
|
|
|
+ // 查询交易号的数量(注意,此处可能重复,应该增加唯一索引)
|
|
|
+ Integer flag = salesOrderMapper.getOrderBySalesDealCodeNum(mainOrder.getSalesDealCode());
|
|
|
if(flag > 0){
|
|
|
- throw new RuntimeException("交易号("+ mainOrder.getSalesDealCode() +")重复,请重新生成交易号!");
|
|
|
+ throw new RuntimeException("交易号("+ mainOrder.getSalesDealCode() +")重复,请重新生成交易号!");
|
|
|
}
|
|
|
|
|
|
if(mainOrder.getSalesAddressPostcode() == null){
|
|
|
- throw new RuntimeException("未获取到邮政编码信息,请检查地址信息!");
|
|
|
+ throw new RuntimeException("未获取到邮政编码信息,请检查地址信息!");
|
|
|
}
|
|
|
|
|
|
if(mainOrder.getSalesCreateTime() == null){
|
|
|
/*保证时间与以前一样*/
|
|
|
mainOrder.setSalesCreateTime(new Date());
|
|
|
}
|
|
|
-
|
|
|
+ // 计算金额
|
|
|
calculationTotal(mainOrder,mainOrder.getSalesOrderItemList());
|
|
|
- int orderNum = salesOrderMapper.addSalesOrder(mainOrder);
|
|
|
- if (orderNum <= 0) {
|
|
|
- throw new RuntimeException("添加订单出错--------!");
|
|
|
+ // 保存订单信息
|
|
|
+ int res = salesOrderMapper.addSalesOrder(mainOrder);
|
|
|
+ if (res <= 0) {
|
|
|
+ throw new RuntimeException("添加订单出错,请核查内容");
|
|
|
}
|
|
|
for (SalesOrderItem item : mainOrder.getSalesOrderItemList()) {
|
|
|
item.setItemOrderId(mainOrder.getSalesId());
|
|
|
}
|
|
|
//批量添加订单项数据
|
|
|
- int itemNum = salesOrderMapper.addOrderItemList(mainOrder.getSalesOrderItemList());
|
|
|
- if (itemNum <= 0) {
|
|
|
- throw new RuntimeException("添加订单出错--------!");
|
|
|
- }else{
|
|
|
- if(listSalesOrder.size() > 0){
|
|
|
- for (int i = 0;i<listSalesOrder.size();i++){
|
|
|
- listSalesOrder.get(i).setSalesDealCode(listSalesOrder.get(i).getSalesDealCode()+"-"+(i+1));
|
|
|
- if(listSalesOrder.get(i).getSalesOrderId() != null && !"".equals(listSalesOrder.get(i).getSalesOrderId())){
|
|
|
- listSalesOrder.get(i).setSalesOrderId(listSalesOrder.get(i).getSalesOrderId()+"-"+(i+1));
|
|
|
- }
|
|
|
- listSalesOrder.get(i).setSalesMainOrderId(mainOrder.getSalesId());
|
|
|
- listSalesOrder.get(i).setSalesId(null);
|
|
|
- calculationTotal(listSalesOrder.get(i),listSalesOrder.get(i).getSalesOrderItemList());
|
|
|
- orderNum = salesOrderMapper.addSalesOrder(listSalesOrder.get(i));
|
|
|
- if (orderNum <= 0) {
|
|
|
- throw new RuntimeException("添加订单出错--------!");
|
|
|
- }
|
|
|
- for (SalesOrderItem item : listSalesOrder.get(i).getSalesOrderItemList()) {
|
|
|
- item.setItemOrderId(listSalesOrder.get(i).getSalesId());
|
|
|
- }
|
|
|
- //批量添加订单项数据
|
|
|
- itemNum = salesOrderMapper.addOrderItemList(listSalesOrder.get(i).getSalesOrderItemList());
|
|
|
- if (itemNum <= 0) {
|
|
|
- throw new RuntimeException("添加订单出错--------!");
|
|
|
- }
|
|
|
+ res = salesOrderMapper.addOrderItemList(mainOrder.getSalesOrderItemList());
|
|
|
+ if (res <= 0) {
|
|
|
+ throw new RuntimeException("添加订单出错,保存订单项失败");
|
|
|
+ }
|
|
|
+ // 保存子订单的内容
|
|
|
+ if(listSalesOrder.size() > 0){
|
|
|
+ for (int i = 0;i<listSalesOrder.size();i++){
|
|
|
+ // 生产交易号
|
|
|
+ listSalesOrder.get(i).setSalesDealCode(listSalesOrder.get(i).getSalesDealCode()+"-"+(i+1));
|
|
|
+ if(listSalesOrder.get(i).getSalesOrderId() != null && !"".equals(listSalesOrder.get(i).getSalesOrderId())){
|
|
|
+ listSalesOrder.get(i).setSalesOrderId(listSalesOrder.get(i).getSalesOrderId()+"-"+(i+1));
|
|
|
+ }
|
|
|
+ // 主订单id
|
|
|
+ listSalesOrder.get(i).setSalesMainOrderId(mainOrder.getSalesId());
|
|
|
+ listSalesOrder.get(i).setSalesId(null);
|
|
|
+ calculationTotal(listSalesOrder.get(i),listSalesOrder.get(i).getSalesOrderItemList());
|
|
|
+ res = salesOrderMapper.addSalesOrder(listSalesOrder.get(i));
|
|
|
+ if (res <= 0) {
|
|
|
+ throw new RuntimeException("添加子订单出错");
|
|
|
+ }
|
|
|
+ for (SalesOrderItem item : listSalesOrder.get(i).getSalesOrderItemList()) {
|
|
|
+ item.setItemOrderId(listSalesOrder.get(i).getSalesId());
|
|
|
+ }
|
|
|
+ // 批量添加订单项数据
|
|
|
+ res = salesOrderMapper.addOrderItemList(listSalesOrder.get(i).getSalesOrderItemList());
|
|
|
+ if (res <= 0) {
|
|
|
+ throw new RuntimeException("添加子订单出错,保存订单项失败");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
// 修为维修记录为已下单
|
|
|
- if(detectIds != null){
|
|
|
- if(detectIds.length > 0){
|
|
|
- for(String detectId : detectIds){
|
|
|
- ComplaintDetectInfo detectInfo = new ComplaintDetectInfo();
|
|
|
- detectInfo.setDetectId(Integer.valueOf(detectId));
|
|
|
- detectInfo.setDetectPlaceorder(2);
|
|
|
- detectInfo.setSalesOrderId(mainOrder.getSalesOrderId());
|
|
|
- complaintDetectInfoMapper.updateDetectById(detectInfo);
|
|
|
- }
|
|
|
+ if(detectIds != null && detectIds.length > 0){
|
|
|
+ for(String detectId : detectIds){
|
|
|
+ ComplaintDetectInfo detectInfo = new ComplaintDetectInfo();
|
|
|
+ detectInfo.setDetectId(Integer.valueOf(detectId));
|
|
|
+ detectInfo.setDetectPlaceorder(2);
|
|
|
+ detectInfo.setSalesOrderId(mainOrder.getSalesOrderId());
|
|
|
+ complaintDetectInfoMapper.updateDetectById(detectInfo);
|
|
|
}
|
|
|
}
|
|
|
// 缓存订单项
|