diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 7c244dd..8f31193 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -5,13 +5,13 @@ ruoyi: # 版本 version: 4.8.1 # 版权年份 - copyrightYear: 2025 + copyrightYear: 2026 # 实例演示开关 - demoEnabled: false + demoEnabled: true # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath) profile: F:/ruoyi/uploadPath # 获取ip地址开关 - addressEnabled: false + addressEnabled: true # 开发环境配置 server: diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/MimeTypeUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/MimeTypeUtils.java index 371e823..c1610a7 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/MimeTypeUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/MimeTypeUtils.java @@ -2,11 +2,10 @@ package com.ruoyi.common.utils.file; /** * 媒体类型工具类 - * + * * @author ruoyi */ -public class MimeTypeUtils -{ +public class MimeTypeUtils { public static final String IMAGE_PNG = "image/png"; public static final String IMAGE_JPG = "image/jpg"; @@ -17,14 +16,14 @@ public class MimeTypeUtils public static final String IMAGE_GIF = "image/gif"; - public static final String[] IMAGE_EXTENSION = { "bmp", "gif", "jpg", "jpeg", "png" }; + public static final String[] IMAGE_EXTENSION = {"bmp", "gif", "jpg", "jpeg", "png"}; - public static final String[] FLASH_EXTENSION = { "swf", "flv" }; + public static final String[] FLASH_EXTENSION = {"swf", "flv"}; - public static final String[] MEDIA_EXTENSION = { "swf", "flv", "mp3", "wav", "wma", "wmv", "mid", "avi", "mpg", - "asf", "rm", "rmvb" }; + public static final String[] MEDIA_EXTENSION = {"swf", "flv", "mp3", "wav", "wma", "wmv", "mid", "avi", "mpg", + "asf", "rm", "rmvb"}; - public static final String[] VIDEO_EXTENSION = { "mp4", "avi", "rmvb" }; + public static final String[] VIDEO_EXTENSION = {"mp4", "avi", "rmvb"}; public static final String[] DEFAULT_ALLOWED_EXTENSION = { // 图片 @@ -36,12 +35,11 @@ public class MimeTypeUtils // 视频格式 "mp4", "avi", "rmvb", // pdf - "pdf" }; + "pdf", + "apk"}; - public static String getExtension(String prefix) - { - switch (prefix) - { + public static String getExtension(String prefix) { + switch (prefix) { case IMAGE_PNG: return "png"; case IMAGE_JPG: diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java index c7e1331..dec4b38 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java @@ -315,6 +315,7 @@ public class ShiroConfig filterChainDefinitionMap.put("/ruoyi/**", "anon"); filterChainDefinitionMap.put("/api/**", "anon"); filterChainDefinitionMap.put("/captcha/captchaImage**", "anon"); + filterChainDefinitionMap.put("/profile/upload/**", "anon"); // 匿名访问不鉴权注解列表 List permitAllUrl = SpringUtils.getBean(PermitAllUrlProperties.class).getUrls(); if (StringUtils.isNotEmpty(permitAllUrl)) diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/controller/LedgerInstantBindingController.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/controller/LedgerInstantBindingController.java index 4efb84d..c043e43 100644 --- a/ruoyi-manager/src/main/java/com/ruoyi/manager/controller/LedgerInstantBindingController.java +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/controller/LedgerInstantBindingController.java @@ -18,14 +18,13 @@ import java.util.List; /** * 实时绑定台账Controller - * + * * @author wenjy * @date 2024-07-15 */ @Controller @RequestMapping("/base/LedgerInstant") -public class LedgerInstantBindingController extends BaseController -{ +public class LedgerInstantBindingController extends BaseController { private String prefix = "base/LedgerInstant"; @Autowired @@ -33,8 +32,7 @@ public class LedgerInstantBindingController extends BaseController @RequiresPermissions("base:LedgerInstant:view") @GetMapping() - public String LedgerInstant() - { + public String LedgerInstant() { return prefix + "/LedgerInstant"; } @@ -44,10 +42,19 @@ public class LedgerInstantBindingController extends BaseController @RequiresPermissions("base:LedgerInstant:list") @PostMapping("/list") @ResponseBody - public TableDataInfo list(LedgerInstantBinding ledgerInstantBinding) - { + public TableDataInfo list(LedgerInstantBinding ledgerInstantBinding) { startPage(); - List list = ledgerInstantBindingService.selectLedgerInstantBindingList(ledgerInstantBinding); + // List list = ledgerInstantBindingService.selectLedgerInstantBindingList(ledgerInstantBinding); + List list = ledgerInstantBindingService.selectList(ledgerInstantBinding); + return getDataTable(list); + } + + @PostMapping("/childTablelist") + @ResponseBody + public TableDataInfo childTablelist(LedgerInstantBinding ledgerInstantBinding) { + // startPage(); + List list = ledgerInstantBindingService.selectLedgerChildTablelist(ledgerInstantBinding); + // List list = ledgerInstantBindingService.selectList(ledgerInstantBinding); return getDataTable(list); } @@ -58,8 +65,7 @@ public class LedgerInstantBindingController extends BaseController @Log(title = "实时绑定台账", businessType = BusinessType.EXPORT) @PostMapping("/export") @ResponseBody - public AjaxResult export(LedgerInstantBinding ledgerInstantBinding) - { + public AjaxResult export(LedgerInstantBinding ledgerInstantBinding) { List list = ledgerInstantBindingService.selectLedgerInstantBindingList(ledgerInstantBinding); ExcelUtil util = new ExcelUtil(LedgerInstantBinding.class); return util.exportExcel(list, "实时绑定台账数据"); @@ -69,8 +75,7 @@ public class LedgerInstantBindingController extends BaseController * 新增实时绑定台账 */ @GetMapping("/add") - public String add() - { + public String add() { return prefix + "/add"; } @@ -81,8 +86,7 @@ public class LedgerInstantBindingController extends BaseController @Log(title = "实时绑定台账", businessType = BusinessType.INSERT) @PostMapping("/add") @ResponseBody - public AjaxResult addSave(LedgerInstantBinding ledgerInstantBinding) - { + public AjaxResult addSave(LedgerInstantBinding ledgerInstantBinding) { return toAjax(ledgerInstantBindingService.insertLedgerInstantBinding(ledgerInstantBinding)); } @@ -91,8 +95,7 @@ public class LedgerInstantBindingController extends BaseController */ @RequiresPermissions("base:LedgerInstant:edit") @GetMapping("/edit/{objid}") - public String edit(@PathVariable("objid") Long objid, ModelMap mmap) - { + public String edit(@PathVariable("objid") Long objid, ModelMap mmap) { LedgerInstantBinding ledgerInstantBinding = ledgerInstantBindingService.selectLedgerInstantBindingByObjid(objid); mmap.put("ledgerInstantBinding", ledgerInstantBinding); return prefix + "/edit"; @@ -105,8 +108,7 @@ public class LedgerInstantBindingController extends BaseController @Log(title = "实时绑定台账", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody - public AjaxResult editSave(LedgerInstantBinding ledgerInstantBinding) - { + public AjaxResult editSave(LedgerInstantBinding ledgerInstantBinding) { return toAjax(ledgerInstantBindingService.updateLedgerInstantBinding(ledgerInstantBinding)); } @@ -115,10 +117,9 @@ public class LedgerInstantBindingController extends BaseController */ @RequiresPermissions("base:LedgerInstant:remove") @Log(title = "实时绑定台账", businessType = BusinessType.DELETE) - @PostMapping( "/remove") + @PostMapping("/remove") @ResponseBody - public AjaxResult remove(String ids) - { + public AjaxResult remove(String ids) { return toAjax(ledgerInstantBindingService.deleteLedgerInstantBindingByObjids(ids)); } } diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/controller/RecordBasketRepairSparePartsController.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/controller/RecordBasketRepairSparePartsController.java new file mode 100644 index 0000000..901d2c2 --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/controller/RecordBasketRepairSparePartsController.java @@ -0,0 +1,123 @@ +package com.ruoyi.manager.controller; + +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.manager.domain.RecordBasketRepairSpareParts; +import com.ruoyi.manager.service.IRecordBasketRepairSparePartsService; +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.*; + +import java.util.List; + +/** + * 维修记录-添加备件Controller + * + * @author ruoyi + * @date 2026-02-05 + */ +@Controller +@RequestMapping("/manager/parts") +public class RecordBasketRepairSparePartsController extends BaseController { + private String prefix = "manager/parts" ; + + @Autowired + private IRecordBasketRepairSparePartsService recordBasketRepairSparePartsService; + + @RequiresPermissions("manager:parts:view") + @GetMapping() + public String parts() { + return prefix + "/parts" ; + } + + /** + * 查询维修记录-添加备件列表 + */ + @RequiresPermissions("manager:parts:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(RecordBasketRepairSpareParts recordBasketRepairSpareParts) { + startPage(); + List list = recordBasketRepairSparePartsService.selectRecordBasketRepairSparePartsList(recordBasketRepairSpareParts); + return getDataTable(list); + } + + @PostMapping("/childTablelist") + @ResponseBody + public TableDataInfo childTablelist(RecordBasketRepairSpareParts recordBasketRepairSpareParts) { + List list = recordBasketRepairSparePartsService.selectRecordBasketRepairSparePartsList(recordBasketRepairSpareParts); + return getDataTable(list); + } + + /** + * 导出维修记录-添加备件列表 + */ + @RequiresPermissions("manager:parts:export") + @Log(title = "维修记录-添加备件", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(RecordBasketRepairSpareParts recordBasketRepairSpareParts) { + List list = recordBasketRepairSparePartsService.selectRecordBasketRepairSparePartsList(recordBasketRepairSpareParts); + ExcelUtil util = new ExcelUtil(RecordBasketRepairSpareParts.class); + return util.exportExcel(list, "维修记录-添加备件数据"); + } + + /** + * 新增维修记录-添加备件 + */ + @RequiresPermissions("manager:parts:add") + @GetMapping("/add") + public String add() { + return prefix + "/add" ; + } + + /** + * 新增保存维修记录-添加备件 + */ + @RequiresPermissions("manager:parts:add") + @Log(title = "维修记录-添加备件", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(RecordBasketRepairSpareParts recordBasketRepairSpareParts) { + return toAjax(recordBasketRepairSparePartsService.insertRecordBasketRepairSpareParts(recordBasketRepairSpareParts)); + } + + /** + * 修改维修记录-添加备件 + */ + @RequiresPermissions("manager:parts:edit") + @GetMapping("/edit/{recordRepairSparePartsId}") + public String edit(@PathVariable("recordRepairSparePartsId") Long recordRepairSparePartsId, ModelMap mmap) { + RecordBasketRepairSpareParts recordBasketRepairSpareParts = recordBasketRepairSparePartsService.selectRecordBasketRepairSparePartsByRecordRepairSparePartsId(recordRepairSparePartsId); + mmap.put("recordBasketRepairSpareParts", recordBasketRepairSpareParts); + return prefix + "/edit" ; + } + + /** + * 修改保存维修记录-添加备件 + */ + @RequiresPermissions("manager:parts:edit") + @Log(title = "维修记录-添加备件", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(RecordBasketRepairSpareParts recordBasketRepairSpareParts) { + return toAjax(recordBasketRepairSparePartsService.updateRecordBasketRepairSpareParts(recordBasketRepairSpareParts)); + } + + /** + * 删除维修记录-添加备件 + */ + @RequiresPermissions("manager:parts:remove") + @Log(title = "维修记录-添加备件", businessType = BusinessType.DELETE) + @PostMapping("/remove") + @ResponseBody + public AjaxResult remove(String ids) { + return toAjax(recordBasketRepairSparePartsService.deleteRecordBasketRepairSparePartsByRecordRepairSparePartsIds(ids)); + } +} diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/controller/RecordCargoBindingController.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/controller/RecordCargoBindingController.java new file mode 100644 index 0000000..39a3b0c --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/controller/RecordCargoBindingController.java @@ -0,0 +1,128 @@ +package com.ruoyi.manager.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.manager.domain.RecordCargoBinding; +import com.ruoyi.manager.service.IRecordCargoBindingService; +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; + +/** + * 货物绑定记录Controller + * + * @author ruoyi + * @date 2026-02-28 + */ +@Controller +@RequestMapping("/manager/recordCargoBinding") +public class RecordCargoBindingController extends BaseController +{ + private String prefix = "manager/recordCargoBinding"; + + @Autowired + private IRecordCargoBindingService recordCargoBindingService; + + @RequiresPermissions("manager:recordCargoBinding:view") + @GetMapping() + public String recordCargoBinding() + { + return prefix + "/recordCargoBinding"; + } + + /** + * 查询货物绑定记录列表 + */ + @RequiresPermissions("manager:recordCargoBinding:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(RecordCargoBinding recordCargoBinding) + { + startPage(); + List list = recordCargoBindingService.selectRecordCargoBindingList(recordCargoBinding); + return getDataTable(list); + } + + /** + * 导出货物绑定记录列表 + */ + @RequiresPermissions("manager:recordCargoBinding:export") + @Log(title = "货物绑定记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(RecordCargoBinding recordCargoBinding) + { + List list = recordCargoBindingService.selectRecordCargoBindingList(recordCargoBinding); + ExcelUtil util = new ExcelUtil(RecordCargoBinding.class); + return util.exportExcel(list, "货物绑定记录数据"); + } + + /** + * 新增货物绑定记录 + */ + @RequiresPermissions("manager:recordCargoBinding:add") + @GetMapping("/add") + public String add() + { + return prefix + "/add"; + } + + /** + * 新增保存货物绑定记录 + */ + @RequiresPermissions("manager:recordCargoBinding:add") + @Log(title = "货物绑定记录", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(RecordCargoBinding recordCargoBinding) + { + return toAjax(recordCargoBindingService.insertRecordCargoBinding(recordCargoBinding)); + } + + /** + * 修改货物绑定记录 + */ + @RequiresPermissions("manager:recordCargoBinding:edit") + @GetMapping("/edit/{objid}") + public String edit(@PathVariable("objid") Long objid, ModelMap mmap) + { + RecordCargoBinding recordCargoBinding = recordCargoBindingService.selectRecordCargoBindingByObjid(objid); + mmap.put("recordCargoBinding", recordCargoBinding); + return prefix + "/edit"; + } + + /** + * 修改保存货物绑定记录 + */ + @RequiresPermissions("manager:recordCargoBinding:edit") + @Log(title = "货物绑定记录", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(RecordCargoBinding recordCargoBinding) + { + return toAjax(recordCargoBindingService.updateRecordCargoBinding(recordCargoBinding)); + } + + /** + * 删除货物绑定记录 + */ + @RequiresPermissions("manager:recordCargoBinding:remove") + @Log(title = "货物绑定记录", businessType = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + return toAjax(recordCargoBindingService.deleteRecordCargoBindingByObjids(ids)); + } +} diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/BaseBasketInfo.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/BaseBasketInfo.java index b1e7982..4e43a16 100644 --- a/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/BaseBasketInfo.java +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/BaseBasketInfo.java @@ -7,6 +7,7 @@ import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import java.util.Date; +import java.util.List; /** * 资产信息对象 base_basket_info @@ -77,6 +78,10 @@ public class BaseBasketInfo extends BaseEntity { private String updatedBy; private Long manufacturerId; + + + private List ledgerInstantBindings; + /** * 更新时间 */ @@ -87,6 +92,15 @@ public class BaseBasketInfo extends BaseEntity { // @Excel(name = "生产厂家", targetAttr = "manufacturerName", type = Excel.Type.EXPORT) private BaseManufacturer baseManufacturer; + + public List getLedgerInstantBindings() { + return ledgerInstantBindings; + } + + public void setLedgerInstantBindings(List ledgerInstantBindings) { + this.ledgerInstantBindings = ledgerInstantBindings; + } + public String getDepartment() { return department; } diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/LedgerInstantBinding.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/LedgerInstantBinding.java index 1ce1923..59169a4 100644 --- a/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/LedgerInstantBinding.java +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/LedgerInstantBinding.java @@ -37,6 +37,27 @@ public class LedgerInstantBinding extends BaseEntity private String locationCode; private String basketCode; + private Long basketId; + + + private BaseBasketInfo baseBasketInfo; + + + public Long getBasketId() { + return basketId; + } + + public void setBasketId(Long basketId) { + this.basketId = basketId; + } + + public BaseBasketInfo getBaseBasketInfo() { + return baseBasketInfo; + } + + public void setBaseBasketInfo(BaseBasketInfo baseBasketInfo) { + this.baseBasketInfo = baseBasketInfo; + } public void setObjid(Long objid) { diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordBasketRepairSpareParts.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordBasketRepairSpareParts.java new file mode 100644 index 0000000..d1d3f5a --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordBasketRepairSpareParts.java @@ -0,0 +1,99 @@ +package com.ruoyi.manager.domain; + +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; + +/** + * 维修记录-添加备件对象 record_basket_repair_spare_parts + * + * @author ruoyi + * @date 2026-02-05 + */ +public class RecordBasketRepairSpareParts extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 标识ID */ + private Long recordRepairSparePartsId; + + /** 维修记录表id */ + @Excel(name = "维修记录表id") + private Long repairId; + + /** 物料名称 */ + @Excel(name = "物料名称") + private String partName; + + /** 规格型号 */ + @Excel(name = "规格型号") + private String partSpecifications; + + /** 使用数量 */ + @Excel(name = "使用数量") + private String amount; + + public void setRecordRepairSparePartsId(Long recordRepairSparePartsId) + { + this.recordRepairSparePartsId = recordRepairSparePartsId; + } + + public Long getRecordRepairSparePartsId() + { + return recordRepairSparePartsId; + } + + public void setRepairId(Long repairId) + { + this.repairId = repairId; + } + + public Long getRepairId() + { + return repairId; + } + + public void setPartName(String partName) + { + this.partName = partName; + } + + public String getPartName() + { + return partName; + } + + public void setPartSpecifications(String partSpecifications) + { + this.partSpecifications = partSpecifications; + } + + public String getPartSpecifications() + { + return partSpecifications; + } + + public void setAmount(String amount) + { + this.amount = amount; + } + + public String getAmount() + { + return amount; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("recordRepairSparePartsId", getRecordRepairSparePartsId()) + .append("repairId", getRepairId()) + .append("partName", getPartName()) + .append("partSpecifications", getPartSpecifications()) + .append("amount", getAmount()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordCargoBinding.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordCargoBinding.java new file mode 100644 index 0000000..388c00b --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordCargoBinding.java @@ -0,0 +1,116 @@ +package com.ruoyi.manager.domain; + +import java.util.Date; +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; + +/** + * 货物绑定记录对象 record_cargo_binding + * + * @author ruoyi + * @date 2026-02-28 + */ +public class RecordCargoBinding extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 自增主键 */ + private Long objid; + + /** 扫描RFID */ + @Excel(name = "扫描RFID") + private String cargoFrameEpc; + + /** 货物条码 */ + @Excel(name = "货物条码") + private String waybillNumber; + + /** 绑定时间 */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @Excel(name = "绑定时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date crateTime; + + /** 资产ID */ + @Excel(name = "资产ID") + private Long basketId; + + /** 位置信息 */ + @Excel(name = "位置信息") + private String locationInfo; + + public void setObjid(Long objid) + { + this.objid = objid; + } + + public Long getObjid() + { + return objid; + } + + public void setCargoFrameEpc(String cargoFrameEpc) + { + this.cargoFrameEpc = cargoFrameEpc; + } + + public String getCargoFrameEpc() + { + return cargoFrameEpc; + } + + public void setWaybillNumber(String waybillNumber) + { + this.waybillNumber = waybillNumber; + } + + public String getWaybillNumber() + { + return waybillNumber; + } + + public void setCrateTime(Date crateTime) + { + this.crateTime = crateTime; + } + + public Date getCrateTime() + { + return crateTime; + } + + public void setBasketId(Long basketId) + { + this.basketId = basketId; + } + + public Long getBasketId() + { + return basketId; + } + + public void setLocationInfo(String locationInfo) + { + this.locationInfo = locationInfo; + } + + public String getLocationInfo() + { + return locationInfo; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("objid", getObjid()) + .append("cargoFrameEpc", getCargoFrameEpc()) + .append("waybillNumber", getWaybillNumber()) + .append("crateTime", getCrateTime()) + .append("createBy", getCreateBy()) + .append("basketId", getBasketId()) + .append("locationInfo", getLocationInfo()) + .toString(); + } +} diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordtRfidBinding.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordtRfidBinding.java index 9e1fa78..0c264b7 100644 --- a/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordtRfidBinding.java +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordtRfidBinding.java @@ -25,11 +25,11 @@ public class RecordtRfidBinding extends BaseEntity private Long baseBasketId; /** 货筐RFID */ - @Excel(name = "货筐RFID") + @Excel(name = "RFID标签1") private String basketEpc; /** 货筐RFID(副) */ - @Excel(name = "货筐RFID(副)") + @Excel(name = "RFID标签2") private String basketEpc2; /** 绑定人 */ diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/LedgerInstantBindingMapper.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/LedgerInstantBindingMapper.java index 59961ee..cba2daf 100644 --- a/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/LedgerInstantBindingMapper.java +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/LedgerInstantBindingMapper.java @@ -59,4 +59,10 @@ public interface LedgerInstantBindingMapper * @return 结果 */ public int deleteLedgerInstantBindingByObjids(String[] objids); + + List selectList(LedgerInstantBinding ledgerInstantBinding); + + List selectLedgerChildTablelist(LedgerInstantBinding ledgerInstantBinding); + + int unbindingCargoDeleteLedger(Long basketId); } diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordBasketRepairSparePartsMapper.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordBasketRepairSparePartsMapper.java new file mode 100644 index 0000000..dcd00fb --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordBasketRepairSparePartsMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.manager.mapper; + +import java.util.List; +import com.ruoyi.manager.domain.RecordBasketRepairSpareParts; + +/** + * 维修记录-添加备件Mapper接口 + * + * @author ruoyi + * @date 2026-02-05 + */ +public interface RecordBasketRepairSparePartsMapper +{ + /** + * 查询维修记录-添加备件 + * + * @param recordRepairSparePartsId 维修记录-添加备件主键 + * @return 维修记录-添加备件 + */ + public RecordBasketRepairSpareParts selectRecordBasketRepairSparePartsByRecordRepairSparePartsId(Long recordRepairSparePartsId); + + /** + * 查询维修记录-添加备件列表 + * + * @param recordBasketRepairSpareParts 维修记录-添加备件 + * @return 维修记录-添加备件集合 + */ + public List selectRecordBasketRepairSparePartsList(RecordBasketRepairSpareParts recordBasketRepairSpareParts); + + /** + * 新增维修记录-添加备件 + * + * @param recordBasketRepairSpareParts 维修记录-添加备件 + * @return 结果 + */ + public int insertRecordBasketRepairSpareParts(RecordBasketRepairSpareParts recordBasketRepairSpareParts); + + /** + * 修改维修记录-添加备件 + * + * @param recordBasketRepairSpareParts 维修记录-添加备件 + * @return 结果 + */ + public int updateRecordBasketRepairSpareParts(RecordBasketRepairSpareParts recordBasketRepairSpareParts); + + /** + * 删除维修记录-添加备件 + * + * @param recordRepairSparePartsId 维修记录-添加备件主键 + * @return 结果 + */ + public int deleteRecordBasketRepairSparePartsByRecordRepairSparePartsId(Long recordRepairSparePartsId); + + /** + * 批量删除维修记录-添加备件 + * + * @param recordRepairSparePartsIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteRecordBasketRepairSparePartsByRecordRepairSparePartsIds(String[] recordRepairSparePartsIds); +} diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordCargoBindingMapper.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordCargoBindingMapper.java new file mode 100644 index 0000000..56473dd --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordCargoBindingMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.manager.mapper; + +import java.util.List; +import com.ruoyi.manager.domain.RecordCargoBinding; + +/** + * 货物绑定记录Mapper接口 + * + * @author ruoyi + * @date 2026-02-28 + */ +public interface RecordCargoBindingMapper +{ + /** + * 查询货物绑定记录 + * + * @param objid 货物绑定记录主键 + * @return 货物绑定记录 + */ + public RecordCargoBinding selectRecordCargoBindingByObjid(Long objid); + + /** + * 查询货物绑定记录列表 + * + * @param recordCargoBinding 货物绑定记录 + * @return 货物绑定记录集合 + */ + public List selectRecordCargoBindingList(RecordCargoBinding recordCargoBinding); + + /** + * 新增货物绑定记录 + * + * @param recordCargoBinding 货物绑定记录 + * @return 结果 + */ + public int insertRecordCargoBinding(RecordCargoBinding recordCargoBinding); + + /** + * 修改货物绑定记录 + * + * @param recordCargoBinding 货物绑定记录 + * @return 结果 + */ + public int updateRecordCargoBinding(RecordCargoBinding recordCargoBinding); + + /** + * 删除货物绑定记录 + * + * @param objid 货物绑定记录主键 + * @return 结果 + */ + public int deleteRecordCargoBindingByObjid(Long objid); + + /** + * 批量删除货物绑定记录 + * + * @param objids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteRecordCargoBindingByObjids(String[] objids); +} diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/ILedgerInstantBindingService.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/ILedgerInstantBindingService.java index a3a5787..a813b53 100644 --- a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/ILedgerInstantBindingService.java +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/ILedgerInstantBindingService.java @@ -59,4 +59,10 @@ public interface ILedgerInstantBindingService * @return 结果 */ public int deleteLedgerInstantBindingByObjid(Long objid); + + List selectList(LedgerInstantBinding ledgerInstantBinding); + + List selectLedgerChildTablelist(LedgerInstantBinding ledgerInstantBinding); + + int unbindingCargoDeleteLedger(Long basketId); } diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordBasketRepairSparePartsService.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordBasketRepairSparePartsService.java new file mode 100644 index 0000000..3e9904c --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordBasketRepairSparePartsService.java @@ -0,0 +1,61 @@ +package com.ruoyi.manager.service; + +import java.util.List; +import com.ruoyi.manager.domain.RecordBasketRepairSpareParts; + +/** + * 维修记录-添加备件Service接口 + * + * @author ruoyi + * @date 2026-02-05 + */ +public interface IRecordBasketRepairSparePartsService +{ + /** + * 查询维修记录-添加备件 + * + * @param recordRepairSparePartsId 维修记录-添加备件主键 + * @return 维修记录-添加备件 + */ + public RecordBasketRepairSpareParts selectRecordBasketRepairSparePartsByRecordRepairSparePartsId(Long recordRepairSparePartsId); + + /** + * 查询维修记录-添加备件列表 + * + * @param recordBasketRepairSpareParts 维修记录-添加备件 + * @return 维修记录-添加备件集合 + */ + public List selectRecordBasketRepairSparePartsList(RecordBasketRepairSpareParts recordBasketRepairSpareParts); + + /** + * 新增维修记录-添加备件 + * + * @param recordBasketRepairSpareParts 维修记录-添加备件 + * @return 结果 + */ + public int insertRecordBasketRepairSpareParts(RecordBasketRepairSpareParts recordBasketRepairSpareParts); + + /** + * 修改维修记录-添加备件 + * + * @param recordBasketRepairSpareParts 维修记录-添加备件 + * @return 结果 + */ + public int updateRecordBasketRepairSpareParts(RecordBasketRepairSpareParts recordBasketRepairSpareParts); + + /** + * 批量删除维修记录-添加备件 + * + * @param recordRepairSparePartsIds 需要删除的维修记录-添加备件主键集合 + * @return 结果 + */ + public int deleteRecordBasketRepairSparePartsByRecordRepairSparePartsIds(String recordRepairSparePartsIds); + + /** + * 删除维修记录-添加备件信息 + * + * @param recordRepairSparePartsId 维修记录-添加备件主键 + * @return 结果 + */ + public int deleteRecordBasketRepairSparePartsByRecordRepairSparePartsId(Long recordRepairSparePartsId); +} diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordCargoBindingService.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordCargoBindingService.java new file mode 100644 index 0000000..098883f --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordCargoBindingService.java @@ -0,0 +1,61 @@ +package com.ruoyi.manager.service; + +import java.util.List; +import com.ruoyi.manager.domain.RecordCargoBinding; + +/** + * 货物绑定记录Service接口 + * + * @author ruoyi + * @date 2026-02-28 + */ +public interface IRecordCargoBindingService +{ + /** + * 查询货物绑定记录 + * + * @param objid 货物绑定记录主键 + * @return 货物绑定记录 + */ + public RecordCargoBinding selectRecordCargoBindingByObjid(Long objid); + + /** + * 查询货物绑定记录列表 + * + * @param recordCargoBinding 货物绑定记录 + * @return 货物绑定记录集合 + */ + public List selectRecordCargoBindingList(RecordCargoBinding recordCargoBinding); + + /** + * 新增货物绑定记录 + * + * @param recordCargoBinding 货物绑定记录 + * @return 结果 + */ + public int insertRecordCargoBinding(RecordCargoBinding recordCargoBinding); + + /** + * 修改货物绑定记录 + * + * @param recordCargoBinding 货物绑定记录 + * @return 结果 + */ + public int updateRecordCargoBinding(RecordCargoBinding recordCargoBinding); + + /** + * 批量删除货物绑定记录 + * + * @param objids 需要删除的货物绑定记录主键集合 + * @return 结果 + */ + public int deleteRecordCargoBindingByObjids(String objids); + + /** + * 删除货物绑定记录信息 + * + * @param objid 货物绑定记录主键 + * @return 结果 + */ + public int deleteRecordCargoBindingByObjid(Long objid); +} diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/LedgerInstantBindingServiceImpl.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/LedgerInstantBindingServiceImpl.java index 58f3374..471d918 100644 --- a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/LedgerInstantBindingServiceImpl.java +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/LedgerInstantBindingServiceImpl.java @@ -95,4 +95,19 @@ public class LedgerInstantBindingServiceImpl implements ILedgerInstantBindingSer { return ledgerInstantBindingMapper.deleteLedgerInstantBindingByObjid(objid); } + + @Override + public List selectList(LedgerInstantBinding ledgerInstantBinding) { + return ledgerInstantBindingMapper.selectList(ledgerInstantBinding); + } + + @Override + public List selectLedgerChildTablelist(LedgerInstantBinding ledgerInstantBinding) { + return ledgerInstantBindingMapper.selectLedgerChildTablelist(ledgerInstantBinding); + } + + @Override + public int unbindingCargoDeleteLedger(Long basketId) { + return ledgerInstantBindingMapper.unbindingCargoDeleteLedger(basketId); + } } diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordBasketRepairSparePartsServiceImpl.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordBasketRepairSparePartsServiceImpl.java new file mode 100644 index 0000000..69271ec --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordBasketRepairSparePartsServiceImpl.java @@ -0,0 +1,96 @@ +package com.ruoyi.manager.service.impl; + +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.manager.mapper.RecordBasketRepairSparePartsMapper; +import com.ruoyi.manager.domain.RecordBasketRepairSpareParts; +import com.ruoyi.manager.service.IRecordBasketRepairSparePartsService; +import com.ruoyi.common.core.text.Convert; + +/** + * 维修记录-添加备件Service业务层处理 + * + * @author ruoyi + * @date 2026-02-05 + */ +@Service +public class RecordBasketRepairSparePartsServiceImpl implements IRecordBasketRepairSparePartsService +{ + @Autowired + private RecordBasketRepairSparePartsMapper recordBasketRepairSparePartsMapper; + + /** + * 查询维修记录-添加备件 + * + * @param recordRepairSparePartsId 维修记录-添加备件主键 + * @return 维修记录-添加备件 + */ + @Override + public RecordBasketRepairSpareParts selectRecordBasketRepairSparePartsByRecordRepairSparePartsId(Long recordRepairSparePartsId) + { + return recordBasketRepairSparePartsMapper.selectRecordBasketRepairSparePartsByRecordRepairSparePartsId(recordRepairSparePartsId); + } + + /** + * 查询维修记录-添加备件列表 + * + * @param recordBasketRepairSpareParts 维修记录-添加备件 + * @return 维修记录-添加备件 + */ + @Override + public List selectRecordBasketRepairSparePartsList(RecordBasketRepairSpareParts recordBasketRepairSpareParts) + { + return recordBasketRepairSparePartsMapper.selectRecordBasketRepairSparePartsList(recordBasketRepairSpareParts); + } + + /** + * 新增维修记录-添加备件 + * + * @param recordBasketRepairSpareParts 维修记录-添加备件 + * @return 结果 + */ + @Override + public int insertRecordBasketRepairSpareParts(RecordBasketRepairSpareParts recordBasketRepairSpareParts) + { + recordBasketRepairSpareParts.setCreateTime(DateUtils.getNowDate()); + return recordBasketRepairSparePartsMapper.insertRecordBasketRepairSpareParts(recordBasketRepairSpareParts); + } + + /** + * 修改维修记录-添加备件 + * + * @param recordBasketRepairSpareParts 维修记录-添加备件 + * @return 结果 + */ + @Override + public int updateRecordBasketRepairSpareParts(RecordBasketRepairSpareParts recordBasketRepairSpareParts) + { + return recordBasketRepairSparePartsMapper.updateRecordBasketRepairSpareParts(recordBasketRepairSpareParts); + } + + /** + * 批量删除维修记录-添加备件 + * + * @param recordRepairSparePartsIds 需要删除的维修记录-添加备件主键 + * @return 结果 + */ + @Override + public int deleteRecordBasketRepairSparePartsByRecordRepairSparePartsIds(String recordRepairSparePartsIds) + { + return recordBasketRepairSparePartsMapper.deleteRecordBasketRepairSparePartsByRecordRepairSparePartsIds(Convert.toStrArray(recordRepairSparePartsIds)); + } + + /** + * 删除维修记录-添加备件信息 + * + * @param recordRepairSparePartsId 维修记录-添加备件主键 + * @return 结果 + */ + @Override + public int deleteRecordBasketRepairSparePartsByRecordRepairSparePartsId(Long recordRepairSparePartsId) + { + return recordBasketRepairSparePartsMapper.deleteRecordBasketRepairSparePartsByRecordRepairSparePartsId(recordRepairSparePartsId); + } +} diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordCargoBindingServiceImpl.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordCargoBindingServiceImpl.java new file mode 100644 index 0000000..922b0ed --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordCargoBindingServiceImpl.java @@ -0,0 +1,94 @@ +package com.ruoyi.manager.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.manager.mapper.RecordCargoBindingMapper; +import com.ruoyi.manager.domain.RecordCargoBinding; +import com.ruoyi.manager.service.IRecordCargoBindingService; +import com.ruoyi.common.core.text.Convert; + +/** + * 货物绑定记录Service业务层处理 + * + * @author ruoyi + * @date 2026-02-28 + */ +@Service +public class RecordCargoBindingServiceImpl implements IRecordCargoBindingService +{ + @Autowired + private RecordCargoBindingMapper recordCargoBindingMapper; + + /** + * 查询货物绑定记录 + * + * @param objid 货物绑定记录主键 + * @return 货物绑定记录 + */ + @Override + public RecordCargoBinding selectRecordCargoBindingByObjid(Long objid) + { + return recordCargoBindingMapper.selectRecordCargoBindingByObjid(objid); + } + + /** + * 查询货物绑定记录列表 + * + * @param recordCargoBinding 货物绑定记录 + * @return 货物绑定记录 + */ + @Override + public List selectRecordCargoBindingList(RecordCargoBinding recordCargoBinding) + { + return recordCargoBindingMapper.selectRecordCargoBindingList(recordCargoBinding); + } + + /** + * 新增货物绑定记录 + * + * @param recordCargoBinding 货物绑定记录 + * @return 结果 + */ + @Override + public int insertRecordCargoBinding(RecordCargoBinding recordCargoBinding) + { + return recordCargoBindingMapper.insertRecordCargoBinding(recordCargoBinding); + } + + /** + * 修改货物绑定记录 + * + * @param recordCargoBinding 货物绑定记录 + * @return 结果 + */ + @Override + public int updateRecordCargoBinding(RecordCargoBinding recordCargoBinding) + { + return recordCargoBindingMapper.updateRecordCargoBinding(recordCargoBinding); + } + + /** + * 批量删除货物绑定记录 + * + * @param objids 需要删除的货物绑定记录主键 + * @return 结果 + */ + @Override + public int deleteRecordCargoBindingByObjids(String objids) + { + return recordCargoBindingMapper.deleteRecordCargoBindingByObjids(Convert.toStrArray(objids)); + } + + /** + * 删除货物绑定记录信息 + * + * @param objid 货物绑定记录主键 + * @return 结果 + */ + @Override + public int deleteRecordCargoBindingByObjid(Long objid) + { + return recordCargoBindingMapper.deleteRecordCargoBindingByObjid(objid); + } +} diff --git a/ruoyi-manager/src/main/resources/mapper/LedgerInstantBindingMapper.xml b/ruoyi-manager/src/main/resources/mapper/LedgerInstantBindingMapper.xml index ac389d1..6560e48 100644 --- a/ruoyi-manager/src/main/resources/mapper/LedgerInstantBindingMapper.xml +++ b/ruoyi-manager/src/main/resources/mapper/LedgerInstantBindingMapper.xml @@ -12,12 +12,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + - select objid, cargo_frame_epc, waybill_number, crate_time from ledger_instant_binding + select objid, cargo_frame_epc, waybill_number, crate_time,basket_id from ledger_instant_binding + + + + + + and repair_id = #{repairId} + and part_name like concat('%', #{partName}, '%') + and part_specifications = #{partSpecifications} + and amount = #{amount} + + + + + + + insert into record_basket_repair_spare_parts + + repair_id, + part_name, + part_specifications, + amount, + create_by, + create_time, + + + #{repairId}, + #{partName}, + #{partSpecifications}, + #{amount}, + #{createBy}, + #{createTime}, + + + + + update record_basket_repair_spare_parts + + repair_id = #{repairId}, + part_name = #{partName}, + part_specifications = #{partSpecifications}, + amount = #{amount}, + create_by = #{createBy}, + create_time = #{createTime}, + + where record_repair_spare_parts_id = #{recordRepairSparePartsId} + + + + delete from record_basket_repair_spare_parts where record_repair_spare_parts_id = #{recordRepairSparePartsId} + + + + delete from record_basket_repair_spare_parts where record_repair_spare_parts_id in + + #{recordRepairSparePartsId} + + + + \ No newline at end of file diff --git a/ruoyi-manager/src/main/resources/mapper/manager/RecordCargoBindingMapper.xml b/ruoyi-manager/src/main/resources/mapper/manager/RecordCargoBindingMapper.xml new file mode 100644 index 0000000..3242aef --- /dev/null +++ b/ruoyi-manager/src/main/resources/mapper/manager/RecordCargoBindingMapper.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + select objid, cargo_frame_epc, waybill_number, crate_time, create_by, basket_id, location_info from record_cargo_binding + + + + + + + + insert into record_cargo_binding + + cargo_frame_epc, + waybill_number, + crate_time, + create_by, + basket_id, + location_info, + + + #{cargoFrameEpc}, + #{waybillNumber}, + #{crateTime}, + #{createBy}, + #{basketId}, + #{locationInfo}, + + + + + update record_cargo_binding + + cargo_frame_epc = #{cargoFrameEpc}, + waybill_number = #{waybillNumber}, + crate_time = #{crateTime}, + create_by = #{createBy}, + basket_id = #{basketId}, + location_info = #{locationInfo}, + + where objid = #{objid} + + + + delete from record_cargo_binding where objid = #{objid} + + + + delete from record_cargo_binding where objid in + + #{objid} + + + + \ No newline at end of file diff --git a/ruoyi-manager/src/main/resources/sql/partsMenu.sql b/ruoyi-manager/src/main/resources/sql/partsMenu.sql new file mode 100644 index 0000000..6628954 --- /dev/null +++ b/ruoyi-manager/src/main/resources/sql/partsMenu.sql @@ -0,0 +1,22 @@ +-- 菜单 SQL +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('维修记录-添加备件', '2044', '1', '/manager/parts', 'C', '0', 'manager:parts:view', '#', 'admin', sysdate(), '', null, '维修记录-添加备件菜单'); + +-- 按钮父菜单ID +SELECT @parentId := LAST_INSERT_ID(); + +-- 按钮 SQL +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('维修记录-添加备件查询', @parentId, '1', '#', 'F', '0', 'manager:parts:list', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('维修记录-添加备件新增', @parentId, '2', '#', 'F', '0', 'manager:parts:add', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('维修记录-添加备件修改', @parentId, '3', '#', 'F', '0', 'manager:parts:edit', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('维修记录-添加备件删除', @parentId, '4', '#', 'F', '0', 'manager:parts:remove', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('维修记录-添加备件导出', @parentId, '5', '#', 'F', '0', 'manager:parts:export', '#', 'admin', sysdate(), '', null, ''); diff --git a/ruoyi-manager/src/main/resources/sql/recordCargoBindingMenu.sql b/ruoyi-manager/src/main/resources/sql/recordCargoBindingMenu.sql new file mode 100644 index 0000000..cc333e0 --- /dev/null +++ b/ruoyi-manager/src/main/resources/sql/recordCargoBindingMenu.sql @@ -0,0 +1,22 @@ +-- 菜单 SQL +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('货物绑定记录', '2051', '1', '/manager/recordCargoBinding', 'C', '0', 'manager:recordCargoBinding:view', '#', 'admin', sysdate(), '', null, '货物绑定记录菜单'); + +-- 按钮父菜单ID +SELECT @parentId := LAST_INSERT_ID(); + +-- 按钮 SQL +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('货物绑定记录查询', @parentId, '1', '#', 'F', '0', 'manager:recordCargoBinding:list', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('货物绑定记录新增', @parentId, '2', '#', 'F', '0', 'manager:recordCargoBinding:add', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('货物绑定记录修改', @parentId, '3', '#', 'F', '0', 'manager:recordCargoBinding:edit', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('货物绑定记录删除', @parentId, '4', '#', 'F', '0', 'manager:recordCargoBinding:remove', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('货物绑定记录导出', @parentId, '5', '#', 'F', '0', 'manager:recordCargoBinding:export', '#', 'admin', sysdate(), '', null, ''); diff --git a/ruoyi-manager/src/main/resources/templates/base/LedgerInstant/LedgerInstant.html b/ruoyi-manager/src/main/resources/templates/base/LedgerInstant/LedgerInstant.html index 04208c0..10d6625 100644 --- a/ruoyi-manager/src/main/resources/templates/base/LedgerInstant/LedgerInstant.html +++ b/ruoyi-manager/src/main/resources/templates/base/LedgerInstant/LedgerInstant.html @@ -1,5 +1,5 @@ - + @@ -12,19 +12,20 @@
  • 资产RFID: - +
  • - +
  • - + - - +
  • -
    +
    @@ -63,7 +64,7 @@ var editFlag = [[${@permission.hasPermi('base:LedgerInstant:edit')}]]; var removeFlag = [[${@permission.hasPermi('base:LedgerInstant:remove')}]]; var prefix = ctx + "base/LedgerInstant"; - + var basketTypeDatas = [[${@dict.getType('basket_type')}]]; $(function () { var options = { url: prefix + "/list", @@ -72,47 +73,77 @@ removeUrl: prefix + "/remove", exportUrl: prefix + "/export", modalName: "实时绑定台账", + detailView: true, + onExpandRow: function (index, row, $detail) { + ledgerInitChildTable(index, row, $detail); + }, columns: [{ checkbox: true }, { - field: 'objid', - title: '自增主键', + field: 'basketId', + title: '资产ID', visible: false - }, - { - field: 'cargoFrameEpc', - title: '资产RFID' - }, - { - field: 'waybillNumber', - title: '运单号' - }, - { - field: 'locationCode', - title: '库位码' - }, - { - field: 'createBy', - title: '绑定人' - }, { - field: 'crateTime', - title: '绑定时间' }, { - title: '操作', - align: 'center', + field: 'baseBasketInfo.basketCode', + title: '资产编号' + }, + { + field: 'baseBasketInfo.basketType', + title: '资产类型', formatter: function (value, row, index) { - var actions = []; - actions.push('
    编辑 '); - actions.push('删除'); - return actions.join(''); + return $.table.selectDictLabel(basketTypeDatas, value); } - }] + }, + { + field: 'baseBasketInfo.steelGrade', + title: '钢号' + }, + { + field: 'baseBasketInfo.selfCode', + title: '自编号' + }, + ] }; $.table.init(options); - }); + }) + + ledgerInitChildTable = function (index, row, $detail) { + var childTable = $detail.html('
    ').find('table'); + $(childTable).bootstrapTable({ + url: prefix + "/childTablelist", + method: 'post', + sidePagination: "server", + contentType: "application/x-www-form-urlencoded", + queryParams: { + basketId: row.basketId + }, + columns: [ + { + title: '序号', + align: 'center', + formatter: function (value, row, index) { + return index + 1; + } + }, + { + title: '扫描RFID', + field: 'cargoFrameEpc', + }, + { + title: '货物条码', + field: 'waybillNumber' + }, + { + title: '绑定时间', + field: 'crateTime' + } + + ] + }); + }; \ No newline at end of file diff --git a/ruoyi-manager/src/main/resources/templates/base/basketInfo/add.html b/ruoyi-manager/src/main/resources/templates/base/basketInfo/add.html index e9dbb4e..8f3a5d8 100644 --- a/ruoyi-manager/src/main/resources/templates/base/basketInfo/add.html +++ b/ruoyi-manager/src/main/resources/templates/base/basketInfo/add.html @@ -85,7 +85,7 @@
    - +
    @@ -93,7 +93,7 @@
    - +
    diff --git a/ruoyi-manager/src/main/resources/templates/base/basketInfo/edit.html b/ruoyi-manager/src/main/resources/templates/base/basketInfo/edit.html index 97a794c..5c1a109 100644 --- a/ruoyi-manager/src/main/resources/templates/base/basketInfo/edit.html +++ b/ruoyi-manager/src/main/resources/templates/base/basketInfo/edit.html @@ -80,7 +80,7 @@
    - +
    @@ -88,7 +88,7 @@
    - +
    diff --git a/ruoyi-manager/src/main/resources/templates/manager/parts/add.html b/ruoyi-manager/src/main/resources/templates/manager/parts/add.html new file mode 100644 index 0000000..12c411f --- /dev/null +++ b/ruoyi-manager/src/main/resources/templates/manager/parts/add.html @@ -0,0 +1,57 @@ + + + + + + +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/ruoyi-manager/src/main/resources/templates/manager/parts/edit.html b/ruoyi-manager/src/main/resources/templates/manager/parts/edit.html new file mode 100644 index 0000000..bb30f29 --- /dev/null +++ b/ruoyi-manager/src/main/resources/templates/manager/parts/edit.html @@ -0,0 +1,58 @@ + + + + + + +
    +
    + +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/ruoyi-manager/src/main/resources/templates/manager/parts/parts.html b/ruoyi-manager/src/main/resources/templates/manager/parts/parts.html new file mode 100644 index 0000000..3f05614 --- /dev/null +++ b/ruoyi-manager/src/main/resources/templates/manager/parts/parts.html @@ -0,0 +1,110 @@ + + + + + + +
    +
    +
    +
    +
    +
      +
    • + + +
    • +
    • + + +
    • +
    • + + +
    • +
    • + + +
    • +
    • +  搜索 +  重置 +
    • +
    +
    +
    +
    + + +
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/ruoyi-manager/src/main/resources/templates/manager/recordCargoBinding/add.html b/ruoyi-manager/src/main/resources/templates/manager/recordCargoBinding/add.html new file mode 100644 index 0000000..2bb12e3 --- /dev/null +++ b/ruoyi-manager/src/main/resources/templates/manager/recordCargoBinding/add.html @@ -0,0 +1,76 @@ + + + + + + + +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + + + + + \ No newline at end of file diff --git a/ruoyi-manager/src/main/resources/templates/manager/recordCargoBinding/edit.html b/ruoyi-manager/src/main/resources/templates/manager/recordCargoBinding/edit.html new file mode 100644 index 0000000..65ae464 --- /dev/null +++ b/ruoyi-manager/src/main/resources/templates/manager/recordCargoBinding/edit.html @@ -0,0 +1,77 @@ + + + + + + + +
    +
    + +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + + + + + \ No newline at end of file diff --git a/ruoyi-manager/src/main/resources/templates/manager/recordCargoBinding/recordCargoBinding.html b/ruoyi-manager/src/main/resources/templates/manager/recordCargoBinding/recordCargoBinding.html new file mode 100644 index 0000000..53f36ef --- /dev/null +++ b/ruoyi-manager/src/main/resources/templates/manager/recordCargoBinding/recordCargoBinding.html @@ -0,0 +1,124 @@ + + + + + + +
    +
    +
    +
    +
    +
      +
    • + + +
    • +
    • + + +
    • +
    • + + + - + +
    • +
    • + + +
    • +
    • + + +
    • +
    • +  搜索 +  重置 +
    • +
    +
    +
    +
    + + +
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/ruoyi-manager/src/main/resources/templates/manager/recordtRfidBinding/edit.html b/ruoyi-manager/src/main/resources/templates/manager/recordtRfidBinding/edit.html index d7d0978..cd3aefc 100644 --- a/ruoyi-manager/src/main/resources/templates/manager/recordtRfidBinding/edit.html +++ b/ruoyi-manager/src/main/resources/templates/manager/recordtRfidBinding/edit.html @@ -18,7 +18,7 @@
    - +
    @@ -26,7 +26,7 @@
    - +
    diff --git a/ruoyi-manager/src/main/resources/templates/manager/recordtRfidBinding/recordtRfidBinding.html b/ruoyi-manager/src/main/resources/templates/manager/recordtRfidBinding/recordtRfidBinding.html index b7a0068..369a667 100644 --- a/ruoyi-manager/src/main/resources/templates/manager/recordtRfidBinding/recordtRfidBinding.html +++ b/ruoyi-manager/src/main/resources/templates/manager/recordtRfidBinding/recordtRfidBinding.html @@ -71,9 +71,10 @@ removeUrl: prefix + "/remove", exportUrl: prefix + "/export", modalName: "货筐RFID绑定记录", - columns: [{ - checkbox: true - }, + columns: [ + { + checkbox: true + }, { field: 'rfidBindingId', title: '标识ID', @@ -105,11 +106,11 @@ }, { field: 'basketEpc', - title: '货筐RFID' + title: 'RFID标签1' }, { field: 'basketEpc2', - title: '货筐RFID(副)' + title: 'RFID标签2' }, { field: 'filePath', @@ -143,16 +144,12 @@ //加载图片 function imageView(value, h, m) { - if (value != null) { var url = value.split(',') var ht = '' url.forEach(function (value, i) { - // console.log('第'+i+"="+value) - // console.log('第'+i+"="+value == '') ht += "" }) - return ht } else { return '-' diff --git a/ruoyi-manager/src/main/resources/templates/system/repair/repair.html b/ruoyi-manager/src/main/resources/templates/system/repair/repair.html index 8a22c03..63bcc44 100644 --- a/ruoyi-manager/src/main/resources/templates/system/repair/repair.html +++ b/ruoyi-manager/src/main/resources/templates/system/repair/repair.html @@ -52,7 +52,7 @@ var editFlag = [[${@permission.hasPermi('system:repair:edit')}]]; var removeFlag = [[${@permission.hasPermi('system:repair:remove')}]]; var prefix = ctx + "system/repair"; - var basketTypeDatas = [[${ @dict.getType('basket_type') }]]; + var basketTypeDatas = [[${@dict.getType('basket_type')}]]; $(function () { var options = { url: prefix + "/list", @@ -61,6 +61,10 @@ removeUrl: prefix + "/remove", exportUrl: prefix + "/export", modalName: "维修记录", + detailView: true, + onExpandRow: function (index, row, $detail) { + repairInitChildTable(index, row, $detail); + }, columns: [{ checkbox: true }, @@ -126,7 +130,39 @@ }; $.table.init(options); }); - + repairInitChildTable = function (index, row, $detail) { + var childTable = $detail.html('
    ').find('table'); + $(childTable).bootstrapTable({ + url: ctx + "manager/parts/childTablelist", + method: 'post', + sidePagination: "server", + contentType: "application/x-www-form-urlencoded", + queryParams: { + repairId: row.objId + }, + columns: [ + { + title: '序号', + align: 'center', + formatter: function (value, row, index) { + return index + 1; + } + }, + { + field: 'partName', + title: '物料名称' + }, + { + field: 'partSpecifications', + title: '规格型号' + }, + { + field: 'amount', + title: '使用数量' + } + ] + }); + }; \ No newline at end of file diff --git a/ruoyi-webapi/src/main/java/com/ruoyi/webapi/controller/ApiController.java b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/controller/ApiController.java index 39e042e..eab9934 100644 --- a/ruoyi-webapi/src/main/java/com/ruoyi/webapi/controller/ApiController.java +++ b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/controller/ApiController.java @@ -1,14 +1,13 @@ package com.ruoyi.webapi.controller; +import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.file.FileUploadUtils; import com.ruoyi.manager.domain.*; -import com.ruoyi.manager.service.IBaseBasketInfoService; -import com.ruoyi.manager.service.IBaseManufacturerService; -import com.ruoyi.manager.service.IRecordBasketRepairService; -import com.ruoyi.manager.service.IRecordtRfidBindingService; +import com.ruoyi.manager.service.*; +import com.ruoyi.webapi.doman.APKVersion; import com.ruoyi.webapi.doman.BindingSubmitBeen; import com.ruoyi.webapi.doman.JoinSubmitBeen; import com.ruoyi.webapi.service.ApiService; @@ -36,20 +35,9 @@ public class ApiController { private IRecordBasketRepairService recordBasketRepairService; @Autowired private IRecordtRfidBindingService recordtRfidBindingService; + @Autowired + private ILedgerInstantBindingService ledgerInstantBindingService;//货物实时绑定信息 - @PostMapping("/bindingSubmit") - public AjaxResult bindingSubmit(@RequestBody BindingSubmitBeen submitBeen) { - List watBills = submitBeen.getWatBills(); - String user = submitBeen.getUser(); - watBills.forEach(code -> { - String epc = service.selectEpcByWaybill(code); - if (epc == null) { - int i = service.insertLedgerBinding(submitBeen.getEpc(), code, user); - } - }); - - return AjaxResult.success(); - } @PostMapping("/findBindingList") public AjaxResult findBindingList(String epc) { @@ -60,17 +48,18 @@ public class ApiController { } @PostMapping("/deleteBindingList") - public AjaxResult deleteBindingList(String epc) { - int i = service.deleteBindingList(epc); + public AjaxResult deleteBindingList(String objids) { + int i = ledgerInstantBindingService.deleteLedgerInstantBindingByObjids( objids); if (i > 0) return AjaxResult.success("全部解绑成功"); return AjaxResult.error(); } @PostMapping("/deleteBindingItem") - public AjaxResult deleteBindingItem(String epc, String code) { - int i = service.deleteBindingItem(epc, code); - if (i == 1) return AjaxResult.success("运单:" + code + "解绑成功"); + public AjaxResult deleteBindingItem(Long ledgerId) { + // int i = service.deleteBindingItem(epc, code); + int i = ledgerInstantBindingService.deleteLedgerInstantBindingByObjid(ledgerId); + if (i == 1) return AjaxResult.success("解绑成功"); return AjaxResult.error(); } @@ -135,16 +124,16 @@ public class ApiController { */ @PostMapping("/saveBasketInfo") public AjaxResult saveBasketInfo(@RequestBody BaseBasketInfo baseBasketInfo) { - int tagCount=baseBasketInfoService.selectCountBasketByEpc(baseBasketInfo.getBasketEpc()); - if (tagCount>0){ + int tagCount = baseBasketInfoService.selectCountBasketByEpc(baseBasketInfo.getBasketEpc()); + if (tagCount > 0) { return AjaxResult.error("RFID标签1已绑定"); } - tagCount=baseBasketInfoService.selectCountBasketByEpc(baseBasketInfo.getBasketEpc2()); - if (tagCount>0){ + tagCount = baseBasketInfoService.selectCountBasketByEpc(baseBasketInfo.getBasketEpc2()); + if (tagCount > 0) { return AjaxResult.error("RFID标签2已绑定"); } - List list = baseBasketInfoService.checkBasketInfoBySteelGradeAndSelfCode(baseBasketInfo); - if (list!=null && !list.isEmpty()){ + List list = baseBasketInfoService.checkBasketInfoBySteelGradeAndSelfCode(baseBasketInfo); + if (list != null && !list.isEmpty()) { return AjaxResult.error("钢号或自编号已存在"); } @@ -196,18 +185,16 @@ public class ApiController { * 提交绑定记录 */ @PostMapping("/submitBindingRecord") - public AjaxResult submitBindingRecord(Long baseBasketId, String basketEpc, String basketEpc2, String createdBy, List files) { - int tagCount=baseBasketInfoService.selectCountBasketByEpc(basketEpc); - if (tagCount>0){ + public AjaxResult submitBindingRecord(Long baseBasketId, String basketEpc, String basketEpc2, String localWeight, String createdBy, List files) { + int tagCount = baseBasketInfoService.selectCountBasketByEpc(basketEpc); + if (tagCount > 0) { return AjaxResult.error("RFID标签1已绑定"); } - tagCount=baseBasketInfoService.selectCountBasketByEpc(basketEpc2); - if (tagCount>0){ + tagCount = baseBasketInfoService.selectCountBasketByEpc(basketEpc2); + if (tagCount > 0) { return AjaxResult.error("RFID标签2已绑定"); } // 验证钢号与自编号重复 - - String filePath = RuoYiConfig.getUploadPath(); StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < files.size(); i++) { @@ -240,30 +227,81 @@ public class ApiController { baseBasketInfo.setUpdatedTime(new Date()); baseBasketInfo.setUpdatedBy(createdBy); baseBasketInfo.setObjId(baseBasketId); + baseBasketInfo.setLocalWeight(Double.parseDouble(localWeight)); int i1 = baseBasketInfoService.updateBaseBasketInfo(baseBasketInfo); - if (i > 0 ) return AjaxResult.success(); + if (i > 0) return AjaxResult.success(); return AjaxResult.error(); } - /* @GetMapping("/getVersion") - public String getVersion(){ - APKVersion apkVersion=service.getVersion(); + /** + * 货物入筐-查询资产和资产使用情况 + * + * @param epc + * @return + */ + @PostMapping("/binding/findBasketByEpc") + public AjaxResult findBasketByEpc(String epc) { + BaseBasketInfo baseBasketInfo = baseBasketInfoService.selectBaseBasketInfoByEpc(epc); + if (baseBasketInfo == null) return AjaxResult.error("RFID查询失败,没有维护该资产"); + LedgerInstantBinding ledgerInstantBinding = new LedgerInstantBinding(); + ledgerInstantBinding.setBasketId(baseBasketInfo.getObjId()); + List ledgerInstantBindings = ledgerInstantBindingService.selectLedgerChildTablelist(ledgerInstantBinding); + baseBasketInfo.setLedgerInstantBindings(ledgerInstantBindings); + return AjaxResult.success(baseBasketInfo); + } + + // 解绑货物和货框 + @PostMapping("/unbindingCargo") + public AjaxResult unbindingCargo(Long basketId) { + int i = ledgerInstantBindingService.unbindingCargoDeleteLedger(basketId); + if (i > 0) return AjaxResult.success(); + return AjaxResult.error(); + } + @Autowired + private IRecordCargoBindingService recordCargoBindingService; + // 货物绑定货框 + @PostMapping("/bindingSubmit") + public AjaxResult bindingSubmit(@RequestBody BindingSubmitBeen submitBeen) { + List watBills = submitBeen.getWatBills(); + String user = submitBeen.getUser(); + String epc1 = submitBeen.getEpc(); + Long basketId = submitBeen.getBasketId(); + watBills.forEach(code -> { + String epc = service.selectEpcByWaybill(code, basketId); + if (epc == null) { + int i = service.insertLedgerBinding(epc1, code, user, basketId); + RecordCargoBinding recordCargoBinding=new RecordCargoBinding(); + recordCargoBinding.setBasketId(basketId); + recordCargoBinding.setCargoFrameEpc(epc1); + recordCargoBinding.setWaybillNumber(code); + recordCargoBinding.setCreateBy(user); + recordCargoBindingService.insertRecordCargoBinding(recordCargoBinding); + } + }); + + return AjaxResult.success(); + } + + + @GetMapping("/getVersion") + public String getVersion() { + APKVersion apkVersion = service.getVersion(); apkVersion.setCode(0); apkVersion.setMsg(""); - if (apkVersion==null){ - apkVersion=new APKVersion(); + if (apkVersion == null) { + apkVersion = new APKVersion(); apkVersion.setUpdateStatus(0); - - }else { + + } else { apkVersion.setUpdateStatus(1); } String s = JSONObject.toJSONString(apkVersion); - System.out.println("请求版本信息"+s); + System.out.println("请求版本信息" + s); return s; - }*/ + } } diff --git a/ruoyi-webapi/src/main/java/com/ruoyi/webapi/controller/PdaApkVersionController.java b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/controller/PdaApkVersionController.java new file mode 100644 index 0000000..0923ab5 --- /dev/null +++ b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/controller/PdaApkVersionController.java @@ -0,0 +1,158 @@ +package com.ruoyi.webapi.controller; + +import com.ruoyi.common.utils.IpUtils; +import com.ruoyi.webapi.doman.PdaApkVersion; +import com.ruoyi.webapi.service.IPdaApkVersionService; +import com.ruoyi.webapi.utils.Md5Utils; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.file.FileUploadUtils; +import com.ruoyi.common.utils.file.FileUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.io.IOException; +import java.util.List; + +/** + * 手持版本升级Controller + * + * @author ruoyi + * @date 2023-04-06 + */ +@Controller +@RequestMapping("/pda/pda_version") +public class PdaApkVersionController extends BaseController { + private final String prefix = "pda/pda_version"; + + @Autowired + private IPdaApkVersionService pdaApkVersionService; + + @RequiresPermissions("pda:pda_version:view") + @GetMapping() + public String pda_version() { + return prefix + "/pda_version"; + } + + /** + * 查询手持版本升级列表 + */ + @RequiresPermissions("pda:pda_version:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(PdaApkVersion pdaApkVersion) { + startPage(); + List list = pdaApkVersionService.selectPdaApkVersionList(pdaApkVersion); + return getDataTable(list); + } + + /** + * 导出手持版本升级列表 + */ + @RequiresPermissions("pda:pda_version:export") + @Log(title = "手持版本升级", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(PdaApkVersion pdaApkVersion) { + List list = pdaApkVersionService.selectPdaApkVersionList(pdaApkVersion); + ExcelUtil util = new ExcelUtil<>(PdaApkVersion.class); + return util.exportExcel(list, "手持版本升级数据"); + } + + /** + * 新增手持版本升级 + */ + @GetMapping("/add") + public String add() { + return prefix + "/add"; + } + + /** + * 新增保存手持版本升级 + */ + @RequiresPermissions("pda:pda_version:add") + @Log(title = "手持版本升级", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(MultipartFile file, PdaApkVersion pdaApkVersion) { + // 上传文件路径 + String filePath = RuoYiConfig.getUploadPath() + "/apk"; + // 上传并返回新文件名称 + try { + String fileName = FileUploadUtils.upload(filePath, file); + String pathname = filePath + fileName; + System.out.println("地址1" + pathname); + pathname = pathname.replace("/profile/upload/apk", ""); + System.out.println("地址2:" + pathname); + File file1 = new File(pathname); + System.out.println("文件获取:" + file1.exists()); + System.out.println(file1.length() / 1024); + pdaApkVersion.setApkSize(file1.length() / 1024); + pdaApkVersion.setApkMd5(Md5Utils.getFileMD5(file1)); + + pdaApkVersion.setDownloadUrl( "http://"+IpUtils.getHostIp()+":8091"+fileName); + } catch (IOException e) { + e.printStackTrace(); + } + return toAjax(pdaApkVersionService.insertPdaApkVersion(pdaApkVersion)); + + } + + /** + * 修改手持版本升级 + */ + @RequiresPermissions("pda:pda_version:edit") + @GetMapping("/edit/{objid}") + @ResponseBody + public AjaxResult edit(@PathVariable("objid") Long objid) { + PdaApkVersion pdaApkVersion = pdaApkVersionService.selectPdaApkVersionByObjid(objid); + String downloadUrl = pdaApkVersion.getDownloadUrl(); + String substring = downloadUrl.substring(downloadUrl.indexOf("/apk")); + try { + FileUtils.deleteFile(RuoYiConfig.getUploadPath() + substring); + }catch (Exception e){ + + } + + return toAjax(pdaApkVersionService.deletePdaApkVersionByObjid(objid)); + + } + + /** + * 修改保存手持版本升级 + */ + @RequiresPermissions("pda:pda_version:edit") + @Log(title = "手持版本升级", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(PdaApkVersion pdaApkVersion) { + return toAjax(pdaApkVersionService.updatePdaApkVersion(pdaApkVersion)); + } + + /** + * 删除手持版本升级 + */ + @RequiresPermissions("pda:pda_version:remove") + @Log(title = "手持版本升级", businessType = BusinessType.DELETE) + @PostMapping("/remove") + @ResponseBody + public AjaxResult remove(String ids) { + System.out.println(ids); + PdaApkVersion pdaApkVersion = pdaApkVersionService.selectPdaApkVersionByObjid(Long.valueOf(ids)); + String downloadUrl = pdaApkVersion.getDownloadUrl(); + if (downloadUrl!=null&&!downloadUrl.isEmpty()){ + String substring = downloadUrl.substring(downloadUrl.indexOf("/apk")); + FileUtils.deleteFile(RuoYiConfig.getUploadPath() + substring); + } + return toAjax(pdaApkVersionService.deletePdaApkVersionByObjids(ids)); + } +} diff --git a/ruoyi-webapi/src/main/java/com/ruoyi/webapi/doman/APKVersion.java b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/doman/APKVersion.java new file mode 100644 index 0000000..b8e5040 --- /dev/null +++ b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/doman/APKVersion.java @@ -0,0 +1,117 @@ +package com.ruoyi.webapi.doman; + +import com.alibaba.fastjson.annotation.JSONField; + +/** + * 手持版本升级对象 pda_apk_version + * + * @author ruoyi + * @date 2023-04-06 + */ +public class APKVersion { + @JSONField(name = "Code") + private int Code; + @JSONField(name = "Msg") + private String Msg; + @JSONField(name = "UpdateStatus") + private int UpdateStatus; + @JSONField(name = "VersionCode") + private Long VersionCode; + @JSONField(name = "VersionName") + private String VersionName; + @JSONField(name = "ModifyContent") + private String ModifyContent; + @JSONField(name = "DownloadUrl") + private String DownloadUrl; + @JSONField(name = "ApkSize") + private int ApkSize; + @JSONField(name = "ApkMd5") + private String ApkMd5; + + public int getCode() { + return Code; + } + + public void setCode(int code) { + Code = code; + } + + public String getMsg() { + return Msg; + } + + public void setMsg(String msg) { + Msg = msg; + } + + public int getUpdateStatus() { + return UpdateStatus; + } + + public void setUpdateStatus(int updateStatus) { + UpdateStatus = updateStatus; + } + + public Long getVersionCode() { + return VersionCode; + } + + public void setVersionCode(Long versionCode) { + VersionCode = versionCode; + } + + public String getVersionName() { + return VersionName; + } + + public void setVersionName(String versionName) { + VersionName = versionName; + } + + public String getModifyContent() { + return ModifyContent; + } + + public void setModifyContent(String modifyContent) { + ModifyContent = modifyContent; + } + + public String getDownloadUrl() { + return DownloadUrl; + } + + public void setDownloadUrl(String downloadUrl) { + DownloadUrl = downloadUrl; + } + + public int getApkSize() { + return ApkSize; + } + + public void setApkSize(int apkSize) { + ApkSize = apkSize; + } + + public String getApkMd5() { + return ApkMd5; + } + + public void setApkMd5(String apkMd5) { + ApkMd5 = apkMd5; + } + + @Override + public String toString() { + return "APKVersion{" + + "Code=" + Code + + ", Msg='" + Msg + '\'' + + ", UpdateStatus=" + UpdateStatus + + ", VersionCode=" + VersionCode + + ", VersionName='" + VersionName + '\'' + + ", ModifyContent='" + ModifyContent + '\'' + + ", DownloadUrl='" + DownloadUrl + '\'' + + ", ApkSize=" + ApkSize + + ", ApkMd5='" + ApkMd5 + '\'' + + '}'; + } +} diff --git a/ruoyi-webapi/src/main/java/com/ruoyi/webapi/doman/BindingSubmitBeen.java b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/doman/BindingSubmitBeen.java index 38cc55e..dfb2471 100644 --- a/ruoyi-webapi/src/main/java/com/ruoyi/webapi/doman/BindingSubmitBeen.java +++ b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/doman/BindingSubmitBeen.java @@ -14,6 +14,15 @@ public class BindingSubmitBeen { private String weight; private List watBills; private String user; + private Long basketId; + + public Long getBasketId() { + return basketId; + } + + public void setBasketId(Long basketId) { + this.basketId = basketId; + } public String getUser() { return user; diff --git a/ruoyi-webapi/src/main/java/com/ruoyi/webapi/doman/PdaApkVersion.java b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/doman/PdaApkVersion.java new file mode 100644 index 0000000..25da603 --- /dev/null +++ b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/doman/PdaApkVersion.java @@ -0,0 +1,122 @@ +package com.ruoyi.webapi.doman; + +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 手持版本升级对象 pda_apk_version + * + * @author ruoyi + * @date 2023-04-06 + */ +public class PdaApkVersion extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键标识 */ + private Long objid; + + /** 版本号 */ + @Excel(name = "版本号") + private Long versionCode; + + /** 版本名 */ + @Excel(name = "版本名") + private String versionName; + + /** 信息 */ + @Excel(name = "信息") + private String modifyContent; + + /** 位置 */ + @Excel(name = "位置") + private String downloadUrl; + + /** 文件大小 */ + @Excel(name = "文件大小") + private Long apkSize; + + /** 文件标识 */ + @Excel(name = "文件标识") + private String apkMd5; + + public void setObjid(Long objid) + { + this.objid = objid; + } + + public Long getObjid() + { + return objid; + } + public void setVersionCode(Long versionCode) + { + this.versionCode = versionCode; + } + + public Long getVersionCode() + { + return versionCode; + } + public void setVersionName(String versionName) + { + this.versionName = versionName; + } + + public String getVersionName() + { + return versionName; + } + public void setModifyContent(String modifyContent) + { + this.modifyContent = modifyContent; + } + + public String getModifyContent() + { + return modifyContent; + } + public void setDownloadUrl(String downloadUrl) + { + this.downloadUrl = downloadUrl; + } + + public String getDownloadUrl() + { + return downloadUrl; + } + public void setApkSize(Long apkSize) + { + this.apkSize = apkSize; + } + + public Long getApkSize() + { + return apkSize; + } + public void setApkMd5(String apkMd5) + { + this.apkMd5 = apkMd5; + } + + public String getApkMd5() + { + return apkMd5; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("objid", getObjid()) + .append("versionCode", getVersionCode()) + .append("versionName", getVersionName()) + .append("modifyContent", getModifyContent()) + .append("downloadUrl", getDownloadUrl()) + .append("apkSize", getApkSize()) + .append("apkMd5", getApkMd5()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/ruoyi-webapi/src/main/java/com/ruoyi/webapi/mapper/ApiMapper.java b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/mapper/ApiMapper.java index 0092394..ce7e4ac 100644 --- a/ruoyi-webapi/src/main/java/com/ruoyi/webapi/mapper/ApiMapper.java +++ b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/mapper/ApiMapper.java @@ -2,6 +2,7 @@ package com.ruoyi.webapi.mapper; import com.ruoyi.manager.domain.LedgerInstantBinding; +import com.ruoyi.webapi.doman.APKVersion; import com.ruoyi.webapi.doman.JoinSubmitBeen; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -14,12 +15,10 @@ import java.util.List; @Repository public interface ApiMapper { - String selectEpcByWaybill(String code); - - int insertLedgerBinding(String epc, String code,String user); - - + String selectEpcByWaybill(@Param("code") String code,@Param("basketId") Long basketId); + int insertLedgerBinding(String epc, String code, String user, Long basketId); + // 查询绑定列表 List findBindingList(String epc); int deleteBindingList(String epc); @@ -34,4 +33,6 @@ public interface ApiMapper { int joinShouSubmit(JoinSubmitBeen been); int joinSelectByUser(JoinSubmitBeen been); + + APKVersion getVersion(); } diff --git a/ruoyi-webapi/src/main/java/com/ruoyi/webapi/mapper/PdaApkVersionMapper.java b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/mapper/PdaApkVersionMapper.java new file mode 100644 index 0000000..edef82a --- /dev/null +++ b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/mapper/PdaApkVersionMapper.java @@ -0,0 +1,66 @@ +package com.ruoyi.webapi.mapper; + +import com.ruoyi.webapi.doman.PdaApkVersion; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 手持版本升级Mapper接口 + * + * @author ruoyi + * @date 2023-04-06 + */ +@Repository +public interface PdaApkVersionMapper +{ + /** + * 查询手持版本升级 + * + * @param objid 手持版本升级主键 + * @return 手持版本升级 + */ + public PdaApkVersion selectPdaApkVersionByObjid(Long objid); + + /** + * 查询手持版本升级列表 + * + * @param pdaApkVersion 手持版本升级 + * @return 手持版本升级集合 + */ + public List selectPdaApkVersionList(PdaApkVersion pdaApkVersion); + + /** + * 新增手持版本升级 + * + * @param pdaApkVersion 手持版本升级 + * @return 结果 + */ + public int insertPdaApkVersion(PdaApkVersion pdaApkVersion); + + /** + * 修改手持版本升级 + * + * @param pdaApkVersion 手持版本升级 + * @return 结果 + */ + public int updatePdaApkVersion(PdaApkVersion pdaApkVersion); + + /** + * 删除手持版本升级 + * + * @param objid 手持版本升级主键 + * @return 结果 + */ + public int deletePdaApkVersionByObjid(Long objid); + + /** + * 批量删除手持版本升级 + * + * @param objids 需要删除的数据主键集合 + * @return 结果 + */ + public int deletePdaApkVersionByObjids(String[] objids); + + +} diff --git a/ruoyi-webapi/src/main/java/com/ruoyi/webapi/service/ApiService.java b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/service/ApiService.java index a224714..264c5c2 100644 --- a/ruoyi-webapi/src/main/java/com/ruoyi/webapi/service/ApiService.java +++ b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/service/ApiService.java @@ -1,6 +1,7 @@ package com.ruoyi.webapi.service; import com.ruoyi.manager.domain.LedgerInstantBinding; +import com.ruoyi.webapi.doman.APKVersion; import com.ruoyi.webapi.doman.JoinSubmitBeen; import com.ruoyi.webapi.mapper.ApiMapper; import org.springframework.beans.factory.annotation.Autowired; @@ -17,12 +18,12 @@ public class ApiService { @Autowired ApiMapper mapper; - public String selectEpcByWaybill(String code) { - return mapper.selectEpcByWaybill(code); + public String selectEpcByWaybill(String code, Long basketId) { + return mapper.selectEpcByWaybill(code,basketId); } - public int insertLedgerBinding(String epc, String code, String user) { - return mapper.insertLedgerBinding(epc,code,user); + public int insertLedgerBinding(String epc, String code, String user, Long basketId) { + return mapper.insertLedgerBinding(epc,code,user,basketId); } @@ -58,4 +59,8 @@ public class ApiService { public int delectLocationInfoRemarkByDbCode(String dbCode, String hkCode) { return mapper.delectLocationInfoRemarkByDbCode(dbCode); } + + public APKVersion getVersion() { + return mapper.getVersion(); + } } diff --git a/ruoyi-webapi/src/main/java/com/ruoyi/webapi/service/IPdaApkVersionService.java b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/service/IPdaApkVersionService.java new file mode 100644 index 0000000..791f711 --- /dev/null +++ b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/service/IPdaApkVersionService.java @@ -0,0 +1,64 @@ +package com.ruoyi.webapi.service; + +import com.ruoyi.webapi.doman.PdaApkVersion; + +import java.util.List; + +/** + * 手持版本升级Service接口 + * + * @author ruoyi + * @date 2023-04-06 + */ +public interface IPdaApkVersionService { + + /** + * 查询手持版本升级 + * + * @param objid 手持版本升级主键 + * @return 手持版本升级 + */ + public PdaApkVersion selectPdaApkVersionByObjid(Long objid); + + /** + * 查询手持版本升级列表 + * + * @param pdaApkVersion 手持版本升级 + * @return 手持版本升级集合 + */ + public List selectPdaApkVersionList(PdaApkVersion pdaApkVersion); + + /** + * 新增手持版本升级 + * + * @param pdaApkVersion 手持版本升级 + * @return 结果 + */ + public int insertPdaApkVersion(PdaApkVersion pdaApkVersion); + + /** + * 修改手持版本升级 + * + * @param pdaApkVersion 手持版本升级 + * @return 结果 + */ + public int updatePdaApkVersion(PdaApkVersion pdaApkVersion); + + /** + * 批量删除手持版本升级 + * + * @param objids 需要删除的手持版本升级主键集合 + * @return 结果 + */ + public int deletePdaApkVersionByObjids(String objids); + + /** + * 删除手持版本升级信息 + * + * @param objid 手持版本升级主键 + * @return 结果 + */ + public int deletePdaApkVersionByObjid(Long objid); + + +} diff --git a/ruoyi-webapi/src/main/java/com/ruoyi/webapi/service/impl/PdaApkVersionServiceImpl.java b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/service/impl/PdaApkVersionServiceImpl.java new file mode 100644 index 0000000..3c0ebea --- /dev/null +++ b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/service/impl/PdaApkVersionServiceImpl.java @@ -0,0 +1,99 @@ +package com.ruoyi.webapi.service.impl; + +import com.ruoyi.webapi.doman.PdaApkVersion; +import com.ruoyi.webapi.mapper.PdaApkVersionMapper; +import com.ruoyi.webapi.service.IPdaApkVersionService; +import com.ruoyi.common.core.text.Convert; +import com.ruoyi.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 手持版本升级Service业务层处理 + * + * @author ruoyi + * @date 2023-04-06 + */ +@Service +public class PdaApkVersionServiceImpl implements IPdaApkVersionService +{ + @Autowired + private PdaApkVersionMapper pdaApkVersionMapper; + + /** + * 查询手持版本升级 + * + * @param objid 手持版本升级主键 + * @return 手持版本升级 + */ + @Override + public PdaApkVersion selectPdaApkVersionByObjid(Long objid) + { + return pdaApkVersionMapper.selectPdaApkVersionByObjid(objid); + } + + /** + * 查询手持版本升级列表 + * + * @param pdaApkVersion 手持版本升级 + * @return 手持版本升级 + */ + @Override + public List selectPdaApkVersionList(PdaApkVersion pdaApkVersion) + { + return pdaApkVersionMapper.selectPdaApkVersionList(pdaApkVersion); + } + + /** + * 新增手持版本升级 + * + * @param pdaApkVersion 手持版本升级 + * @return 结果 + */ + @Override + public int insertPdaApkVersion(PdaApkVersion pdaApkVersion) + { + pdaApkVersion.setCreateTime(DateUtils.getNowDate()); + return pdaApkVersionMapper.insertPdaApkVersion(pdaApkVersion); + } + + /** + * 修改手持版本升级 + * + * @param pdaApkVersion 手持版本升级 + * @return 结果 + */ + @Override + public int updatePdaApkVersion(PdaApkVersion pdaApkVersion) + { + return pdaApkVersionMapper.updatePdaApkVersion(pdaApkVersion); + } + + /** + * 批量删除手持版本升级 + * + * @param objids 需要删除的手持版本升级主键 + * @return 结果 + */ + @Override + public int deletePdaApkVersionByObjids(String objids) + { + return pdaApkVersionMapper.deletePdaApkVersionByObjids(Convert.toStrArray(objids)); + } + + /** + * 删除手持版本升级信息 + * + * @param objid 手持版本升级主键 + * @return 结果 + */ + @Override + public int deletePdaApkVersionByObjid(Long objid) + { + return pdaApkVersionMapper.deletePdaApkVersionByObjid(objid); + } + + +} diff --git a/ruoyi-webapi/src/main/java/com/ruoyi/webapi/utils/Md5Utils.java b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/utils/Md5Utils.java new file mode 100644 index 0000000..40d6dd4 --- /dev/null +++ b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/utils/Md5Utils.java @@ -0,0 +1,93 @@ +/* + * Copyright (C) 2018 xuexiangjys(xuexiangjys@163.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.ruoyi.webapi.utils; + +import org.apache.commons.lang3.StringUtils; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.nio.MappedByteBuffer; +import java.nio.channels.FileChannel; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +/** + * MD5加密工具类 + * + * @author xuexiang + * @since 2018/7/2 下午3:14 + */ +public final class Md5Utils { + + private Md5Utils() { + throw new UnsupportedOperationException("cannot be instantiated"); + } + + public static String getFileMD5(File file) { + if (!file.exists()) { + return ""; + } + FileInputStream in = null; + try { + in = new FileInputStream(file); + FileChannel channel = in.getChannel(); + MappedByteBuffer buffer = channel.map(FileChannel.MapMode.READ_ONLY, 0, file.length()); + MessageDigest md = MessageDigest.getInstance("MD5"); + md.update(buffer); + return bytes2Hex(md.digest()); + } catch (NoSuchAlgorithmException | IOException e) { + e.printStackTrace(); + } finally { + if (in != null) { + try { + in.close(); + } catch (IOException ignored) { + } + } + } + return ""; + } + + /** + * 验证文件是否有效【通过MD5值比较】 + * + * @param md5 如果md5值为空,则不进行校验,直接为true + * @param file 需要校验的文件 + * @return 文件是否有效 + */ + public static boolean isFileValid(String md5, File file) { + return StringUtils.isEmpty(md5) || md5.equals(Md5Utils.getFileMD5(file)); + } + + /** + * 一个byte转为2个hex字符 + * + * @param src byte数组 + * @return 16进制大写字符串 + */ + private static String bytes2Hex(byte[] src) { + char[] res = new char[src.length << 1]; + final char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; + for (int i = 0, j = 0; i < src.length; i++) { + res[j++] = hexDigits[src[i] >>> 4 & 0x0f]; + res[j++] = hexDigits[src[i] & 0x0f]; + } + return new String(res); + } + +} diff --git a/ruoyi-webapi/src/main/resources/mapper/ApiMapper.xml b/ruoyi-webapi/src/main/resources/mapper/ApiMapper.xml index 5c67f8a..33fd261 100644 --- a/ruoyi-webapi/src/main/resources/mapper/ApiMapper.xml +++ b/ruoyi-webapi/src/main/resources/mapper/ApiMapper.xml @@ -4,14 +4,17 @@ - INSERT INTO ledger_instant_binding (cargo_frame_epc, waybill_number,create_by) VALUES (#{param1}, #{param2},#{param3}); + INSERT INTO ledger_instant_binding (cargo_frame_epc, waybill_number,create_by,basket_id) VALUES (#{param1}, #{param2},#{param3},#{param4}); delete from ledger_instant_binding WHERE cargo_frame_epc = #{epc} @@ -50,4 +53,20 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-webapi/src/main/resources/mapper/PdaApkVersionMapper.xml b/ruoyi-webapi/src/main/resources/mapper/PdaApkVersionMapper.xml new file mode 100644 index 0000000..160b68a --- /dev/null +++ b/ruoyi-webapi/src/main/resources/mapper/PdaApkVersionMapper.xml @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + select objid, version_code, version_name, modify_content, download_url, apk_size, apk_md5, create_time from pda_apk_version + + + + + + + + insert into pda_apk_version + + version_code, + version_name, + modify_content, + download_url, + apk_size, + apk_md5, + create_time, + + + #{versionCode}, + #{versionName}, + #{modifyContent}, + #{downloadUrl}, + #{apkSize}, + #{apkMd5}, + #{createTime}, + + + + + update pda_apk_version + + version_code = #{versionCode}, + version_name = #{versionName}, + modify_content = #{modifyContent}, + download_url = #{downloadUrl}, + apk_size = #{apkSize}, + apk_md5 = #{apkMd5}, + create_time = #{createTime}, + + where objid = #{objid} + + + + delete from pda_apk_version where objid = #{objid} + + + + delete from pda_apk_version where objid in + + #{objid} + + + + + \ No newline at end of file diff --git a/ruoyi-webapi/src/main/resources/templates/pda/pda_version/add.html b/ruoyi-webapi/src/main/resources/templates/pda/pda_version/add.html new file mode 100644 index 0000000..9e20d4d --- /dev/null +++ b/ruoyi-webapi/src/main/resources/templates/pda/pda_version/add.html @@ -0,0 +1,125 @@ + + + + + + + + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    + +
    + + + + + +
    +
    +
    +
    + + + + + + \ No newline at end of file diff --git a/ruoyi-webapi/src/main/resources/templates/pda/pda_version/edit.html b/ruoyi-webapi/src/main/resources/templates/pda/pda_version/edit.html new file mode 100644 index 0000000..ea7536f --- /dev/null +++ b/ruoyi-webapi/src/main/resources/templates/pda/pda_version/edit.html @@ -0,0 +1,114 @@ + + + + + + + + +
    +
    + +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    + +
    + +
    + +
    +
    +
    +
    +
    + + + + + + \ No newline at end of file diff --git a/ruoyi-webapi/src/main/resources/templates/pda/pda_version/pda_version.html b/ruoyi-webapi/src/main/resources/templates/pda/pda_version/pda_version.html new file mode 100644 index 0000000..a560050 --- /dev/null +++ b/ruoyi-webapi/src/main/resources/templates/pda/pda_version/pda_version.html @@ -0,0 +1,112 @@ + + + + + + +
    +
    +
    +
    +
    + +
    +
    +
    + + +
    +
    +
    +
    +
    + + + + \ No newline at end of file