From 5b9dcdbdfd7c65c642a124ebbae4ddc4795cac84 Mon Sep 17 00:00:00 2001 From: wujianwei <wjw@11.com> Date: 星期四, 07 八月 2025 14:50:51 +0800 Subject: [PATCH] 新增预估应收账单前后端 --- ui/admin-ui3/src/api/cwgl/estimatedReceivableBill.ts | 67 +++ service/src/main/resources/mapper/cwgl/EstimatedReceivableBillMapper.xml | 177 +++++++++ service/src/main/java/com/ruoyi/cwgl/service/IEstimatedReceivableBillService.java | 102 +++++ service/src/main/java/com/ruoyi/cwgl/domain/EstimatedReceivableBill.java | 127 +++++++ service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java | 182 ++++++++++ ui/admin-ui3/src/views/cwgl/estimatedReceivableBill/index.vue | 174 +++++++++ service/src/main/java/com/ruoyi/cwgl/controller/EstimatedReceivableBillController.java | 108 ++++++ service/src/main/java/com/ruoyi/cwgl/mapper/EstimatedReceivableBillMapper.java | 87 ++++ 8 files changed, 1,024 insertions(+), 0 deletions(-) diff --git a/service/src/main/java/com/ruoyi/cwgl/controller/EstimatedReceivableBillController.java b/service/src/main/java/com/ruoyi/cwgl/controller/EstimatedReceivableBillController.java new file mode 100644 index 0000000..1e0150e --- /dev/null +++ b/service/src/main/java/com/ruoyi/cwgl/controller/EstimatedReceivableBillController.java @@ -0,0 +1,108 @@ +package com.ruoyi.cwgl.controller; + +import java.util.List; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.utils.file.DownloadExportUtil; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.cwgl.domain.EstimatedReceivableBill; +import com.ruoyi.cwgl.service.IEstimatedReceivableBillService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 棰勪及搴旀敹璐﹀崟Controller + * + * @author ruoyi + * @date 2025-08-07 + */ +@RestController +@RequestMapping("/cwgl/estimatedReceivableBill") +public class EstimatedReceivableBillController extends BaseController +{ + @Autowired + private IEstimatedReceivableBillService estimatedReceivableBillService; + + + + /** + * 鏌ヨ棰勪及搴旀敹璐﹀崟鍒楄〃 + */ + @PreAuthorize("@ss.hasPermi('cwgl:estimatedReceivableBill:list')") + @GetMapping("/list") + public TableDataInfo list(EstimatedReceivableBill estimatedReceivableBill) + { + startPage(); + List<EstimatedReceivableBill> list = estimatedReceivableBillService.selectEstimatedReceivableBillList(estimatedReceivableBill); + return getDataTable(list); + } + + /** + * 瀵煎嚭棰勪及搴旀敹璐﹀崟鍒楄〃 + * @param estimatedReceivableBill 鏌ヨ鏉′欢瀵硅薄 + */ + @PreAuthorize("@ss.hasPermi('cwgl:estimatedReceivableBill:export')") + @Log(title = "棰勪及搴旀敹璐﹀崟", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(EstimatedReceivableBill estimatedReceivableBill,String exportKey) + { + estimatedReceivableBillService.export(estimatedReceivableBill,exportKey); + return AjaxResult.success("瀵煎嚭璇锋眰鎴愬姛锛岃绋嶅悗鐐瑰嚮涓嬭浇...!"); + } + + + + /** + * 鑾峰彇棰勪及搴旀敹璐﹀崟璇︾粏淇℃伅 + */ + @PreAuthorize("@ss.hasPermi('cwgl:estimatedReceivableBill:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Integer id) + { + return AjaxResult.success(estimatedReceivableBillService.selectEstimatedReceivableBillById(id)); + } + + /** + * 鏂板棰勪及搴旀敹璐﹀崟 + */ + @PreAuthorize("@ss.hasPermi('cwgl:estimatedReceivableBill:add')") + @Log(title = "棰勪及搴旀敹璐﹀崟", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody EstimatedReceivableBill estimatedReceivableBill) + { + return toAjax(estimatedReceivableBillService.insertEstimatedReceivableBill(estimatedReceivableBill)); + } + + /** + * 淇敼棰勪及搴旀敹璐﹀崟 + */ + @PreAuthorize("@ss.hasPermi('cwgl:estimatedReceivableBill:edit')") + @Log(title = "棰勪及搴旀敹璐﹀崟", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody EstimatedReceivableBill estimatedReceivableBill) + { + return toAjax(estimatedReceivableBillService.updateEstimatedReceivableBill(estimatedReceivableBill)); + } + + /** + * 鍒犻櫎棰勪及搴旀敹璐﹀崟 + */ + @PreAuthorize("@ss.hasPermi('cwgl:estimatedReceivableBill:remove')") + @Log(title = "棰勪及搴旀敹璐﹀崟", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Integer[] ids) + { + return toAjax(estimatedReceivableBillService.deleteEstimatedReceivableBillByIds(ids)); + } +} diff --git a/service/src/main/java/com/ruoyi/cwgl/domain/EstimatedReceivableBill.java b/service/src/main/java/com/ruoyi/cwgl/domain/EstimatedReceivableBill.java new file mode 100644 index 0000000..baa150c --- /dev/null +++ b/service/src/main/java/com/ruoyi/cwgl/domain/EstimatedReceivableBill.java @@ -0,0 +1,127 @@ +package com.ruoyi.cwgl.domain; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableField; +import java.util.Date; +import lombok.Data; +/** + * 棰勪及搴旀敹璐﹀崟瀵硅薄 estimated_receivable_bill + * + * @author ruoyi + * @date 2025-08-07 + */ +@Data +public class EstimatedReceivableBill{ + + + /** ID */ + @TableField("id") + private Integer id; + + + /** 璐﹀崟绯荤粺缂栧彿 */ + @Excel(name = "璐﹀崟绯荤粺缂栧彿") + + @TableField("bill_system_no") + private String billSystemNo; + + + /** 璐﹀崟鍚嶇О */ + @Excel(name = "璐﹀崟鍚嶇О") + + @TableField("bill_name") + private String billName; + + + /** 瀹㈡埛鍚嶇О */ + @Excel(name = "瀹㈡埛鍚嶇О") + + @TableField("customer_name") + private String customerName; + + + /** 璋冨害鍗曟暟閲� */ + @Excel(name = "璋冨害鍗曟暟閲�") + + @TableField("dispatch_count") + private Integer dispatchCount; + + + /** 搴旂粨绠楅噾棰� */ + @Excel(name = "搴旂粨绠楅噾棰�") + + @TableField("total_amount") + private BigDecimal totalAmount; + + + /** 宸茬粨绠楅噾棰� */ + @Excel(name = "宸茬粨绠楅噾棰�") + + @TableField("settled_amount") + private BigDecimal settledAmount; + + + /** 寮�绁ㄧ姸鎬� */ + @Excel(name = "寮�绁ㄧ姸鎬�") + + @TableField("invoice_status") + private Integer invoiceStatus; + + + /** 闄勪欢鍦板潃 */ + @Excel(name = "闄勪欢鍦板潃") + + @TableField("attachment") + private String attachment; + + + /** 鐘舵�� */ + @Excel(name = "鐘舵��") + + @TableField("status") + private Integer status; + + + /** 澶囨敞 */ + @Excel(name = "澶囨敞") + + @TableField("remark") + private String remark; + + + /** 鍒涘缓浜� */ + @TableField("create_by") + private String createBy; + + + /** 纭鏃堕棿 */ + @Excel(name = "纭鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd") + + @JsonFormat(pattern = "yyyy-MM-dd") + @TableField("confirm_time") + private Date confirmTime; + + + /** 鍒涘缓鏃堕棿 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @TableField("create_time") + private Date createTime; + + + /** 鏇存柊鏃堕棿 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @TableField("update_time") + private Date updateTime; + + + /** 鍒犻櫎鏍囪(0:姝e父;1:鍒犻櫎) */ + @Excel(name = "鍒犻櫎鏍囪(0:姝e父;1:鍒犻櫎)") + + @TableField("deleted") + private Integer deleted; + + +} diff --git a/service/src/main/java/com/ruoyi/cwgl/mapper/EstimatedReceivableBillMapper.java b/service/src/main/java/com/ruoyi/cwgl/mapper/EstimatedReceivableBillMapper.java new file mode 100644 index 0000000..e2bfc69 --- /dev/null +++ b/service/src/main/java/com/ruoyi/cwgl/mapper/EstimatedReceivableBillMapper.java @@ -0,0 +1,87 @@ +package com.ruoyi.cwgl.mapper; + +import java.util.List; +import com.ruoyi.cwgl.domain.EstimatedReceivableBill; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + + +/** + * 棰勪及搴旀敹璐﹀崟Mapper鎺ュ彛 + * + * @author ruoyi + * @date 2025-08-07 + */ +public interface EstimatedReceivableBillMapper extends BaseMapper<EstimatedReceivableBill> +{ + /** + * 鏌ヨ棰勪及搴旀敹璐﹀崟 + * + * @param id 棰勪及搴旀敹璐﹀崟ID + * @return 棰勪及搴旀敹璐﹀崟 + */ + public EstimatedReceivableBill selectEstimatedReceivableBillById(Integer id); + + /** + * 鏌ヨ棰勪及搴旀敹璐﹀崟 璁板綍鏁� + * + * @param estimatedReceivableBill 棰勪及搴旀敹璐﹀崟 + * @return 棰勪及搴旀敹璐﹀崟闆嗗悎 + */ + public int selectEstimatedReceivableBillCount(EstimatedReceivableBill estimatedReceivableBill); + + /** + * 鏌ヨ棰勪及搴旀敹璐﹀崟鍒楄〃 + * + * @param estimatedReceivableBill 棰勪及搴旀敹璐﹀崟 + * @return 棰勪及搴旀敹璐﹀崟闆嗗悎 + */ + public List<EstimatedReceivableBill> selectEstimatedReceivableBillList(EstimatedReceivableBill estimatedReceivableBill); + + /** + * 鏂板棰勪及搴旀敹璐﹀崟 + * + * @param estimatedReceivableBill 棰勪及搴旀敹璐﹀崟 + * @return 缁撴灉 + */ + public int insertEstimatedReceivableBill(EstimatedReceivableBill estimatedReceivableBill); + + /** + * 鏂板棰勪及搴旀敹璐﹀崟[鎵归噺] + * + * @param estimatedReceivableBills 棰勪及搴旀敹璐﹀崟 + * @return 缁撴灉 + */ + public int insertEstimatedReceivableBillBatch(List<EstimatedReceivableBill> estimatedReceivableBills); + + /** + * 淇敼棰勪及搴旀敹璐﹀崟 + * + * @param estimatedReceivableBill 棰勪及搴旀敹璐﹀崟 + * @return 缁撴灉 + */ + public int updateEstimatedReceivableBill(EstimatedReceivableBill estimatedReceivableBill); + + /** + * 淇敼棰勪及搴旀敹璐﹀崟[鎵归噺] + * + * @param estimatedReceivableBills 棰勪及搴旀敹璐﹀崟 + * @return 缁撴灉 + */ + public int updateEstimatedReceivableBillBatch(List<EstimatedReceivableBill> estimatedReceivableBills); + + /** + * 鍒犻櫎棰勪及搴旀敹璐﹀崟 + * + * @param id 棰勪及搴旀敹璐﹀崟ID + * @return 缁撴灉 + */ + public int deleteEstimatedReceivableBillById(Integer id); + + /** + * 鎵归噺鍒犻櫎棰勪及搴旀敹璐﹀崟 + * + * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID + * @return 缁撴灉 + */ + public int deleteEstimatedReceivableBillByIds(Integer[] ids); +} diff --git a/service/src/main/java/com/ruoyi/cwgl/service/IEstimatedReceivableBillService.java b/service/src/main/java/com/ruoyi/cwgl/service/IEstimatedReceivableBillService.java new file mode 100644 index 0000000..6362de2 --- /dev/null +++ b/service/src/main/java/com/ruoyi/cwgl/service/IEstimatedReceivableBillService.java @@ -0,0 +1,102 @@ +package com.ruoyi.cwgl.service; + +import java.util.List; +import com.ruoyi.cwgl.domain.EstimatedReceivableBill; +import com.baomidou.mybatisplus.extension.service.IService; +/** + * 棰勪及搴旀敹璐﹀崟Service鎺ュ彛 + * + * @author ruoyi + * @date 2025-08-07 + */ +public interface IEstimatedReceivableBillService extends IService<EstimatedReceivableBill> +{ + /** + * 鏌ヨ棰勪及搴旀敹璐﹀崟 + * + * @param id 棰勪及搴旀敹璐﹀崟ID + * @return 棰勪及搴旀敹璐﹀崟 + */ + public EstimatedReceivableBill selectEstimatedReceivableBillById(Integer id); + + /** + * 鏌ヨ棰勪及搴旀敹璐﹀崟 璁板綍鏁� + * + * @param estimatedReceivableBill 棰勪及搴旀敹璐﹀崟 + * @return 棰勪及搴旀敹璐﹀崟闆嗗悎 + */ + public int selectEstimatedReceivableBillCount(EstimatedReceivableBill estimatedReceivableBill); + + /** + * 鏌ヨ棰勪及搴旀敹璐﹀崟鍒楄〃 + * + * @param estimatedReceivableBill 棰勪及搴旀敹璐﹀崟 + * @return 棰勪及搴旀敹璐﹀崟闆嗗悎 + */ + public List<EstimatedReceivableBill> selectEstimatedReceivableBillList(EstimatedReceivableBill estimatedReceivableBill); + + /** + * 鏌ヨ棰勪及搴旀敹璐﹀崟鍒楄〃 寮傛 瀵煎嚭 + * + * @param estimatedReceivableBill 棰勪及搴旀敹璐﹀崟 + * @param exportKey 瀵煎嚭鍔熻兘鐨勫敮涓�鏍囪瘑 + * @return 棰勪及搴旀敹璐﹀崟闆嗗悎 + */ + public void export(EstimatedReceivableBill estimatedReceivableBill, String exportKey) ; + + + /** + * 鏂板棰勪及搴旀敹璐﹀崟 + * + * @param estimatedReceivableBill 棰勪及搴旀敹璐﹀崟 + * @return 缁撴灉 + */ + public int insertEstimatedReceivableBill(EstimatedReceivableBill estimatedReceivableBill); + + /** + * 鏂板棰勪及搴旀敹璐﹀崟[鎵归噺] + * + * @param estimatedReceivableBills 棰勪及搴旀敹璐﹀崟 + * @return 缁撴灉 + */ + public int insertEstimatedReceivableBillBatch(List<EstimatedReceivableBill> estimatedReceivableBills); + + /** + * 淇敼棰勪及搴旀敹璐﹀崟 + * + * @param estimatedReceivableBill 棰勪及搴旀敹璐﹀崟 + * @return 缁撴灉 + */ + public int updateEstimatedReceivableBill(EstimatedReceivableBill estimatedReceivableBill); + + /** + * 淇敼棰勪及搴旀敹璐﹀崟[鎵归噺] + * + * @param estimatedReceivableBills 棰勪及搴旀敹璐﹀崟 + * @return 缁撴灉 + */ + public int updateEstimatedReceivableBillBatch(List<EstimatedReceivableBill> estimatedReceivableBills); + /** + * 鎵归噺鍒犻櫎棰勪及搴旀敹璐﹀崟 + * + * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID + * @return 缁撴灉 + */ + public int deleteEstimatedReceivableBillByIds(String ids); + + /** + * 鎵归噺鍒犻櫎棰勪及搴旀敹璐﹀崟 + * + * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID + * @return 缁撴灉 + */ + public int deleteEstimatedReceivableBillByIds(Integer[] ids); + + /** + * 鍒犻櫎棰勪及搴旀敹璐﹀崟淇℃伅 + * + * @param id 棰勪及搴旀敹璐﹀崟ID + * @return 缁撴灉 + */ + public int deleteEstimatedReceivableBillById(Integer id); +} diff --git a/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java b/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java new file mode 100644 index 0000000..218fbc9 --- /dev/null +++ b/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableBillServiceImpl.java @@ -0,0 +1,182 @@ +package com.ruoyi.cwgl.service.impl; + +import java.util.List; + +import com.ruoyi.common.utils.DateUtils; +import javax.annotation.Resource; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.stereotype.Service; +import org.springframework.scheduling.annotation.Async; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.ruoyi.common.utils.PageUtils; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.annotation.DataSource; +import com.ruoyi.common.enums.DataSourceType; +import com.ruoyi.common.core.service.BaseService; + +import com.ruoyi.cwgl.mapper.EstimatedReceivableBillMapper; +import com.ruoyi.cwgl.domain.EstimatedReceivableBill; +import com.ruoyi.cwgl.service.IEstimatedReceivableBillService; +import com.ruoyi.common.core.text.Convert; + +/** + * 棰勪及搴旀敹璐﹀崟Service涓氬姟灞傚鐞� + * + * @author ruoyi + * @date 2025-08-07 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class EstimatedReceivableBillServiceImpl extends BaseService<EstimatedReceivableBillMapper, EstimatedReceivableBill> implements IEstimatedReceivableBillService +{ + protected final Logger logger = LoggerFactory.getLogger(getClass()); + @Resource + private EstimatedReceivableBillMapper estimatedReceivableBillMapper; + + + /** + * 鏌ヨ棰勪及搴旀敹璐﹀崟 + * + * @param id 棰勪及搴旀敹璐﹀崟ID + * @return 棰勪及搴旀敹璐﹀崟 + */ + @DataSource(DataSourceType.SLAVE) + @Override + public EstimatedReceivableBill selectEstimatedReceivableBillById(Integer id) + { + return estimatedReceivableBillMapper.selectEstimatedReceivableBillById(id); + } + + /** + * 鏌ヨ棰勪及搴旀敹璐﹀崟 璁板綍鏁� + * + * @param estimatedReceivableBill 棰勪及搴旀敹璐﹀崟 + * @return 棰勪及搴旀敹璐﹀崟闆嗗悎 + */ + @DataSource(DataSourceType.SLAVE) + @Override + public int selectEstimatedReceivableBillCount(EstimatedReceivableBill estimatedReceivableBill) + { + return estimatedReceivableBillMapper.selectEstimatedReceivableBillCount(estimatedReceivableBill); + } + + /** + * 鏌ヨ棰勪及搴旀敹璐﹀崟鍒楄〃 + * + * @param estimatedReceivableBill 棰勪及搴旀敹璐﹀崟 + * @return 棰勪及搴旀敹璐﹀崟 + */ + @DataSource(DataSourceType.SLAVE) + @Override + public List<EstimatedReceivableBill> selectEstimatedReceivableBillList(EstimatedReceivableBill estimatedReceivableBill) + { + return estimatedReceivableBillMapper.selectEstimatedReceivableBillList(estimatedReceivableBill); + } + + /** + * 鏌ヨ棰勪及搴旀敹璐﹀崟鍒楄〃 寮傛 瀵煎嚭 + * + * @param estimatedReceivableBill 棰勪及搴旀敹璐﹀崟 + * @param exportKey 瀵煎嚭鍔熻兘鐨勫敮涓�鏍囪瘑 + * @return 棰勪及搴旀敹璐﹀崟闆嗗悎 + */ + @DataSource(DataSourceType.SLAVE) + @Async + @Override + public void export(EstimatedReceivableBill estimatedReceivableBill,String exportKey) { + + super.export(EstimatedReceivableBill.class,exportKey,"estimatedReceivableBillData",(pageNum)->{ + PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE); + return selectEstimatedReceivableBillList(estimatedReceivableBill); + }); + } + + + /** + * 鏂板棰勪及搴旀敹璐﹀崟 + * + * @param estimatedReceivableBill 棰勪及搴旀敹璐﹀崟 + * @return 缁撴灉 + */ + @Override + public int insertEstimatedReceivableBill(EstimatedReceivableBill estimatedReceivableBill) + { + estimatedReceivableBill.setCreateTime(DateUtils.getNowDate()); + return estimatedReceivableBillMapper.insertEstimatedReceivableBill(estimatedReceivableBill); + } + + /** + * 鏂板棰勪及搴旀敹璐﹀崟[鎵归噺] + * + * @param estimatedReceivableBills 棰勪及搴旀敹璐﹀崟 + * @return 缁撴灉 + */ + @Override + public int insertEstimatedReceivableBillBatch(List<EstimatedReceivableBill> estimatedReceivableBills) + { + int rows = estimatedReceivableBillMapper.insertEstimatedReceivableBillBatch(estimatedReceivableBills); + return rows; + } + + /** + * 淇敼棰勪及搴旀敹璐﹀崟 + * + * @param estimatedReceivableBill 棰勪及搴旀敹璐﹀崟 + * @return 缁撴灉 + */ + @Override + public int updateEstimatedReceivableBill(EstimatedReceivableBill estimatedReceivableBill) + { + estimatedReceivableBill.setUpdateTime(DateUtils.getNowDate()); + return estimatedReceivableBillMapper.updateEstimatedReceivableBill(estimatedReceivableBill); + } + + /** + * 淇敼棰勪及搴旀敹璐﹀崟[鎵归噺] + * + * @param estimatedReceivableBills 棰勪及搴旀敹璐﹀崟 + * @return 缁撴灉 + */ + @Override + public int updateEstimatedReceivableBillBatch(List<EstimatedReceivableBill> estimatedReceivableBills){ + return estimatedReceivableBillMapper.updateEstimatedReceivableBillBatch(estimatedReceivableBills); + } + + /** + * 鍒犻櫎棰勪及搴旀敹璐﹀崟瀵硅薄 + * + * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID + * @return 缁撴灉 + */ + @Override + public int deleteEstimatedReceivableBillByIds(String ids) + { + return deleteEstimatedReceivableBillByIds(Convert.toIntArray(ids)); + } + + /** + * 鍒犻櫎棰勪及搴旀敹璐﹀崟瀵硅薄 + * + * + * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID + * @return 缁撴灉 + */ + @Override + public int deleteEstimatedReceivableBillByIds(Integer[] ids) + { + return estimatedReceivableBillMapper.deleteEstimatedReceivableBillByIds(ids); + } + + /** + * 鍒犻櫎棰勪及搴旀敹璐﹀崟淇℃伅 + * + * @param id 棰勪及搴旀敹璐﹀崟ID + * @return 缁撴灉 + */ + @Override + public int deleteEstimatedReceivableBillById(Integer id) + { + return estimatedReceivableBillMapper.deleteEstimatedReceivableBillById(id); + } +} diff --git a/service/src/main/resources/mapper/cwgl/EstimatedReceivableBillMapper.xml b/service/src/main/resources/mapper/cwgl/EstimatedReceivableBillMapper.xml new file mode 100644 index 0000000..083450c --- /dev/null +++ b/service/src/main/resources/mapper/cwgl/EstimatedReceivableBillMapper.xml @@ -0,0 +1,177 @@ +<?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.cwgl.mapper.EstimatedReceivableBillMapper"> + + <resultMap type="com.ruoyi.cwgl.domain.EstimatedReceivableBill" id="EstimatedReceivableBillResult"> + <result property="id" column="id" /> + <result property="billSystemNo" column="bill_system_no" /> + <result property="billName" column="bill_name" /> + <result property="customerName" column="customer_name" /> + <result property="dispatchCount" column="dispatch_count" /> + <result property="totalAmount" column="total_amount" /> + <result property="settledAmount" column="settled_amount" /> + <result property="invoiceStatus" column="invoice_status" /> + <result property="attachment" column="attachment" /> + <result property="status" column="status" /> + <result property="remark" column="remark" /> + <result property="createBy" column="create_by" /> + <result property="confirmTime" column="confirm_time" /> + <result property="createTime" column="create_time" /> + <result property="updateTime" column="update_time" /> + <result property="deleted" column="deleted" /> + </resultMap> + + <sql id="selectEstimatedReceivableBillVo"> + select thisTab.id, thisTab.bill_system_no, thisTab.bill_name, thisTab.customer_name, thisTab.dispatch_count, thisTab.total_amount, thisTab.settled_amount, thisTab.invoice_status, thisTab.attachment, thisTab.status, thisTab.remark, thisTab.create_by, thisTab.confirm_time, thisTab.create_time, thisTab.update_time, thisTab.deleted from estimated_receivable_bill AS thisTab + </sql> + <sql id="selectEstimatedReceivableBillVoCount"> + select count(0) from estimated_receivable_bill as thisTab + </sql> + + <sql id="whereCondition"> + <if test="billSystemNo != null and billSystemNo != ''"> and thisTab.bill_system_no = #{billSystemNo}</if> + <if test="billName != null and billName != ''"> and thisTab.bill_name like concat('%', #{billName}, '%')</if> + <if test="customerName != null and customerName != ''"> and thisTab.customer_name like concat('%', #{customerName}, '%')</if> + <if test="dispatchCount != null "> and thisTab.dispatch_count = #{dispatchCount}</if> + <if test="totalAmount != null "> and thisTab.total_amount = #{totalAmount}</if> + <if test="settledAmount != null "> and thisTab.settled_amount = #{settledAmount}</if> + <if test="invoiceStatus != null "> and thisTab.invoice_status = #{invoiceStatus}</if> + <if test="attachment != null and attachment != ''"> and thisTab.attachment = #{attachment}</if> + <if test="status != null "> and thisTab.status = #{status}</if> + <if test="confirmTime != null "> and thisTab.confirm_time = #{confirmTime}</if> + <if test="deleted != null "> and thisTab.deleted = #{deleted}</if> + </sql> + + <!--鏌ヨ--> + <select id="selectEstimatedReceivableBillById" parameterType="Integer" resultMap="EstimatedReceivableBillResult"> + <include refid="selectEstimatedReceivableBillVo"/> + where id = #{id} + </select> + + <select id="selectEstimatedReceivableBillCount" parameterType="com.ruoyi.cwgl.domain.EstimatedReceivableBill" resultType="int"> + <include refid="selectEstimatedReceivableBillVoCount"/> + <where> + <include refid="whereCondition"/> + </where> + </select> + + <select id="selectEstimatedReceivableBillList" parameterType="com.ruoyi.cwgl.domain.EstimatedReceivableBill" resultMap="EstimatedReceivableBillResult"> + <include refid="selectEstimatedReceivableBillVo"/> + <where> + <include refid="whereCondition"/> + </where> + order by thisTab.id desc + </select> + + <!-- 鏂板 --> + <insert id="insertEstimatedReceivableBill" parameterType="com.ruoyi.cwgl.domain.EstimatedReceivableBill" useGeneratedKeys="true" keyProperty="id"> + insert into estimated_receivable_bill + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="billSystemNo != null and billSystemNo != ''">bill_system_no,</if> + <if test="billName != null and billName != ''">bill_name,</if> + <if test="customerName != null and customerName != ''">customer_name,</if> + <if test="dispatchCount != null">dispatch_count,</if> + <if test="totalAmount != null">total_amount,</if> + <if test="settledAmount != null">settled_amount,</if> + <if test="invoiceStatus != null">invoice_status,</if> + <if test="attachment != null">attachment,</if> + <if test="status != null">status,</if> + <if test="remark != null">remark,</if> + <if test="createBy != null">create_by,</if> + <if test="confirmTime != null">confirm_time,</if> + <if test="createTime != null">create_time,</if> + <if test="updateTime != null">update_time,</if> + <if test="deleted != null">deleted,</if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="billSystemNo != null and billSystemNo != ''">#{billSystemNo},</if> + <if test="billName != null and billName != ''">#{billName},</if> + <if test="customerName != null and customerName != ''">#{customerName},</if> + <if test="dispatchCount != null">#{dispatchCount},</if> + <if test="totalAmount != null">#{totalAmount},</if> + <if test="settledAmount != null">#{settledAmount},</if> + <if test="invoiceStatus != null">#{invoiceStatus},</if> + <if test="attachment != null">#{attachment},</if> + <if test="status != null">#{status},</if> + <if test="remark != null">#{remark},</if> + <if test="createBy != null">#{createBy},</if> + <if test="confirmTime != null">#{confirmTime},</if> + <if test="createTime != null">#{createTime},</if> + <if test="updateTime != null">#{updateTime},</if> + <if test="deleted != null">#{deleted},</if> + </trim> + </insert> + + <insert id="insertEstimatedReceivableBillBatch" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id"> + insert into estimated_receivable_bill + <trim prefix="(" suffix=") values" suffixOverrides=","> + id,bill_system_no,bill_name,customer_name,dispatch_count,total_amount,settled_amount,invoice_status,attachment,status,remark,create_by,confirm_time,create_time,update_time,deleted, + </trim> + <foreach item="item" index="index" collection="list" separator=","> + <trim prefix="(" suffix=") " suffixOverrides=","> + #{item.id},#{item.billSystemNo},#{item.billName},#{item.customerName},#{item.dispatchCount},#{item.totalAmount},#{item.settledAmount},#{item.invoiceStatus},#{item.attachment},#{item.status},#{item.remark},#{item.createBy},#{item.confirmTime},#{item.createTime},#{item.updateTime},#{item.deleted}, + </trim> + </foreach> + </insert> + + <!-- 淇敼 --> + <update id="updateEstimatedReceivableBill" parameterType="com.ruoyi.cwgl.domain.EstimatedReceivableBill"> + update estimated_receivable_bill + <trim prefix="SET" suffixOverrides=","> + <if test="billSystemNo != null and billSystemNo != ''">bill_system_no = #{billSystemNo},</if> + <if test="billName != null and billName != ''">bill_name = #{billName},</if> + <if test="customerName != null and customerName != ''">customer_name = #{customerName},</if> + <if test="dispatchCount != null">dispatch_count = #{dispatchCount},</if> + <if test="totalAmount != null">total_amount = #{totalAmount},</if> + <if test="settledAmount != null">settled_amount = #{settledAmount},</if> + <if test="invoiceStatus != null">invoice_status = #{invoiceStatus},</if> + <if test="attachment != null">attachment = #{attachment},</if> + <if test="status != null">status = #{status},</if> + <if test="remark != null">remark = #{remark},</if> + <if test="createBy != null">create_by = #{createBy},</if> + <if test="confirmTime != null">confirm_time = #{confirmTime},</if> + <if test="createTime != null">create_time = #{createTime},</if> + <if test="updateTime != null">update_time = #{updateTime},</if> + <if test="deleted != null">deleted = #{deleted},</if> + </trim> + where id = #{id} + </update> + <!-- 淇敼 --> + <update id="updateEstimatedReceivableBillBatch" parameterType="java.util.List"> + <foreach collection="list" item="item" index="index" separator=";"> + update estimated_receivable_bill + <trim prefix="SET" suffixOverrides=","> + <if test="item.billSystemNo != null and item.billSystemNo != ''">bill_system_no = #{item.billSystemNo},</if> + <if test="item.billName != null and item.billName != ''">bill_name = #{item.billName},</if> + <if test="item.customerName != null and item.customerName != ''">customer_name = #{item.customerName},</if> + <if test="item.dispatchCount != null">dispatch_count = #{item.dispatchCount},</if> + <if test="item.totalAmount != null">total_amount = #{item.totalAmount},</if> + <if test="item.settledAmount != null">settled_amount = #{item.settledAmount},</if> + <if test="item.invoiceStatus != null">invoice_status = #{item.invoiceStatus},</if> + <if test="item.attachment != null">attachment = #{item.attachment},</if> + <if test="item.status != null">status = #{item.status},</if> + <if test="item.remark != null">remark = #{item.remark},</if> + <if test="item.createBy != null">create_by = #{item.createBy},</if> + <if test="item.confirmTime != null">confirm_time = #{item.confirmTime},</if> + <if test="item.createTime != null">create_time = #{item.createTime},</if> + <if test="item.updateTime != null">update_time = #{item.updateTime},</if> + <if test="item.deleted != null">deleted = #{item.deleted},</if> + </trim> + where id = #{item.id} + </foreach> + </update> + + <!--鍒犻櫎--> + <delete id="deleteEstimatedReceivableBillById" parameterType="Integer"> + delete from estimated_receivable_bill where id = #{id} + </delete> + <delete id="deleteEstimatedReceivableBillByIds" parameterType="Integer"> + delete from estimated_receivable_bill where id in + <foreach item="id" collection="array" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + +</mapper> \ No newline at end of file diff --git a/ui/admin-ui3/src/api/cwgl/estimatedReceivableBill.ts b/ui/admin-ui3/src/api/cwgl/estimatedReceivableBill.ts new file mode 100644 index 0000000..f2129b7 --- /dev/null +++ b/ui/admin-ui3/src/api/cwgl/estimatedReceivableBill.ts @@ -0,0 +1,67 @@ +import request,{download,requestType} from "@/utils/request"; +import {BaseEntityInterface} from "@/utils/globalInterface"; +export interface EstimatedReceivableBillI extends BaseEntityInterface{ + id ?: number , billSystemNo ?: string , billName ?: string , customerName ?: string , dispatchCount ?: number , totalAmount ?: string , settledAmount ?: string , invoiceStatus ?: number , attachment ?: string , status ?: number , remark ?: string , createBy ?: string , confirmTime ?: string , createTime ?: string , updateTime ?: string , deleted ?: number } + + +/** + * 鏌ヨ棰勪及搴旀敹璐﹀崟鍒楄〃 + */ +export const listEstimatedReceivableBill:requestType = (query) => { + return request({ + url: '/cwgl/estimatedReceivableBill/list', + method:'get', + params:query + }) +} +/** + * 鏌ヨ棰勪及搴旀敹璐﹀崟璇︾粏 + */ +export const getEstimatedReceivableBill:requestType = (id) => { + return request({ + url: '/cwgl/estimatedReceivableBill/' + id, + method:'get' + }) +} + +/** + * 鏂板棰勪及搴旀敹璐﹀崟 + */ +export const addEstimatedReceivableBill:requestType = (data) => { + return request({ + url: '/cwgl/estimatedReceivableBill', + method: 'post', + data + }) +} + +/** + * 淇敼棰勪及搴旀敹璐﹀崟 + */ +export const updateEstimatedReceivableBill:requestType = (data) => { + return request({ + url: '/cwgl/estimatedReceivableBill', + method: 'put', + data + }) +} + +/** + * 鍒犻櫎棰勪及搴旀敹璐﹀崟 + */ +export const delEstimatedReceivableBill:requestType = (id) => { + return request({ + url: '/cwgl/estimatedReceivableBill/' + id, + method: 'delete' + }) +} + + +/** + * 瀵煎嚭棰勪及搴旀敹璐﹀崟 + */ +export const exportEstimatedReceivableBill:requestType = (query) => { + return new Promise<any>(()=>{ + download('/cwgl/estimatedReceivableBill/export',query); + }) +} diff --git a/ui/admin-ui3/src/views/cwgl/estimatedReceivableBill/index.vue b/ui/admin-ui3/src/views/cwgl/estimatedReceivableBill/index.vue new file mode 100644 index 0000000..3fd7356 --- /dev/null +++ b/ui/admin-ui3/src/views/cwgl/estimatedReceivableBill/index.vue @@ -0,0 +1,174 @@ +<template> + <basicContainer > + <avue-crud + :option="option" + :table-loading="pageF.loading" + :data="tableData" + :page="page" + :permission="permissionList" + :before-open="beforeOpen" + v-model="form" + ref="crudRef" + @row-update="rowUpdate" + @row-save="rowSave" + @refresh-change="refreshChange" + @row-del="rowDel" + @search-change="searchChange" + @search-reset="searchReset" + @selection-change="selectionChange" + @current-change="currentChange" + @size-change="sizeChange" + @on-load="onLoad" + > + <template #menu-left> + <el-button + type="success" + icon="Edit" + :disabled="pageF.single" + v-hasPermi="['cwgl:estimatedReceivableBill:edit']" + @click="handleUpdate">淇敼 + </el-button> + <el-button + type="danger" + icon="Delete" + :disabled="pageF.multiple" + @click="handleDelete" + v-hasPermi="['cwgl:estimatedReceivableBill:remove']" + >鍒犻櫎 + </el-button> + <el-button + type="warning" + plain + icon="Download" + @click="handleExport" + v-hasPermi="['cwgl:estimatedReceivableBill:export']" + >瀵煎嚭 + </el-button> + </template> + </avue-crud> + </basicContainer> +</template> + +<script setup name="estimatedReceivableBill" lang="ts"> + import {EstimatedReceivableBillI,addEstimatedReceivableBill, delEstimatedReceivableBill, exportEstimatedReceivableBill, getEstimatedReceivableBill, listEstimatedReceivableBill, updateEstimatedReceivableBill} from "@/api/cwgl/estimatedReceivableBill"; + import useCurrentInstance from "@/utils/useCurrentInstance"; + import {computed,reactive, ref, toRefs} from "vue"; + import {PagesInterface, PageQueryInterface} from "@/utils/globalInterface"; + import {usePagePlus} from "@/hooks/usePagePlus"; + import {hasPermission} from "@/utils/permissionUtils"; + + const { proxy } = useCurrentInstance(); + const crudRef = ref(); + + const permissionList = computed(()=>{ + return { + addBtn: hasPermission(["cwgl:estimatedReceivableBill:add"]), + delBtn: hasPermission(["cwgl:estimatedReceivableBill:remove"]), + editBtn: hasPermission(["cwgl:estimatedReceivableBill:edit"]), + viewBtn: hasPermission(["cwgl:estimatedReceivableBill:query"]), + } + }) + + const data = reactive({ + form:<EstimatedReceivableBillI>{}, + queryParams:<EstimatedReceivableBillI&PageQueryInterface>{}, + page: <PagesInterface>{ + pageSize: 10, + total: 0, + currentPage: 1, + }, + selectionList:[], + }) + const {queryParams,form,page,selectionList} = toRefs(data); + const option = ref({ + pageKey: 'EstimatedReceivableBill', + rowKey: 'id', + column: { + id: { + label: 'ID', + }, + billSystemNo: { + label: '璐﹀崟绯荤粺缂栧彿', + rules: [ + { + required: true, + message: "璐﹀崟绯荤粺缂栧彿涓嶈兘涓虹┖", trigger: "blur" } + ], }, + billName: { + label: '璐﹀崟鍚嶇О', + rules: [ + { + required: true, + message: "璐﹀崟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" } + ], }, + customerName: { + label: '瀹㈡埛鍚嶇О', + rules: [ + { + required: true, + message: "瀹㈡埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" } + ], }, + dispatchCount: { + label: '璋冨害鍗曟暟閲�', + }, + totalAmount: { + label: '搴旂粨绠楅噾棰�', + }, + settledAmount: { + label: '宸茬粨绠楅噾棰�', + }, + invoiceStatus: { + label: '寮�绁ㄧ姸鎬�', + }, + attachment: { + label: '闄勪欢鍦板潃', + type: 'textarea', minRows: 3, maxRows: 5, + }, + status: { + label: '鐘舵��', + }, + remark: { + label: '澶囨敞', + type: 'textarea', minRows: 3, maxRows: 5, + }, + createBy: { + label: '鍒涘缓浜�', + }, + confirmTime: { + label: '纭鏃堕棿', + }, + createTime: { + label: '鍒涘缓鏃堕棿', + }, + updateTime: { + label: '鏇存柊鏃堕棿', + }, + deleted: { + label: '鍒犻櫎鏍囪(0:姝e父;1:鍒犻櫎)', + }, + } + }) + + const { tableData,pageF,rowSave,rowUpdate,rowDel,beforeOpen,searchChange, + searchReset,selectionChange,onLoad,currentChange,sizeChange,handleDelete,handleExport,handleUpdate,refreshChange} = usePagePlus({ + form:form, + option:option, + queryParams:queryParams, + idKey:'id', + page:page.value, + getListApi:listEstimatedReceivableBill, + getDetailApi:getEstimatedReceivableBill, + exportApi:exportEstimatedReceivableBill, + deleteApi:delEstimatedReceivableBill, + addApi:addEstimatedReceivableBill, + updateApi:updateEstimatedReceivableBill, + handleUpdateFunc:()=>{ + crudRef.value.rowEdit(selectionList.value[0]); + }, + handleSelectionChangeFunc:(selection:any)=>{ + selectionList.value = selection; + } + }) + + +</script> -- Gitblit v1.8.0