diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/OrderInfoController.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/OrderInfoController.java index 7847c867..79880722 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/OrderInfoController.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/OrderInfoController.java @@ -1,6 +1,8 @@ package com.ruoyi.sip.controller; import java.util.List; + +import com.ruoyi.sip.domain.OrderList; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -113,7 +115,6 @@ public class OrderInfoController extends BaseController { return toAjax(orderInfoService.updateOrderInfo(orderInfo)); } - /** * 删除合同档案 */ diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OrderList.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OrderList.java index a5123273..a36d145e 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OrderList.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OrderList.java @@ -41,6 +41,8 @@ public class OrderList extends BaseEntity @Excel(name = "总价") private BigDecimal amount; + + private String operateFlag; /** 创建时间 */ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") @@ -138,6 +140,14 @@ public class OrderList extends BaseEntity return deletedAt; } + public String getOperateFlag() { + return operateFlag; + } + + public void setOperateFlag(String operateFlag) { + this.operateFlag = operateFlag; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/OrderInfoMapper.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/OrderInfoMapper.java index deae9a35..ab8d1f40 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/OrderInfoMapper.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/OrderInfoMapper.java @@ -84,4 +84,17 @@ public interface OrderInfoMapper * @return 结果 */ public int deleteOrderListByOrderId(Long id); + + /** + * 删除合同清单 + * @param id + * @return + */ + int logicRemoveListById(List orderListList); + + /** + * 更新合同清单 + * @param orderListList + */ + void updateListBatch(List orderListList); } diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOrderInfoService.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOrderInfoService.java index 18ae4371..e2f71c43 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOrderInfoService.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOrderInfoService.java @@ -2,6 +2,7 @@ package com.ruoyi.sip.service; import java.util.List; import com.ruoyi.sip.domain.OrderInfo; +import com.ruoyi.sip.domain.OrderList; /** * 合同档案Service接口 diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OrderInfoServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OrderInfoServiceImpl.java index 51bb3137..5ea2f8d1 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OrderInfoServiceImpl.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OrderInfoServiceImpl.java @@ -4,6 +4,9 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.Map; +import java.util.stream.Collectors; + import com.ruoyi.common.utils.StringUtils; import org.springframework.transaction.annotation.Transactional; import com.ruoyi.sip.domain.OrderList; @@ -73,8 +76,26 @@ public class OrderInfoServiceImpl implements IOrderInfoService @Override public int updateOrderInfo(OrderInfo orderInfo) { - orderInfoMapper.deleteOrderListByOrderId(orderInfo.getId()); - insertOrderList(orderInfo); + List orderListList = orderInfo.getOrderListList(); + Map> operateMap = + orderListList.stream().collect(Collectors.groupingBy(OrderList::getOperateFlag)); + //新增 + List addList = operateMap.get("0"); + if (addList!=null && !addList.isEmpty()){ + orderInfoMapper.batchOrderList(addList); + } + //更新 + List updateList = operateMap.get("1"); + if (updateList!=null && !updateList.isEmpty()){ + + orderInfoMapper.updateListBatch(updateList); + } + //删除 + List deleteList = operateMap.get("2"); + if (deleteList!=null && !deleteList.isEmpty()){ + + orderInfoMapper.logicRemoveListById(deleteList); + } return orderInfoMapper.updateOrderInfo(orderInfo); } diff --git a/ruoyi-sip/src/main/resources/mapper/manage/OrderInfoMapper.xml b/ruoyi-sip/src/main/resources/mapper/manage/OrderInfoMapper.xml index cc963880..5d06858f 100644 --- a/ruoyi-sip/src/main/resources/mapper/manage/OrderInfoMapper.xml +++ b/ruoyi-sip/src/main/resources/mapper/manage/OrderInfoMapper.xml @@ -1,62 +1,101 @@ + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - - - - - - - - + + + + + + + + + + - select id, project_code, order_code, version_code, order_name, customer_name, customer_contact, customer_phone, customer_email, order_type, order_dept, partener_dept, order_date, status, remark, created_at, updated_at, deleted_at from order_info + select id, + project_code, + order_code, + version_code, + order_name, + customer_name, + customer_contact, + customer_phone, + customer_email, + order_type, + order_dept, + partener_dept, + order_date, + status, + remark, + created_at, + updated_at, + deleted_at + from order_info - + @@ -85,7 +124,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" status, remark, created_at,status, - + #{projectCode}, #{orderCode}, @@ -102,7 +141,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{status}, #{remark}, NOW(),0 - + @@ -126,9 +165,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} + + update order_list set deleted_at=NOW(), status=1 where id in + + #{item.id} + + + + + + update order_list + + product_id = #{productId}, + quantity = #{quantity}, + price = #{price}, + amount = #{amount}, + + remark = #{remark}, + updated_at = NOW(), + + where id = #{item.id} + + - update order_info set deleted_at=NOW(), status=1 where id = #{id} + update order_info + set deleted_at=NOW(), + status=1 + where id = #{id} @@ -137,16 +201,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} - + - delete from order_list where order_id in + delete from order_list where order_id in #{orderId} - delete from order_list where order_id = #{orderId} + delete + from order_list + where order_id = #{orderId}