diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 8f31193..6f74519 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -7,7 +7,7 @@ ruoyi: # 版权年份 copyrightYear: 2026 # 实例演示开关 - demoEnabled: true + demoEnabled: false # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath) profile: F:/ruoyi/uploadPath # 获取ip地址开关 diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/controller/BaseAirCodeController.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/controller/BaseAirCodeController.java new file mode 100644 index 0000000..196ca94 --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/controller/BaseAirCodeController.java @@ -0,0 +1,137 @@ +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.*; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.manager.domain.BaseAirCode; +import com.ruoyi.manager.service.IBaseAirCodeService; +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-05-08 + */ +@Controller +@RequestMapping("/manager/air_code") +public class BaseAirCodeController extends BaseController +{ + private String prefix = "manager/air_code"; + + @Autowired + private IBaseAirCodeService baseAirCodeService; + + @RequiresPermissions("manager:air_code:view") + @GetMapping() + public String air_code() + { + return prefix + "/air_code"; + } + + /** + * 查询航司代码列表 + */ + @RequiresPermissions("manager:air_code:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(BaseAirCode baseAirCode) + { + startPage(); + List list = baseAirCodeService.selectBaseAirCodeList(baseAirCode); + return getDataTable(list); + } + + /** + * 导出航司代码列表 + */ + @RequiresPermissions("manager:air_code:export") + @Log(title = "航司代码", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(BaseAirCode baseAirCode) + { + List list = baseAirCodeService.selectBaseAirCodeList(baseAirCode); + ExcelUtil util = new ExcelUtil(BaseAirCode.class); + return util.exportExcel(list, "航司代码数据"); + } + + /** + * 新增航司代码 + */ + @RequiresPermissions("manager:air_code:add") + @GetMapping("/add") + public String add() + { + return prefix + "/add"; + } + + /** + * 新增保存航司代码 + */ + @RequiresPermissions("manager:air_code:add") + @Log(title = "航司代码", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(BaseAirCode baseAirCode) + { + return toAjax(baseAirCodeService.insertBaseAirCode(baseAirCode)); + } + + /** + * 修改航司代码 + */ + @RequiresPermissions("manager:air_code:edit") + @GetMapping("/edit/{objid}") + public String edit(@PathVariable("objid") Long objid, ModelMap mmap) + { + BaseAirCode baseAirCode = baseAirCodeService.selectBaseAirCodeByObjid(objid); + mmap.put("baseAirCode", baseAirCode); + return prefix + "/edit"; + } + + /** + * 修改保存航司代码 + */ + @RequiresPermissions("manager:air_code:edit") + @Log(title = "航司代码", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(BaseAirCode baseAirCode) + { + return toAjax(baseAirCodeService.updateBaseAirCode(baseAirCode)); + } + + /** + * 删除航司代码 + */ + @RequiresPermissions("manager:air_code:remove") + @Log(title = "航司代码", businessType = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + return toAjax(baseAirCodeService.deleteBaseAirCodeByObjids(ids)); + } + + + /** + * 保存菜单排序 + */ + @PostMapping("/updateSort") + @ResponseBody + public AjaxResult updateSort(@RequestParam String[] ids, @RequestParam String[] changedOrderNums) + { + baseAirCodeService.updateSort(ids, changedOrderNums); + return success(); + } + +} diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/BaseAirCode.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/BaseAirCode.java new file mode 100644 index 0000000..9909d4b --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/BaseAirCode.java @@ -0,0 +1,84 @@ +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; + +/** + * 航司代码对象 base_air_code + * + * @author ruoyi + * @date 2026-05-08 + */ +public class BaseAirCode extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long objid; + + /** 航司名称 */ + @Excel(name = "航司名称") + private String airName; + + /** 代码 */ + @Excel(name = "代码") + private String airCode; + + /** 排序 */ + @Excel(name = "排序") + private Long orderNum; + + public void setObjid(Long objid) + { + this.objid = objid; + } + + public Long getObjid() + { + return objid; + } + + public void setAirName(String airName) + { + this.airName = airName; + } + + public String getAirName() + { + return airName; + } + + public void setAirCode(String airCode) + { + this.airCode = airCode; + } + + public String getAirCode() + { + return airCode; + } + + public void setOrderNum(Long orderNum) + { + this.orderNum = orderNum; + } + + public Long getOrderNum() + { + return orderNum; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("objid", getObjid()) + .append("airName", getAirName()) + .append("airCode", getAirCode()) + .append("orderNum", getOrderNum()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordDeliveryTask.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordDeliveryTask.java index c9f79fe..1d3119a 100644 --- a/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordDeliveryTask.java +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordDeliveryTask.java @@ -21,12 +21,32 @@ public class RecordDeliveryTask extends BaseEntity /** 交接码 */ @Excel(name = "交接码") private String taskCode; + private String airCode; + /** 交接状态 */ @Excel(name = "交接状态") private String taskState; + private String gpsLocation; - public void setDeliveryTaskId(Long deliveryTaskId) + + public String getGpsLocation() { + return gpsLocation; + } + + public void setGpsLocation(String gpsLocation) { + this.gpsLocation = gpsLocation; + } + + public String getAirCode() { + return airCode; + } + + public void setAirCode(String airCode) { + this.airCode = airCode; + } + + public void setDeliveryTaskId(Long deliveryTaskId) { this.deliveryTaskId = deliveryTaskId; } diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordDeliveryTaskBaseket.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordDeliveryTaskBaseket.java index ea593d8..246ae86 100644 --- a/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordDeliveryTaskBaseket.java +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/domain/RecordDeliveryTaskBaseket.java @@ -28,9 +28,20 @@ public class RecordDeliveryTaskBaseket extends BaseEntity /** 资产ID */ @Excel(name = "资产ID") private Long basketId; + private String waybillNumber; + + private BaseBasketInfo baseBasketInfo; + public String getWaybillNumber() { + return waybillNumber; + } + + public void setWaybillNumber(String waybillNumber) { + this.waybillNumber = waybillNumber; + } + public String getTaskCode() { return taskCode; } diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/BaseAirCodeMapper.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/BaseAirCodeMapper.java new file mode 100644 index 0000000..70e12e0 --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/BaseAirCodeMapper.java @@ -0,0 +1,64 @@ +package com.ruoyi.manager.mapper; + +import java.util.List; +import com.ruoyi.manager.domain.BaseAirCode; + +/** + * 航司代码Mapper接口 + * + * @author ruoyi + * @date 2026-05-08 + */ +public interface BaseAirCodeMapper +{ + /** + * 查询航司代码 + * + * @param objid 航司代码主键 + * @return 航司代码 + */ + public BaseAirCode selectBaseAirCodeByObjid(Long objid); + + /** + * 查询航司代码列表 + * + * @param baseAirCode 航司代码 + * @return 航司代码集合 + */ + public List selectBaseAirCodeList(BaseAirCode baseAirCode); + + /** + * 新增航司代码 + * + * @param baseAirCode 航司代码 + * @return 结果 + */ + public int insertBaseAirCode(BaseAirCode baseAirCode); + + /** + * 修改航司代码 + * + * @param baseAirCode 航司代码 + * @return 结果 + */ + public int updateBaseAirCode(BaseAirCode baseAirCode); + + /** + * 删除航司代码 + * + * @param objid 航司代码主键 + * @return 结果 + */ + public int deleteBaseAirCodeByObjid(Long objid); + + /** + * 批量删除航司代码 + * + * @param objids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteBaseAirCodeByObjids(String[] objids); + + + List queryAirCode(); +} 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 11c23b5..e28a864 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 @@ -72,4 +72,6 @@ public interface LedgerInstantBindingMapper int updateTaskStatebyBasketID(@Param("ids") List ids); List selectLedgerlistByCode(@Param("code") String code); + + LedgerInstantBinding deliverySanEpcQueryBasketbyBasketId(Long objId); } diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordDeliveryTaskBaseketMapper.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordDeliveryTaskBaseketMapper.java index 5d12219..a6a942e 100644 --- a/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordDeliveryTaskBaseketMapper.java +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordDeliveryTaskBaseketMapper.java @@ -1,6 +1,8 @@ package com.ruoyi.manager.mapper; import java.util.List; + +import com.ruoyi.manager.domain.LedgerInstantBinding; import com.ruoyi.manager.domain.RecordDeliveryTaskBaseket; import org.apache.ibatis.annotations.Param; @@ -34,7 +36,7 @@ public interface RecordDeliveryTaskBaseketMapper * @param recordDeliveryTaskBaseket 交接资产 * @return 结果 */ - public int insertRecordDeliveryTaskBaseket(@Param("taskCode") String taskCode,@Param("ids") List ids); + public int insertRecordDeliveryTaskBaseket(@Param("taskCode") String taskCode,@Param("ids") List ids); /** * 修改交接资产 @@ -60,5 +62,5 @@ public interface RecordDeliveryTaskBaseketMapper */ public int deleteRecordDeliveryTaskBaseketByObjids(String[] objids); - RecordDeliveryTaskBaseket selectRecordDeliveryTaskBaseketByBasket(Long basketId); + RecordDeliveryTaskBaseket selectRecordDeliveryTaskBaseketByBasket(RecordDeliveryTaskBaseket recordDeliveryTaskBaseket); } diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordDeliveryTaskMapper.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordDeliveryTaskMapper.java index d55c926..e514909 100644 --- a/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordDeliveryTaskMapper.java +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/mapper/RecordDeliveryTaskMapper.java @@ -62,5 +62,5 @@ public interface RecordDeliveryTaskMapper int countNowDateTaskNumber(); - int closeTaskByReceipt(@Param("taskCode") String taskCode, @Param("user") String user); + int closeTaskByReceipt(@Param("taskCode") String taskCode, @Param("user") String user, @Param("receiveGpsLocation") String receiveGpsLocation); } diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IBaseAirCodeService.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IBaseAirCodeService.java new file mode 100644 index 0000000..857b490 --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IBaseAirCodeService.java @@ -0,0 +1,65 @@ +package com.ruoyi.manager.service; + +import java.util.List; +import com.ruoyi.manager.domain.BaseAirCode; + +/** + * 航司代码Service接口 + * + * @author ruoyi + * @date 2026-05-08 + */ +public interface IBaseAirCodeService +{ + /** + * 查询航司代码 + * + * @param objid 航司代码主键 + * @return 航司代码 + */ + public BaseAirCode selectBaseAirCodeByObjid(Long objid); + + /** + * 查询航司代码列表 + * + * @param baseAirCode 航司代码 + * @return 航司代码集合 + */ + public List selectBaseAirCodeList(BaseAirCode baseAirCode); + + /** + * 新增航司代码 + * + * @param baseAirCode 航司代码 + * @return 结果 + */ + public int insertBaseAirCode(BaseAirCode baseAirCode); + + /** + * 修改航司代码 + * + * @param baseAirCode 航司代码 + * @return 结果 + */ + public int updateBaseAirCode(BaseAirCode baseAirCode); + + /** + * 批量删除航司代码 + * + * @param objids 需要删除的航司代码主键集合 + * @return 结果 + */ + public int deleteBaseAirCodeByObjids(String objids); + + /** + * 删除航司代码信息 + * + * @param objid 航司代码主键 + * @return 结果 + */ + public int deleteBaseAirCodeByObjid(Long objid); + + void updateSort(String[] ids, String[] changedOrderNums); + + List queryAirCode(); +} 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 502f892..52d35a9 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 @@ -71,4 +71,6 @@ public interface ILedgerInstantBindingService int updateTaskStatebyBasketID(List ids); List selectLedgerlistByCode(String code); + + LedgerInstantBinding deliverySanEpcQueryBasketbyBasketId(Long objId); } diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordDeliveryTaskBaseketService.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordDeliveryTaskBaseketService.java index 8c97fc9..c414b0a 100644 --- a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordDeliveryTaskBaseketService.java +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordDeliveryTaskBaseketService.java @@ -1,6 +1,8 @@ package com.ruoyi.manager.service; import java.util.List; + +import com.ruoyi.manager.domain.LedgerInstantBinding; import com.ruoyi.manager.domain.RecordDeliveryTaskBaseket; /** @@ -59,7 +61,7 @@ public interface IRecordDeliveryTaskBaseketService */ public int deleteRecordDeliveryTaskBaseketByObjid(Long objid); - public int insertRecordDeliveryTaskBaseket(String taskCode, List ids); + public int insertRecordDeliveryTaskBaseket(String taskCode, List ids); - RecordDeliveryTaskBaseket selectRecordDeliveryTaskBaseketByBasket(Long basketId); + RecordDeliveryTaskBaseket selectRecordDeliveryTaskBaseketByBasket( RecordDeliveryTaskBaseket recordDeliveryTaskBaseket); } diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordDeliveryTaskService.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordDeliveryTaskService.java index f0e63d2..7a2bd0a 100644 --- a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordDeliveryTaskService.java +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/IRecordDeliveryTaskService.java @@ -61,5 +61,5 @@ public interface IRecordDeliveryTaskService int countNowDateTaskNumber(); - int closeTaskByReceipt(String taskCode, String user); + int closeTaskByReceipt(String taskCode, String user, String receiveGpsLocation); } diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/BaseAirCodeServiceImpl.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/BaseAirCodeServiceImpl.java new file mode 100644 index 0000000..7b460e5 --- /dev/null +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/BaseAirCodeServiceImpl.java @@ -0,0 +1,115 @@ +package com.ruoyi.manager.service.impl; + +import com.ruoyi.common.core.domain.entity.SysMenu; +import com.ruoyi.common.core.text.Convert; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.ShiroUtils; +import com.ruoyi.manager.domain.BaseAirCode; +import com.ruoyi.manager.mapper.BaseAirCodeMapper; +import com.ruoyi.manager.service.IBaseAirCodeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 航司代码Service业务层处理 + * + * @author ruoyi + * @date 2026-05-08 + */ +@Service +public class BaseAirCodeServiceImpl implements IBaseAirCodeService { + @Autowired + private BaseAirCodeMapper baseAirCodeMapper; + + /** + * 查询航司代码 + * + * @param objid 航司代码主键 + * @return 航司代码 + */ + @Override + public BaseAirCode selectBaseAirCodeByObjid(Long objid) { + return baseAirCodeMapper.selectBaseAirCodeByObjid(objid); + } + + /** + * 查询航司代码列表 + * + * @param baseAirCode 航司代码 + * @return 航司代码 + */ + @Override + public List selectBaseAirCodeList(BaseAirCode baseAirCode) { + return baseAirCodeMapper.selectBaseAirCodeList(baseAirCode); + } + + /** + * 新增航司代码 + * + * @param baseAirCode 航司代码 + * @return 结果 + */ + @Override + public int insertBaseAirCode(BaseAirCode baseAirCode) { + baseAirCode.setUpdateTime(DateUtils.getNowDate()); + baseAirCode.setUpdateBy(ShiroUtils.getLoginName()); + return baseAirCodeMapper.insertBaseAirCode(baseAirCode); + } + + /** + * 修改航司代码 + * + * @param baseAirCode 航司代码 + * @return 结果 + */ + @Override + public int updateBaseAirCode(BaseAirCode baseAirCode) { + baseAirCode.setUpdateTime(DateUtils.getNowDate()); + baseAirCode.setUpdateBy(ShiroUtils.getLoginName()); + return baseAirCodeMapper.updateBaseAirCode(baseAirCode); + } + + /** + * 批量删除航司代码 + * + * @param objids 需要删除的航司代码主键 + * @return 结果 + */ + @Override + public int deleteBaseAirCodeByObjids(String objids) { + return baseAirCodeMapper.deleteBaseAirCodeByObjids(Convert.toStrArray(objids)); + } + + /** + * 删除航司代码信息 + * + * @param objid 航司代码主键 + * @return 结果 + */ + @Override + public int deleteBaseAirCodeByObjid(Long objid) { + return baseAirCodeMapper.deleteBaseAirCodeByObjid(objid); + } + + @Override + public void updateSort(String[] ids, String[] changedOrderNums) { + try { + for (int i = 0; i < changedOrderNums.length; i++) { + BaseAirCode baseAirCode = new BaseAirCode(); + baseAirCode.setObjid(Convert.toLong(ids[i])); + baseAirCode.setOrderNum(Long.valueOf(changedOrderNums[i])); + baseAirCodeMapper.updateBaseAirCode(baseAirCode); + } + } catch (Exception e) { + throw new ServiceException("保存排序异常,请联系管理员"); + } + } + + @Override + public List queryAirCode() { + return baseAirCodeMapper.queryAirCode(); + } +} 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 7e2ddec..d07f775 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 @@ -125,4 +125,9 @@ public class LedgerInstantBindingServiceImpl implements ILedgerInstantBindingSer public List selectLedgerlistByCode(String code) { return ledgerInstantBindingMapper.selectLedgerlistByCode(code); } + + @Override + public LedgerInstantBinding deliverySanEpcQueryBasketbyBasketId(Long objId) { + return ledgerInstantBindingMapper.deliverySanEpcQueryBasketbyBasketId(objId); + } } diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordDeliveryTaskBaseketServiceImpl.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordDeliveryTaskBaseketServiceImpl.java index f525141..774bf6a 100644 --- a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordDeliveryTaskBaseketServiceImpl.java +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordDeliveryTaskBaseketServiceImpl.java @@ -1,52 +1,51 @@ package com.ruoyi.manager.service.impl; -import java.util.List; +import com.ruoyi.common.core.text.Convert; +import com.ruoyi.manager.domain.LedgerInstantBinding; +import com.ruoyi.manager.domain.RecordDeliveryTaskBaseket; +import com.ruoyi.manager.mapper.RecordDeliveryTaskBaseketMapper; +import com.ruoyi.manager.service.IRecordDeliveryTaskBaseketService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.ruoyi.manager.mapper.RecordDeliveryTaskBaseketMapper; -import com.ruoyi.manager.domain.RecordDeliveryTaskBaseket; -import com.ruoyi.manager.service.IRecordDeliveryTaskBaseketService; -import com.ruoyi.common.core.text.Convert; + +import java.util.List; /** * 交接资产Service业务层处理 - * + * * @author ruoyi * @date 2026-03-04 */ @Service -public class RecordDeliveryTaskBaseketServiceImpl implements IRecordDeliveryTaskBaseketService -{ +public class RecordDeliveryTaskBaseketServiceImpl implements IRecordDeliveryTaskBaseketService { @Autowired private RecordDeliveryTaskBaseketMapper recordDeliveryTaskBaseketMapper; /** * 查询交接资产 - * + * * @param objid 交接资产主键 * @return 交接资产 */ @Override - public RecordDeliveryTaskBaseket selectRecordDeliveryTaskBaseketByObjid(Long objid) - { + public RecordDeliveryTaskBaseket selectRecordDeliveryTaskBaseketByObjid(Long objid) { return recordDeliveryTaskBaseketMapper.selectRecordDeliveryTaskBaseketByObjid(objid); } /** * 查询交接资产列表 - * + * * @param recordDeliveryTaskBaseket 交接资产 * @return 交接资产 */ @Override - public List selectRecordDeliveryTaskBaseketList(RecordDeliveryTaskBaseket recordDeliveryTaskBaseket) - { + public List selectRecordDeliveryTaskBaseketList(RecordDeliveryTaskBaseket recordDeliveryTaskBaseket) { return recordDeliveryTaskBaseketMapper.selectRecordDeliveryTaskBaseketList(recordDeliveryTaskBaseket); } /** * 新增交接资产 - * + * * @param recordDeliveryTaskBaseket 交接资产 * @return 结果 */ @@ -58,47 +57,44 @@ public class RecordDeliveryTaskBaseketServiceImpl implements IRecordDeliveryTask /** * 修改交接资产 - * + * * @param recordDeliveryTaskBaseket 交接资产 * @return 结果 */ @Override - public int updateRecordDeliveryTaskBaseket(RecordDeliveryTaskBaseket recordDeliveryTaskBaseket) - { + public int updateRecordDeliveryTaskBaseket(RecordDeliveryTaskBaseket recordDeliveryTaskBaseket) { return recordDeliveryTaskBaseketMapper.updateRecordDeliveryTaskBaseket(recordDeliveryTaskBaseket); } /** * 批量删除交接资产 - * + * * @param objids 需要删除的交接资产主键 * @return 结果 */ @Override - public int deleteRecordDeliveryTaskBaseketByObjids(String objids) - { + public int deleteRecordDeliveryTaskBaseketByObjids(String objids) { return recordDeliveryTaskBaseketMapper.deleteRecordDeliveryTaskBaseketByObjids(Convert.toStrArray(objids)); } /** * 删除交接资产信息 - * + * * @param objid 交接资产主键 * @return 结果 */ @Override - public int deleteRecordDeliveryTaskBaseketByObjid(Long objid) - { + public int deleteRecordDeliveryTaskBaseketByObjid(Long objid) { return recordDeliveryTaskBaseketMapper.deleteRecordDeliveryTaskBaseketByObjid(objid); } @Override - public int insertRecordDeliveryTaskBaseket(String taskCode, List ids) { + public int insertRecordDeliveryTaskBaseket(String taskCode, List ids) { return recordDeliveryTaskBaseketMapper.insertRecordDeliveryTaskBaseket(taskCode, ids); } @Override - public RecordDeliveryTaskBaseket selectRecordDeliveryTaskBaseketByBasket(Long basketId) { - return recordDeliveryTaskBaseketMapper.selectRecordDeliveryTaskBaseketByBasket(basketId); + public RecordDeliveryTaskBaseket selectRecordDeliveryTaskBaseketByBasket( RecordDeliveryTaskBaseket recordDeliveryTaskBaseket) { + return recordDeliveryTaskBaseketMapper.selectRecordDeliveryTaskBaseketByBasket(recordDeliveryTaskBaseket); } } diff --git a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordDeliveryTaskServiceImpl.java b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordDeliveryTaskServiceImpl.java index cc98518..b8b5473 100644 --- a/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordDeliveryTaskServiceImpl.java +++ b/ruoyi-manager/src/main/java/com/ruoyi/manager/service/impl/RecordDeliveryTaskServiceImpl.java @@ -101,7 +101,7 @@ public class RecordDeliveryTaskServiceImpl implements IRecordDeliveryTaskService } @Override - public int closeTaskByReceipt(String taskCode, String user) { - return recordDeliveryTaskMapper.closeTaskByReceipt(taskCode,user); + public int closeTaskByReceipt(String taskCode, String user,String receiveGpsLocation) { + return recordDeliveryTaskMapper.closeTaskByReceipt(taskCode,user,receiveGpsLocation); } } diff --git a/ruoyi-manager/src/main/resources/mapper/LedgerInstantBindingMapper.xml b/ruoyi-manager/src/main/resources/mapper/LedgerInstantBindingMapper.xml index e24185c..5373994 100644 --- a/ruoyi-manager/src/main/resources/mapper/LedgerInstantBindingMapper.xml +++ b/ruoyi-manager/src/main/resources/mapper/LedgerInstantBindingMapper.xml @@ -132,4 +132,17 @@ join ledger_instant_binding t2 on t1.basket_id = t2.basket_id where t2.waybill_number = #{code} + + + diff --git a/ruoyi-manager/src/main/resources/mapper/manager/BaseAirCodeMapper.xml b/ruoyi-manager/src/main/resources/mapper/manager/BaseAirCodeMapper.xml new file mode 100644 index 0000000..1ad101c --- /dev/null +++ b/ruoyi-manager/src/main/resources/mapper/manager/BaseAirCodeMapper.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + select objid, air_name, air_code, order_num, update_by, update_time from base_air_code + + + + + + + + insert into base_air_code + + air_name, + air_code, + order_num, + update_by, + update_time, + + + #{airName}, + #{airCode}, + #{orderNum}, + #{updateBy}, + #{updateTime}, + + + + + update base_air_code + + air_name = #{airName}, + air_code = #{airCode}, + order_num = #{orderNum}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where objid = #{objid} + + + + delete from base_air_code where objid = #{objid} + + + + delete from base_air_code where objid in + + #{objid} + + + + + + \ No newline at end of file diff --git a/ruoyi-manager/src/main/resources/mapper/manager/RecordDeliveryTaskBaseketMapper.xml b/ruoyi-manager/src/main/resources/mapper/manager/RecordDeliveryTaskBaseketMapper.xml index cd67693..d1a1431 100644 --- a/ruoyi-manager/src/main/resources/mapper/manager/RecordDeliveryTaskBaseketMapper.xml +++ b/ruoyi-manager/src/main/resources/mapper/manager/RecordDeliveryTaskBaseketMapper.xml @@ -9,12 +9,20 @@ + - select objid, create_time, basket_id, basket_type, steel_grade, self_code, task_code + select objid, + create_time, + basket_id, + basket_type, + steel_grade, + self_code, + task_code, + waybill_number from record_delivery_task_baseket rb left join base_basket_info bbi on bbi.obj_id = rb.basket_id @@ -36,9 +44,9 @@ - insert into record_delivery_task_baseket(basket_id,task_code) values + insert into record_delivery_task_baseket(basket_id,waybill_number,task_code) values - (#{item},#{taskCode}) + (#{item.basketId},#{item.waybillNumber},#{taskCode}) @@ -65,12 +73,16 @@ - select rdtb.task_code from record_delivery_task_baseket rdtb - left join record_delivery_task rdt on rdt.task_code = rdtb.task_code - where task_state = 0 - and basket_id = #{basketId} + left join record_delivery_task rdt on rdt.task_code = rdtb.task_code + + task_state = 0 + and basket_id = #{basketId} + and waybill_number like concat('%', #{waybillNumber}, '%') + + order by rdt.create_time desc limit 1 diff --git a/ruoyi-manager/src/main/resources/mapper/manager/RecordDeliveryTaskMapper.xml b/ruoyi-manager/src/main/resources/mapper/manager/RecordDeliveryTaskMapper.xml index f7ca529..b48fb42 100644 --- a/ruoyi-manager/src/main/resources/mapper/manager/RecordDeliveryTaskMapper.xml +++ b/ruoyi-manager/src/main/resources/mapper/manager/RecordDeliveryTaskMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -12,10 +12,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + - select delivery_task_id, task_code, task_state, create_by, create_time, update_by, update_time from record_delivery_task + select delivery_task_id, task_code, task_state, create_by, create_time, update_by, update_time, gps_location, air_code from record_delivery_task + + + +
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+ + + + + + \ No newline at end of file diff --git a/ruoyi-manager/src/main/resources/templates/manager/air_code/air_code.html b/ruoyi-manager/src/main/resources/templates/manager/air_code/air_code.html new file mode 100644 index 0000000..27188c9 --- /dev/null +++ b/ruoyi-manager/src/main/resources/templates/manager/air_code/air_code.html @@ -0,0 +1,144 @@ + + + + + + +
+
+
+
+
+ +
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/ruoyi-manager/src/main/resources/templates/manager/air_code/edit.html b/ruoyi-manager/src/main/resources/templates/manager/air_code/edit.html new file mode 100644 index 0000000..fa8e9c6 --- /dev/null +++ b/ruoyi-manager/src/main/resources/templates/manager/air_code/edit.html @@ -0,0 +1,50 @@ + + + + + + +
+
+ +
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ + + + \ 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 f810571..c5771bc 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 @@ -24,6 +24,7 @@ import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * Created by wangh on 2020/7/17-15:18。 @@ -57,6 +58,8 @@ public class ApiController extends BaseController { private IRecordBasketCheckTaskService recordBasketCheckTaskService;//盘点任务 @Autowired private IRecordBasketCheckContentService recordBasketCheckContentService;//盘点内容 + @Autowired + private IBaseAirCodeService baseAirCodeService; @PostMapping("/findBindingList") public AjaxResult findBindingList(String epc) { @@ -98,6 +101,7 @@ public class ApiController extends BaseController { return AjaxResult.error("库位没有维护"); } + // 接货查询 @PostMapping("/jion/select") public AjaxResult jionSelect(String user) { @@ -111,8 +115,8 @@ public class ApiController extends BaseController { // 交货任务生成 @PostMapping("/delivery/createTask") - public AjaxResult createDeliveryTask(String json, String user, List files) { - List ids = JSONArray.parseArray(json, Long.class); + public AjaxResult createDeliveryTask(String json, String airCode, String gps, String user, List files) { + List ledgerInstantBindings = JSONArray.parseArray(json, LedgerInstantBinding.class); // 生成任务编码 int taskNumber = recordDeliveryTaskService.countNowDateTaskNumber(); taskNumber++; @@ -121,24 +125,31 @@ public class ApiController extends BaseController { RecordDeliveryTask recordDeliveryTask = new RecordDeliveryTask(); recordDeliveryTask.setTaskCode(taskCode); recordDeliveryTask.setCreateBy(user); + recordDeliveryTask.setAirCode(airCode); + recordDeliveryTask.setGpsLocation(gps); recordDeliveryTaskService.insertRecordDeliveryTask(recordDeliveryTask); // 插入资产到任务表 - recordDeliveryTaskBaseketService.insertRecordDeliveryTaskBaseket(taskCode, ids); - // 插入图片 - String filePath = RuoYiConfig.getUploadPath() + "/task"; - for (int i = 0; i < files.size(); i++) { - try { - String fileName = FileUploadUtils.upload(filePath, files.get(i)); - RecordDeliveryTaskImg recordDeliveryTaskImg = new RecordDeliveryTaskImg(); - recordDeliveryTaskImg.setTaskCode(taskCode); - recordDeliveryTaskImg.setImgPath(fileName); - recordDeliveryTaskImgService.insertRecordDeliveryTaskImg(recordDeliveryTaskImg); - } catch (IOException e) { - throw new RuntimeException(e); + recordDeliveryTaskBaseketService.insertRecordDeliveryTaskBaseket(taskCode, ledgerInstantBindings); + if (files != null && !files.isEmpty()) { + // 插入图片 + String filePath = RuoYiConfig.getUploadPath() + "/task"; + for (MultipartFile file : files) { + try { + String fileName = FileUploadUtils.upload(filePath, file); + RecordDeliveryTaskImg recordDeliveryTaskImg = new RecordDeliveryTaskImg(); + recordDeliveryTaskImg.setTaskCode(taskCode); + recordDeliveryTaskImg.setImgPath(fileName); + recordDeliveryTaskImgService.insertRecordDeliveryTaskImg(recordDeliveryTaskImg); + } catch (IOException e) { + throw new RuntimeException(e); + } } } + // ledgerInstantBindingService.deleteLedgerInstantByBasket(ids);// 删除实时绑定记录 // 更新状态 + + List ids = ledgerInstantBindings.stream().map(LedgerInstantBinding::getBasketId).collect(Collectors.toList()); ledgerInstantBindingService.updateTaskStatebyBasketID(ids); return AjaxResult.success(); } @@ -166,13 +177,34 @@ public class ApiController extends BaseController { } - // 远程接货扫描epc - @PostMapping("/receipt/scanEpc") - public AjaxResult ReceiptScanEpc(String epc) { + // 查询货框下的货物 + @PostMapping("/delivery/sanEpcQueryBasket") + public AjaxResult deliverySanEpcQueryBasket(String epc) { BaseBasketInfo baseBasketInfo = baseBasketInfoService.selectBaseBasketInfoByEpc(epc); if (baseBasketInfo == null) return AjaxResult.error("RFID查询失败,没有维护该资产"); - Long objId = baseBasketInfo.getObjId(); - RecordDeliveryTaskBaseket select1 = recordDeliveryTaskBaseketService.selectRecordDeliveryTaskBaseketByBasket(objId);//查询资产是否绑定任务 + LedgerInstantBinding ledgerInstantBinding = ledgerInstantBindingService.deliverySanEpcQueryBasketbyBasketId(baseBasketInfo.getObjId()); + if (ledgerInstantBinding == null) return AjaxResult.error("查询失败,没有绑定条码"); + return AjaxResult.success(ledgerInstantBinding); + } + + // 远程接货扫描epc + @PostMapping("/receipt/scanEpc") + public AjaxResult ReceiptScanEpc(@RequestParam(name = "epc", required = false, defaultValue = "") String epc, + @RequestParam(name = "waybillNumber", required = false, defaultValue = "") String waybillNumber) { + Long objId = null; + + if (epc != null && !epc.equals("")) { + BaseBasketInfo baseBasketInfo = baseBasketInfoService.selectBaseBasketInfoByEpc(epc); + if (baseBasketInfo == null) return AjaxResult.error("RFID查询失败,没有维护该资产"); + objId = baseBasketInfo.getObjId(); + + } + + //查询资产是否绑定任务 + RecordDeliveryTaskBaseket recordDeliveryTaskBaseket = new RecordDeliveryTaskBaseket(); + recordDeliveryTaskBaseket.setBasketId(objId); + recordDeliveryTaskBaseket.setWaybillNumber(waybillNumber); + RecordDeliveryTaskBaseket select1 = recordDeliveryTaskBaseketService.selectRecordDeliveryTaskBaseketByBasket(recordDeliveryTaskBaseket); if (select1 == null) return AjaxResult.error("资产未绑定任务或任务已完成"); // 查询所有资产 List list = recordDeliveryTaskBaseketService.selectRecordDeliveryTaskBaseketList(select1); @@ -188,13 +220,14 @@ public class ApiController extends BaseController { return AjaxResult.success(map); } + // 远程接货确认 @PostMapping("/receipt/submit") public AjaxResult receiptSubmit(@RequestBody ReceiptSubmitBeen been) { int i = service.joinShouSubmit(been); String taskCode = been.getTaskCode(); String user = been.getUser(); - recordDeliveryTaskService.closeTaskByReceipt(taskCode, user);//关闭任务 + recordDeliveryTaskService.closeTaskByReceipt(taskCode, user, been.getReceiveGpsLocation());//关闭任务 return AjaxResult.success(); } @@ -376,6 +409,7 @@ public class ApiController extends BaseController { /** * 货物入筐-查询资产和资产使用情况 + * * @param code * @return */ @@ -387,7 +421,6 @@ public class ApiController extends BaseController { return AjaxResult.success(ledgerInstantBindings); } - // 解绑货物和货框 @PostMapping("/unbindingCargo") public AjaxResult unbindingCargo(Long basketId) { @@ -451,6 +484,13 @@ public class ApiController extends BaseController { return getDataTable(list); } + // 查询航司代码 + @PostMapping("/queryAirCode") + public AjaxResult queryAirCode() { + List list = baseAirCodeService.queryAirCode(); + return AjaxResult.success(list); + } + @GetMapping("/getVersion") public String getVersion() { diff --git a/ruoyi-webapi/src/main/java/com/ruoyi/webapi/doman/ReceiptSubmitBeen.java b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/doman/ReceiptSubmitBeen.java index c1d2c20..109cecf 100644 --- a/ruoyi-webapi/src/main/java/com/ruoyi/webapi/doman/ReceiptSubmitBeen.java +++ b/ruoyi-webapi/src/main/java/com/ruoyi/webapi/doman/ReceiptSubmitBeen.java @@ -10,6 +10,15 @@ public class ReceiptSubmitBeen { private String user; private List list; private String taskCode; + private String receiveGpsLocation; + + public String getReceiveGpsLocation() { + return receiveGpsLocation; + } + + public void setReceiveGpsLocation(String receiveGpsLocation) { + this.receiveGpsLocation = receiveGpsLocation; + } public String getTaskCode() { return taskCode;