From 9e3b086f9e0ca889f372acaa6aadecc6d2b6a8d7 Mon Sep 17 00:00:00 2001 From: binbin_pan Date: Wed, 12 Jun 2024 13:32:26 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../warehousing/Inventory/config.js | 1 + .../warehousing/Inventory/index.vue | 43 +++++++++++++++++-- 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/sgzb-ui/src/views/warehouseManage/warehousing/Inventory/config.js b/sgzb-ui/src/views/warehouseManage/warehousing/Inventory/config.js index 0e3f7a27..be132c88 100644 --- a/sgzb-ui/src/views/warehouseManage/warehousing/Inventory/config.js +++ b/sgzb-ui/src/views/warehouseManage/warehousing/Inventory/config.js @@ -19,6 +19,7 @@ export const dialogConfig = { { t_width: '', t_props: 'num', t_label: '设备数量' }, { t_width: '', t_props: 'modelName', t_label: '入库人' }, { t_width: '', t_props: 'createDate', t_label: '入库日期' }, + { t_width: '', t_props: 'remark', t_label: '备注' }, ], } diff --git a/sgzb-ui/src/views/warehouseManage/warehousing/Inventory/index.vue b/sgzb-ui/src/views/warehouseManage/warehousing/Inventory/index.vue index 3cbeec8b..045aea48 100644 --- a/sgzb-ui/src/views/warehouseManage/warehousing/Inventory/index.vue +++ b/sgzb-ui/src/views/warehouseManage/warehousing/Inventory/index.vue @@ -334,6 +334,7 @@ type="date" placeholder="请输入检验时间" style="width: 400px" + @change="changeCheckTime" /> @@ -349,6 +350,15 @@ type="date" placeholder="请输入检验时间" style="width: 13vw" + :disabled="!codeForm.thisCheckTime" + :picker-options="{ + disabledDate(time) { + if (codeForm.thisCheckTime) { + return time.getTime() < new Date(codeForm.thisCheckTime).getTime(); + } + return false; + } + }" /> @@ -523,22 +533,25 @@ :stripe="true" > - + /> --> + @@ -950,6 +963,7 @@ export default { dialogConfig, getInventoryWarehousingApi, sendParams: {}, + requiredMaCode: false, } }, created() { @@ -1224,6 +1238,13 @@ export default { this.getList() }) } else { + this.requiredMaCode = this.codeTableList.some( + (item) => !item.maCode, + ) + if (this.requiredMaCode) { + this.$message.error('设备编码不能为空') + return + } // 统一处理时间格式为 yyyy-MM-dd this.codeTableList.forEach((item) => { if (item.thisCheckTime) { @@ -1492,6 +1513,19 @@ export default { closeDialogOuter() { this.dialogConfig.outerVisible = false }, + handleMaCodeBlur(row) { + if (!row.maCode) { + this.$message.warning('设备编码不能为空') + } + }, + // 校验检验日期 + changeCheckTime() { + if (this.codeForm.thisCheckTime > this.codeForm.nextCheckTime) { + this.codeForm.nextCheckTime = '' + } else if (!this.codeForm.thisCheckTime) { + this.codeForm.nextCheckTime = '' + } + }, }, } @@ -1503,4 +1537,7 @@ export default { ::v-deep.el-form-item__label { padding: 0 20px !important; } +::v-deep .el-input-number.is-without-controls .el-input__inner { + text-align: start; +} \ No newline at end of file From bfbb2bba31c30cd509e602d885bcb60e6bc0f54f Mon Sep 17 00:00:00 2001 From: mashuai Date: Wed, 12 Jun 2024 13:46:55 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=85=A5=E5=BA=93=E7=9B=98=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/InventoryAndWarehousingMapper.java | 12 ++++++ .../InventoryAndWarehousingServiceImpl.java | 25 ++++++++++- .../InventoryAndWarehousingMapper.xml | 42 +++++++------------ 3 files changed, 52 insertions(+), 27 deletions(-) diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/InventoryAndWarehousingMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/InventoryAndWarehousingMapper.java index 6d4f16a3..df85421e 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/InventoryAndWarehousingMapper.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/InventoryAndWarehousingMapper.java @@ -73,6 +73,11 @@ public interface InventoryAndWarehousingMapper { */ int selectTaskNumByMonth(@Param("date") Date nowDate); + /** + * 根据二维码code查重 + * @param code + * @return + */ int selectByCode(String code); /** @@ -81,4 +86,11 @@ public interface InventoryAndWarehousingMapper { * @return */ List getDetails(PutInStorageBean bean); + + /** + * 根据macode查重 + * @param maCode + * @return + */ + int selectByMaCode(String maCode); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/InventoryAndWarehousingServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/InventoryAndWarehousingServiceImpl.java index d52d3695..b699ca56 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/InventoryAndWarehousingServiceImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/InventoryAndWarehousingServiceImpl.java @@ -1,5 +1,6 @@ package com.bonus.sgzb.material.service.impl; +import com.bonus.sgzb.common.core.exception.ServiceException; import com.bonus.sgzb.common.core.utils.DateUtils; import com.bonus.sgzb.common.core.web.domain.AjaxResult; import com.bonus.sgzb.common.security.utils.SecurityUtils; @@ -86,6 +87,15 @@ public class InventoryAndWarehousingServiceImpl implements InventoryAndWarehousi } } String code = genderBackCode(); + List machIneDtoList = dto.getMachIneDtoList(); + if (CollectionUtils.isNotEmpty(machIneDtoList)) { + for (MachIneDto machIneDto : machIneDtoList) { + int count = selectByMaCode(machIneDto.getMaCode()); + if (count != 0) { + throw new ServiceException("以下设备编码与库中数据存在重复,请修改后重新提交:" + machIneDto.getMaCode()); + } + } + } int res; try { //1. 判断是数量还是编号入库,保存到不同表 @@ -119,6 +129,16 @@ public class InventoryAndWarehousingServiceImpl implements InventoryAndWarehousi return AjaxResult.success(res); } + /** + * 根据设备编码code查重 + * @param maCode + * @return + */ + private int selectByMaCode(String maCode) { + return inventoryAndWarehousingMapper.selectByMaCode(maCode); + } + + /** * 根据入库单号查看详情 * @param bean @@ -154,6 +174,9 @@ public class InventoryAndWarehousingServiceImpl implements InventoryAndWarehousi machIneDto.setCreator(dto.getCreator()); machIneDto.setNum(dto.getNum()); machIneDto.setIsCode(dto.getIsCode()); + machIneDto.setUnitId(dto.getUnitId()); + machIneDto.setProId(dto.getProId()); + machIneDto.setRemarks(dto.getRemarks()); res += insertInfo(machIneDto); machIneDto.setInfoId(machIneDto.getId()); } @@ -165,7 +188,6 @@ public class InventoryAndWarehousingServiceImpl implements InventoryAndWarehousi machIneDto.setIsCode(dto.getIsCode()); machIneDto.setTypeId(dto.getTypeId()); machIneDto.setCreator(dto.getCreator()); - machIneDto.setRemarks(dto.getRemarks()); machIneDto.setPutInType(dto.getPutInType()); machIneDto.setNum(dto.getNum()); machIneDto.setCheckMan(dto.getCheckMan()); @@ -235,6 +257,7 @@ public class InventoryAndWarehousingServiceImpl implements InventoryAndWarehousi machIneDto.setCreator(dto.getCreator()); machIneDto.setIsCode(dto.getIsCode()); machIneDto.setTotalNum(total); + machIneDto.setRemarks(dto.getRemarks()); res += insertInfo(machIneDto); machIneDto.setInfoId(machIneDto.getId()); } diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/InventoryAndWarehousingMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/InventoryAndWarehousingMapper.xml index 2939d7fc..10a046bb 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/InventoryAndWarehousingMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/InventoryAndWarehousingMapper.xml @@ -25,7 +25,7 @@ MACHINE, - + REMARKS, @@ -54,8 +54,8 @@ #{maId}, - - #{remarks}, + + #{remark}, #{maCode}, @@ -81,17 +81,8 @@ UNIT_ID, PROJECT_ID, CODE, - CREATE_DATE, - - - REMARKS - - - - REMARKS - - - + REMARKS, + CREATE_DATE VALUES @@ -110,17 +101,8 @@ #{unitId}, #{proId}, #{code}, - sysdate(), - - - #{remarks} - - - - #{remark} - - - + #{remarks}, + sysdate() @@ -262,7 +244,8 @@ mt2.type_name as typeName, mt.type_name as typeModelName, su.user_name as modelName, - pisi.CREATE_DATE as createDate + pisi.CREATE_DATE as createDate, + pisd.REMARKS as remark FROM ma_type_put_in_storage_info pisi LEFT JOIN ma_type_put_in_storage_details pisd on pisi.id = pisd.INFO LEFT JOIN bm_project_lot lot on lot.lot_id = pisi.PROJECT_ID @@ -286,4 +269,11 @@ order by pisi.CREATE_DATE desc + \ No newline at end of file From 490751d1438fa07d922e8f25a21aa2b632edf222 Mon Sep 17 00:00:00 2001 From: binbin_pan Date: Wed, 12 Jun 2024 14:53:09 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=A3=80=E9=AA=8C?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../warehousing/Inventory/config.js | 2 +- .../warehousing/Inventory/index.vue | 29 +++++++++++++++++-- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/sgzb-ui/src/views/warehouseManage/warehousing/Inventory/config.js b/sgzb-ui/src/views/warehouseManage/warehousing/Inventory/config.js index be132c88..fe6181ab 100644 --- a/sgzb-ui/src/views/warehouseManage/warehousing/Inventory/config.js +++ b/sgzb-ui/src/views/warehouseManage/warehousing/Inventory/config.js @@ -16,7 +16,7 @@ export const dialogConfig = { { t_width: '', t_props: 'typeName', t_label: '设备类型' }, { t_width: '', t_props: 'typeModelName', t_label: '规格型号' }, { t_width: '', t_props: 'maCode', t_label: '设备编码' }, - { t_width: '', t_props: 'num', t_label: '设备数量' }, + { t_width: '', t_props: 'num', t_label: '入库数量' }, { t_width: '', t_props: 'modelName', t_label: '入库人' }, { t_width: '', t_props: 'createDate', t_label: '入库日期' }, { t_width: '', t_props: 'remark', t_label: '备注' }, diff --git a/sgzb-ui/src/views/warehouseManage/warehousing/Inventory/index.vue b/sgzb-ui/src/views/warehouseManage/warehousing/Inventory/index.vue index 045aea48..04e6440c 100644 --- a/sgzb-ui/src/views/warehouseManage/warehousing/Inventory/index.vue +++ b/sgzb-ui/src/views/warehouseManage/warehousing/Inventory/index.vue @@ -354,9 +354,11 @@ :picker-options="{ disabledDate(time) { if (codeForm.thisCheckTime) { - return time.getTime() < new Date(codeForm.thisCheckTime).getTime(); + let today = new Date() + today.setHours(0, 0, 0, 0) + return time.getTime() < today.getTime() || time.getTime() < new Date(codeForm.thisCheckTime).getTime() } - return false; + return false } }" /> @@ -602,6 +604,7 @@ type="date" placeholder="请输入检验时间" style="width: 170px" + @change="changeCheckTimeRow(row)" > @@ -617,6 +620,17 @@ type="date" placeholder="请输入下次检验时间" style="width: 170px" + :disabled="!row.thisCheckTime" + :picker-options="{ + disabledDate(time) { + if (row.thisCheckTime) { + let today = new Date() + today.setHours(0, 0, 0, 0) + return time.getTime() < today.getTime() || time.getTime() < new Date(row.thisCheckTime).getTime() + } + return false + } + }" > @@ -1520,12 +1534,21 @@ export default { }, // 校验检验日期 changeCheckTime() { - if (this.codeForm.thisCheckTime > this.codeForm.nextCheckTime) { + if (this.codeForm.nextCheckTime && this.codeForm.thisCheckTime > this.codeForm.nextCheckTime) { this.codeForm.nextCheckTime = '' + this.$message.warning('下次检验日期不能早于检验日期!') } else if (!this.codeForm.thisCheckTime) { this.codeForm.nextCheckTime = '' } }, + changeCheckTimeRow(row) { + if (row.nextCheckTime && row.thisCheckTime > row.nextCheckTime) { + row.nextCheckTime = '' + this.$message.warning('下次检验日期不能早于检验日期!') + } else if (!row.thisCheckTime) { + row.nextCheckTime = '' + } + }, }, }