From 5d6d41aab59e311e590155c8addc4e70a41c0a0f Mon Sep 17 00:00:00 2001 From: liuxiaoxu <1793812695@qq.com> Date: Tue, 31 Dec 2024 09:53:34 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[fix]=20=E5=9F=BA=E7=A1=80=E8=B5=84?= =?UTF-8?q?=E6=96=99=20=E9=80=9A=E7=94=A8=E4=B8=9A=E5=8A=A1=E5=B8=B8?= =?UTF-8?q?=E9=87=8F=E7=B1=BB=E6=96=B0=E5=A2=9E=E9=94=80=E5=94=AE=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=AE=A2=E6=88=B7=E8=B5=84=E6=96=99=E5=85=B6=E4=BB=96?= =?UTF-8?q?=E8=81=94=E7=B3=BB=E4=BA=BA=E5=AD=97=E6=AE=B5=E4=B8=BA10=20?= =?UTF-8?q?=E9=94=80=E5=94=AE=E7=AE=A1=E7=90=86=E5=AE=A2=E6=88=B7=E8=B5=84?= =?UTF-8?q?=E6=96=99=E5=85=B6=E4=BB=96=E8=81=94=E7=B3=BB=E4=BA=BA=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=92=8C=E4=BF=AE=E6=94=B9=E6=96=B9=E6=B3=95=E5=BC=95?= =?UTF-8?q?=E5=85=A5=E9=80=9A=E7=94=A8=E4=BF=AE=E6=94=B9=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=EF=BC=8C=E8=AE=B0=E5=BD=95=E4=BF=AE=E6=94=B9=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=20=E9=94=80=E5=94=AE=E7=AE=A1=E7=90=86=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E8=B5=84=E6=96=99=E5=85=B6=E4=BB=96=E8=81=94=E7=B3=BB=E4=BA=BA?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=96=B0=E5=A2=9E=E4=BF=AE=E6=94=B9=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E6=96=B9=E6=B3=95=20=E5=85=AC=E5=8F=B8=E9=93=B6?= =?UTF-8?q?=E8=A1=8C=E8=B4=A6=E5=8F=B7=E4=BF=A1=E6=81=AF=E3=80=81=E7=89=A9?= =?UTF-8?q?=E6=96=99=E4=BF=A1=E6=81=AF=E3=80=81=E4=BB=93=E5=BA=93=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E3=80=81=E7=94=9F=E4=BA=A7=E5=9E=8B=E5=8F=B7=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E3=80=81=E5=85=AC=E5=8F=B8=E4=BF=A1=E6=81=AF=E3=80=81?= =?UTF-8?q?=E5=85=B6=E4=BB=96=E8=81=94=E7=B3=BB=E4=BA=BA=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E9=83=BD=E5=8A=A0=E4=B8=8A=E5=88=A0=E9=99=A4=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E4=BF=AE=E6=94=B9=E8=AE=B0=E5=BD=95=E7=9A=84=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ErpMaterialServiceImpl.java | 9 ++++ .../com/ruoyi/system/domain/SysContacts.java | 13 ++++++ .../impl/BaseExchangeRateServiceImpl.java | 8 ++++ .../impl/SysCompanyBankInfoServiceImpl.java | 13 ++++-- .../SysCompanyInformationServiceImpl.java | 14 ++++-- .../service/impl/SysContactsServiceImpl.java | 43 +++++++++++++++++-- .../service/impl/SysCustomerServiceImpl.java | 8 ++++ .../impl/SysProductModelServiceImpl.java | 10 +++++ .../templates/system/contacts/contacts.html | 21 ++++++++- .../constant/BusinessKeysConstants.java | 3 ++ 10 files changed, 132 insertions(+), 10 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpMaterialServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpMaterialServiceImpl.java index 0a8e99b1..bce304fb 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpMaterialServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpMaterialServiceImpl.java @@ -491,6 +491,15 @@ public class ErpMaterialServiceImpl implements IErpMaterialService @Override public int deleteErpMaterialByIds(String ids) { + + SysDiffLog sysDiffLog = new SysDiffLog(); + sysDiffLog.setBusinessId(Long.valueOf(ids)); + sysDiffLog.setBusinessKey(BusinessKeysConstants.ERP_MATERIAL); + int deleteSysDiffLogByBusiness = diffLogService.deleteSysDiffLogByBusiness(sysDiffLog); + if (deleteSysDiffLogByBusiness <= 0){ + throw new BusinessException("删除物料信息数据修改记录失败"); + } + return erpMaterialMapper.deleteErpMaterialByIds(Convert.toStrArray(ids)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysContacts.java b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysContacts.java index a921b2ad..bce1f8fa 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysContacts.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysContacts.java @@ -1,5 +1,6 @@ package com.ruoyi.system.domain; +import com.ruoyi.common.annotation.FieldCompare; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; @@ -27,50 +28,62 @@ public class SysContacts extends BaseEntity private String enterpriseName; /** 姓名 */ + @FieldCompare(chineseName = "姓名") @Excel(name = "姓名") private String customerName; /** 职务 */ + @FieldCompare(chineseName = "职务") @Excel(name = "职务") private String customerPosition; /** 生日 */ + @FieldCompare(chineseName = "生日") @Excel(name = "生日") private String customerBirthday; /** 办公电话 */ + @FieldCompare(chineseName = "办公电话") @Excel(name = "办公电话") private String officeTelephone; /** 家中电话 */ + @FieldCompare(chineseName = "家中电话") @Excel(name = "家中电话") private String homePhone; /** 手机号 */ + @FieldCompare(chineseName = "手机号") @Excel(name = "手机号") private String cellPhone; /** 传真 */ + @FieldCompare(chineseName = "传真") @Excel(name = "传真") private String customerFax; /** 备用电话1 */ + @FieldCompare(chineseName = "备用电话1") @Excel(name = "备用电话1") private String standbyTelephoneOne; /** 备用电话2 */ + @FieldCompare(chineseName = "备用电话2") @Excel(name = "备用电话2") private String standbyTelephoneTwo; /** 常用Email */ + @FieldCompare(chineseName = "常用Email") @Excel(name = "常用Email") private String commonEmail; /** 备用Email */ + @FieldCompare(chineseName = "备用Email") @Excel(name = "备用Email") private String alternateEmail; /** 备注 */ + @FieldCompare(chineseName = "备注") @Excel(name = "备注") private String customerRemarks; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseExchangeRateServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseExchangeRateServiceImpl.java index 247431ec..e499d5ff 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseExchangeRateServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseExchangeRateServiceImpl.java @@ -156,6 +156,14 @@ public class BaseExchangeRateServiceImpl implements IBaseExchangeRateService @Override public int deleteBaseExchangeRateByIds(String ids) { + SysDiffLog sysDiffLog = new SysDiffLog(); + sysDiffLog.setBusinessId(Long.valueOf(ids)); + sysDiffLog.setBusinessKey(BusinessKeysConstants.SYS_EXCHANGE_RATE); + int deleteSysDiffLogByBusiness = diffLogService.deleteSysDiffLogByBusiness(sysDiffLog); + if (deleteSysDiffLogByBusiness <= 0){ + throw new BusinessException("删除汇率数据修改记录失败"); + } + return baseExchangeRateMapper.deleteBaseExchangeRateByIds(Convert.toStrArray(ids)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCompanyBankInfoServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCompanyBankInfoServiceImpl.java index 885cc7b5..d98f5911 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCompanyBankInfoServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCompanyBankInfoServiceImpl.java @@ -78,7 +78,7 @@ public class SysCompanyBankInfoServiceImpl implements ISysCompanyBankInfoService sysDiffLog.setBusinessKey(BusinessKeysConstants.SYS_COMPANY_BANK_INFO); int insertSysDiffLog = diffLogService.insertSysDiffLog(sysDiffLog); if (insertSysDiffLog <= 0){ - throw new BusinessException("新增仓库信息数据修改记录失败"); + throw new BusinessException("新增公司银行账户信息数据修改记录失败"); } return result; } @@ -100,9 +100,9 @@ public class SysCompanyBankInfoServiceImpl implements ISysCompanyBankInfoService SysCompanyBankInfo oldSysCompanyBankInfo = sysCompanyBankInfoMapper.selectSysCompanyBankInfoById(id); List compare = FieldCompareUtil.compare(SysCompanyBankInfo.class, sysCompanyBankInfo, oldSysCompanyBankInfo); if (!CollectionUtils.isEmpty(compare)){ - int updateSysDiffLog = diffLogService.updateSysDiffLogByBusiness(id,BusinessKeysConstants.STOCK_INFO,compare); + int updateSysDiffLog = diffLogService.updateSysDiffLogByBusiness(id,BusinessKeysConstants.SYS_COMPANY_BANK_INFO,compare); if (updateSysDiffLog <= 0){ - throw new RuntimeException("修改仓库信息数据修改记录失败"); + throw new RuntimeException("修改公司银行账户信息数据修改记录失败"); } } return sysCompanyBankInfoMapper.updateSysCompanyBankInfo(sysCompanyBankInfo); @@ -117,6 +117,13 @@ public class SysCompanyBankInfoServiceImpl implements ISysCompanyBankInfoService @Override public int deleteSysCompanyBankInfoByIds(String ids) { + SysDiffLog sysDiffLog = new SysDiffLog(); + sysDiffLog.setBusinessId(Long.valueOf(ids)); + sysDiffLog.setBusinessKey(BusinessKeysConstants.SYS_COMPANY_BANK_INFO); + int deleteSysDiffLogByBusiness = diffLogService.deleteSysDiffLogByBusiness(sysDiffLog); + if (deleteSysDiffLogByBusiness <= 0){ + throw new BusinessException("删除公司银行账户信息数据修改记录失败"); + } return sysCompanyBankInfoMapper.deleteSysCompanyBankInfoByIds(Convert.toStrArray(ids)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCompanyInformationServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCompanyInformationServiceImpl.java index faff91ba..2f987efb 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCompanyInformationServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCompanyInformationServiceImpl.java @@ -83,7 +83,7 @@ public class SysCompanyInformationServiceImpl implements ISysCompanyInformationS sysDiffLog.setBusinessKey(BusinessKeysConstants.SYS_COMPANY_INFORMATION); int insertSysDiffLog = diffLogService.insertSysDiffLog(sysDiffLog); if (insertSysDiffLog <= 0){ - throw new BusinessException("新增仓库信息数据修改记录失败"); + throw new BusinessException("新增公司信息数据修改记录失败"); } return result; } @@ -103,9 +103,9 @@ public class SysCompanyInformationServiceImpl implements ISysCompanyInformationS SysCompanyInformation oldCompanyInformation = sysCompanyInformationMapper.selectSysCompanyInformationById(companyId); List compare = FieldCompareUtil.compare(SysCompanyInformation.class, sysCompanyInformation, oldCompanyInformation); if (!CollectionUtils.isEmpty(compare)){ - int updateSysDiffLog = diffLogService.updateSysDiffLogByBusiness(companyId,BusinessKeysConstants.STOCK_INFO,compare); + int updateSysDiffLog = diffLogService.updateSysDiffLogByBusiness(companyId,BusinessKeysConstants.SYS_COMPANY_INFORMATION,compare); if (updateSysDiffLog <= 0){ - throw new RuntimeException("修改仓库信息数据修改记录失败"); + throw new BusinessException("修改公司信息数据修改记录失败"); } } sysCompanyInformation.setUpdateInfoTime(DateUtils.getDate()); @@ -121,6 +121,14 @@ public class SysCompanyInformationServiceImpl implements ISysCompanyInformationS @Override public int deleteSysCompanyInformationByIds(String ids) { + SysDiffLog sysDiffLog = new SysDiffLog(); + sysDiffLog.setBusinessId(Long.valueOf(ids)); + sysDiffLog.setBusinessKey(BusinessKeysConstants.SYS_COMPANY_INFORMATION); + int deleteSysDiffLogByBusiness = diffLogService.deleteSysDiffLogByBusiness(sysDiffLog); + if (deleteSysDiffLogByBusiness <= 0){ + throw new BusinessException("删除公司信息数据修改记录失败"); + } + return sysCompanyInformationMapper.deleteSysCompanyInformationByIds(Convert.toStrArray(ids)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysContactsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysContactsServiceImpl.java index a84b9ccb..d77df769 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysContactsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysContactsServiceImpl.java @@ -3,15 +3,24 @@ package com.ruoyi.system.service.impl; import java.util.Date; import java.util.List; +import com.ruoyi.common.constant.BusinessKeysConstants; +import com.ruoyi.common.core.domain.entity.SysFieldDifferent; import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.exception.BusinessException; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.FieldCompareUtil; import com.ruoyi.common.utils.ShiroUtils; +import com.ruoyi.system.domain.SysCompanyBankInfo; +import com.ruoyi.system.domain.SysDiffLog; +import com.ruoyi.system.service.ISysDiffLogService; +import lombok.SneakyThrows; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.system.mapper.SysContactsMapper; import com.ruoyi.system.domain.SysContacts; import com.ruoyi.system.service.ISysContactsService; import com.ruoyi.common.core.text.Convert; +import org.springframework.util.CollectionUtils; /** * 联系人明细Service业务层处理 @@ -25,6 +34,9 @@ public class SysContactsServiceImpl implements ISysContactsService @Autowired private SysContactsMapper sysContactsMapper; + @Autowired + private ISysDiffLogService diffLogService; + /** * 查询联系人明细 * @@ -66,9 +78,16 @@ public class SysContactsServiceImpl implements ISysContactsService String loginName = ShiroUtils.getLoginName(); sysContacts.setCreateTime(DateUtils.getNowDate()); sysContacts.setCreateBy(loginName); - int id = sysContactsMapper.insertSysContacts(sysContacts); - sysContacts.getContactid(); - return id; + int result = sysContactsMapper.insertSysContacts(sysContacts); + Long contactid = sysContacts.getContactid(); + SysDiffLog sysDiffLog = new SysDiffLog(); + sysDiffLog.setBusinessId(contactid); + sysDiffLog.setBusinessKey(BusinessKeysConstants.SYS_OTHER_CONTACTS); + int insertSysDiffLog = diffLogService.insertSysDiffLog(sysDiffLog); + if (insertSysDiffLog <= 0){ + throw new BusinessException("新增其他联系人信息数据修改记录失败"); + } + return result; } /** @@ -77,11 +96,21 @@ public class SysContactsServiceImpl implements ISysContactsService * @param sysContacts 联系人明细 * @return 结果 */ + @SneakyThrows @Override public int updateSysContacts(SysContacts sysContacts) { sysContacts.setUpdateBy(ShiroUtils.getLoginName()); sysContacts.setUpdateTime(DateUtils.getNowDate()); + Long contactid = sysContacts.getContactid(); + SysContacts oldSysContacts = sysContactsMapper.selectSysContactsById(contactid); + List compare = FieldCompareUtil.compare(SysContacts.class, sysContacts, oldSysContacts); + if (!CollectionUtils.isEmpty(compare)){ + int updateSysDiffLog = diffLogService.updateSysDiffLogByBusiness(contactid,BusinessKeysConstants.SYS_OTHER_CONTACTS,compare); + if (updateSysDiffLog <= 0){ + throw new BusinessException("修改其他联系人信息数据修改记录失败"); + } + } return sysContactsMapper.updateSysContacts(sysContacts); } @@ -94,6 +123,14 @@ public class SysContactsServiceImpl implements ISysContactsService @Override public int deleteSysContactsByIds(String ids) { + SysDiffLog sysDiffLog = new SysDiffLog(); + sysDiffLog.setBusinessId(Long.valueOf(ids)); + sysDiffLog.setBusinessKey(BusinessKeysConstants.SYS_OTHER_CONTACTS); + int deleteSysDiffLogByBusiness = diffLogService.deleteSysDiffLogByBusiness(sysDiffLog); + if (deleteSysDiffLogByBusiness <= 0){ + throw new BusinessException("删除其他联系人信息数据修改记录失败"); + } + return sysContactsMapper.deleteSysContactsByIds(Convert.toStrArray(ids)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerServiceImpl.java index 720fb9bd..79048e93 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerServiceImpl.java @@ -416,6 +416,7 @@ public class SysCustomerServiceImpl implements ISysCustomerService @Override public int deleteSysCustomerByIds(String[] ids) { + return sysCustomerMapper.deleteSysCustomerByIds(ids); } @@ -428,6 +429,13 @@ public class SysCustomerServiceImpl implements ISysCustomerService @Override public int deleteSysCustomerByIds(String ids) { + SysDiffLog sysDiffLog = new SysDiffLog(); + sysDiffLog.setBusinessId(Long.valueOf(ids)); + sysDiffLog.setBusinessKey(BusinessKeysConstants.SYS_CUSTOMER); + int deleteSysDiffLogByBusiness = diffLogService.deleteSysDiffLogByBusiness(sysDiffLog); + if (deleteSysDiffLogByBusiness <= 0){ + throw new BusinessException("删除客户信息数据修改记录失败"); + } return sysCustomerMapper.deleteSysCustomerByIds(Convert.toStrArray(ids)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysProductModelServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysProductModelServiceImpl.java index c44650b2..b15ca453 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysProductModelServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysProductModelServiceImpl.java @@ -4,6 +4,7 @@ import com.ruoyi.common.constant.BusinessKeysConstants; import com.ruoyi.common.core.domain.entity.SysFieldDifferent; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.core.text.Convert; +import com.ruoyi.common.exception.BusinessException; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.FieldCompareUtil; import com.ruoyi.common.utils.ShiroUtils; @@ -156,6 +157,15 @@ public class SysProductModelServiceImpl implements ISysProductModelService @Override public int deleteSysProductModelByIds(String ids) { + + SysDiffLog sysDiffLog = new SysDiffLog(); + sysDiffLog.setBusinessId(Long.valueOf(ids)); + sysDiffLog.setBusinessKey(BusinessKeysConstants.PRODUCT_MODEL); + int deleteSysDiffLogByBusiness = diffLogService.deleteSysDiffLogByBusiness(sysDiffLog); + if (deleteSysDiffLogByBusiness <= 0){ + throw new BusinessException("删除产品型号管理数据修改记录失败"); + } + return sysProductModelMapper.deleteSysProductModelByIds(Convert.toStrArray(ids)); } diff --git a/ruoyi-admin/src/main/resources/templates/system/contacts/contacts.html b/ruoyi-admin/src/main/resources/templates/system/contacts/contacts.html index 8de56471..2dc8cb0a 100644 --- a/ruoyi-admin/src/main/resources/templates/system/contacts/contacts.html +++ b/ruoyi-admin/src/main/resources/templates/system/contacts/contacts.html @@ -61,6 +61,15 @@ fixedColumns:true, fixedRightNumber:1, modalName: "联系人明细", + onDblClickCell: function(field, value, row, $element) { + var businessId = row.pid; + var businessKey = "1"; + if(field == 'updateTime'){ + var url = ctx + "system/diffLog/getDiffDataList/" + businessId + "/" + businessKey; + $.modal.open("数据修改记录", url); + } + + }, //双击单列字段触发事件 columns: [{ checkbox: true }, @@ -126,7 +135,17 @@ title: '备注' }, {title: '录入时间',field: 'createTime'}, - {title: '更新时间',field: 'updateTime'}, + { + title: '上次更新时间', + field: 'updateTime', + formatter: function(value, row, index) { + if (value) { + return '' + value + ''; + } else { + return value; + } + } + }, {title: '创建人',field: 'createBy'}, {title: '更新人',field: 'updateBy'}, { diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/BusinessKeysConstants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/BusinessKeysConstants.java index 968b109a..3688d647 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/BusinessKeysConstants.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/BusinessKeysConstants.java @@ -38,4 +38,7 @@ public class BusinessKeysConstants { /** 基础资料公司银行账号信息*/ public static final String SYS_COMPANY_BANK_INFO = "9"; + /** 销售管理客户资料其他联系人*/ + public static final String SYS_OTHER_CONTACTS = "10"; + } From bc989be942790a521b996de36e0677926fad62f9 Mon Sep 17 00:00:00 2001 From: liuxiaoxu <1793812695@qq.com> Date: Tue, 31 Dec 2024 10:32:01 +0800 Subject: [PATCH 2/2] =?UTF-8?q?[fix]=20=E9=94=80=E5=94=AE=E7=AE=A1?= =?UTF-8?q?=E7=90=86=20=E4=BB=93=E5=BA=93=E7=AE=A1=E7=90=86=20=E5=94=AE?= =?UTF-8?q?=E5=90=8E=E7=AE=A1=E7=90=86=20=E5=94=AE=E5=90=8E=E7=BB=B4?= =?UTF-8?q?=E6=8A=A4=E8=AE=BE=E5=A4=87=E5=87=BA=E5=BA=93=E3=80=81=E9=94=80?= =?UTF-8?q?=E5=94=AE=E5=87=BA=E8=B4=A7=E9=80=9A=E7=9F=A5=E3=80=81=E4=BB=93?= =?UTF-8?q?=E5=BA=93=E5=87=BA=E5=BA=93=E5=8D=95=E3=80=81=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E9=94=80=E5=94=AE=E5=87=BA=E8=B4=A7=E9=80=9A=E7=9F=A5=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E5=AE=9E=E4=BD=93=E7=B1=BB=EF=BC=8C=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=8A=A0=E4=B8=8A13=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=94=B6=E8=B4=A7=E3=80=8114=E5=85=A8=E9=83=A8=E6=94=B6?= =?UTF-8?q?=E8=B4=A7=20=E4=BF=AE=E6=94=B9=E4=BF=9D=E5=AD=98=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E6=94=B6=E8=B4=A7=E6=96=B9=E6=B3=95=EF=BC=9A=E5=8A=A0?= =?UTF-8?q?=E4=B8=8A=E5=AF=B9=E9=94=80=E5=94=AE=E5=87=BA=E8=B4=A7=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E5=8D=95=E6=95=B0=E6=8D=AE=E5=87=BA=E5=BA=93=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E7=9A=84=E6=9B=B4=E6=96=B0=EF=BC=9A=E5=B7=B2=E6=94=B6?= =?UTF-8?q?=E8=B4=A7=E6=95=B0=E7=AD=89=E4=BA=8E=E6=9C=AC=E6=AC=A1=E5=87=BA?= =?UTF-8?q?=E8=B4=A7=E6=95=B0=EF=BC=8C=E4=B8=BA=E5=85=A8=E9=83=A8=E6=94=B6?= =?UTF-8?q?=E8=B4=A7=EF=BC=9B=E5=B7=B2=E6=94=B6=E8=B4=A7=E6=95=B0=E5=A4=A7?= =?UTF-8?q?=E4=BA=8E0=E5=B0=8F=E4=BA=8E=E6=9C=AC=E6=AC=A1=E5=87=BA?= =?UTF-8?q?=E8=B4=A7=E6=95=B0=E4=B8=BA=E9=83=A8=E5=88=86=E6=94=B6=E8=B4=A7?= =?UTF-8?q?=EF=BC=8C=E5=B7=B2=E6=94=B6=E8=B4=A7=E6=95=B0=E7=AD=89=E4=BA=8E?= =?UTF-8?q?0=E4=B8=BA=E5=BE=85=E6=94=B6=E8=B4=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../aftersales/domain/AftersalesOutOrder.java | 2 +- .../system/domain/SysSalesShippingInform.java | 2 +- .../Vo/ExportSalesShippingInformDetailVo.java | 2 +- .../SysSalesShippingInformServiceImpl.java | 31 +++++++++++++++++++ .../warehouse/domain/WarehouseOutOrder.java | 2 +- 5 files changed, 35 insertions(+), 4 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/AftersalesOutOrder.java b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/AftersalesOutOrder.java index 5007ae55..5c0648c8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/AftersalesOutOrder.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/AftersalesOutOrder.java @@ -30,7 +30,7 @@ public class AftersalesOutOrder extends BaseEntity /** 关联生产订单号 */ private String makeNo; - /** 出库状态(0待仓库准备物料、1待售后维护设备1、2待业务确认发货、3待售后维护设备2、4待出库、5部分出库、6全部出库、7已出库、8已取消、9待收货、10待验收、11部分验收、12全部验收) */ + /** 出库状态(0待仓库准备物料、1待售后维护设备1、2待业务确认发货、3待售后维护设备2、4待出库、5部分出库、6全部出库、7已出库、8已取消、9待收货、10待验收、11部分验收、12全部验收、13部分收货、14全部收货) */ @Excel(name = "出库状态",dictType = "warehouse_out_status") private String warehouseOutStatus; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysSalesShippingInform.java b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysSalesShippingInform.java index c7812146..8cdebc41 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysSalesShippingInform.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysSalesShippingInform.java @@ -27,7 +27,7 @@ public class SysSalesShippingInform extends BaseEntity @Excel(name = "出库单号", width = 20, needMerge = true) private String outOrderCode; - /** 出库状态(0待仓库准备物料、1待售后维护设备1、2待业务确认发货、3待售后维护设备2、4待出库、5部分出库、6全部出库、7已出库、8已取消) */ + /** 出库状态(0待仓库准备物料、1待售后维护设备1、2待业务确认发货、3待售后维护设备2、4待出库、5部分出库、6全部出库、7已出库、8已取消、9待收货、10待验收、11部分验收、12全部验收、13部分收货、14全部收货) */ // @Excel(name = "出库状态", readConverterExp = "0=待仓库准备物料、1待售后维护设备1、2待业务确认发货、3待售后维护设备2、4待出库、5部分出库、6全部出库、7已出库、8已取消") @Excel(name = "出库状态", dictType = "warehouse_out_status", width = 20, needMerge = true) private String warehouseOutStatus; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/ExportSalesShippingInformDetailVo.java b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/ExportSalesShippingInformDetailVo.java index ef595bdf..ecfffcaf 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/ExportSalesShippingInformDetailVo.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/ExportSalesShippingInformDetailVo.java @@ -20,7 +20,7 @@ public class ExportSalesShippingInformDetailVo { @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss") private Date createTime; - /** 出库状态(0待仓库准备物料、1待售后维护设备1、2待业务确认发货、3待售后维护设备2、4待出库、5部分出库、6全部出库、7已出库、8已取消) */ + /** 出库状态(0待仓库准备物料、1待售后维护设备1、2待业务确认发货、3待售后维护设备2、4待出库、5部分出库、6全部出库、7已出库、8已取消、9待收货、10待验收、11部分验收、12全部验收、13部分收货、14全部收货) */ // @Excel(name = "出库状态", readConverterExp = "0=待仓库准备物料、1待售后维护设备1、2待业务确认发货、3待售后维护设备2、4待出库、5部分出库、6全部出库、7已出库、8已取消") @Excel(name = "出库状态", dictType = "warehouse_out_status") private String warehouseOutStatus; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java index acba8d31..9119b451 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java @@ -564,6 +564,37 @@ public class SysSalesShippingInformServiceImpl implements ISysSalesShippingInfor processWithShippingDeviceId(withShippingDeviceIdList); } + + // 检查所有详情记录的已收货数与本次出货数对比,确定最终状态 + boolean allReceived = true; + boolean partiallyReceived = false; + + for (SysSalesShippingInformDetail detail : shippingInformDetailList) { + if (detail.getHasReceivingNum() == 0) { + allReceived = false; + } else if (detail.getHasReceivingNum() < detail.getThisShippingNum()) { + allReceived = false; + partiallyReceived = true; + } + } + if (allReceived) { + // 已收货数等于本次出货数 + sysSalesShippingInform.setWarehouseOutStatus("14");//全部收货 + } else if (partiallyReceived) { + // 已收货数大于0小于本次出货数 + sysSalesShippingInform.setWarehouseOutStatus("13");//部分收货 + } else { + // 已收货数等于0 + sysSalesShippingInform.setWarehouseOutStatus("9");//待收货 + } + + //更新销售出货通知 + int updateShippingInformResult = sysSalesShippingInformMapper.updateSysSalesShippingInformByOutOrderCode(sysSalesShippingInform); + if (updateShippingInformResult <= 0){ + throw new BusinessException("更新销售出货通知单数据失败"); + } + + //更新收货维护设备出库单数据 AftersalesOutOrder aftersalesOutOrder = new AftersalesOutOrder(); aftersalesOutOrder.setOutOrderCode(sysSalesShippingInform.getOutOrderCode()); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/domain/WarehouseOutOrder.java b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/domain/WarehouseOutOrder.java index 1d451a6a..435c0662 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/domain/WarehouseOutOrder.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/domain/WarehouseOutOrder.java @@ -30,7 +30,7 @@ public class WarehouseOutOrder extends BaseEntity /** 关联生产订单号 */ private String makeNo; - /** 出库状态(0待仓库准备物料、1待售后维护设备1、2待业务确认发货、3待售后维护设备2、4待出库、5部分出库、6全部出库、7已出库、8已取消、9待收货、10待验收、11部分验收、12全部验收) */ + /** 出库状态(0待仓库准备物料、1待售后维护设备1、2待业务确认发货、3待售后维护设备2、4待出库、5部分出库、6全部出库、7已出库、8已取消、9待收货、10待验收、11部分验收、12全部验收、13部分收货、14全部收货) */ @Excel(name = "出库状态",dictType = "warehouse_out_status") private String warehouseOutStatus;