From deb890911f16f28d0caf0edd7b96e8082bdd306d Mon Sep 17 00:00:00 2001 From: wujianwei <wjw@11.com> Date: 星期二, 09 九月 2025 11:35:46 +0800 Subject: [PATCH] 新增前后端 --- service/src/main/java/com/ruoyi/cwgl/controller/SmartLockerApplicationController.java | 108 ++++++ service/src/main/java/com/ruoyi/cwgl/service/impl/SmartLockerApplicationServiceImpl.java | 182 ++++++++++ service/src/main/java/com/ruoyi/cwgl/mapper/SmartLockerApplicationMapper.java | 87 ++++ service/src/main/java/com/ruoyi/cwgl/domain/SmartLockerApplication.java | 131 +++++++ ui/admin-ui3/src/views/cwgl/smartLockerApplication/index.vue | 184 ++++++++++ service/src/main/java/com/ruoyi/cwgl/service/ISmartLockerApplicationService.java | 102 +++++ service/src/main/resources/mapper/cwgl/SmartLockerApplicationMapper.xml | 182 ++++++++++ ui/admin-ui3/src/api/cwgl/smartLockerApplication.ts | 67 +++ 8 files changed, 1,043 insertions(+), 0 deletions(-) diff --git a/service/src/main/java/com/ruoyi/cwgl/controller/SmartLockerApplicationController.java b/service/src/main/java/com/ruoyi/cwgl/controller/SmartLockerApplicationController.java new file mode 100644 index 0000000..967d141 --- /dev/null +++ b/service/src/main/java/com/ruoyi/cwgl/controller/SmartLockerApplicationController.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.SmartLockerApplication; +import com.ruoyi.cwgl.service.ISmartLockerApplicationService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞咰ontroller + * + * @author ruoyi + * @date 2025-09-09 + */ +@RestController +@RequestMapping("/cwgl/smartLockerApplication") +public class SmartLockerApplicationController extends BaseController +{ + @Autowired + private ISmartLockerApplicationService smartLockerApplicationService; + + + + /** + * 鏌ヨ鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗗垪琛� + */ + @PreAuthorize("@ss.hasPermi('cwgl:smartLockerApplication:list')") + @GetMapping("/list") + public TableDataInfo list(SmartLockerApplication smartLockerApplication) + { + startPage(); + List<SmartLockerApplication> list = smartLockerApplicationService.selectSmartLockerApplicationList(smartLockerApplication); + return getDataTable(list); + } + + /** + * 瀵煎嚭鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗗垪琛� + * @param smartLockerApplication 鏌ヨ鏉′欢瀵硅薄 + */ + @PreAuthorize("@ss.hasPermi('cwgl:smartLockerApplication:export')") + @Log(title = "鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞�", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(SmartLockerApplication smartLockerApplication,String exportKey) + { + smartLockerApplicationService.export(smartLockerApplication,exportKey); + return AjaxResult.success("瀵煎嚭璇锋眰鎴愬姛锛岃绋嶅悗鐐瑰嚮涓嬭浇...!"); + } + + + + /** + * 鑾峰彇鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗚缁嗕俊鎭� + */ + @PreAuthorize("@ss.hasPermi('cwgl:smartLockerApplication:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Integer id) + { + return AjaxResult.success(smartLockerApplicationService.selectSmartLockerApplicationById(id)); + } + + /** + * 鏂板鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + */ + @PreAuthorize("@ss.hasPermi('cwgl:smartLockerApplication:add')") + @Log(title = "鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞�", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody SmartLockerApplication smartLockerApplication) + { + return toAjax(smartLockerApplicationService.insertSmartLockerApplication(smartLockerApplication)); + } + + /** + * 淇敼鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + */ + @PreAuthorize("@ss.hasPermi('cwgl:smartLockerApplication:edit')") + @Log(title = "鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞�", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody SmartLockerApplication smartLockerApplication) + { + return toAjax(smartLockerApplicationService.updateSmartLockerApplication(smartLockerApplication)); + } + + /** + * 鍒犻櫎鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + */ + @PreAuthorize("@ss.hasPermi('cwgl:smartLockerApplication:remove')") + @Log(title = "鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞�", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Integer[] ids) + { + return toAjax(smartLockerApplicationService.deleteSmartLockerApplicationByIds(ids)); + } +} diff --git a/service/src/main/java/com/ruoyi/cwgl/domain/SmartLockerApplication.java b/service/src/main/java/com/ruoyi/cwgl/domain/SmartLockerApplication.java new file mode 100644 index 0000000..27aeac8 --- /dev/null +++ b/service/src/main/java/com/ruoyi/cwgl/domain/SmartLockerApplication.java @@ -0,0 +1,131 @@ +package com.ruoyi.cwgl.domain; + +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; +/** + * 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗗璞� smart_locker_application + * + * @author ruoyi + * @date 2025-09-09 + */ +@Data +public class SmartLockerApplication{ + + + /** ID */ + @TableField("id") + private Integer id; + + + /** 鎸囦护绫诲瀷(0:寮�闂ㄦ寚浠�;1:娴佽浆鎸囦护) */ + @Excel(name = "鎸囦护绫诲瀷(0:寮�闂ㄦ寚浠�;1:娴佽浆鎸囦护)") + + @TableField("command_type") + private Integer commandType; + + + /** 鐢抽浜虹紪鐮� */ + @Excel(name = "鐢抽浜虹紪鐮�") + + @TableField("applicant_code") + private String applicantCode; + + + /** 鐢抽浜哄鍚� */ + @Excel(name = "鐢抽浜哄鍚�") + + @TableField("applicant_name") + private String applicantName; + + + /** 棰嗗彇鐗╁搧绫诲瀷(0:杞﹂挜鍖�;1:鏂囦欢;2:鍗扮珷;3:鍏朵粬) */ + @Excel(name = "棰嗗彇鐗╁搧绫诲瀷(0:杞﹂挜鍖�;1:鏂囦欢;2:鍗扮珷;3:鍏朵粬)") + + @TableField("item_type") + private Integer itemType; + + + /** 鐗╁搧鍚嶇О锛堝綋棰嗗彇鐗╁搧绫诲瀷鏄溅閽ュ寵鐨勬椂鍊欙紝濉啓杞︾墝锛� */ + @Excel(name = "鐗╁搧鍚嶇О", readConverterExp = "褰�=棰嗗彇鐗╁搧绫诲瀷鏄溅閽ュ寵鐨勬椂鍊欙紝濉啓杞︾墝") + + @TableField("item_name") + private String itemName; + + + /** 鏅鸿兘鏌滅紪鍙烽粯璁ゆ帴椹崇珯鏅鸿兘閽ュ寵鏌� */ + @Excel(name = "鏅鸿兘鏌滅紪鍙烽粯璁ゆ帴椹崇珯鏅鸿兘閽ュ寵鏌�") + + @TableField("locker_no") + private String lockerNo; + + + /** 鏅鸿兘鏌滄牸鍙e彿 */ + @Excel(name = "鏅鸿兘鏌滄牸鍙e彿") + + @TableField("locker_port") + private Integer lockerPort; + + + /** 鐘舵��(0:姝e父;1:浣滃簾;2:棰嗗彇) */ + @Excel(name = "鐘舵��(0:姝e父;1:浣滃簾;2:棰嗗彇)") + + @TableField("status") + private Integer status; + + + /** 浣滃簾鏃堕棿 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "浣滃簾鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @TableField("cancel_time") + private Date cancelTime; + + + /** 棰嗗彇鏃堕棿 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "棰嗗彇鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + + @TableField("receive_time") + private Date receiveTime; + + + /** 鍒涘缓鏃堕棿 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField("create_time") + private Date createTime; + + + /** 鏇存柊鏃堕棿 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField("update_time") + private Date updateTime; + + + /** 澶囨敞 */ + @Excel(name = "澶囨敞") + + @TableField("remark") + private String remark; + + + /** 鍒涘缓浜� */ + @TableField("create_by") + private String createBy; + + + /** 鏇存柊浜� */ + @TableField("update_by") + private String updateBy; + + + /** 鍒犻櫎鏍囪(0:姝e父;1:鍒犻櫎) */ + @Excel(name = "鍒犻櫎鏍囪(0:姝e父;1:鍒犻櫎)") + + @TableField("deleted") + private Integer deleted; + + +} diff --git a/service/src/main/java/com/ruoyi/cwgl/mapper/SmartLockerApplicationMapper.java b/service/src/main/java/com/ruoyi/cwgl/mapper/SmartLockerApplicationMapper.java new file mode 100644 index 0000000..4f697be --- /dev/null +++ b/service/src/main/java/com/ruoyi/cwgl/mapper/SmartLockerApplicationMapper.java @@ -0,0 +1,87 @@ +package com.ruoyi.cwgl.mapper; + +import java.util.List; +import com.ruoyi.cwgl.domain.SmartLockerApplication; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + + +/** + * 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞哅apper鎺ュ彛 + * + * @author ruoyi + * @date 2025-09-09 + */ +public interface SmartLockerApplicationMapper extends BaseMapper<SmartLockerApplication> +{ + /** + * 鏌ヨ鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * + * @param id 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞咺D + * @return 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + */ + public SmartLockerApplication selectSmartLockerApplicationById(Integer id); + + /** + * 鏌ヨ鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� 璁板綍鏁� + * + * @param smartLockerApplication 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * @return 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗛泦鍚� + */ + public int selectSmartLockerApplicationCount(SmartLockerApplication smartLockerApplication); + + /** + * 鏌ヨ鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗗垪琛� + * + * @param smartLockerApplication 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * @return 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗛泦鍚� + */ + public List<SmartLockerApplication> selectSmartLockerApplicationList(SmartLockerApplication smartLockerApplication); + + /** + * 鏂板鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * + * @param smartLockerApplication 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * @return 缁撴灉 + */ + public int insertSmartLockerApplication(SmartLockerApplication smartLockerApplication); + + /** + * 鏂板鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞哰鎵归噺] + * + * @param smartLockerApplications 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * @return 缁撴灉 + */ + public int insertSmartLockerApplicationBatch(List<SmartLockerApplication> smartLockerApplications); + + /** + * 淇敼鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * + * @param smartLockerApplication 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * @return 缁撴灉 + */ + public int updateSmartLockerApplication(SmartLockerApplication smartLockerApplication); + + /** + * 淇敼鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞哰鎵归噺] + * + * @param smartLockerApplications 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * @return 缁撴灉 + */ + public int updateSmartLockerApplicationBatch(List<SmartLockerApplication> smartLockerApplications); + + /** + * 鍒犻櫎鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * + * @param id 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞咺D + * @return 缁撴灉 + */ + public int deleteSmartLockerApplicationById(Integer id); + + /** + * 鎵归噺鍒犻櫎鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * + * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID + * @return 缁撴灉 + */ + public int deleteSmartLockerApplicationByIds(Integer[] ids); +} diff --git a/service/src/main/java/com/ruoyi/cwgl/service/ISmartLockerApplicationService.java b/service/src/main/java/com/ruoyi/cwgl/service/ISmartLockerApplicationService.java new file mode 100644 index 0000000..52338b7 --- /dev/null +++ b/service/src/main/java/com/ruoyi/cwgl/service/ISmartLockerApplicationService.java @@ -0,0 +1,102 @@ +package com.ruoyi.cwgl.service; + +import java.util.List; +import com.ruoyi.cwgl.domain.SmartLockerApplication; +import com.baomidou.mybatisplus.extension.service.IService; +/** + * 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞哠ervice鎺ュ彛 + * + * @author ruoyi + * @date 2025-09-09 + */ +public interface ISmartLockerApplicationService extends IService<SmartLockerApplication> +{ + /** + * 鏌ヨ鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * + * @param id 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞咺D + * @return 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + */ + public SmartLockerApplication selectSmartLockerApplicationById(Integer id); + + /** + * 鏌ヨ鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� 璁板綍鏁� + * + * @param smartLockerApplication 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * @return 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗛泦鍚� + */ + public int selectSmartLockerApplicationCount(SmartLockerApplication smartLockerApplication); + + /** + * 鏌ヨ鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗗垪琛� + * + * @param smartLockerApplication 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * @return 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗛泦鍚� + */ + public List<SmartLockerApplication> selectSmartLockerApplicationList(SmartLockerApplication smartLockerApplication); + + /** + * 鏌ヨ鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗗垪琛� 寮傛 瀵煎嚭 + * + * @param smartLockerApplication 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * @param exportKey 瀵煎嚭鍔熻兘鐨勫敮涓�鏍囪瘑 + * @return 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗛泦鍚� + */ + public void export(SmartLockerApplication smartLockerApplication, String exportKey) ; + + + /** + * 鏂板鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * + * @param smartLockerApplication 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * @return 缁撴灉 + */ + public int insertSmartLockerApplication(SmartLockerApplication smartLockerApplication); + + /** + * 鏂板鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞哰鎵归噺] + * + * @param smartLockerApplications 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * @return 缁撴灉 + */ + public int insertSmartLockerApplicationBatch(List<SmartLockerApplication> smartLockerApplications); + + /** + * 淇敼鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * + * @param smartLockerApplication 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * @return 缁撴灉 + */ + public int updateSmartLockerApplication(SmartLockerApplication smartLockerApplication); + + /** + * 淇敼鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞哰鎵归噺] + * + * @param smartLockerApplications 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * @return 缁撴灉 + */ + public int updateSmartLockerApplicationBatch(List<SmartLockerApplication> smartLockerApplications); + /** + * 鎵归噺鍒犻櫎鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * + * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID + * @return 缁撴灉 + */ + public int deleteSmartLockerApplicationByIds(String ids); + + /** + * 鎵归噺鍒犻櫎鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * + * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID + * @return 缁撴灉 + */ + public int deleteSmartLockerApplicationByIds(Integer[] ids); + + /** + * 鍒犻櫎鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗕俊鎭� + * + * @param id 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞咺D + * @return 缁撴灉 + */ + public int deleteSmartLockerApplicationById(Integer id); +} diff --git a/service/src/main/java/com/ruoyi/cwgl/service/impl/SmartLockerApplicationServiceImpl.java b/service/src/main/java/com/ruoyi/cwgl/service/impl/SmartLockerApplicationServiceImpl.java new file mode 100644 index 0000000..9c42694 --- /dev/null +++ b/service/src/main/java/com/ruoyi/cwgl/service/impl/SmartLockerApplicationServiceImpl.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.SmartLockerApplicationMapper; +import com.ruoyi.cwgl.domain.SmartLockerApplication; +import com.ruoyi.cwgl.service.ISmartLockerApplicationService; +import com.ruoyi.common.core.text.Convert; + +/** + * 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞哠ervice涓氬姟灞傚鐞� + * + * @author ruoyi + * @date 2025-09-09 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class SmartLockerApplicationServiceImpl extends BaseService<SmartLockerApplicationMapper, SmartLockerApplication> implements ISmartLockerApplicationService +{ + protected final Logger logger = LoggerFactory.getLogger(getClass()); + @Resource + private SmartLockerApplicationMapper smartLockerApplicationMapper; + + + /** + * 鏌ヨ鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * + * @param id 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞咺D + * @return 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + */ + @DataSource(DataSourceType.SLAVE) + @Override + public SmartLockerApplication selectSmartLockerApplicationById(Integer id) + { + return smartLockerApplicationMapper.selectSmartLockerApplicationById(id); + } + + /** + * 鏌ヨ鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� 璁板綍鏁� + * + * @param smartLockerApplication 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * @return 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗛泦鍚� + */ + @DataSource(DataSourceType.SLAVE) + @Override + public int selectSmartLockerApplicationCount(SmartLockerApplication smartLockerApplication) + { + return smartLockerApplicationMapper.selectSmartLockerApplicationCount(smartLockerApplication); + } + + /** + * 鏌ヨ鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗗垪琛� + * + * @param smartLockerApplication 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * @return 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + */ + @DataSource(DataSourceType.SLAVE) + @Override + public List<SmartLockerApplication> selectSmartLockerApplicationList(SmartLockerApplication smartLockerApplication) + { + return smartLockerApplicationMapper.selectSmartLockerApplicationList(smartLockerApplication); + } + + /** + * 鏌ヨ鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗗垪琛� 寮傛 瀵煎嚭 + * + * @param smartLockerApplication 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * @param exportKey 瀵煎嚭鍔熻兘鐨勫敮涓�鏍囪瘑 + * @return 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗛泦鍚� + */ + @DataSource(DataSourceType.SLAVE) + @Async + @Override + public void export(SmartLockerApplication smartLockerApplication,String exportKey) { + + super.export(SmartLockerApplication.class,exportKey,"smartLockerApplicationData",(pageNum)->{ + PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE); + return selectSmartLockerApplicationList(smartLockerApplication); + }); + } + + + /** + * 鏂板鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * + * @param smartLockerApplication 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * @return 缁撴灉 + */ + @Override + public int insertSmartLockerApplication(SmartLockerApplication smartLockerApplication) + { + smartLockerApplication.setCreateTime(DateUtils.getNowDate()); + return smartLockerApplicationMapper.insertSmartLockerApplication(smartLockerApplication); + } + + /** + * 鏂板鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞哰鎵归噺] + * + * @param smartLockerApplications 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * @return 缁撴灉 + */ + @Override + public int insertSmartLockerApplicationBatch(List<SmartLockerApplication> smartLockerApplications) + { + int rows = smartLockerApplicationMapper.insertSmartLockerApplicationBatch(smartLockerApplications); + return rows; + } + + /** + * 淇敼鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * + * @param smartLockerApplication 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * @return 缁撴灉 + */ + @Override + public int updateSmartLockerApplication(SmartLockerApplication smartLockerApplication) + { + smartLockerApplication.setUpdateTime(DateUtils.getNowDate()); + return smartLockerApplicationMapper.updateSmartLockerApplication(smartLockerApplication); + } + + /** + * 淇敼鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞哰鎵归噺] + * + * @param smartLockerApplications 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + * @return 缁撴灉 + */ + @Override + public int updateSmartLockerApplicationBatch(List<SmartLockerApplication> smartLockerApplications){ + return smartLockerApplicationMapper.updateSmartLockerApplicationBatch(smartLockerApplications); + } + + /** + * 鍒犻櫎鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗗璞� + * + * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID + * @return 缁撴灉 + */ + @Override + public int deleteSmartLockerApplicationByIds(String ids) + { + return deleteSmartLockerApplicationByIds(Convert.toIntArray(ids)); + } + + /** + * 鍒犻櫎鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗗璞� + * + * + * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID + * @return 缁撴灉 + */ + @Override + public int deleteSmartLockerApplicationByIds(Integer[] ids) + { + return smartLockerApplicationMapper.deleteSmartLockerApplicationByIds(ids); + } + + /** + * 鍒犻櫎鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗕俊鎭� + * + * @param id 鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞咺D + * @return 缁撴灉 + */ + @Override + public int deleteSmartLockerApplicationById(Integer id) + { + return smartLockerApplicationMapper.deleteSmartLockerApplicationById(id); + } +} diff --git a/service/src/main/resources/mapper/cwgl/SmartLockerApplicationMapper.xml b/service/src/main/resources/mapper/cwgl/SmartLockerApplicationMapper.xml new file mode 100644 index 0000000..f1e237e --- /dev/null +++ b/service/src/main/resources/mapper/cwgl/SmartLockerApplicationMapper.xml @@ -0,0 +1,182 @@ +<?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.SmartLockerApplicationMapper"> + + <resultMap type="com.ruoyi.cwgl.domain.SmartLockerApplication" id="SmartLockerApplicationResult"> + <result property="id" column="id" /> + <result property="commandType" column="command_type" /> + <result property="applicantCode" column="applicant_code" /> + <result property="applicantName" column="applicant_name" /> + <result property="itemType" column="item_type" /> + <result property="itemName" column="item_name" /> + <result property="lockerNo" column="locker_no" /> + <result property="lockerPort" column="locker_port" /> + <result property="status" column="status" /> + <result property="cancelTime" column="cancel_time" /> + <result property="receiveTime" column="receive_time" /> + <result property="createTime" column="create_time" /> + <result property="updateTime" column="update_time" /> + <result property="remark" column="remark" /> + <result property="createBy" column="create_by" /> + <result property="updateBy" column="update_by" /> + <result property="deleted" column="deleted" /> + </resultMap> + + <sql id="selectSmartLockerApplicationVo"> + select thisTab.id, thisTab.command_type, thisTab.applicant_code, thisTab.applicant_name, thisTab.item_type, thisTab.item_name, thisTab.locker_no, thisTab.locker_port, thisTab.status, thisTab.cancel_time, thisTab.receive_time, thisTab.create_time, thisTab.update_time, thisTab.remark, thisTab.create_by, thisTab.update_by, thisTab.deleted from smart_locker_application AS thisTab + </sql> + <sql id="selectSmartLockerApplicationVoCount"> + select count(0) from smart_locker_application as thisTab + </sql> + + <sql id="whereCondition"> + <if test="commandType != null "> and thisTab.command_type = #{commandType}</if> + <if test="applicantCode != null and applicantCode != ''"> and thisTab.applicant_code = #{applicantCode}</if> + <if test="applicantName != null and applicantName != ''"> and thisTab.applicant_name like concat('%', #{applicantName}, '%')</if> + <if test="itemType != null "> and thisTab.item_type = #{itemType}</if> + <if test="itemName != null and itemName != ''"> and thisTab.item_name like concat('%', #{itemName}, '%')</if> + <if test="lockerNo != null and lockerNo != ''"> and thisTab.locker_no = #{lockerNo}</if> + <if test="lockerPort != null "> and thisTab.locker_port = #{lockerPort}</if> + <if test="status != null "> and thisTab.status = #{status}</if> + <if test="cancelTime != null "> and thisTab.cancel_time = #{cancelTime}</if> + <if test="receiveTime != null "> and thisTab.receive_time = #{receiveTime}</if> + <if test="deleted != null "> and thisTab.deleted = #{deleted}</if> + </sql> + + <!--鏌ヨ--> + <select id="selectSmartLockerApplicationById" parameterType="Integer" resultMap="SmartLockerApplicationResult"> + <include refid="selectSmartLockerApplicationVo"/> + where id = #{id} + </select> + + <select id="selectSmartLockerApplicationCount" parameterType="com.ruoyi.cwgl.domain.SmartLockerApplication" resultType="int"> + <include refid="selectSmartLockerApplicationVoCount"/> + <where> + <include refid="whereCondition"/> + </where> + </select> + + <select id="selectSmartLockerApplicationList" parameterType="com.ruoyi.cwgl.domain.SmartLockerApplication" resultMap="SmartLockerApplicationResult"> + <include refid="selectSmartLockerApplicationVo"/> + <where> + <include refid="whereCondition"/> + </where> + order by thisTab.id desc + </select> + + <!-- 鏂板 --> + <insert id="insertSmartLockerApplication" parameterType="com.ruoyi.cwgl.domain.SmartLockerApplication" useGeneratedKeys="true" keyProperty="id"> + insert into smart_locker_application + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="commandType != null">command_type,</if> + <if test="applicantCode != null and applicantCode != ''">applicant_code,</if> + <if test="applicantName != null and applicantName != ''">applicant_name,</if> + <if test="itemType != null">item_type,</if> + <if test="itemName != null and itemName != ''">item_name,</if> + <if test="lockerNo != null">locker_no,</if> + <if test="lockerPort != null">locker_port,</if> + <if test="status != null">status,</if> + <if test="cancelTime != null">cancel_time,</if> + <if test="receiveTime != null">receive_time,</if> + <if test="createTime != null">create_time,</if> + <if test="updateTime != null">update_time,</if> + <if test="remark != null">remark,</if> + <if test="createBy != null">create_by,</if> + <if test="updateBy != null">update_by,</if> + <if test="deleted != null">deleted,</if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="commandType != null">#{commandType},</if> + <if test="applicantCode != null and applicantCode != ''">#{applicantCode},</if> + <if test="applicantName != null and applicantName != ''">#{applicantName},</if> + <if test="itemType != null">#{itemType},</if> + <if test="itemName != null and itemName != ''">#{itemName},</if> + <if test="lockerNo != null">#{lockerNo},</if> + <if test="lockerPort != null">#{lockerPort},</if> + <if test="status != null">#{status},</if> + <if test="cancelTime != null">#{cancelTime},</if> + <if test="receiveTime != null">#{receiveTime},</if> + <if test="createTime != null">#{createTime},</if> + <if test="updateTime != null">#{updateTime},</if> + <if test="remark != null">#{remark},</if> + <if test="createBy != null">#{createBy},</if> + <if test="updateBy != null">#{updateBy},</if> + <if test="deleted != null">#{deleted},</if> + </trim> + </insert> + + <insert id="insertSmartLockerApplicationBatch" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id"> + insert into smart_locker_application + <trim prefix="(" suffix=") values" suffixOverrides=","> + id,command_type,applicant_code,applicant_name,item_type,item_name,locker_no,locker_port,status,cancel_time,receive_time,create_time,update_time,remark,create_by,update_by,deleted, + </trim> + <foreach item="item" index="index" collection="list" separator=","> + <trim prefix="(" suffix=") " suffixOverrides=","> + #{item.id},#{item.commandType},#{item.applicantCode},#{item.applicantName},#{item.itemType},#{item.itemName},#{item.lockerNo},#{item.lockerPort},#{item.status},#{item.cancelTime},#{item.receiveTime},#{item.createTime},#{item.updateTime},#{item.remark},#{item.createBy},#{item.updateBy},#{item.deleted}, + </trim> + </foreach> + </insert> + + <!-- 淇敼 --> + <update id="updateSmartLockerApplication" parameterType="com.ruoyi.cwgl.domain.SmartLockerApplication"> + update smart_locker_application + <trim prefix="SET" suffixOverrides=","> + <if test="commandType != null">command_type = #{commandType},</if> + <if test="applicantCode != null and applicantCode != ''">applicant_code = #{applicantCode},</if> + <if test="applicantName != null and applicantName != ''">applicant_name = #{applicantName},</if> + <if test="itemType != null">item_type = #{itemType},</if> + <if test="itemName != null and itemName != ''">item_name = #{itemName},</if> + <if test="lockerNo != null">locker_no = #{lockerNo},</if> + <if test="lockerPort != null">locker_port = #{lockerPort},</if> + <if test="status != null">status = #{status},</if> + <if test="cancelTime != null">cancel_time = #{cancelTime},</if> + <if test="receiveTime != null">receive_time = #{receiveTime},</if> + <if test="createTime != null">create_time = #{createTime},</if> + <if test="updateTime != null">update_time = #{updateTime},</if> + <if test="remark != null">remark = #{remark},</if> + <if test="createBy != null">create_by = #{createBy},</if> + <if test="updateBy != null">update_by = #{updateBy},</if> + <if test="deleted != null">deleted = #{deleted},</if> + </trim> + where id = #{id} + </update> + <!-- 淇敼 --> + <update id="updateSmartLockerApplicationBatch" parameterType="java.util.List"> + <foreach collection="list" item="item" index="index" separator=";"> + update smart_locker_application + <trim prefix="SET" suffixOverrides=","> + <if test="item.commandType != null">command_type = #{item.commandType},</if> + <if test="item.applicantCode != null and item.applicantCode != ''">applicant_code = #{item.applicantCode},</if> + <if test="item.applicantName != null and item.applicantName != ''">applicant_name = #{item.applicantName},</if> + <if test="item.itemType != null">item_type = #{item.itemType},</if> + <if test="item.itemName != null and item.itemName != ''">item_name = #{item.itemName},</if> + <if test="item.lockerNo != null">locker_no = #{item.lockerNo},</if> + <if test="item.lockerPort != null">locker_port = #{item.lockerPort},</if> + <if test="item.status != null">status = #{item.status},</if> + <if test="item.cancelTime != null">cancel_time = #{item.cancelTime},</if> + <if test="item.receiveTime != null">receive_time = #{item.receiveTime},</if> + <if test="item.createTime != null">create_time = #{item.createTime},</if> + <if test="item.updateTime != null">update_time = #{item.updateTime},</if> + <if test="item.remark != null">remark = #{item.remark},</if> + <if test="item.createBy != null">create_by = #{item.createBy},</if> + <if test="item.updateBy != null">update_by = #{item.updateBy},</if> + <if test="item.deleted != null">deleted = #{item.deleted},</if> + </trim> + where id = #{item.id} + </foreach> + </update> + + <!--鍒犻櫎--> + <delete id="deleteSmartLockerApplicationById" parameterType="Integer"> + delete from smart_locker_application where id = #{id} + </delete> + <delete id="deleteSmartLockerApplicationByIds" parameterType="Integer"> + delete from smart_locker_application 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/smartLockerApplication.ts b/ui/admin-ui3/src/api/cwgl/smartLockerApplication.ts new file mode 100644 index 0000000..68af655 --- /dev/null +++ b/ui/admin-ui3/src/api/cwgl/smartLockerApplication.ts @@ -0,0 +1,67 @@ +import request,{download,requestType} from "@/utils/request"; +import {BaseEntityInterface} from "@/utils/globalInterface"; +export interface SmartLockerApplicationI extends BaseEntityInterface{ + id ?: number , commandType ?: number , applicantCode ?: string , applicantName ?: string , itemType ?: number , itemName ?: string , lockerNo ?: string , lockerPort ?: number , status ?: number , cancelTime ?: string , receiveTime ?: string , createTime ?: string , updateTime ?: string , remark ?: string , createBy ?: string , updateBy ?: string , deleted ?: number } + + +/** + * 鏌ヨ鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗗垪琛� + */ +export const listSmartLockerApplication:requestType = (query) => { + return request({ + url: '/cwgl/smartLockerApplication/list', + method:'get', + params:query + }) +} +/** + * 鏌ヨ鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞嗚缁� + */ +export const getSmartLockerApplication:requestType = (id) => { + return request({ + url: '/cwgl/smartLockerApplication/' + id, + method:'get' + }) +} + +/** + * 鏂板鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + */ +export const addSmartLockerApplication:requestType = (data) => { + return request({ + url: '/cwgl/smartLockerApplication', + method: 'post', + data + }) +} + +/** + * 淇敼鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + */ +export const updateSmartLockerApplication:requestType = (data) => { + return request({ + url: '/cwgl/smartLockerApplication', + method: 'put', + data + }) +} + +/** + * 鍒犻櫎鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + */ +export const delSmartLockerApplication:requestType = (id) => { + return request({ + url: '/cwgl/smartLockerApplication/' + id, + method: 'delete' + }) +} + + +/** + * 瀵煎嚭鏅鸿兘鏌滅墿鍝佺敵棰嗙鐞� + */ +export const exportSmartLockerApplication:requestType = (query) => { + return new Promise<any>(()=>{ + download('/cwgl/smartLockerApplication/export',query); + }) +} diff --git a/ui/admin-ui3/src/views/cwgl/smartLockerApplication/index.vue b/ui/admin-ui3/src/views/cwgl/smartLockerApplication/index.vue new file mode 100644 index 0000000..a92e75c --- /dev/null +++ b/ui/admin-ui3/src/views/cwgl/smartLockerApplication/index.vue @@ -0,0 +1,184 @@ +<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:smartLockerApplication:edit']" + @click="handleUpdate">淇敼 + </el-button> + <el-button + type="danger" + icon="Delete" + :disabled="pageF.multiple" + @click="handleDelete" + v-hasPermi="['cwgl:smartLockerApplication:remove']" + >鍒犻櫎 + </el-button> + <el-button + type="warning" + plain + icon="Download" + @click="handleExport" + v-hasPermi="['cwgl:smartLockerApplication:export']" + >瀵煎嚭 + </el-button> + </template> + </avue-crud> + </basicContainer> +</template> + +<script setup name="smartLockerApplication" lang="ts"> + import {SmartLockerApplicationI,addSmartLockerApplication, delSmartLockerApplication, exportSmartLockerApplication, getSmartLockerApplication, listSmartLockerApplication, updateSmartLockerApplication} from "@/api/cwgl/smartLockerApplication"; + 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:smartLockerApplication:add"]), + delBtn: hasPermission(["cwgl:smartLockerApplication:remove"]), + editBtn: hasPermission(["cwgl:smartLockerApplication:edit"]), + viewBtn: hasPermission(["cwgl:smartLockerApplication:query"]), + } + }) + + const data = reactive({ + form:<SmartLockerApplicationI>{}, + queryParams:<SmartLockerApplicationI&PageQueryInterface>{}, + page: <PagesInterface>{ + pageSize: 10, + total: 0, + currentPage: 1, + }, + selectionList:[], + }) + const {queryParams,form,page,selectionList} = toRefs(data); + const option = ref({ + pageKey: 'SmartLockerApplication', + rowKey: 'id', + column: { + id: { + label: 'ID', + }, + commandType: { + label: '鎸囦护绫诲瀷(0:寮�闂ㄦ寚浠�;1:娴佽浆鎸囦护)', + }, + applicantCode: { + label: '鐢抽浜虹紪鐮�', + rules: [ + { + required: true, + message: "鐢抽浜虹紪鐮佷笉鑳戒负绌�", trigger: "blur" } + ], }, + applicantName: { + label: '鐢抽浜哄鍚�', + rules: [ + { + required: true, + message: "鐢抽浜哄鍚嶄笉鑳戒负绌�", trigger: "blur" } + ], }, + itemType: { + label: '棰嗗彇鐗╁搧绫诲瀷(0:杞﹂挜鍖�;1:鏂囦欢;2:鍗扮珷;3:鍏朵粬)', + }, + itemName: { + label: '鐗╁搧鍚嶇О', + rules: [ + { + required: true, + message: "鐗╁搧鍚嶇О涓嶈兘涓虹┖", trigger: "blur" } + ], }, + lockerNo: { + label: '鏅鸿兘鏌滅紪鍙烽粯璁ゆ帴椹崇珯鏅鸿兘閽ュ寵鏌�', + }, + lockerPort: { + label: '鏅鸿兘鏌滄牸鍙e彿', + rules: [ + { + required: true, + message: "鏅鸿兘鏌滄牸鍙e彿涓嶈兘涓虹┖", trigger: "blur" } + ], }, + status: { + label: '鐘舵��(0:姝e父;1:浣滃簾;2:棰嗗彇)', + }, + cancelTime: { + label: '浣滃簾鏃堕棿', + }, + receiveTime: { + label: '棰嗗彇鏃堕棿', + }, + createTime: { + label: '鍒涘缓鏃堕棿', + rules: [ + { + required: true, + message: "鍒涘缓鏃堕棿涓嶈兘涓虹┖", trigger: "blur" } + ], }, + updateTime: { + label: '鏇存柊鏃堕棿', + }, + remark: { + label: '澶囨敞', + type: 'textarea', minRows: 3, maxRows: 5, + }, + createBy: { + label: '鍒涘缓浜�', + }, + updateBy: { + 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:listSmartLockerApplication, + getDetailApi:getSmartLockerApplication, + exportApi:exportSmartLockerApplication, + deleteApi:delSmartLockerApplication, + addApi:addSmartLockerApplication, + updateApi:updateSmartLockerApplication, + handleUpdateFunc:()=>{ + crudRef.value.rowEdit(selectionList.value[0]); + }, + handleSelectionChangeFunc:(selection:any)=>{ + selectionList.value = selection; + } + }) + + +</script> -- Gitblit v1.8.0