From 6ecdd30021265920a8e97929b97931915c7e0c35 Mon Sep 17 00:00:00 2001 From: liuxiaoxu <1793812695@qq.com> Date: Thu, 11 Jul 2024 13:49:11 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=20=E9=94=80=E5=94=AE=E7=AE=A1=E7=90=86?= =?UTF-8?q?=20=E4=BB=93=E5=BA=93=E7=AE=A1=E7=90=86=20=E5=94=AE=E5=90=8E?= =?UTF-8?q?=E7=BB=B4=E6=8A=A4=E8=AE=BE=E5=A4=87=E5=8E=BB=E6=8E=89=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=87=BA=E8=B4=A7=E8=AE=BE=E5=A4=87=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E7=89=A9=E6=96=99=E4=BF=A1=E6=81=AF=E7=9A=84=E6=9D=83?= =?UTF-8?q?=E9=99=90=E5=AD=97=E7=AC=A6=20=E5=94=AE=E5=90=8E=E7=BB=B4?= =?UTF-8?q?=E6=8A=A4=E8=AE=BE=E5=A4=87=E5=8E=BB=E6=8E=89=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=87=BA=E8=B4=A7=E8=AE=BE=E5=A4=87=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=87=BA=E8=B4=A7=E8=AE=BE=E5=A4=87=E4=BF=A1=E6=81=AF=E7=9A=84?= =?UTF-8?q?=E6=9D=83=E9=99=90=E5=AD=97=E7=AC=A6=20=E6=96=B0=E5=A2=9E=20?= =?UTF-8?q?=E7=AC=AC=E4=BA=8C=E6=AC=A1=E7=BB=B4=E6=8A=A4=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E5=90=8E=E7=AB=AF=E6=8E=A5=E5=8F=A3=20=E6=96=B0=E5=A2=9E=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BF=9D=E5=AD=98=E5=94=AE=E5=90=8E=E7=AC=AC?= =?UTF-8?q?=E4=BA=8C=E6=AC=A1=E7=BB=B4=E6=8A=A4=E8=AE=BE=E5=A4=87=E5=90=8E?= =?UTF-8?q?=E7=AB=AF=E6=8E=A5=E5=8F=A3=20=E6=96=B0=E5=A2=9E=20=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E5=94=AE=E5=90=8E=E7=AC=AC=E4=BA=8C=E6=AC=A1=E7=BB=B4?= =?UTF-8?q?=E6=8A=A4=E8=AE=BE=E5=A4=87=E7=89=A9=E6=96=99=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=90=8E=E7=AB=AF=E6=8E=A5=E5=8F=A3=20=E6=96=B0=E5=A2=9E=20?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E5=94=AE=E5=90=8E=E7=AC=AC=E4=BA=8C=E6=AC=A1?= =?UTF-8?q?=E7=BB=B4=E6=8A=A4=E8=AE=BE=E5=A4=87=E6=96=99=E5=8F=B7=E5=B7=B2?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E6=B7=BB=E5=8A=A0=E5=87=BA=E8=B4=A7=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E7=9A=84=E7=9B=B8=E5=85=B3=E5=87=BA=E8=B4=A7=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E4=BF=A1=E6=81=AF=E5=90=8E=E7=AB=AF=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=20=E6=96=B0=E5=A2=9E=20=E5=94=AE=E5=90=8E=E7=BB=B4=E6=8A=A4?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=AC=AC=E4=BA=8C=E6=AC=A1=E7=BB=B4=E6=8A=A4?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=89=8D=E7=AB=AF=E9=A1=B5=E9=9D=A2=20?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E8=AE=BE=E5=A4=87=E4=BF=A1=E6=81=AFVO?= =?UTF-8?q?=E7=B1=BB=E6=96=B0=E5=A2=9E=E5=85=B6=E4=BB=96=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=AD=97=E6=AE=B5=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=AC=AC=E4=BA=8C=E6=AC=A1=E7=BB=B4=E6=8A=A4=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E7=9B=B8=E5=85=B3=E6=9D=83=E9=99=90=E5=AD=97?= =?UTF-8?q?=E7=AC=A6=20=E5=94=AE=E5=90=8E=E7=BB=B4=E6=8A=A4=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E4=BF=A1=E6=81=AF=E5=88=97=E8=A1=A8=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=20=E6=96=B0=E5=A2=9E=20=E7=AC=AC=E4=BA=8C=E6=AC=A1=E7=BB=B4?= =?UTF-8?q?=E6=8A=A4=E8=AE=BE=E5=A4=87=E4=BF=A1=E6=81=AF=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AftersalesWarehouseOutController.java | 66 ++- .../domain/vo/SelectShippingDeviceVO.java | 20 + .../IAftersalesWarehouseOutService.java | 11 + .../AftersalesWarehouseOutServiceImpl.java | 86 ++++ .../maintenanceEquipmentOne.html | 4 +- .../maintenanceEquipmentTwo.html | 405 ++++++++++++++++++ .../warehouseOutOrder/warehouseOutOrder.html | 16 +- 7 files changed, 591 insertions(+), 17 deletions(-) create mode 100644 ruoyi-admin/src/main/resources/templates/aftersales/warehouseOutOrder/maintenanceEquipmentTwo.html diff --git a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/controller/AftersalesWarehouseOutController.java b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/controller/AftersalesWarehouseOutController.java index 230b3b2b..4abf6cf3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/controller/AftersalesWarehouseOutController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/controller/AftersalesWarehouseOutController.java @@ -182,7 +182,6 @@ public class AftersalesWarehouseOutController extends BaseController /** * 添加出货设备查询物料信息 */ - @RequiresPermissions("aftersales:warehouseOutOrder:addShippingDevicesMaterial") @PostMapping("/addShippingDevicesMaterial") @ResponseBody public TableDataInfo optionMaterial(SelectMaterialsVO selectMaterialsVO) @@ -196,7 +195,6 @@ public class AftersalesWarehouseOutController extends BaseController /** * 添加出货设备查询出货设备信息 */ - @RequiresPermissions("aftersales:warehouseOutOrder:addShippingDevicesOptions") @PostMapping("/addShippingDevicesOptions") @ResponseBody public TableDataInfo addShippingDevicesOptions(SelectMaterialsVO selectMaterialsVO) @@ -220,9 +218,6 @@ public class AftersalesWarehouseOutController extends BaseController } - - - /** * 售后第一次维护设备 */ @@ -263,9 +258,9 @@ public class AftersalesWarehouseOutController extends BaseController /** * 展示售后第一次维护设备料号已选择添加出货设备的相关出货设备信息 */ - @PostMapping("/showAftersalesShippingDeviceList") + @PostMapping("/showAftersalesShippingDeviceListOne") @ResponseBody - public TableDataInfo showAftersalesShippingDeviceList(@RequestParam("materialNo") String materialNo) + public TableDataInfo showAftersalesShippingDeviceListOne(@RequestParam("materialNo") String materialNo) { startPage(); @@ -287,14 +282,12 @@ public class AftersalesWarehouseOutController extends BaseController return prefix + "/addShippingDevicesOne"; } - - /** * 修改保存售后第一次维护设备 添加出货设备信息 */ @ResponseBody @PostMapping("/addShippingDevicesOne") - public AjaxResult addShippingDevicesOne(@RequestBody WarehouseOutOrderDetail warehouseOutOrderDetail) + public AjaxResult addShippingDevicesOneSave(@RequestBody WarehouseOutOrderDetail warehouseOutOrderDetail) { return toAjax(outOrderDetailService.addShippingDevicesOne(warehouseOutOrderDetail)); @@ -330,4 +323,57 @@ public class AftersalesWarehouseOutController extends BaseController + + /** + * 售后第二次维护设备 + */ + @GetMapping("/maintenanceEquipmentTwo/{outOrderId}") + public String maintenanceEquipmentTwo(@PathVariable("outOrderId") Long outOrderId, ModelMap mmap) + { + WarehouseOutOrder warehouseOutOrder = warehouseOutOrderService.selectWarehouseOutOrderById(outOrderId); + mmap.put("warehouseOutOrder", warehouseOutOrder); + return prefix + "/maintenanceEquipmentTwo"; + } + + /** + * 修改保存售后第二次维护设备 + */ + @RequiresPermissions("aftersales:warehouseOutOrder:maintenanceEquipmentTwo") + @Log(title = "售后维护设备出库", businessType = BusinessType.UPDATE) + @PostMapping("/maintenanceEquipmentTwo") + @ResponseBody + public AjaxResult maintenanceEquipmentTwoSave(@RequestBody WarehouseOutOrder warehouseOutOrder) + { + return toAjax(warehouseOutOrderService.updateMaintenanceEquipmentTwo(warehouseOutOrder)); + } + + + /** + * 展示售后第二次维护设备物料信息 + * */ + @PostMapping("/getMaintenanceEquipmentTwoMaterials") + @ResponseBody + public TableDataInfo getMaintenanceEquipmentTwoMaterials(WarehouseOutOrder warehouseOutOrder) + { + + startPage(); + List list = warehouseOutOrderService.selectOutOrderDetailListByCode(warehouseOutOrder); + return getDataTable(list); + } + + + /** + * 展示售后第二次维护设备料号已选择添加出货设备的相关出货设备信息 + */ + @PostMapping("/showAftersalesShippingDeviceListTwo") + @ResponseBody + public TableDataInfo showAftersalesShippingDeviceListTwo(@RequestParam("materialNo") String materialNo) + { + + startPage(); + List list = warehouseOutOrderService.showAftersalesShippingDeviceListTwo(materialNo); + return getDataTable(list); + } + + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/vo/SelectShippingDeviceVO.java b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/vo/SelectShippingDeviceVO.java index f6a0ec33..cc4125b1 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/vo/SelectShippingDeviceVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/vo/SelectShippingDeviceVO.java @@ -1,5 +1,7 @@ package com.ruoyi.aftersales.domain.vo; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; import lombok.Data; /** * 添加出货设备时新增出货设备列表 @@ -20,5 +22,23 @@ public class SelectShippingDeviceVO { private String snCode; + /** 出厂日期 */ + private String factoryDate; + + /** 保修期 */ + private String guaranteePeriod; + + /** 锁机时间 */ + private String lockDate; + + /** 是否有锁机时间 */ + private String lockDateFlag; + + /** 损耗品到期时间 */ + private String wastageExpireDate; + + /** 二次维修后部件质保时间 */ + private String componentGuaranteeDate; + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/IAftersalesWarehouseOutService.java b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/IAftersalesWarehouseOutService.java index b091fc29..5a16ff02 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/IAftersalesWarehouseOutService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/IAftersalesWarehouseOutService.java @@ -129,4 +129,15 @@ public interface IAftersalesWarehouseOutService * 修改保存售后第一次维护设备 */ int updateMaintenanceEquipmentOne(WarehouseOutOrder warehouseOutOrder); + + + /** + * 展示售后第二次维护设备料号已选择添加出货设备的相关出货设备信息 + */ + List showAftersalesShippingDeviceListTwo(String materialNo); + + /** + * 修改保存售后第二次维护设备 + */ + int updateMaintenanceEquipmentTwo(WarehouseOutOrder warehouseOutOrder); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/AftersalesWarehouseOutServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/AftersalesWarehouseOutServiceImpl.java index e176bfef..ec33f164 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/AftersalesWarehouseOutServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/AftersalesWarehouseOutServiceImpl.java @@ -290,6 +290,92 @@ public class AftersalesWarehouseOutServiceImpl implements IAftersalesWarehouseOu return warehouseOutOrderMapper.updateWarehouseOutOrder(warehouseOutOrder); } + /** + * 展示售后第二次维护设备料号已选择添加出货设备的相关出货设备信息 + */ + @Override + public List showAftersalesShippingDeviceListTwo(String materialNo) { + + List selectShippingDeviceVOs = new ArrayList<>(); + AfterSalesShippingDevice afterSalesShippingDevice = new AfterSalesShippingDevice(); + afterSalesShippingDevice.setMaterialNo(materialNo); + List afterSalesShippingDevices = shippingDeviceMapper.selectShippingDeviceListByMaterialNo(afterSalesShippingDevice); + List filterAfterSalesShippingDevices = afterSalesShippingDevices.stream().filter(shippingDevice -> "0".equals(shippingDevice.getAddShippingDeviceFlag())).collect(Collectors.toList()); + if (!StringUtils.isNotEmpty(filterAfterSalesShippingDevices)) { + // 记录日志 + log.warn("未查找到与物料号关联的出库设备数据, 物料号: {}",materialNo); + } + + for (AfterSalesShippingDevice tempAfterSalesShippingDevice : filterAfterSalesShippingDevices) { + SelectShippingDeviceVO shippingDeviceVO = new SelectShippingDeviceVO(); + shippingDeviceVO.setShippingDeviceId(tempAfterSalesShippingDevice.getShippingDeviceId()); + shippingDeviceVO.setDeviceModelCode(tempAfterSalesShippingDevice.getDeviceModelCode()); + shippingDeviceVO.setDeviceRunningNumber(tempAfterSalesShippingDevice.getDeviceRunningNumber()); + shippingDeviceVO.setMakePhotoUrl(tempAfterSalesShippingDevice.getMakePhotourl()); + shippingDeviceVO.setQuoteId(tempAfterSalesShippingDevice.getSalesOrderCode()); + shippingDeviceVO.setSnCode(tempAfterSalesShippingDevice.getSnCode()); + shippingDeviceVO.setFactoryDate(tempAfterSalesShippingDevice.getFactoryDate()); + shippingDeviceVO.setGuaranteePeriod(tempAfterSalesShippingDevice.getGuaranteePeriod()); + shippingDeviceVO.setLockDate(tempAfterSalesShippingDevice.getLockDate()); + shippingDeviceVO.setLockDateFlag(tempAfterSalesShippingDevice.getLockDateFlag()); + shippingDeviceVO.setWastageExpireDate(tempAfterSalesShippingDevice.getWastageExpireDate()); + shippingDeviceVO.setComponentGuaranteeDate(tempAfterSalesShippingDevice.getComponentGuaranteeDate()); + selectShippingDeviceVOs.add(shippingDeviceVO); + + } + return selectShippingDeviceVOs; + } + + /** + * 修改保存售后第二次维护设备 + */ + @Transactional(rollbackFor = Exception.class) + @Override + public int updateMaintenanceEquipmentTwo(WarehouseOutOrder warehouseOutOrder) { + + String loginName = ShiroUtils.getLoginName(); + + List selectShippingDeviceVOList = warehouseOutOrder.getSelectShippingDeviceVOList(); + for (SelectShippingDeviceVO selectShippingDeviceVO : selectShippingDeviceVOList) { + AfterSalesShippingDevice afterSalesShippingDevice = new AfterSalesShippingDevice(); + afterSalesShippingDevice.setShippingDeviceId(selectShippingDeviceVO.getShippingDeviceId()); + afterSalesShippingDevice.setSnCode(selectShippingDeviceVO.getSnCode()); + afterSalesShippingDevice.setFactoryDate(selectShippingDeviceVO.getFactoryDate()); + afterSalesShippingDevice.setGuaranteePeriod(selectShippingDeviceVO.getGuaranteePeriod()); + afterSalesShippingDevice.setLockDate(selectShippingDeviceVO.getLockDate()); + afterSalesShippingDevice.setLockDateFlag(selectShippingDeviceVO.getLockDateFlag()); + afterSalesShippingDevice.setWastageExpireDate(selectShippingDeviceVO.getWastageExpireDate()); + afterSalesShippingDevice.setComponentGuaranteeDate(selectShippingDeviceVO.getComponentGuaranteeDate()); + afterSalesShippingDevice.setUpdateBy(loginName); + afterSalesShippingDevice.setUpdateTime(new Date()); + int updateShippingDeviceResult = shippingDeviceMapper.updateAfterSalesShippingDevice(afterSalesShippingDevice); + if (updateShippingDeviceResult <= 0){ + throw new BusinessException("更新出货设备数据失败"); + } + + } + + //设置出库单为待业务确认发货 + warehouseOutOrder.setWarehouseOutStatus("4"); + + //更新销售管理销售出库的出货状态 待业务确认发货 + SysSalesShippingInform sysSalesShippingInform = new SysSalesShippingInform(); + sysSalesShippingInform.setOutOrderCode(warehouseOutOrder.getOutOrderCode()); + sysSalesShippingInform.setWarehouseOutStatus("4"); + sysSalesShippingInform.setUpdateBy(loginName); + sysSalesShippingInform.setUpdateTime(new Date()); + int updateShippingInformResult = shippingInformMapper.updateSysSalesShippingInformByOutOrderCode(sysSalesShippingInform); + if (updateShippingInformResult <= 0){ + log.warn("出库单号为空:{}",warehouseOutOrder.getOutOrderCode()); + throw new BusinessException("更新销售出库单数据失败"); + } + + + + return warehouseOutOrderMapper.updateWarehouseOutOrder(warehouseOutOrder); + + } + /* * 售后第一次维护设备信息根据设备ID删除出货设备信息 * */ diff --git a/ruoyi-admin/src/main/resources/templates/aftersales/warehouseOutOrder/maintenanceEquipmentOne.html b/ruoyi-admin/src/main/resources/templates/aftersales/warehouseOutOrder/maintenanceEquipmentOne.html index d075be63..7d3b78f4 100644 --- a/ruoyi-admin/src/main/resources/templates/aftersales/warehouseOutOrder/maintenanceEquipmentOne.html +++ b/ruoyi-admin/src/main/resources/templates/aftersales/warehouseOutOrder/maintenanceEquipmentOne.html @@ -1,7 +1,7 @@ - + @@ -238,7 +238,7 @@ var childTableId = 'child_table_'+index; $detail.html('
'); $('#'+childTableId).bootstrapTable({ - url: prefix + "/showAftersalesShippingDeviceList", + url: prefix + "/showAftersalesShippingDeviceListOne", method: 'post', sidePagination: "server", contentType: "application/x-www-form-urlencoded", diff --git a/ruoyi-admin/src/main/resources/templates/aftersales/warehouseOutOrder/maintenanceEquipmentTwo.html b/ruoyi-admin/src/main/resources/templates/aftersales/warehouseOutOrder/maintenanceEquipmentTwo.html new file mode 100644 index 00000000..e1f67e66 --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/aftersales/warehouseOutOrder/maintenanceEquipmentTwo.html @@ -0,0 +1,405 @@ + + + + + + + + +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+
+ + +
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+

物料信息

+
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/aftersales/warehouseOutOrder/warehouseOutOrder.html b/ruoyi-admin/src/main/resources/templates/aftersales/warehouseOutOrder/warehouseOutOrder.html index fcc650d1..998b0854 100644 --- a/ruoyi-admin/src/main/resources/templates/aftersales/warehouseOutOrder/warehouseOutOrder.html +++ b/ruoyi-admin/src/main/resources/templates/aftersales/warehouseOutOrder/warehouseOutOrder.html @@ -66,7 +66,7 @@ var removeFlag = [[${@permission.hasPermi('aftersales:warehouseOutOrder:remove')}]]; var maintenanceEquipmentOneFlag = [[${@permission.hasPermi('aftersales:warehouseOutOrder:maintenanceEquipmentOne')}]]; - + var maintenanceEquipmentTwoFlag = [[${@permission.hasPermi('aftersales:warehouseOutOrder:maintenanceEquipmentTwo')}]]; var warehouseOutStatusDatas = [[${@dict.getType('warehouse_out_status')}]]; var warehouseOrderTypeDatas = [[${@dict.getType('warehouse_order_type')}]]; @@ -179,6 +179,9 @@ if (row.warehouseOutStatus== "1"){ actions.push('维护设备 '); } + if (row.warehouseOutStatus== "3"){ + actions.push('维护设备 '); + } return actions.join(''); } }] @@ -188,20 +191,23 @@ /*详情*/ function detail(outOrderId) { - // 在这里编写派单操作的逻辑,使用传入的aftersalesOrderId参数 - // 示例逻辑: var url = ctx + 'aftersales/warehouseOutOrder/detail/'+outOrderId; $.modal.open("详情",url); } /*售后第一次维护设备*/ function maintenanceEquipmentOne(outOrderId) { - // 在这里编写派单操作的逻辑,使用传入的aftersalesOrderId参数 - // 示例逻辑: var url = ctx + 'aftersales/warehouseOutOrder/maintenanceEquipmentOne/'+outOrderId; $.modal.open("售后第一次维护设备",url); } + + /*售后第二次维护设备*/ + function maintenanceEquipmentTwo(outOrderId) { + var url = ctx + 'aftersales/warehouseOutOrder/maintenanceEquipmentTwo/'+outOrderId; + $.modal.open("售后第二次维护设备",url); + } + \ No newline at end of file