From 64770439b01d5845600ff7ffce56ef74ed7a16b6 Mon Sep 17 00:00:00 2001 From: chenhao <852066789@qq.com> Date: Fri, 11 Apr 2025 15:51:14 +0800 Subject: [PATCH] =?UTF-8?q?feat(sip):=20=E6=B7=BB=E5=8A=A0=E5=8F=91?= =?UTF-8?q?=E8=B4=A7=E6=B8=85=E5=8D=95=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 DeliveryList域对象、Mapper、Service 及控制器 - 实现发货清单的增删查改功能 - 添加发货清单的导入功能 -优化订单列表查询,增加按发货单 ID 查询的功能 - 产品信息 Mapper 增加按产品编码列表查询的功能 --- .../main/resources/mybatis/mybatis-config.xml | 2 +- .../controller/DeliveryListController.java | 136 +++++++++++++++ .../com/ruoyi/sip/domain/DeliveryList.java | 158 ++++++++++++++++++ .../ruoyi/sip/mapper/DeliveryListMapper.java | 62 +++++++ .../com/ruoyi/sip/mapper/OrderInfoMapper.java | 2 + .../ruoyi/sip/mapper/ProductInfoMapper.java | 5 + .../sip/service/IDeliveryListService.java | 63 +++++++ .../service/impl/DeliveryListServiceImpl.java | 130 ++++++++++++++ .../mapper/manage/DeliveryListMapper.xml | 102 +++++++++++ .../mapper/manage/OrderInfoMapper.xml | 37 +++- .../mapper/system/ProductInfoMapper.xml | 9 + 11 files changed, 700 insertions(+), 6 deletions(-) create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/controller/DeliveryListController.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/domain/DeliveryList.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/DeliveryListMapper.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/service/IDeliveryListService.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/DeliveryListServiceImpl.java create mode 100644 ruoyi-sip/src/main/resources/mapper/manage/DeliveryListMapper.xml diff --git a/ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml b/ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml index ac47c038..10cf6b0b 100644 --- a/ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml +++ b/ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml @@ -14,7 +14,7 @@ PUBLIC "-//mybatis.org//DTD Config 3.0//EN" <!-- 指定 MyBatis 所用日志的具体实现 --> <setting name="logImpl" value="SLF4J" /> <!-- 使用驼峰命名法转换字段 --> - <!-- <setting name="mapUnderscoreToCamelCase" value="true"/> --> + <setting name="mapUnderscoreToCamelCase" value="true"/> </settings> </configuration> diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/DeliveryListController.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/DeliveryListController.java new file mode 100644 index 00000000..b06bad62 --- /dev/null +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/DeliveryListController.java @@ -0,0 +1,136 @@ +package com.ruoyi.sip.controller; + +import java.util.List; + +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.sip.domain.DeliveryList; +import com.ruoyi.sip.service.IDeliveryListService; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; +import org.springframework.web.multipart.MultipartFile; + +/** + * 发货清单Controller + * + * @author ruoyi + * @date 2025-04-11 + */ +@Controller +@RequestMapping("/sip/list") +public class DeliveryListController extends BaseController { + private String prefix = "sip/list"; + + @Autowired + private IDeliveryListService deliveryListService; + + @RequiresPermissions("sip:list:view") + @GetMapping() + public String list() { + return prefix + "/list"; + } + + /** + * 查询发货清单列表 + */ + @RequiresPermissions("sip:list:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(DeliveryList deliveryList) { + startPage(); + List<DeliveryList> list = deliveryListService.selectDeliveryListList(deliveryList); + return getDataTable(list); + } + + /** + * 导入数据 + */ + + @PostMapping("/importData") + @ResponseBody + public AjaxResult importData(MultipartFile file, Long deliveryId) throws Exception + { + ExcelUtil<DeliveryList> util = new ExcelUtil<DeliveryList>(DeliveryList.class); + List<DeliveryList> deliveryList = util.importExcel(file.getInputStream()); + + deliveryListService.importData(deliveryList, deliveryId); + return AjaxResult.success("导入成功"); + } + + /** + * 导出发货清单列表 + */ + @RequiresPermissions("sip:list:export") + @Log(title = "发货清单", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(DeliveryList deliveryList) { + List<DeliveryList> list = deliveryListService.selectDeliveryListList(deliveryList); + ExcelUtil<DeliveryList> util = new ExcelUtil<DeliveryList>(DeliveryList.class); + return util.exportExcel(list, "发货清单数据"); + } + + /** + * 新增发货清单 + */ + @RequiresPermissions("sip:list:add") + @GetMapping("/add") + public String add() { + return prefix + "/add"; + } + + /** + * 新增保存发货清单 + */ + @RequiresPermissions("sip:list:add") + @Log(title = "发货清单", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(DeliveryList deliveryList) { + return toAjax(deliveryListService.insertDeliveryList(deliveryList)); + } + + /** + * 修改发货清单 + */ + @RequiresPermissions("sip:list:edit") + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Long id, ModelMap mmap) { + DeliveryList deliveryList = deliveryListService.selectDeliveryListById(id); + mmap.put("deliveryList", deliveryList); + return prefix + "/edit"; + } + + /** + * 修改保存发货清单 + */ + @RequiresPermissions("sip:list:edit") + @Log(title = "发货清单", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(DeliveryList deliveryList) { + return toAjax(deliveryListService.updateDeliveryList(deliveryList)); + } + + /** + * 删除发货清单 + */ + @RequiresPermissions("sip:list:remove") + @Log(title = "发货清单", businessType = BusinessType.DELETE) + @PostMapping("/remove") + @ResponseBody + public AjaxResult remove(String ids) { + return toAjax(deliveryListService.deleteDeliveryListByIds(ids)); + } +} diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/DeliveryList.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/DeliveryList.java new file mode 100644 index 00000000..67e00e5e --- /dev/null +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/DeliveryList.java @@ -0,0 +1,158 @@ +package com.ruoyi.sip.domain; + +import java.util.Date; +import java.util.StringJoiner; + +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 发货清单对象 delivery_list + * + * @author ruoyi + * @date 2025-04-11 + */ +public class DeliveryList extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键,自增 */ + private Long id; + + /** 关联发货单id */ +// @Excel(name = "关联发货单id") + private Long deliveryId; +// @Excel(name = "合同编号") + private String orderCode; + /** 产品编码id */ + + @Excel(name = "产品编码") + private String productCode; + + /** 产品序列号 */ + @Excel(name = "产品序列号") + private String serialNumber; + @Excel(name = "备注") + private String remark; + + /** 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") +// @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date createdAt; + + /** 更新时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") +// @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date updatedAt; + + /** 删除时间 */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") +// @Excel(name = "删除时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date deletedAt; + + + + public String getOrderCode() { + return orderCode; + } + + public void setOrderCode(String orderCode) { + this.orderCode = orderCode; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setDeliveryId(Long deliveryId) + { + this.deliveryId = deliveryId; + } + + public Long getDeliveryId() + { + return deliveryId; + } + + @Override + public String getRemark() { + return remark; + } + + @Override + public void setRemark(String remark) { + this.remark = remark; + } + + public void setSerialNumber(String serialNumber) + { + this.serialNumber = serialNumber; + } + + public String getSerialNumber() + { + return serialNumber; + } + + public void setCreatedAt(Date createdAt) + { + this.createdAt = createdAt; + } + + public Date getCreatedAt() + { + return createdAt; + } + + public void setUpdatedAt(Date updatedAt) + { + this.updatedAt = updatedAt; + } + + public Date getUpdatedAt() + { + return updatedAt; + } + + public void setDeletedAt(Date deletedAt) + { + this.deletedAt = deletedAt; + } + + public Date getDeletedAt() + { + return deletedAt; + } + + @Override + public String toString() { + return new StringJoiner(", ", DeliveryList.class.getSimpleName() + "[", "]") + .add("id=" + id) + .add("deliveryId=" + deliveryId) + .add("orderCode='" + orderCode + "'") + .add("productCode='" + productCode + "'") + .add("serialNumber='" + serialNumber + "'") + .add("remark='" + remark + "'") + .add("createdAt=" + createdAt) + .add("updatedAt=" + updatedAt) + .add("deletedAt=" + deletedAt) + .toString(); + } +} diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/DeliveryListMapper.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/DeliveryListMapper.java new file mode 100644 index 00000000..25116644 --- /dev/null +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/DeliveryListMapper.java @@ -0,0 +1,62 @@ +package com.ruoyi.sip.mapper; + +import java.util.List; +import com.ruoyi.sip.domain.DeliveryList; + +/** + * 发货清单Mapper接口 + * + * @author ruoyi + * @date 2025-04-11 + */ +public interface DeliveryListMapper +{ + /** + * 查询发货清单 + * + * @param id 发货清单主键 + * @return 发货清单 + */ + public DeliveryList selectDeliveryListById(Long id); + + /** + * 查询发货清单列表 + * + * @param deliveryList 发货清单 + * @return 发货清单集合 + */ + public List<DeliveryList> selectDeliveryListList(DeliveryList deliveryList); + + /** + * 新增发货清单 + * + * @param deliveryList 发货清单 + * @return 结果 + */ + public int insertDeliveryList(DeliveryList deliveryList); + public int insertBatch(List<DeliveryList> deliveryList); + + /** + * 修改发货清单 + * + * @param deliveryList 发货清单 + * @return 结果 + */ + public int updateDeliveryList(DeliveryList deliveryList); + + /** + * 删除发货清单 + * + * @param id 发货清单主键 + * @return 结果 + */ + public int deleteDeliveryListById(Long id); + + /** + * 批量删除发货清单 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteDeliveryListByIds(String[] ids); +} 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 ab8d1f40..7647004e 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 @@ -97,4 +97,6 @@ public interface OrderInfoMapper * @param orderListList */ void updateListBatch(List<OrderList> orderListList); + + List<OrderList> listOrderListByDeliveryId(Long deliveryId); } diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/ProductInfoMapper.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/ProductInfoMapper.java index 3322f7f9..661908dc 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/ProductInfoMapper.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/ProductInfoMapper.java @@ -2,6 +2,7 @@ package com.ruoyi.sip.mapper; import java.util.List; import com.ruoyi.sip.domain.ProductInfo; +import org.apache.ibatis.annotations.Param; /** * 产品管理Mapper接口 @@ -58,4 +59,8 @@ public interface ProductInfoMapper * @return 结果 */ public int deleteProductInfoByIds(String[] ids); + + + + List<ProductInfo> listByProductCodeList(@Param("list") List<String> productCodeList); } diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IDeliveryListService.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IDeliveryListService.java new file mode 100644 index 00000000..1f74900f --- /dev/null +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IDeliveryListService.java @@ -0,0 +1,63 @@ +package com.ruoyi.sip.service; + +import java.util.List; +import com.ruoyi.sip.domain.DeliveryList; + +/** + * 发货清单Service接口 + * + * @author ruoyi + * @date 2025-04-11 + */ +public interface IDeliveryListService +{ + /** + * 查询发货清单 + * + * @param id 发货清单主键 + * @return 发货清单 + */ + public DeliveryList selectDeliveryListById(Long id); + + /** + * 查询发货清单列表 + * + * @param deliveryList 发货清单 + * @return 发货清单集合 + */ + public List<DeliveryList> selectDeliveryListList(DeliveryList deliveryList); + + /** + * 新增发货清单 + * + * @param deliveryList 发货清单 + * @return 结果 + */ + public int insertDeliveryList(DeliveryList deliveryList); + + /** + * 修改发货清单 + * + * @param deliveryList 发货清单 + * @return 结果 + */ + public int updateDeliveryList(DeliveryList deliveryList); + + /** + * 批量删除发货清单 + * + * @param ids 需要删除的发货清单主键集合 + * @return 结果 + */ + public int deleteDeliveryListByIds(String ids); + + /** + * 删除发货清单信息 + * + * @param id 发货清单主键 + * @return 结果 + */ + public int deleteDeliveryListById(Long id); + + void importData(List<DeliveryList> deliveryList, Long deliveryId); +} diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/DeliveryListServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/DeliveryListServiceImpl.java new file mode 100644 index 00000000..18fa2b09 --- /dev/null +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/DeliveryListServiceImpl.java @@ -0,0 +1,130 @@ +package com.ruoyi.sip.service.impl; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.sip.domain.OrderList; +import com.ruoyi.sip.domain.ProductInfo; +import com.ruoyi.sip.mapper.OrderInfoMapper; +import com.ruoyi.sip.mapper.ProductInfoMapper; +import org.springframework.stereotype.Service; +import com.ruoyi.sip.mapper.DeliveryListMapper; +import com.ruoyi.sip.domain.DeliveryList; +import com.ruoyi.sip.service.IDeliveryListService; +import com.ruoyi.common.core.text.Convert; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; + +/** + * 发货清单Service业务层处理 + * + * @author ruoyi + * @date 2025-04-11 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class DeliveryListServiceImpl implements IDeliveryListService { + @Resource + private DeliveryListMapper deliveryListMapper; + + @Resource + private ProductInfoMapper productInfoMapper; + + @Resource + private OrderInfoMapper infoMapper; + + /** + * 查询发货清单 + * + * @param id 发货清单主键 + * @return 发货清单 + */ + @Override + public DeliveryList selectDeliveryListById(Long id) { + return deliveryListMapper.selectDeliveryListById(id); + } + + /** + * 查询发货清单列表 + * + * @param deliveryList 发货清单 + * @return 发货清单 + */ + @Override + public List<DeliveryList> selectDeliveryListList(DeliveryList deliveryList) { + return deliveryListMapper.selectDeliveryListList(deliveryList); + } + + /** + * 新增发货清单 + * + * @param deliveryList 发货清单 + * @return 结果 + */ + @Override + public int insertDeliveryList(DeliveryList deliveryList) { + return deliveryListMapper.insertDeliveryList(deliveryList); + } + + /** + * 修改发货清单 + * + * @param deliveryList 发货清单 + * @return 结果 + */ + @Override + public int updateDeliveryList(DeliveryList deliveryList) { + return deliveryListMapper.updateDeliveryList(deliveryList); + } + + /** + * 批量删除发货清单 + * + * @param ids 需要删除的发货清单主键 + * @return 结果 + */ + @Override + public int deleteDeliveryListByIds(String ids) { + return deliveryListMapper.deleteDeliveryListByIds(Convert.toStrArray(ids)); + } + + /** + * 删除发货清单信息 + * + * @param id 发货清单主键 + * @return 结果 + */ + @Override + public int deleteDeliveryListById(Long id) { + return deliveryListMapper.deleteDeliveryListById(id); + } + + @Override + public void importData(List<DeliveryList> deliveryList, Long deliveryId) { + List<String> productCodeList = deliveryList.stream().map(DeliveryList::getProductCode).collect(Collectors.toList()); + if (productCodeList.isEmpty()) { + throw new ServiceException("产品编码为空"); + } + List<OrderList> orderLists = infoMapper.listOrderListByDeliveryId(deliveryId); + if (orderLists.isEmpty()) { + throw new ServiceException("发货单中没有产品"); + } + List<String> existsProductCodeList = orderLists.stream().map(OrderList::getProductCode).collect(Collectors.toList()); + List<String> notExistsProductCodeList = productCodeList.stream().filter(productCode -> !existsProductCodeList.contains(productCode)).collect(Collectors.toList()); + if (!notExistsProductCodeList.isEmpty()) { + throw new ServiceException(StringUtils.format("产品编码为[{}]的产品在发货单中未找到,请确认后重试;", String.join(",", notExistsProductCodeList))); + } + + for (DeliveryList list : deliveryList) { + list.setDeliveryId(deliveryId); + } + + deliveryListMapper.insertBatch(deliveryList); + } +} diff --git a/ruoyi-sip/src/main/resources/mapper/manage/DeliveryListMapper.xml b/ruoyi-sip/src/main/resources/mapper/manage/DeliveryListMapper.xml new file mode 100644 index 00000000..dd9283a2 --- /dev/null +++ b/ruoyi-sip/src/main/resources/mapper/manage/DeliveryListMapper.xml @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper +PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ruoyi.sip.mapper.DeliveryListMapper"> + + <resultMap type="DeliveryList" id="DeliveryListResult"> + <result property="id" column="id" /> + <result property="deliveryId" column="delivery_id" /> + <result property="productCode" column="product_code" /> + <result property="serialNumber" column="serial_number" /> + <result property="remark" column="remark" /> + <result property="createdAt" column="created_at" /> + <result property="updatedAt" column="updated_at" /> + <result property="deletedAt" column="deleted_at" /> + </resultMap> + + <sql id="selectDeliveryListVo"> + select id, delivery_id, product_code, serial_number, remark, created_at, updated_at, deleted_at from delivery_list + </sql> + + <select id="selectDeliveryListList" parameterType="DeliveryList" resultMap="DeliveryListResult"> + + select t1.id, t1.delivery_id,t1.product_code, t1.serial_number, t1.remark, t1.created_at, t1.updated_at, t1.deleted_at, + t2.delivery_code, + t3.product_code, t3.product_name, + t4.order_code + from delivery_list t1 + left join order_delivery t2 on t1.delivery_id = t2.id + left join order_info t4 on t2.order_id = t4.id + left join product_info t3 on t1.product_code = t3.product_code + <where> + <if test="deliveryId != null "> and t1.delivery_id = #{deliveryId}</if> + <if test="productCode != null "> and t1.product_code = #{productCode}</if> + <if test="serialNumber != null and serialNumber != ''"> and t1.serial_number = #{serialNumber}</if> + <if test="createdAt != null "> and t1.created_at = #{createdAt}</if> + <if test="updatedAt != null "> and t1.updated_at = #{updatedAt}</if> + <if test="deletedAt != null "> and t1.deleted_at = #{deletedAt}</if> + </where> + </select> + + <select id="selectDeliveryListById" parameterType="Long" resultMap="DeliveryListResult"> + <include refid="selectDeliveryListVo"/> + where id = #{id} + </select> + + <insert id="insertDeliveryList" parameterType="DeliveryList" useGeneratedKeys="true" keyProperty="id"> + insert into delivery_list + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="deliveryId != null">delivery_id,</if> + <if test="productCode != null">product_code,</if> + <if test="serialNumber != null and serialNumber != ''">serial_number,</if> + <if test="remark != null">remark,</if> + <if test="createdAt != null">created_at,</if> + <if test="updatedAt != null">updated_at,</if> + <if test="deletedAt != null">deleted_at,</if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="deliveryId != null">#{deliveryId},</if> + <if test="productCode != null">#{productCode},</if> + <if test="serialNumber != null and serialNumber != ''">#{serialNumber},</if> + <if test="remark != null">#{remark},</if> + <if test="createdAt != null">#{createdAt},</if> + <if test="updatedAt != null">#{updatedAt},</if> + <if test="deletedAt != null">#{deletedAt},</if> + </trim> + </insert> + <insert id="insertBatch"> + insert into delivery_list (delivery_id, product_code, serial_number, remark, created_at, updated_at) + values + <foreach collection="list" item="item" index="index" + separator=","> + (#{item.deliveryId}, #{item.productCode}, #{item.serialNumber}, #{item.remark}, now(),now()) + </foreach> + </insert> + + <update id="updateDeliveryList" parameterType="DeliveryList"> + update delivery_list + <trim prefix="SET" suffixOverrides=","> + <if test="deliveryId != null">delivery_id = #{deliveryId},</if> + <if test="productCode != null">product_code = #{productCode},</if> + <if test="serialNumber != null and serialNumber != ''">serial_number = #{serialNumber},</if> + <if test="remark != null">remark = #{remark},</if> + <if test="createdAt != null">created_at = #{createdAt},</if> + <if test="updatedAt != null">updated_at = #{updatedAt},</if> + <if test="deletedAt != null">deleted_at = #{deletedAt},</if> + </trim> + where id = #{id} + </update> + + <delete id="deleteDeliveryListById" parameterType="Long"> + delete from delivery_list where id = #{id} + </delete> + + <delete id="deleteDeliveryListByIds" parameterType="String"> + delete from delivery_list where id in + <foreach item="id" collection="array" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + +</mapper> \ No newline at end of file diff --git a/ruoyi-sip/src/main/resources/mapper/manage/OrderInfoMapper.xml b/ruoyi-sip/src/main/resources/mapper/manage/OrderInfoMapper.xml index 5d06858f..f58f1e01 100644 --- a/ruoyi-sip/src/main/resources/mapper/manage/OrderInfoMapper.xml +++ b/ruoyi-sip/src/main/resources/mapper/manage/OrderInfoMapper.xml @@ -101,9 +101,34 @@ </select> <select id="selectOrderListList" resultMap="OrderListResult"> - select id, order_id, product_code, quantity, price, amount, remark, created_at, updated_at, deleted_at + select id, + order_id, + product_code, + quantity, + price, + amount, + remark, + created_at, + updated_at, + deleted_at from order_list where order_id = #{order_id} + and status=0 + </select> + <select id="listOrderListByDeliveryId" resultMap="OrderListResult"> + select id, + order_id, + product_code, + quantity, + price, + amount, + remark, + created_at, + updated_at, + deleted_at + from order_list + where order_id = (select order_id from delivery_list where id = #{deliveryId}) + and status=0 </select> <insert id="insertOrderInfo" parameterType="OrderInfo" useGeneratedKeys="true" keyProperty="id"> @@ -176,7 +201,7 @@ <foreach item="item" index="index" collection="list" separator=";"> update order_list <trim prefix="SET" suffixOverrides=","> - <if test="productId != null">product_id = #{productId},</if> + <if test="productCode != null">product_code = #{productCode},</if> <if test="quantity != null ">quantity = #{quantity},</if> <if test="price != null">price = #{price},</if> <if test="amount != null">amount = #{amount},</if> @@ -203,7 +228,7 @@ </delete> <delete id="deleteOrderListByOrderIds" parameterType="String"> - delete from order_list where order_id in + update order_list set status=1,delete_at=now() where order_id in <foreach item="orderId" collection="array" open="(" separator="," close=")"> #{orderId} </foreach> @@ -216,9 +241,11 @@ </delete> <insert id="batchOrderList"> - insert into order_list( id, order_id, product_code, quantity, price, amount, remark, created_at, updated_at, deleted_at) values + insert into order_list( id, order_id, product_code, quantity, price, amount, remark, created_at, updated_at, + deleted_at) values <foreach item="item" index="index" collection="list" separator=","> - ( #{item.id}, #{item.orderId}, #{item.productCode}, #{item.quantity}, #{item.price}, #{item.amount}, #{item.remark}, #{item.createdAt}, #{item.updatedAt}, #{item.deletedAt}) + ( #{item.id}, #{item.orderId}, #{item.productCode}, #{item.quantity}, #{item.price}, #{item.amount}, + #{item.remark}, #{item.createdAt}, #{item.updatedAt}, #{item.deletedAt}) </foreach> </insert> diff --git a/ruoyi-sip/src/main/resources/mapper/system/ProductInfoMapper.xml b/ruoyi-sip/src/main/resources/mapper/system/ProductInfoMapper.xml index 34de38d6..a3f2f474 100644 --- a/ruoyi-sip/src/main/resources/mapper/system/ProductInfoMapper.xml +++ b/ruoyi-sip/src/main/resources/mapper/system/ProductInfoMapper.xml @@ -34,6 +34,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <include refid="selectProductInfoVo"/> where id = #{id} </select> + <select id="listByProductCodeList" resultMap="ProductInfoResult"> + <include refid="selectProductInfoVo"/> + where product_code in + <foreach item="item" index="index" collection="list" + open="(" separator="," close=")"> + #{item} + </foreach> + </select> + <insert id="insertProductInfo" parameterType="ProductInfo" useGeneratedKeys="true" keyProperty="id"> insert into product_info