From da2c594ade5d69621dd11a13bb758477e2dc079e Mon Sep 17 00:00:00 2001 From: “djh” <“3298565835@qq.com”> Date: 星期三, 07 五月 2025 15:57:51 +0800 Subject: [PATCH] 危化品新版修改 --- hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/HzProductEntryRecordServiceImpl.java | 51 ++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 36 insertions(+), 15 deletions(-) diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/HzProductEntryRecordServiceImpl.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/HzProductEntryRecordServiceImpl.java index 38d041e..cb70f0f 100644 --- a/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/HzProductEntryRecordServiceImpl.java +++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/HzProductEntryRecordServiceImpl.java @@ -15,14 +15,8 @@ import com.gkhy.hazmat.common.utils.PageUtils; import com.gkhy.hazmat.common.utils.SecurityUtils; import com.gkhy.hazmat.common.utils.StringUtils; -import com.gkhy.hazmat.system.domain.HzProduct; -import com.gkhy.hazmat.system.domain.HzProductBasic; -import com.gkhy.hazmat.system.domain.HzProductEntryRecord; -import com.gkhy.hazmat.system.domain.HzProductWarehouseRecord; -import com.gkhy.hazmat.system.mapper.HzProductBasicMapper; -import com.gkhy.hazmat.system.mapper.HzProductEntryRecordMapper; -import com.gkhy.hazmat.system.mapper.HzProductMapper; -import com.gkhy.hazmat.system.mapper.HzProductWarehouseRecordMapper; +import com.gkhy.hazmat.system.domain.*; +import com.gkhy.hazmat.system.mapper.*; import com.gkhy.hazmat.system.service.HzProductEntryRecordService; import com.gkhy.hazmat.system.service.HzProductService; import org.springframework.beans.factory.annotation.Autowired; @@ -56,11 +50,13 @@ private HzProductWarehouseRecordMapper productWarehouseRecordMapper; @Autowired private CustomEventPublisher customEventPublisher; + @Autowired + private SysCompanyMapper companyMapper; @Override public CommonPage selectEntryRecordList(HzProductEntryRecord entryRecord) { SysUser currentUser = SecurityUtils.getLoginUser().getUser(); - if (!currentUser.getUserType().equals(UserTypeEnum.SYSTEM_USER.getCode())) { + if (!currentUser.getUserType().equals(UserTypeEnum.SYSTEM_USER.getCode())&&!currentUser.getUserType().equals(UserTypeEnum.CHECK_USER.getCode())) { entryRecord.setCompanyId(currentUser.getCompanyId()); } PageUtils.startPage(); @@ -87,6 +83,9 @@ if(productBasic==null){ throw new ApiException("成品基础数据不存在"); } + if(entryRecord.getNum()>productBasic.getMaxEntry()){ + throw new ApiException("数量超过单次入库最大数量<"+productBasic.getMaxEntry()+">"); + } entryRecord.setCompanyId(currentUser.getCompanyId()); entryRecord.setCreateBy(currentUser.getUsername()); checkUserAllowed(null,currentUser); @@ -103,11 +102,17 @@ } public void generateCode(HzProductEntryRecord entryRecord){ + SysCompany company=companyMapper.selectById(entryRecord.getCompanyId()); + String code=company.getCode(); + if(StringUtils.isBlank(code)){ + throw new ApiException("公司两位编码为空"); + } String currentDate= DateUtil.format(new Date(), DatePattern.PURE_DATE_FORMAT); StringBuilder prefixBuilder=new StringBuilder().append(CodePrexEnum.GOOD.getCode()) + .append(code) .append(currentDate); HzProductEntryRecord per=baseMapper.selectLastEntryRecord(prefixBuilder.toString(),entryRecord.getCompanyId()); - int startCode=0; + int startCode=1; int endCode=startCode+entryRecord.getNum()-1; if(per!=null){ startCode=per.getEndCode()+1; @@ -155,6 +160,7 @@ //新增危化品变动记录 HzProductWarehouseRecord warehouseRecord = new HzProductWarehouseRecord() .setWarehouseId(entryRecord.getWarehouseId()) + .setCupboardId(entryRecord.getCupboardId()) .setBasicId(productBasic.getId()) .setNum(entryRecord.getNum()) .setCompanyId(currentUser.getCompanyId()) @@ -168,6 +174,7 @@ String lastCode= StringUtils.addZeroForNum(String.valueOf(i),4); String code=String.format("%s%s",entryRecord.getCodePrex(),lastCode); productList.add(new HzProduct().setWarehouseId(entryRecord.getWarehouseId()) + .setCupboardId(entryRecord.getCupboardId()) .setBasicId(entryRecord.getBasicId()) .setEntryId(entryRecord.getId()) .setRemaining(productBasic.getMetering()) @@ -208,10 +215,18 @@ public int updateEntryRecord(HzProductEntryRecord entryRecord) { SysUser currentUser = SecurityUtils.getLoginUser().getUser(); checkUserAllowed(entryRecord,currentUser); + HzProductBasic productBasic=productBasicMapper.selectById(entryRecord.getBasicId()); + if(productBasic==null){ + throw new ApiException("成品基础数据不存在"); + } + if(entryRecord.getNum()>productBasic.getMaxEntry()){ + throw new ApiException("数量超过单次入库最大数量<"+productBasic.getMaxEntry()+">"); + } HzProductEntryRecord existEr=baseMapper.selectById(entryRecord.getId()); if(existEr.getState().equals(EntryStateEnum.ENTER.getCode())){ throw new ApiException("已经入库,不能再修改"); } + entryRecord.setUpdateBy(currentUser.getUsername()); int row=baseMapper.updateById(entryRecord); if(row<1){ @@ -221,15 +236,19 @@ } @Override - public CommonPage selectProductListByEntryId(Long entryId) { + public CommonPage selectProductListByEntryId(Long entryId,Long companyId) { SysUser currentUser = SecurityUtils.getLoginUser().getUser(); HzProductEntryRecord entryRecord=getById(entryId); if(entryRecord==null){ throw new ApiException("入库信息不存在"); } checkUserAllowed(entryRecord,currentUser); - //设置分表id - IdTableNameHandler.setCurrentId(currentUser.getCompanyId()); + if (currentUser.getUserType().equals(UserTypeEnum.CHECK_USER.getCode())){ + IdTableNameHandler.setCurrentId(companyId); + }else { + //设置分表id + IdTableNameHandler.setCurrentId(currentUser.getCompanyId()); + } PageUtils.startPage(); List<HzProduct> productList = productMapper.selectProductList(new HzProduct().setEntryId(entryId)); IdTableNameHandler.removeCurrentId(); @@ -242,8 +261,10 @@ throw new ApiException("管理员不能操作"); } if(entryRecord!=null){ - if(!Objects.equals(user.getCompanyId(), entryRecord.getCompanyId())){ - throw new ApiException("无权限操作其他企业数据"); + if (!user.getUserType().equals(UserTypeEnum.CHECK_USER.getCode())){ + if(!Objects.equals(user.getCompanyId(), entryRecord.getCompanyId())){ + throw new ApiException("无权限操作其他企业数据"); + } } } } -- Gitblit v1.9.2