From 7d8883a8d8a6f3d3a2b1ec2e46255b88dd3bceee Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Fri, 22 Apr 2022 18:47:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DummyInventoryBaseEOServiceImpl.java | 77 +++++++++++++++++-- 1 file changed, 72 insertions(+), 5 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java index 8d40fdc4a..9531c3121 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java @@ -6,19 +6,25 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.system.vo.LoginUser; +import com.jero.modules.dummy.entity.DummyContentChangeEO; import com.jero.modules.dummy.entity.DummyInventoryBaseEO; +import com.jero.modules.dummy.entity.DummyInventoryInfoEO; import com.jero.modules.dummy.entity.DummyReadEO; import com.jero.modules.dummy.enums.InventoryStateEnum; import com.jero.modules.dummy.enums.ReadFlagEnum; import com.jero.modules.dummy.mapper.DummyInventoryBaseEOMapper; +import com.jero.modules.dummy.service.IDummyContentChangeEOService; import com.jero.modules.dummy.service.IDummyInventoryBaseEOService; +import com.jero.modules.dummy.service.IDummyInventoryInfoEOService; import com.jero.modules.dummy.service.IDummyReadEOService; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; +import net.sf.json.JSONArray; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -38,6 +44,10 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl发布 2-->撤回 if(InventoryStateEnum.ISSUE.getValue().equals(dummyInventoryBaseEO.getState())){ - //发布,分别对比基础表数据和详情表数据 + //先判断第一次发布的时候是否保存过数据 + LambdaQueryWrapper wrapper =new LambdaQueryWrapper<>(); + wrapper.in(DummyContentChangeEO::getConnectId,dummyInventoryBaseEO.getId()); + List dummyContentChangeEOList = iDummyContentChangeEOService.list(wrapper); + //基础数据 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(DummyInventoryBaseEO::getId,dummyInventoryBaseEO.getId()); + List dummyInventoryBaseEOList = this.list(queryWrapper); + //详情数据 + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(DummyInventoryInfoEO::getDummyInventoryBaseId,dummyInventoryBaseEO.getId()); + List dummyInventoryInfoEOList = iDummyInventoryInfoEOService.list(lambdaQueryWrapper); - //1.基础表数据对比 + if(dummyContentChangeEOList.size() == 0){ + //没有添加过需要进行第一次添加 + List list = new ArrayList<>(); + if(dummyInventoryBaseEOList.size() != 0){ + String base = JSONArray.fromObject(dummyInventoryBaseEOList).toString(); + DummyContentChangeEO dummyContentChangeEOBase = new DummyContentChangeEO(); + dummyContentChangeEOBase.setConnectId(dummyInventoryBaseEO.getId()); + dummyContentChangeEOBase.setContentJson(base); + list.add(dummyContentChangeEOBase); + } + if(dummyInventoryInfoEOList.size() != 0){ + String info = JSONArray.fromObject(dummyInventoryInfoEOList).toString(); + DummyContentChangeEO dummyContentChangeEOInfo = new DummyContentChangeEO(); + dummyContentChangeEOInfo.setParentId(dummyInventoryBaseEO.getId()); + dummyContentChangeEOInfo.setContentJson(info); + list.add(dummyContentChangeEOInfo); + } + if(list.size() != 0){ + iDummyContentChangeEOService.saveBatch(list); + } + }else{ + //1.查询之前保存过的基础数据 + LambdaQueryWrapper wrapperBase =new LambdaQueryWrapper<>(); + wrapperBase.in(DummyContentChangeEO::getConnectId,dummyInventoryBaseEO.getId()); + List dummyContentChangeEOBaseList = iDummyContentChangeEOService.list(wrapperBase); + //2. 查询之前保存过的详情数据 + LambdaQueryWrapper wrapperInfo =new LambdaQueryWrapper<>(); + wrapperInfo.in(DummyContentChangeEO::getParentId,dummyInventoryBaseEO.getId()); + List dummyContentChangeEOInfoList = iDummyContentChangeEOService.list(wrapperInfo); + + //3.截止到现在发布,期间修改的数据(基础) + //数据为-->dummyInventoryBaseEOList - //详情表数据(一条基础数据可能对应多个详情数据---一对多) + //4.截止到现在发布,期间修改的数据(详情) + //数据为-->dummyInventoryInfoEOList + + + //5.分别对比基础表数据和详情表数据 + + //5.1.基础表数据对比 + + + //5.2详情表数据(一条基础数据可能对应多个详情数据---一对多) + + //6.数据对比完成后.删除之前保存的dummy_inventory_info中的数据,重新保存最新的数据 + + + } + }else{ //撤回