From fb93da2094d8e3c89b352edb2b26eb0f8590169f Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Wed, 19 Nov 2025 10:18:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=A5=E5=BA=93=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E7=8A=B6=E6=80=81=E5=AD=97=E6=AE=B5=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/NuInvoicingCgdMainServiceImpl.java | 50 ++++++++++++------- 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/service/impl/NuInvoicingCgdMainServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/service/impl/NuInvoicingCgdMainServiceImpl.java index e37f2ef2..1687353d 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/service/impl/NuInvoicingCgdMainServiceImpl.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/cgd/service/impl/NuInvoicingCgdMainServiceImpl.java @@ -920,45 +920,59 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl0){ - cgdInfo.setStatus("2"); - }else if(!StringUtils.equals("3",cgdInfo.getStatus())){ - cgdInfo.setStatus("1"); - }else{ - cgdInfo.setStatus("3"); - } - + cgdInfo.setStatus("3"); } + //更新采购单物料信息 //未入库数量 = 采购数量 - 入库数量 - 销账数量 wrksl = cgsl - rksl - xzsl; cgdInfo.setWrksl(wrksl); cgdInfo.setRksl(rksl); cgdInfo.setXzsl(xzsl); + + /**单据状态 0待入库 1挂账中 2已入库 3已销账*/ + //判断是否是销账操作,不是销账的话 + if(StringUtils.equals("3",cgdInfo.getStatus())){ + cgdInfo.setStatus("3"); + } else if(wrksl>0){ + cgdInfo.setStatus("1"); + } else{ + cgdInfo.setStatus("2"); + } cgdInfoMapper.updateById(cgdInfo); //更新主表拣货人信息 LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); //判断拣货人信息是否为空,不为空就给值 if(StringUtils.isEmpty(cgdMain.getJhBy())){ -// cgdMain.setJhBy(loginUser.getRealname()); + cgdMain.setJhBy(loginUser.getRealname()); cgdMain.setJhTime(new Date()); cgdMain.setStatus("1");//带完结 cgdMain.setCgdType("1");//待入库 cgdMainMapper.updateById(cgdMain); } + + + //查询全部采购单信息 + List cgdInfoList = cgdInfoMapper.selectList(new QueryWrapper().eq("cgd_id",cgdInfo.getCgdId())); + int count = 0; + /**单据状态 0待入库 1挂账中 2已入库 3已销账*/ + for (NuInvoicingCgdInfo info : cgdInfoList) { + //判断采购物料状态 + if(StringUtils.equals("2",info.getStatus())){ + count++; + }else if(StringUtils.equals("3",info.getStatus()) || StringUtils.equals("2",info.getStatus())){ + count++; + }else if(StringUtils.equals("0",info.getStatus())){ + break; + } + } + //判断单据是否完结 如果采购数量 = 入库数量 + 销账数量 就代表这个单据完结了 - if(cgsl == rksl + xzsl){ -// cgdMain.setWjBy(loginUser.getRealname()); + if(count == cgdInfoList.size()){ + cgdMain.setWjBy(loginUser.getRealname()); cgdMain.setWjTime(new Date()); cgdMain.setStatus("2");//已完结 cgdMain.setCgdType("2");//已完结