订单管理模块(导入逻辑修改-已有订单逻辑)

highway
wws 2 years ago
parent f2a49bc24e
commit 0f1d137aff

@ -111,5 +111,12 @@ public interface ProOrderWorkorderMapper {
* @return
*/
List<ProOrderWorkorder> selectWorkOrderByOrderCode(String orderCode);
/**
* id
* @param id
* @return
*/
int deleteProOrderWorkorderByOrderId(String id);
}

@ -1,5 +1,6 @@
package com.op.plan.service.impl;
import java.sql.SQLException;
import java.util.*;
import java.util.stream.Collectors;
@ -30,7 +31,9 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import static com.op.common.core.web.domain.AjaxResult.error;
import static com.op.common.core.web.domain.AjaxResult.success;
@ -275,6 +278,7 @@ public class ProOrderServiceImpl implements IProOrderService {
}
return success();
}
//父查子递归
public List<ProOrder> getListByPCode(ProOrder pOrder) {
List<ProOrder> codeList = new ArrayList<>();
@ -328,6 +332,26 @@ public class ProOrderServiceImpl implements IProOrderService {
ProOrder proOrder = proOrderMapper.selectProOrderByOrderCode(order.getOrderCode());
// 如果存在
if (proOrder != null) {
// 通过订单Code查询该订单下的所有工单id-用于删除批次表
List<ProOrderWorkorder> childWorkOrderList = proOrderWorkorderMapper.selectWorkOrderByOrderCode(proOrder.getOrderCode());
// 存在工单
if (childWorkOrderList.size() > 0){
// 将获得的工单id封装
List<String> ids = new ArrayList<>();
for (ProOrderWorkorder workOrder : childWorkOrderList) {
ids.add(workOrder.getWorkorderId());
}
String[] workorderIds = (String[])ids.toArray(new String[ids.size()]);
// 删除所有该订单下的工单
proOrderWorkorderMapper.deleteProOrderWorkorderByOrderId(proOrder.getId());
// 删除工单下的所有批次表信息
proOrderWorkorderBatchMapper.deleteProOrderWorkorderBatchByWorkorderIds(workorderIds);
}
// 更新字段
order.setStatus("o0");
order.setQuantitySplit(0L);
order.setUpdateBy(SecurityContextHolder.getUserName());
order.setUpdateTime(DateUtils.getNowDate());
// 通过订单号code更新订单信息
@ -336,11 +360,10 @@ public class ProOrderServiceImpl implements IProOrderService {
// 不存在则创建
order.setId(IdUtils.fastSimpleUUID());
order.setOrderType(order.getProdType());
System.out.println(order);
order.setParentOrder("0");
proOrderMapper.insertProOrder(order);
}
}
return success("信息导入成功!");
}
}
// 如果存在不可编辑信息

@ -247,4 +247,8 @@
#{workorderId}
</foreach>
</delete>
<delete id="deleteProOrderWorkorderByOrderId">
delete from pro_order_workorder where order_id = #{id}
</delete>
</mapper>

Loading…
Cancel
Save