src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java
@@ -1,6 +1,8 @@ package com.ruoyi.approve.vo; import com.ruoyi.framework.aspectj.lang.annotation.Excel; import com.ruoyi.sales.pojo.CommonFile; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -8,22 +10,37 @@ @Data public class ApproveProcessVO { /** * ä¸´æ¶æä»¶idå表 */ private List<String> tempFileIds; /** * å®¡æ¹æµç¨id */ private Long id; private String approveId; /** * 审æ¹é¨é¨id */ private Long approveDeptId; /** * å®¡æ¹æ¶é´ */ private String approveTime; /** * ç³è¯·äººid */ // ç³è¯·äºº private Long approveUser; /** * 审æ¹äººidå表 */ // 审æ¹äºº private String approveUserIds; /** * 审æ¹çç± */ private String approveReason; /** src/main/java/com/ruoyi/sales/controller/ShipmentApprovalController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,77 @@ package com.ruoyi.sales.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.framework.web.controller.BaseController; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.sales.mapper.ShipmentApprovalMapper; import com.ruoyi.sales.mapper.ShippingInfoMapper; import com.ruoyi.sales.pojo.SalesLedgerProduct; import com.ruoyi.sales.pojo.ShipmentApproval; import com.ruoyi.sales.pojo.ShippingInfo; import com.ruoyi.sales.service.ISalesLedgerProductService; import com.ruoyi.sales.service.ShipmentApprovalService; import com.ruoyi.sales.service.ShippingInfoService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; @RestController @RequestMapping("/shipmentApproval") @Api(tags = "å货审æ¹ç®¡ç") public class ShipmentApprovalController extends BaseController { @Autowired private ShipmentApprovalService shipmentApprovalService; @Autowired private ShipmentApprovalMapper shipmentApprovalMapper; @Autowired private ISalesLedgerProductService salesLedgerProductService; @GetMapping("/listPage") @ApiOperation("å货审æ¹å表") public AjaxResult listPage(Page page, ShipmentApproval req) { IPage<ShipmentApproval> listPage = shipmentApprovalService.listPage(page,req); return AjaxResult.success(listPage); } @PostMapping("/update") @ApiOperation("å货审æ¹,æ´æ°å货审æ¹ç¶æ") @Transactional(rollbackFor = Exception.class) public AjaxResult update(@RequestBody ShipmentApproval req) { ShipmentApproval shipmentApproval = shipmentApprovalMapper.selectById(req.getId()); if (shipmentApproval == null) { return AjaxResult.error("å货审æ¹ä¸åå¨"); } shipmentApproval.setApproveStatus(req.getApproveStatus()); boolean update = shipmentApprovalService.updateById(shipmentApproval); if(update){ SalesLedgerProduct salesLedgerProduct = salesLedgerProductService.getById(shipmentApproval.getSalesLedgerProductId()); salesLedgerProduct.setApproveStatus(req.getApproveStatus()); salesLedgerProductService.updateById(salesLedgerProduct); } return update ? AjaxResult.success() : AjaxResult.error(); } /** * 导åºåè´§ä¿¡æ¯ç®¡ç */ @PostMapping("/export") @ApiOperation("导åºå货审æ¹") public void export(HttpServletResponse response) { List<ShipmentApproval> list = shipmentApprovalService.list(null); ExcelUtil<ShipmentApproval> util = new ExcelUtil<ShipmentApproval>(ShipmentApproval.class); util.exportExcel(response, list, "å货审æ¹"); } } src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java
@@ -1,5 +1,6 @@ package com.ruoyi.sales.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.utils.poi.ExcelUtil; @@ -7,13 +8,19 @@ import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.controller.BaseController; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.sales.mapper.ShipmentApprovalMapper; import com.ruoyi.sales.mapper.ShippingInfoMapper; import com.ruoyi.sales.pojo.SalesLedger; import com.ruoyi.sales.pojo.SalesLedgerProduct; import com.ruoyi.sales.pojo.ShipmentApproval; import com.ruoyi.sales.pojo.ShippingInfo; import com.ruoyi.sales.service.ISalesLedgerProductService; import com.ruoyi.sales.service.ISalesLedgerService; import com.ruoyi.sales.service.ShippingInfoService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; @@ -30,6 +37,10 @@ @Autowired private ShippingInfoService shippingInfoService; @Autowired private ShipmentApprovalMapper shipmentApprovalMapper; @Autowired private ISalesLedgerProductService salesLedgerProductService; @GetMapping("/listPage") @@ -41,8 +52,32 @@ @PostMapping("/add") @ApiOperation("æ·»å åè´§ä¿¡æ¯") @Transactional(rollbackFor = Exception.class) public AjaxResult add(@RequestBody ShippingInfo req) { boolean save = shippingInfoService.save(req); if(save){ LambdaQueryWrapper<ShippingInfo> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ShippingInfo::getSalesLedgerId, req.getSalesLedgerId()); wrapper.eq(ShippingInfo::getSalesLedgerProductId, req.getSalesLedgerProductId()); ShippingInfo shippingInfo = shippingInfoService.getOne(wrapper); if(shippingInfo == null){ return AjaxResult.error("åè´§ä¿¡æ¯ä¸åå¨"); } ShipmentApproval shipmentApproval = new ShipmentApproval(); shipmentApproval.setSalesLedgerId(req.getSalesLedgerId()); shipmentApproval.setSalesLedgerProductId(req.getSalesLedgerProductId()); shipmentApproval.setApproveUserId(req.getApproverId()); shipmentApproval.setApproveStatus(2); shipmentApproval.setShippingInfoId(shippingInfo.getId()); shipmentApprovalMapper.insert(shipmentApproval); SalesLedgerProduct salesLedgerProduct = salesLedgerProductService.getById(req.getSalesLedgerProductId()); if(salesLedgerProduct != null){ salesLedgerProduct.setApproveStatus(2); salesLedgerProductService.updateById(salesLedgerProduct); } } return save ? AjaxResult.success() : AjaxResult.error(); } src/main/java/com/ruoyi/sales/mapper/SalesLedgerProductMapper.java
@@ -2,6 +2,9 @@ import com.ruoyi.common.config.MyBaseMapper; import com.ruoyi.sales.pojo.SalesLedgerProduct; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 产åä¿¡æ¯Mapperæ¥å£ @@ -10,4 +13,5 @@ * @date 2025-05-08 */ public interface SalesLedgerProductMapper extends MyBaseMapper<SalesLedgerProduct> { List<SalesLedgerProduct> selectSalesLedgerProductList(@Param("salesLedgerProduct") SalesLedgerProduct salesLedgerProduct); } src/main/java/com/ruoyi/sales/mapper/ShipmentApprovalMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package com.ruoyi.sales.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.sales.pojo.ShipmentApproval; import com.ruoyi.sales.pojo.ShippingInfo; import org.apache.ibatis.annotations.Param; import java.util.List; public interface ShipmentApprovalMapper extends BaseMapper<ShipmentApproval> { IPage<ShipmentApproval> listPage(Page page,@Param("req") ShipmentApproval req); } src/main/java/com/ruoyi/sales/pojo/SalesLedger.java
@@ -125,5 +125,9 @@ @ApiModelProperty(value = "仿¬¾æ¹å¼") private String paymentMethod; @TableField(exist = false) @ApiModelProperty(value = "çäº§ç¶æ") private String productionStatus = "æªå¼å§"; } src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
@@ -11,6 +11,7 @@ import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; /** * 产åä¿¡æ¯å¯¹è±¡ sales_ledger_product @@ -177,4 +178,28 @@ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "ç»è®°æ¥æ", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private LocalDateTime registerDate; /** * å货车çå· */ @Excel(name = "å货车çå·") @TableField(exist = false) private String shippingCarNumber; /** * åè´§æ¥æ */ @Excel(name = "åè´§æ¥æ", width = 30, dateFormat = "yyyy-MM-dd") @TableField(exist = false) @JsonFormat(pattern = "yyyy-MM-dd") private Date shippingDate; @TableField(exist = false) @ApiModelProperty(value = "çäº§ç¶æ") private String productionStatus = "æªå¼å§"; /** * å货审æ¹ç¶æ */ // @TableField(exist = false) @ApiModelProperty(value = "审æ¹ç¶æ") private Integer approveStatus; } src/main/java/com/ruoyi/sales/pojo/ShipmentApproval.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,352 @@ package com.ruoyi.sales.pojo; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.framework.aspectj.lang.annotation.Excel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.Date; import java.util.List; @Data @TableName("shipment_approval") public class ShipmentApproval { @TableId(type = IdType.AUTO) private Long id; @ApiModelProperty(value = "åè´§ä¿¡æ¯id") private Long shippingInfoId; @ApiModelProperty(value = "éå®å°è´¦id") private Long salesLedgerId; @ApiModelProperty(value = "é宿¥ä»·äº§å表id") private Long salesLedgerProductId; @ApiModelProperty(value = "ç³è¯·é¨é¨id") private Long approveDeptId; @ApiModelProperty(value = "ç³è¯·é¨é¨åç§°") @Excel(name = "ç³è¯·é¨é¨") private String approveDeptName; @ApiModelProperty(value = "审æ¹ç¨æ·id") private Integer approveUserId; @ApiModelProperty(value = "审æ¹ç¨æ·åç§°") @Excel(name = "审æ¹ç¨æ·") private String approveUserNames; /** * 审æ¹ç¶æ */ @ApiModelProperty(value = "审æ¹ç¶æï¼0æªåºåº,1å·²åºåº,2å¾ å®¡æ ¸,3å®¡æ ¸å®æ,4å®¡æ ¸å¤±è´¥") @Excel(name = "审æ¹ç¶æ", readConverterExp = "0=æªåºåº,1=å·²åºåº,2=å¾ å®¡æ ¸,3=å®¡æ ¸å®æ,4=å®¡æ ¸å¤±è´¥") private Integer approveStatus; @ApiModelProperty(value = "å建æ¶é´") @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; @ApiModelProperty(value = "ä¿®æ¹æ¶é´") @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; @ApiModelProperty(value = "åå»ºç¨æ·") @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Integer createUser; @ApiModelProperty(value = "ä¿®æ¹ç¨æ·") @TableField(fill = FieldFill.INSERT_UPDATE) private Integer updateUser; @ApiModelProperty(value = "ç§æ·ID") @TableField(fill = FieldFill.INSERT) private Long tenantId; @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") @Excel(name = "åè´§æ¥æ", width = 30, dateFormat = "yyyy-MM-dd") @TableField(exist = false) private Date shippingDate; @Excel(name = "å货车çå·") @TableField(exist = false) private String shippingCarNumber; /** * é¢è¦æ°é */ @TableField(exist = false) private BigDecimal warnNum; /** * 产å大类 */ @Excel(name = "产å大类") @TableField(exist = false) private String productCategory; /** * è§æ ¼åå· */ @Excel(name = "è§æ ¼åå·") @TableField(exist = false) private String specificationModel; /** * åä½ */ @Excel(name = "åä½") @TableField(exist = false) private String unit; /** * æ°é */ @Excel(name = "æ°é") @TableField(exist = false) private BigDecimal quantity; @Excel(name = "æä½åºåæ°é") @TableField(exist = false) private BigDecimal minStock; /** * ç¨ç */ @Excel(name = "ç¨ç") @TableField(exist = false) private BigDecimal taxRate; /** * å«ç¨åä»· */ @Excel(name = "å«ç¨åä»·") @TableField(exist = false) private BigDecimal taxInclusiveUnitPrice; /** * å«ç¨æ»ä»· */ @Excel(name = "å«ç¨æ»ä»·") @TableField(exist = false) private BigDecimal taxInclusiveTotalPrice; /** * ä¸å«ç¨æ»ä»· */ @Excel(name = "ä¸å«ç¨æ»ä»·") @TableField(exist = false) private BigDecimal taxExclusiveTotalPrice; /** * å票类å */ @TableField(exist = false) private String invoiceType; /** * å°è´¦ç±»å 1.éå® 2ï¼éè´ */ @TableField(exist = false) private Integer type; /** * æ¬æ¬¡æ¥ç¥¨æ° */ @TableField(exist = false) private BigDecimal ticketsNum; /** * æ¬æ¬¡æ¥ç¥¨éé¢(å ) */ @TableField(exist = false) private BigDecimal ticketsAmount; /** * æªæ¥ç¥¨æ° */ @TableField(exist = false) private BigDecimal futureTickets; /** * æªæ¥ç¥¨éé¢(å ) */ @TableField(exist = false) private BigDecimal futureTicketsAmount; @ApiModelProperty(value = "å¼ç¥¨æ°") @TableField(exist = false) private BigDecimal invoiceNum; @ApiModelProperty(value = "æªå¼ç¥¨æ°") @TableField(exist = false) private BigDecimal noInvoiceNum; @ApiModelProperty(value = "å¼ç¥¨éé¢") @TableField(exist = false) private BigDecimal invoiceAmount; @ApiModelProperty(value = "æªå¼ç¥¨éé¢") @TableField(exist = false) private BigDecimal noInvoiceAmount; @ApiModelProperty(value = "æ¬æ¬¡å¼ç¥¨æ°") @TableField(exist = false) private BigDecimal currentInvoiceNum; @TableField(exist = false) @ApiModelProperty(value = "æ¬æ¬¡å¼ç¥¨éé¢") private BigDecimal currentInvoiceAmount; /** * 产åid */ @TableField(exist = false) private Long productId; /** * 产åè§æ ¼id */ @TableField(exist = false) private Long productModelId; @ApiModelProperty(value = "åå§æªå¼ç¥¨æ°") @TableField(exist = false) private BigDecimal originalNoInvoiceNum; @ApiModelProperty(value = "ä¸´æ¶æªå¼ç¥¨æ°") @TableField(exist = false) private BigDecimal tempNoInvoiceNum; @ApiModelProperty(value = "ä¸´æ¶æªå¼ç¥¨éé¢") @TableField(exist = false) private BigDecimal tempnoInvoiceAmount; @ApiModelProperty(value = "ä¸´æ¶æªæ¥ç¥¨æ°") @TableField(exist = false) private BigDecimal tempFutureTickets; @ApiModelProperty(value = "ä¸´æ¶æªæ¥ç¥¨éé¢") @TableField(exist = false) private BigDecimal tempFutureTicketsAmount; @ApiModelProperty("ç»è®°äºº") @TableField(exist = false) private String register; @ApiModelProperty("ç»è®°æ¥æ") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "ç»è®°æ¥æ", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") @TableField(exist = false) private LocalDateTime registerDate; /** * éå®ååå· */ @Excel(name = "éå®ååå·") @TableField(exist = false) private String salesContractNo; /** * 客æ·ååå· */ @Excel(name = "客æ·ååå·") @TableField(exist = false) private String customerContractNo; /** * 项ç®åç§° */ @Excel(name = "项ç®åç§°") @TableField(exist = false) private String projectName; /** * å½å ¥æ¥æ */ @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") @TableField(exist = false) private Date entryDate; /** * ä¸å¡å */ @Excel(name = "ä¸å¡å") @TableField(exist = false) private String salesman; @TableField(exist = false) private Long customerId; /** * 客æ·åç§° */ @Excel(name = "客æ·åç§°") @TableField(exist = false) private String customerName; /** * å½å ¥äºº */ @TableField(exist = false) private String entryPerson; @TableField(exist = false) @ApiModelProperty(value = "å½å ¥äºº") @Excel(name = "å½å ¥äºº") private String entryPersonName; /** * 夿³¨ */ @Excel(name = "夿³¨") @TableField(exist = false) private String remarks; /** * éä»¶ææï¼å卿件åçç¸å ³ä¿¡æ¯ */ @TableField(exist = false) private String attachmentMaterials; /** * ååéé¢ï¼äº§åå«ç¨æ»ä»·ï¼ */ @Excel(name = "ååéé¢") @TableField(exist = false) private BigDecimal contractAmount; @TableField(exist = false) @ApiModelProperty(value = "æªå¼ç¥¨éé¢(å )") @Excel(name = "æªå¼ç¥¨éé¢") private BigDecimal noInvoiceAmountTotal = BigDecimal.ZERO; @ApiModelProperty(value = "ç¾è®¢æ¥æ") @TableField(exist = false) private LocalDate executionDate; @TableField(exist = false) @ApiModelProperty(value = "å·²å¼ç¥¨éé¢(å )") @Excel(name = "å·²å¼ç¥¨éé¢") private BigDecimal invoiceTotal = BigDecimal.ZERO; @TableField(exist = false) @ApiModelProperty(value = "忬¾éé¢") private BigDecimal receiptPaymentAmountTotal = BigDecimal.ZERO; @TableField(exist = false) @ApiModelProperty(value = "å¾ åæ¬¾éé¢") private BigDecimal noReceiptAmount = BigDecimal.ZERO; @ApiModelProperty(value = "仿¬¾æ¹å¼") @TableField(exist = false) private String paymentMethod; @TableField(exist = false) @ApiModelProperty(value = "çäº§ç¶æ") private String productionStatus = "æªå¼å§"; } src/main/java/com/ruoyi/sales/pojo/ShippingInfo.java
@@ -23,7 +23,8 @@ @ApiModelProperty(value = "éå®å°è´¦id") private Long salesLedgerId; @ApiModelProperty(value = "é宿¥ä»·äº§å表id") private Long salesLedgerProductId; @TableField(exist = false) @ApiModelProperty(value = "éå®ååå·") @Excel(name = "éå®ååå·") @@ -64,5 +65,8 @@ @ApiModelProperty(value = "ç§æ·ID") @TableField(fill = FieldFill.INSERT) private Long tenantId; @ApiModelProperty(value = "审æ¹äººid") @TableField(exist = false) private Integer approverId; } src/main/java/com/ruoyi/sales/service/ShipmentApprovalService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,13 @@ package com.ruoyi.sales.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.sales.pojo.ShipmentApproval; import com.ruoyi.sales.pojo.ShippingInfo; public interface ShipmentApprovalService extends IService<ShipmentApproval>{ IPage<ShipmentApproval> listPage(Page page, ShipmentApproval req); } src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -52,10 +52,10 @@ @Override public List<SalesLedgerProduct> selectSalesLedgerProductList(SalesLedgerProduct salesLedgerProduct) { LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(SalesLedgerProduct::getSalesLedgerId, salesLedgerProduct.getSalesLedgerId()) .eq(SalesLedgerProduct::getType, salesLedgerProduct.getType()); List<SalesLedgerProduct> salesLedgerProducts = salesLedgerProductMapper.selectList(queryWrapper); // LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>(); // queryWrapper.eq(SalesLedgerProduct::getSalesLedgerId, salesLedgerProduct.getSalesLedgerId()) // .eq(SalesLedgerProduct::getType, salesLedgerProduct.getType()); List<SalesLedgerProduct> salesLedgerProducts = salesLedgerProductMapper.selectSalesLedgerProductList(salesLedgerProduct); if(!CollectionUtils.isEmpty(salesLedgerProducts)){ InvoiceRegistrationProductDto invoiceRegistrationProductDto = new InvoiceRegistrationProductDto(); invoiceRegistrationProductDto.setSalesLedgerId(salesLedgerProduct.getSalesLedgerId().intValue()); src/main/java/com/ruoyi/sales/service/impl/ShipmentApprovalServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,32 @@ package com.ruoyi.sales.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.sales.mapper.ShipmentApprovalMapper; import com.ruoyi.sales.mapper.ShippingInfoMapper; import com.ruoyi.sales.pojo.ShipmentApproval; import com.ruoyi.sales.pojo.ShippingInfo; import com.ruoyi.sales.service.ShipmentApprovalService; import com.ruoyi.sales.service.ShippingInfoService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** * @author :yys * @date : 2025/10/22 9:33 */ @Service @Slf4j public class ShipmentApprovalServiceImpl extends ServiceImpl<ShipmentApprovalMapper, ShipmentApproval> implements ShipmentApprovalService { @Autowired private ShipmentApprovalMapper shipmentApprovalMapper; @Override public IPage<ShipmentApproval> listPage(Page page, ShipmentApproval req) { IPage<ShipmentApproval> listPage = shipmentApprovalMapper.listPage(page, req); return listPage; } } src/main/resources/mapper/sales/SalesLedgerMapper.xml
@@ -82,6 +82,6 @@ AND T1.entry_date <= DATE_FORMAT(#{salesLedgerDto.entryDateEnd},'%Y-%m-%d') </if> </where> order by entry_date desc order by T1.entry_date desc </select> </mapper> src/main/resources/mapper/sales/SalesLedgerProductMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ <?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.sales.mapper.SalesLedgerProductMapper"> <select id="selectSalesLedgerProductList" resultType="com.ruoyi.sales.pojo.SalesLedgerProduct"> SELECT T1.*, t3.shipping_car_number, t3.shipping_date FROM sales_ledger_product T1 left join shipping_info t3 on T1.id = t3.sales_ledger_id <where> 1=1 <if test="salesLedgerProduct.salesLedgerId != null and salesLedgerProduct.salesLedgerId != '' "> AND T1.sales_ledger_id = #{salesLedgerProduct.salesLedgerId} </if> <if test="salesLedgerProduct.type != null and salesLedgerProduct.type != '' "> AND T1.type = #{salesLedgerProduct.type} </if> </where> </select> </mapper> src/main/resources/mapper/sales/ShipmentApprovalMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ <?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.sales.mapper.ShipmentApprovalMapper"> <select id="listPage" resultType="com.ruoyi.sales.pojo.ShipmentApproval"> SELECT *, si.shipping_car_number, T2.nick_name AS entry_person_name FROM shipment_approval sa LEFT JOIN shipping_info si ON sa.shipping_info_id = si.id LEFT JOIN sales_ledger sl ON sa.sales_ledger_id = sl.id LEFT JOIN sales_ledger_product slp ON sa.sales_ledger_product_id = slp.id LEFT JOIN sys_user T2 ON sl.entry_person = T2.user_id <where> 1=1 <if test="req.approveStatus != null and req.approveStatus != '' "> AND sa.approve_status = #{req.approveStatus} </if> <if test="req.salesContractNo != null and req.salesContractNo != '' "> AND sl.sales_contract_no LIKE CONCAT('%',#{req.salesContractNo},'%') </if> </where> </select> </mapper>