From e880330e7cff54d829d2c21b76bd70412f084a5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Sat, 6 May 2023 11:38:17 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E7=89=A9=E8=B4=A8=E6=91=86=E6=94=BE?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/inv/InvPlaceOrderDetailEntity.java | 17 +++ .../api/entity/inv/InvPlaceOrderEntity.java | 4 + .../inv/impl/InvPlaceOrderServiceImpl.java | 106 +++++++++++++++--- .../service/inv/impl/InvPlaceServiceImpl.java | 37 ++++-- .../mybatis/mapper/inv/InvPlaceOrderDao.xml | 14 +-- .../mapper/inv/InvPlaceOrderDetailDao.xml | 4 +- 6 files changed, 146 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/glxp/api/entity/inv/InvPlaceOrderDetailEntity.java b/src/main/java/com/glxp/api/entity/inv/InvPlaceOrderDetailEntity.java index 72771ce39..b13f7e6cf 100644 --- a/src/main/java/com/glxp/api/entity/inv/InvPlaceOrderDetailEntity.java +++ b/src/main/java/com/glxp/api/entity/inv/InvPlaceOrderDetailEntity.java @@ -55,4 +55,21 @@ public class InvPlaceOrderDetailEntity { @TableField(value = "`count`") private Integer count; + @TableField(value = "nameCode") + private String nameCode; + + @TableField(value = "supId") + private String supId; + + @TableField(value = "produceDate") + private String produceDate; + + @TableField(value = "expireDate") + private String expireDate; + + @TableField(value = "serialNo") + private String serialNo; + + + } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/inv/InvPlaceOrderEntity.java b/src/main/java/com/glxp/api/entity/inv/InvPlaceOrderEntity.java index c8d3cf1e7..7915d2ad1 100644 --- a/src/main/java/com/glxp/api/entity/inv/InvPlaceOrderEntity.java +++ b/src/main/java/com/glxp/api/entity/inv/InvPlaceOrderEntity.java @@ -60,4 +60,8 @@ public class InvPlaceOrderEntity { @TableField(value = "remark") private String remark; + @TableField(value = "count") + private int count; + + } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java index 59d132a84..a18dd2411 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java @@ -8,10 +8,11 @@ import com.github.pagehelper.PageHelper; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.Constant; -import com.glxp.api.dao.inv.InvPlaceOrderDao; -import com.glxp.api.dao.inv.InvPlaceOrderDetailDao; -import com.glxp.api.entity.inv.InvPlaceOrderDetailEntity; -import com.glxp.api.entity.inv.InvPlaceOrderEntity; +import com.glxp.api.constant.ConstantStatus; +import com.glxp.api.dao.auth.InvWarehouseDao; +import com.glxp.api.dao.inv.*; +import com.glxp.api.entity.auth.InvWarehouseEntity; +import com.glxp.api.entity.inv.*; import com.glxp.api.req.inv.AddInvPlaceOrderRequest; import com.glxp.api.req.inv.FilterInvPlaceOrderRequest; import com.glxp.api.req.inv.FilterInvPlaceRequest; @@ -20,6 +21,7 @@ import com.glxp.api.res.inv.BindInvSpaceRequest; import com.glxp.api.res.inv.InvPlaceOrderDetailResponse; import com.glxp.api.res.inv.InvPlaceOrderResponse; import com.glxp.api.service.auth.CustomerService; +import com.glxp.api.service.basic.UdiRelevanceService; import com.glxp.api.service.inv.InvPlaceOrderService; import com.glxp.api.util.GennerOrderUtils; import com.glxp.api.util.OrderNoTypeBean; @@ -45,6 +47,15 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { private CustomerService customerService; @Resource private GennerOrderUtils gennerOrderUtils; + @Resource + private InvWarehouseDao invWarehouseDao; + @Resource + private InvProductDetailDao invProductDetailDao; + @Resource + private InvPreProductDetailDao invPreProductDetailDao; + @Resource + private InvPreInProductDetailDao invPreInProductDetailDao; + @Override public List filterList(FilterInvPlaceOrderRequest filterInvPlaceOrderRequest) { @@ -106,11 +117,57 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { // ew.isNull("invSpaceCode"); // ew. // invPreInProductDetailDao.selectOne() + Long relId = null; + String batchNo = null; + String nameCode = null; + String supId = null; + String produceDate = null; + String expireDate = null; + String serialNo = null; + InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOne(new QueryWrapper().eq("code", bindInvSpaceRequest.getInvCode())); + if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("code", bindInvSpaceRequest.getCode()); + ew.last("limit 1"); + InvPreInProductDetailEntity invPreInProductDetailEntity = invPreInProductDetailDao.selectOne(ew); + relId = invPreInProductDetailEntity.getRelId(); + batchNo = invPreInProductDetailEntity.getBatchNo(); + nameCode = invPreInProductDetailEntity.getNameCode(); + supId = invPreInProductDetailEntity.getSupId(); + produceDate = invPreInProductDetailEntity.getProduceDate(); + expireDate = invPreInProductDetailEntity.getExpireDate(); + serialNo = invPreInProductDetailEntity.getSerialNo(); + } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("code", bindInvSpaceRequest.getCode()); + ew.last("limit 1"); + InvPreProductDetailEntity invPreInProductDetailEntity = invPreProductDetailDao.selectOne(ew); + relId = invPreInProductDetailEntity.getRelId(); + batchNo = invPreInProductDetailEntity.getBatchNo(); + nameCode = invPreInProductDetailEntity.getNameCode(); + supId = invPreInProductDetailEntity.getSupId(); + produceDate = invPreInProductDetailEntity.getProduceDate(); + expireDate = invPreInProductDetailEntity.getExpireDate(); + serialNo = invPreInProductDetailEntity.getSerialNo(); + } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_NORMAL) { + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("code", bindInvSpaceRequest.getCode()); + ew.last("limit 1"); + InvProductDetailEntity invPreInProductDetailEntity = invProductDetailDao.selectOne(ew); + relId = invPreInProductDetailEntity.getRelId(); + batchNo = invPreInProductDetailEntity.getBatchNo(); + nameCode = invPreInProductDetailEntity.getNameCode(); + supId = invPreInProductDetailEntity.getSupId(); + produceDate = invPreInProductDetailEntity.getProduceDate(); + expireDate = invPreInProductDetailEntity.getExpireDate(); + serialNo = invPreInProductDetailEntity.getSerialNo(); + } + //判断是不是第一次进行添加 是就插入一条主表 String recordId = ""; - if(StrUtil.isEmpty(bindInvSpaceRequest.getOrderId())){ - InvPlaceOrderEntity invPlaceOrderEntity=new InvPlaceOrderEntity(); + if (StrUtil.isEmpty(bindInvSpaceRequest.getOrderId())) { + InvPlaceOrderEntity invPlaceOrderEntity = new InvPlaceOrderEntity(); //操作人ID String userId = customerService.getUserIdStr(); @@ -126,39 +183,52 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { invPlaceOrderDao.insert(orderEntity); //插入附表 - InvPlaceOrderDetailEntity invPlaceOrderDetailEntity=new InvPlaceOrderDetailEntity(); + InvPlaceOrderDetailEntity invPlaceOrderDetailEntity = new InvPlaceOrderDetailEntity(); invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId()); invPlaceOrderDetailEntity.setRecordId(recordId); + invPlaceOrderDetailEntity.setBatchNo(batchNo); + invPlaceOrderDetailEntity.setRelId(relId+""); + invPlaceOrderDetailEntity.setNameCode(nameCode); + invPlaceOrderDetailEntity.setExpireDate(expireDate); + invPlaceOrderDetailEntity.setProduceDate(produceDate); + invPlaceOrderDetailEntity.setSupId(supId); invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode()); invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); invPlaceOrderDetailEntity.setCode(bindInvSpaceRequest.getCode()); + invPlaceOrderDetailEntity.setSerialNo(serialNo); invPlaceOrderDetailEntity.setCount(1); invPlaceOrderDetailDao.insert(invPlaceOrderDetailEntity); - }else{ - recordId=bindInvSpaceRequest.getOrderId(); + } else { + recordId = bindInvSpaceRequest.getOrderId(); //查询有没有存在一样的code有就加数量没有新增 - QueryWrapper ew=new QueryWrapper<>(); - ew.eq("recordId",bindInvSpaceRequest.getOrderId()); - ew.eq("code",bindInvSpaceRequest.getCode()); - InvPlaceOrderDetailEntity invPlaceOrderDetailEntity=invPlaceOrderDetailDao.selectOne(ew); - if(invPlaceOrderDetailEntity!=null){ - invPlaceOrderDetailEntity.setCount(invPlaceOrderDetailEntity.getCount()+1); + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("recordId", bindInvSpaceRequest.getOrderId()); + ew.eq("code", bindInvSpaceRequest.getCode()); + InvPlaceOrderDetailEntity invPlaceOrderDetailEntity = invPlaceOrderDetailDao.selectOne(ew); + if (invPlaceOrderDetailEntity != null) { + invPlaceOrderDetailEntity.setCount(invPlaceOrderDetailEntity.getCount() + 1); invPlaceOrderDetailDao.updateById(invPlaceOrderDetailEntity); - }else{ + } else { //插入附表 - invPlaceOrderDetailEntity=new InvPlaceOrderDetailEntity(); + invPlaceOrderDetailEntity = new InvPlaceOrderDetailEntity(); invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId()); invPlaceOrderDetailEntity.setRecordId(bindInvSpaceRequest.getOrderId()); invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode()); + invPlaceOrderDetailEntity.setBatchNo(batchNo); + invPlaceOrderDetailEntity.setRelId(relId+""); + invPlaceOrderDetailEntity.setNameCode(nameCode); + invPlaceOrderDetailEntity.setExpireDate(expireDate); + invPlaceOrderDetailEntity.setProduceDate(produceDate); + invPlaceOrderDetailEntity.setSupId(supId); invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); invPlaceOrderDetailEntity.setCode(bindInvSpaceRequest.getCode()); invPlaceOrderDetailEntity.setCount(1); + invPlaceOrderDetailEntity.setSerialNo(serialNo); invPlaceOrderDetailDao.insert(invPlaceOrderDetailEntity); } } - return ResultVOUtils.success(recordId); } diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java index 4131ff70c..a34a29ba6 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java @@ -80,12 +80,12 @@ public class InvPlaceServiceImpl implements InvPlaceService { @Override public BaseResponse bindInvSpace(BindInvSpaceRequest bindInvSpaceRequest) { //查询仓库的部门ID - String deptCode = invWarehouseDao.selectParentIdByCode(bindInvSpaceRequest.getInvCode()); +// String deptCode = invWarehouseDao.selectParentIdByCode(bindInvSpaceRequest.getInvCode()); InvWarehouseEntity invWarehouseEntity = invWarehouseDao.filterGroupInvSubAndcode(bindInvSpaceRequest.getInvCode()); + List invPlaceOrderDetailEntityList=new ArrayList<>(); - List list = new ArrayList<>(); if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { - List invPlaceOrderDetailEntityList=invPlaceOrderDetailDao.selectList(new QueryWrapper().eq("recordId",bindInvSpaceRequest.getOrderId())); + invPlaceOrderDetailEntityList=invPlaceOrderDetailDao.selectList(new QueryWrapper().eq("recordId",bindInvSpaceRequest.getOrderId())); for (InvPlaceOrderDetailEntity invPlaceOrderDetailEntity : invPlaceOrderDetailEntityList) { for (Integer i = 0; i < invPlaceOrderDetailEntity.getCount(); i++) { @@ -93,14 +93,16 @@ public class InvPlaceServiceImpl implements InvPlaceService { QueryWrapper ew=new QueryWrapper<>(); ew.eq("code",invPlaceOrderDetailEntity.getCode()); ew.and(o-> o.isNull("invSpaceCode").or().eq("invSpaceCode","")); - ew.gt("inCount",0); ew.last("limit 1"); InvPreInProductDetailEntity invPreInProductDetailEntity=invPreInProductDetailDao.selectOne(ew); + if(invPreInProductDetailEntity.getInCount()>0){ + String nameCode=invPreInProductDetailEntity.getNameCode(); + int reCount=getActCount(nameCode); invPreInProductDetailEntity.setInCount(invPreInProductDetailEntity.getInCount()-1); invPreInProductDetailEntity.setCount(invPreInProductDetailEntity.getCount()-1); -// invPreInProductDetailEntity.setReCount(invPreInProductDetailEntity.getReCount()-getActCount(invPlaceOrderDetailEntity.get)); + invPreInProductDetailEntity.setReCount(invPreInProductDetailEntity.getReCount()-reCount); invPreInProductDetailDao.updateById(invPreInProductDetailEntity); @@ -112,11 +114,13 @@ public class InvPlaceServiceImpl implements InvPlaceService { if(invPreInProductDetailEntity1!=null){ invPreInProductDetailEntity1.setCount(invPreInProductDetailEntity1.getCount()+1); invPreInProductDetailEntity1.setInCount(invPreInProductDetailEntity1.getInCount()+1); + invPreInProductDetailEntity1.setReCount(invPreInProductDetailEntity1.getReCount()+reCount); invPreInProductDetailDao.updateById(invPreInProductDetailEntity1); }else{ invPreInProductDetailEntity.setId(null); invPreInProductDetailEntity.setInCount(1); invPreInProductDetailEntity.setCount(1); + invPreInProductDetailEntity.setReCount(reCount); invPreInProductDetailEntity.setOutCount(0); invPreInProductDetailEntity.setInvSpaceCode(invPlaceOrderDetailEntity.getInvSpaceCode()); invPreInProductDetailDao.insert(invPreInProductDetailEntity); @@ -128,7 +132,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { - List invPlaceOrderDetailEntityList=invPlaceOrderDetailDao.selectList(new QueryWrapper().eq("recordId",bindInvSpaceRequest.getOrderId())); + invPlaceOrderDetailEntityList=invPlaceOrderDetailDao.selectList(new QueryWrapper().eq("recordId",bindInvSpaceRequest.getOrderId())); for (InvPlaceOrderDetailEntity invPlaceOrderDetailEntity : invPlaceOrderDetailEntityList) { for (Integer i = 0; i < invPlaceOrderDetailEntity.getCount(); i++) { @@ -141,9 +145,11 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.last("limit 1"); InvPreProductDetailEntity invPreInProductDetailEntity=invPreProductDetailDao.selectOne(ew); if(invPreInProductDetailEntity.getInCount()>0){ + String nameCode=invPreInProductDetailEntity.getNameCode(); + int reCount=getActCount(nameCode); invPreInProductDetailEntity.setInCount(invPreInProductDetailEntity.getInCount()-1); invPreInProductDetailEntity.setCount(invPreInProductDetailEntity.getCount()-1); -// invPreInProductDetailEntity.setReCount(invPreInProductDetailEntity.getReCount()-getActCount(invPlaceOrderDetailEntity.get)); + invPreInProductDetailEntity.setReCount(invPreInProductDetailEntity.getReCount()-reCount); invPreProductDetailDao.updateById(invPreInProductDetailEntity); @@ -155,6 +161,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { if(invPreInProductDetailEntity1!=null){ invPreInProductDetailEntity1.setCount(invPreInProductDetailEntity1.getCount()+1); invPreInProductDetailEntity1.setInCount(invPreInProductDetailEntity1.getInCount()+1); + invPreInProductDetailEntity1.setReCount(invPreInProductDetailEntity1.getReCount()+reCount); invPreProductDetailDao.updateById(invPreInProductDetailEntity1); }else{ invPreInProductDetailEntity.setId(null); @@ -162,6 +169,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { invPreInProductDetailEntity.setCount(1); invPreInProductDetailEntity.setOutCount(0); invPreInProductDetailEntity.setInvSpaceCode(invPlaceOrderDetailEntity.getInvSpaceCode()); + invPreInProductDetailEntity.setReCount(reCount); invPreProductDetailDao.insert(invPreInProductDetailEntity); } } @@ -169,7 +177,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { } } else { - List invPlaceOrderDetailEntityList=invPlaceOrderDetailDao.selectList(new QueryWrapper().eq("recordId",bindInvSpaceRequest.getOrderId())); + invPlaceOrderDetailEntityList=invPlaceOrderDetailDao.selectList(new QueryWrapper().eq("recordId",bindInvSpaceRequest.getOrderId())); for (InvPlaceOrderDetailEntity invPlaceOrderDetailEntity : invPlaceOrderDetailEntityList) { for (Integer i = 0; i < invPlaceOrderDetailEntity.getCount(); i++) { @@ -182,9 +190,11 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.last("limit 1"); InvProductDetailEntity invPreInProductDetailEntity=invProductDetailDao.selectOne(ew); if(invPreInProductDetailEntity.getInCount()>0){ + String nameCode=invPreInProductDetailEntity.getNameCode(); + int reCount=getActCount(nameCode); invPreInProductDetailEntity.setInCount(invPreInProductDetailEntity.getInCount()-1); invPreInProductDetailEntity.setCount(invPreInProductDetailEntity.getCount()-1); -// invPreInProductDetailEntity.setReCount(invPreInProductDetailEntity.getReCount()-getActCount(invPlaceOrderDetailEntity.get)); + invPreInProductDetailEntity.setReCount(invPreInProductDetailEntity.getReCount()-reCount); invProductDetailDao.updateById(invPreInProductDetailEntity); @@ -196,12 +206,14 @@ public class InvPlaceServiceImpl implements InvPlaceService { if(invPreInProductDetailEntity1!=null){ invPreInProductDetailEntity1.setCount(invPreInProductDetailEntity1.getCount()+1); invPreInProductDetailEntity1.setInCount(invPreInProductDetailEntity1.getInCount()+1); + invPreInProductDetailEntity1.setReCount(invPreInProductDetailEntity1.getReCount()+reCount); invProductDetailDao.updateById(invPreInProductDetailEntity1); }else{ invPreInProductDetailEntity.setId(null); invPreInProductDetailEntity.setInCount(1); invPreInProductDetailEntity.setCount(1); invPreInProductDetailEntity.setOutCount(0); + invPreInProductDetailEntity.setReCount(reCount); invPreInProductDetailEntity.setInvSpaceCode(invPlaceOrderDetailEntity.getInvSpaceCode()); invProductDetailDao.insert(invPreInProductDetailEntity); } @@ -210,6 +222,13 @@ public class InvPlaceServiceImpl implements InvPlaceService { } } + int total = invPlaceOrderDetailEntityList.stream().mapToInt(InvPlaceOrderDetailEntity::getCount).sum(); + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("recordId",bindInvSpaceRequest.getOrderId()); + InvPlaceOrderEntity invPlaceOrderEntity=new InvPlaceOrderEntity(); + invPlaceOrderEntity.setRecordId(bindInvSpaceRequest.getOrderId()); + invPlaceOrderEntity.setCount(total); + invPlaceOrderDao.update(invPlaceOrderEntity,ew); // if (CollUtil.isNotEmpty(list)) { // List ids = list.stream().map(InvProductDetailEntity::getId).collect(Collectors.toList()); diff --git a/src/main/resources/mybatis/mapper/inv/InvPlaceOrderDao.xml b/src/main/resources/mybatis/mapper/inv/InvPlaceOrderDao.xml index 7a67174a1..50948955f 100644 --- a/src/main/resources/mybatis/mapper/inv/InvPlaceOrderDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvPlaceOrderDao.xml @@ -8,6 +8,7 @@ t2.invCode, t2.invSpaceCode, t.createUser, + t.count as count, (select employeeName from auth_user where id = t.createUser) operatorName, (select name from auth_warehouse where code = t2.invCode) invName, (select name from auth_space where code = t2.invSpaceCode) invSpaceName, @@ -17,20 +18,17 @@ t2.relId, bp.cpmctymc productName, bp.ggxh, - pd.produceDate productionDate, - pd.expireDate, + t2.produceDate productionDate, + t2.expireDate, bp.nameCode, bp.zczbhhzbapzbh, bp.ylqxzcrbarmc, - (select name from basic_corp where erpId = pd.supId) supName, - pd.serialNo, + (select name from basic_corp where erpId = t2.supId) supName, + t2.serialNo, bp.manufactory, bp.measname from inv_place_order t right join inv_place_order_detail t2 on t.recordId = t2.recordId - left join inv_product_detail pd - on t2.invCode = pd.invCode and t2.invSpaceCode = pd.invSpaceCode and t2.relId = pd.relId - and t2.code = pd.code left join basic_udirel bu on bu.id = t2.relId left join basic_products bp on bp.uuid = bu.uuid @@ -65,6 +63,6 @@ and bp.zczbhhzbapzbh like concat('%', #{zczbhhzbapzbh}, '%') - group by t2.code + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/inv/InvPlaceOrderDetailDao.xml b/src/main/resources/mybatis/mapper/inv/InvPlaceOrderDetailDao.xml index 94f90ec68..248cdf3dc 100644 --- a/src/main/resources/mybatis/mapper/inv/InvPlaceOrderDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvPlaceOrderDetailDao.xml @@ -14,7 +14,9 @@ bp.measname, bp.zczbhhzbapzbh, bp.manufactory, - asp.name as invSpaceName + asp.name as invSpaceName, + bp.nameCode, + (select name from basic_corp where erpId = a2.supId) supName FROM inv_place_order_detail a1 LEFT JOIN inv_prein_product_detail a2 ON a1.CODE = a2.CODE From b54308121bfce55731d56bef6f5ad64c37954d9d Mon Sep 17 00:00:00 2001 From: anthonywj Date: Sat, 6 May 2023 15:22:20 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E7=BB=91=E5=AE=9A=E4=BE=9B=E5=BA=94?= =?UTF-8?q?=E5=95=86=E6=97=A0=E6=B3=95=E9=80=89=E6=8B=A9=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/controller/inout/IoCodeTempController.java | 2 ++ src/main/java/com/glxp/api/req/inout/AddOrderRequest.java | 1 + 2 files changed, 3 insertions(+) diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index d4393b91e..b4bb61ed0 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -706,6 +706,8 @@ public class IoCodeTempController extends BaseController { String unitFk = null; if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { unitFk = addOrderRequest.getFromCorp(); + } else if (StrUtil.isNotEmpty(addOrderRequest.getSelectSupId())) { + unitFk = addOrderRequest.getSelectSupId(); } //产品是否可以以使用单元入库 udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(codeEnttity.getNameCode(), false); diff --git a/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java b/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java index fd859af6d..2cc5f3e42 100644 --- a/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java +++ b/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java @@ -28,6 +28,7 @@ public class AddOrderRequest { private Integer orderType; private String remark; private String checkPreInOrders; + private String selectSupId; // 预验收货位 private String checkPreInSpaceCode; From 1bf136848f92afe8b96569c1f95cad23a40f9a80 Mon Sep 17 00:00:00 2001 From: wangwei <1610949092@qq.com> Date: Sat, 6 May 2023 15:31:03 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/IoOrderDetailBizController.java | 53 +++++++++++-------- .../entity/inout/IoOrderInvoiceEntity.java | 6 +++ .../api/req/inout/IoOrderInvoiceRequest.java | 9 +--- .../glxp/api/res/inout/IoOrderResponse.java | 4 ++ .../service/inout/IoOrderInvoiceService.java | 3 +- .../inout/impl/IoOrderInvoiceServiceImpl.java | 7 +-- 6 files changed, 46 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java index 7ad5fb87b..8d720af76 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java @@ -556,7 +556,7 @@ public class IoOrderDetailBizController extends BaseController { @Log(title = "发票管理", businessType = BusinessType.DELETE) public BaseResponse deleteById(@RequestBody IoOrderInvoiceEntity ioOrderInvoiceEntity) { - ioOrderInvoiceService.deleteByInvId(ioOrderInvoiceEntity.getId().longValue()); + ioOrderInvoiceService.deleteByInvId(ioOrderInvoiceEntity.getId()+""); //更改 登记状态 IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity(); @@ -596,28 +596,38 @@ public class IoOrderDetailBizController extends BaseController { @PostMapping("/udiwms/inout/biz/insertInvoice") @Log(title = "发票管理", businessType = BusinessType.INSERT) - public BaseResponse insertInvoice(@RequestBody IoOrderDetailBizEntity ioOrderDetailBizEntity) { - - IoOrderInvoiceEntity ioOrderInvoiceEntity = new IoOrderInvoiceEntity(); - ioOrderInvoiceEntity.setOrderIdFk(ioOrderDetailBizEntity.getOrderIdFk()); - ioOrderInvoiceEntity.setBindRlFk(ioOrderDetailBizEntity.getBindRlFk() + ""); - ioOrderInvoiceEntity.setBatchNo(ioOrderDetailBizEntity.getBatchNo()); - ioOrderInvoiceEntity.setProductDate(ioOrderDetailBizEntity.getProductDate()); - ioOrderInvoiceEntity.setExpireDate(ioOrderDetailBizEntity.getExpireDate()); - ioOrderInvoiceEntity.setBizIdFk(ioOrderDetailBizEntity.getId()); - ioOrderInvoiceEntity.setCreateTime(new Date()); - ioOrderInvoiceEntity.setUpdateTime(new Date()); - ioOrderInvoiceEntity.setId(IdUtil.getSnowflakeNextId()); - boolean b = ioOrderInvoiceService.insertInvoice(ioOrderInvoiceEntity); - + public BaseResponse insertInvoice(@RequestBody IoOrderInvoiceEntity ioOrderInvoice) { + + for (IoOrderDetailBizEntity ioOrderDetailBizEntity : ioOrderInvoice.getList()) { + IoOrderInvoiceEntity ioOrderInvoiceEntity = new IoOrderInvoiceEntity(); + ioOrderInvoiceEntity.setOrderIdFk(ioOrderDetailBizEntity.getOrderIdFk()); + ioOrderInvoiceEntity.setBindRlFk(ioOrderDetailBizEntity.getBindRlFk() + ""); + ioOrderInvoiceEntity.setBatchNo(ioOrderDetailBizEntity.getBatchNo()); + ioOrderInvoiceEntity.setProductDate(ioOrderDetailBizEntity.getProductDate()); + ioOrderInvoiceEntity.setExpireDate(ioOrderDetailBizEntity.getExpireDate()); + ioOrderInvoiceEntity.setBizIdFk(ioOrderDetailBizEntity.getId()); + ioOrderInvoiceEntity.setCreateTime(new Date()); + ioOrderInvoiceEntity.setUpdateTime(new Date()); + ioOrderInvoiceEntity.setId(IdUtil.getSnowflakeNextId()); + ioOrderInvoiceEntity.setMachineNo(ioOrderInvoice.getMachineNo()); + ioOrderInvoiceEntity.setInvoiceCode(ioOrderInvoice.getInvoiceCode()); + ioOrderInvoiceEntity.setInvoiceEncode(ioOrderInvoice.getInvoiceEncode()); + ioOrderInvoiceEntity.setInvoiceDate(ioOrderInvoice.getInvoiceDate()); + ioOrderInvoiceEntity.setPrice(ioOrderInvoice.getPrice()); + ioOrderInvoiceEntity.setRemark(ioOrderInvoice.getRemark()); + ioOrderInvoiceEntity.setLicenseUrl(ioOrderInvoice.getLicenseUrl()); + boolean b = ioOrderInvoiceService.insertInvoice(ioOrderInvoiceEntity); + } return ResultVOUtils.success("成功"); } @PostMapping("/udiwms/inout/biz/updateorderBiz") - public BaseResponse updateorderBiz(@RequestBody IoOrderDetailBizEntity ioOrderDetailBizEntity) { - ioOrderDetailBizEntity.setRegStatus(true); - orderDetailBizService.updateOrderDetailBiz(ioOrderDetailBizEntity); + public BaseResponse updateorderBiz(@RequestBody List list) { + for (IoOrderDetailBizEntity ioOrderDetailBizEntity : list) { + ioOrderDetailBizEntity.setRegStatus(true); + orderDetailBizService.updateOrderDetailBiz(ioOrderDetailBizEntity); + } return ResultVOUtils.success("成功"); @@ -631,15 +641,16 @@ public class IoOrderDetailBizController extends BaseController { */ @GetMapping("/udiwms/inout/bizDetail/filterBizOrderList") public BaseResponse filterBizOrderList(FilterOrderDetailBizRequest orderDetailBizRequest) { - List list = orderDetailBizService.filterList(orderDetailBizRequest); + List list = orderDetailBizService.getfilterList(orderDetailBizRequest); for (IoOrderDetailBizResponse ioOrderDetailBizResponse : list) { String msg = ""; IoOrderInvoiceRequest ioOrderInvoiceEntity = new IoOrderInvoiceRequest(); ioOrderInvoiceEntity.setOrderIdFk(ioOrderDetailBizResponse.getOrderIdFk()); + ioOrderInvoiceEntity.setBizIdFk(ioOrderDetailBizResponse.getId()); List ioOrderInvoiceEntityList = ioOrderInvoiceService.selectOrderInvoice(ioOrderInvoiceEntity); for (IoOrderInvoiceEntity obj : ioOrderInvoiceEntityList) { - if (StrUtil.isNotEmpty(obj.getInvoiceCode())) { - msg += "," + obj.getInvoiceCode(); + if (StrUtil.isNotEmpty(obj.getInvoiceEncode())) { + msg += "," + obj.getInvoiceEncode(); } } if (msg.length() > 1) { diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderInvoiceEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderInvoiceEntity.java index ee51d82d1..8d844e300 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderInvoiceEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderInvoiceEntity.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.util.Date; +import java.util.List; @Data @TableName(value = "io_order_invoice") @@ -108,6 +109,11 @@ public class IoOrderInvoiceEntity { @TableField(exist = false) private Integer regId; + + @TableField(exist = false) + private List list; + + public static final String COL_ID = "id"; public static final String COL_ORDERIDFK = "orderIdFk"; diff --git a/src/main/java/com/glxp/api/req/inout/IoOrderInvoiceRequest.java b/src/main/java/com/glxp/api/req/inout/IoOrderInvoiceRequest.java index 07ee07cc3..bb5fbe3ac 100644 --- a/src/main/java/com/glxp/api/req/inout/IoOrderInvoiceRequest.java +++ b/src/main/java/com/glxp/api/req/inout/IoOrderInvoiceRequest.java @@ -1,15 +1,8 @@ package com.glxp.api.req.inout; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.glxp.api.entity.inout.IoOrderDetailResultEntity; -import com.glxp.api.entity.inout.IoOrderInvoiceEntity; -import com.glxp.api.entity.purchase.SupCertSetEntity; import lombok.Data; import java.util.Date; -import java.util.List; /** * @author : zhangsan @@ -67,7 +60,7 @@ public class IoOrderInvoiceRequest { private String remark; - private Long bizIdFk; + private Integer bizIdFk; public static final String COL_ID = "id"; diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java index 25fef7231..9f4350c92 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java @@ -220,6 +220,10 @@ public class IoOrderResponse { private Integer processStatus; private int inCodeStatus; + private Integer allCout; + + private Integer partCount; + private Date checkTime; private String checkUserName; diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderInvoiceService.java b/src/main/java/com/glxp/api/service/inout/IoOrderInvoiceService.java index af84f1db2..8abe993ec 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderInvoiceService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderInvoiceService.java @@ -1,7 +1,6 @@ package com.glxp.api.service.inout; import com.baomidou.mybatisplus.extension.service.IService; -import com.glxp.api.entity.inout.IoCodeRelEntity; import com.glxp.api.entity.inout.IoOrderInvoiceEntity; import com.glxp.api.req.inout.IoOrderInvoiceRequest; @@ -12,7 +11,7 @@ public interface IoOrderInvoiceService extends IService { List findByBillNo(String billNo); - boolean deleteByInvId(Long id); + boolean deleteByInvId(String id); boolean updateByInvId(IoOrderInvoiceRequest ioOrderInvoiceRequest); diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderInvoiceServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderInvoiceServiceImpl.java index 9a9c85126..70a3a206a 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderInvoiceServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderInvoiceServiceImpl.java @@ -2,15 +2,12 @@ package com.glxp.api.service.inout.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.glxp.api.dao.inout.IoCodeRelMapper; import com.glxp.api.dao.inout.IoOrderInvoiceMapper; -import com.glxp.api.entity.inout.IoCodeRelEntity; import com.glxp.api.entity.inout.IoOrderInvoiceEntity; import com.glxp.api.req.inout.IoOrderInvoiceRequest; +import com.glxp.api.service.inout.IoOrderInvoiceService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; - -import com.glxp.api.service.inout.IoOrderInvoiceService; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; @@ -30,7 +27,7 @@ public class IoOrderInvoiceServiceImpl extends ServiceImpl 0; } From 1071b496ddba9a33bfcbe01185a891515de03a7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Sat, 6 May 2023 16:16:26 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E7=89=A9=E8=B4=A8=E6=91=86=E6=94=BE?= =?UTF-8?q?=E6=8C=89=E5=8D=95=E5=8A=9F=E8=83=BD=E4=BB=A3=E7=A0=81=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/inv/InvPlaceController.java | 29 +++- .../inv/InvPreInProductDetailEntity.java | 8 +- .../req/inv/FilterInvPlaceOrderRequest.java | 11 +- .../glxp/api/res/inv/BindInvSpaceRequest.java | 2 + .../api/service/inv/InvPlaceOrderService.java | 3 + .../glxp/api/service/inv/InvPlaceService.java | 7 + .../inv/impl/InvPlaceOrderServiceImpl.java | 130 +++++++++++++++++- .../service/inv/impl/InvPlaceServiceImpl.java | 45 ++++++ 8 files changed, 227 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java b/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java index a904b35ca..7002f7c29 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java @@ -65,6 +65,20 @@ public class InvPlaceController { return invPlaceService.bindInvSpace(bindInvSpaceRequest); } + /** + * 绑定货位接口 + * + * @param bindInvSpaceRequest + * @return + */ + @PostMapping("/spms/inv/product/bindInvOrderSpace") + public BaseResponse bindInvOrderSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) { + if (null == bindInvSpaceRequest) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return invPlaceService.bindInvOrderSpace(bindInvSpaceRequest); + } + /** * 更换货位接口 @@ -95,7 +109,7 @@ public class InvPlaceController { } /** - * 查询库存产品信息 + * 按物资 * * @param bindInvSpaceRequest * @return @@ -114,6 +128,19 @@ public class InvPlaceController { } + + + /** + * 按单号 + * + * @param bindInvSpaceRequest + * @return + */ + @GetMapping("/spms/inv/product/getInvProductOrderInfo") + private BaseResponse getInvProductOrderInfo(BindInvSpaceRequest bindInvSpaceRequest) { + return invPlaceOrderService.bindInvSpaceAll(bindInvSpaceRequest); + } + /** * 从库存详情查询单据列表 * diff --git a/src/main/java/com/glxp/api/entity/inv/InvPreInProductDetailEntity.java b/src/main/java/com/glxp/api/entity/inv/InvPreInProductDetailEntity.java index 5690fe4b3..b465b09a1 100644 --- a/src/main/java/com/glxp/api/entity/inv/InvPreInProductDetailEntity.java +++ b/src/main/java/com/glxp/api/entity/inv/InvPreInProductDetailEntity.java @@ -87,20 +87,20 @@ public class InvPreInProductDetailEntity { * 扫码数量 */ @TableField(value = "`count`") - private int count; + private Integer count; /** * 实际数量 */ @TableField(value = "reCount") - private int reCount; + private Integer reCount; @TableField(value = "inCount") - private int inCount; + private Integer inCount; @TableField(value = "outCount") - private int outCount; + private Integer outCount; /** diff --git a/src/main/java/com/glxp/api/req/inv/FilterInvPlaceOrderRequest.java b/src/main/java/com/glxp/api/req/inv/FilterInvPlaceOrderRequest.java index 1a460fab4..7a444e1c6 100644 --- a/src/main/java/com/glxp/api/req/inv/FilterInvPlaceOrderRequest.java +++ b/src/main/java/com/glxp/api/req/inv/FilterInvPlaceOrderRequest.java @@ -4,7 +4,7 @@ import com.glxp.api.util.page.ListPageRequest; import lombok.Data; /** - * 物资上架记录接口查询参数 + * 库存摆放接口参数 */ @Data public class FilterInvPlaceOrderRequest extends ListPageRequest { @@ -29,4 +29,13 @@ public class FilterInvPlaceOrderRequest extends ListPageRequest { private String zczbhhzbapzbh; + + private Long relId; + private String supId; + private String produceDate; + private String expireDate; + private String serialNo; + private int count; + + } diff --git a/src/main/java/com/glxp/api/res/inv/BindInvSpaceRequest.java b/src/main/java/com/glxp/api/res/inv/BindInvSpaceRequest.java index 77ce9bedb..f4a886925 100644 --- a/src/main/java/com/glxp/api/res/inv/BindInvSpaceRequest.java +++ b/src/main/java/com/glxp/api/res/inv/BindInvSpaceRequest.java @@ -50,6 +50,8 @@ public class BindInvSpaceRequest { */ private String orderId; + private String oId; + private String changeSpaceCode; diff --git a/src/main/java/com/glxp/api/service/inv/InvPlaceOrderService.java b/src/main/java/com/glxp/api/service/inv/InvPlaceOrderService.java index 85b645161..42f5abd70 100644 --- a/src/main/java/com/glxp/api/service/inv/InvPlaceOrderService.java +++ b/src/main/java/com/glxp/api/service/inv/InvPlaceOrderService.java @@ -24,6 +24,9 @@ public interface InvPlaceOrderService { //单条绑定货位 BaseResponse bindInvSpaceOne(BindInvSpaceRequest bindInvSpaceRequest); + //批量绑定货位 + BaseResponse bindInvSpaceAll(BindInvSpaceRequest bindInvSpaceRequest); + List filterInvPlaceOrderDetailList(FilterInvPlaceOrderRequest filterInvPlaceOrderRequest); } diff --git a/src/main/java/com/glxp/api/service/inv/InvPlaceService.java b/src/main/java/com/glxp/api/service/inv/InvPlaceService.java index e42751e78..44358651c 100644 --- a/src/main/java/com/glxp/api/service/inv/InvPlaceService.java +++ b/src/main/java/com/glxp/api/service/inv/InvPlaceService.java @@ -29,6 +29,13 @@ public interface InvPlaceService { */ BaseResponse bindInvSpace(BindInvSpaceRequest bindInvSpaceRequest); + /** + * 绑定货位 + * + * @param bindInvSpaceRequest + */ + BaseResponse bindInvOrderSpace(BindInvSpaceRequest bindInvSpaceRequest); + /** * 更换货位 diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java index a18dd2411..b2604af42 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java @@ -30,6 +30,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; @@ -187,7 +188,7 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId()); invPlaceOrderDetailEntity.setRecordId(recordId); invPlaceOrderDetailEntity.setBatchNo(batchNo); - invPlaceOrderDetailEntity.setRelId(relId+""); + invPlaceOrderDetailEntity.setRelId(relId + ""); invPlaceOrderDetailEntity.setNameCode(nameCode); invPlaceOrderDetailEntity.setExpireDate(expireDate); invPlaceOrderDetailEntity.setProduceDate(produceDate); @@ -215,7 +216,7 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { invPlaceOrderDetailEntity.setRecordId(bindInvSpaceRequest.getOrderId()); invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode()); invPlaceOrderDetailEntity.setBatchNo(batchNo); - invPlaceOrderDetailEntity.setRelId(relId+""); + invPlaceOrderDetailEntity.setRelId(relId + ""); invPlaceOrderDetailEntity.setNameCode(nameCode); invPlaceOrderDetailEntity.setExpireDate(expireDate); invPlaceOrderDetailEntity.setProduceDate(produceDate); @@ -232,6 +233,131 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { return ResultVOUtils.success(recordId); } + @Override + public BaseResponse bindInvSpaceAll(BindInvSpaceRequest bindInvSpaceRequest) { + + List filterInvPlaceOrderRequestList = new ArrayList<>(); + InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOne(new QueryWrapper().eq("code", bindInvSpaceRequest.getInvCode())); + if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("orderId", bindInvSpaceRequest.getOId()); + ew.eq("mainAction", "WareHouseIn"); + List invPreInProductDetailEntityList = invPreInProductDetailDao.selectList(ew); + if (invPreInProductDetailEntityList.size() == 0) { + return ResultVOUtils.error(999, "该单号不存在可以上架产品!"); + } + for (InvPreInProductDetailEntity invPreInProductDetailEntity : invPreInProductDetailEntityList) { + FilterInvPlaceOrderRequest filterInvPlaceOrderRequest = new FilterInvPlaceOrderRequest(); + filterInvPlaceOrderRequest.setBatchNo(invPreInProductDetailEntity.getBatchNo()); + filterInvPlaceOrderRequest.setCount(invPreInProductDetailEntity.getReCount()); + filterInvPlaceOrderRequest.setExpireDate(invPreInProductDetailEntity.getExpireDate()); + filterInvPlaceOrderRequest.setRelId(invPreInProductDetailEntity.getRelId()); + filterInvPlaceOrderRequest.setNameCode(invPreInProductDetailEntity.getNameCode()); + filterInvPlaceOrderRequest.setSerialNo(invPreInProductDetailEntity.getSerialNo()); + filterInvPlaceOrderRequest.setProduceDate(invPreInProductDetailEntity.getProduceDate()); + filterInvPlaceOrderRequest.setSupId(invPreInProductDetailEntity.getSupId()); + filterInvPlaceOrderRequest.setCode(invPreInProductDetailEntity.getCode()); + filterInvPlaceOrderRequestList.add(filterInvPlaceOrderRequest); + } + + } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("orderId", bindInvSpaceRequest.getOId()); + ew.eq("mainAction", "WareHouseIn"); + List invPreProductDetailEntityList = invPreProductDetailDao.selectList(ew); + for (InvPreProductDetailEntity invPreProductDetailEntity : invPreProductDetailEntityList) { + FilterInvPlaceOrderRequest filterInvPlaceOrderRequest = new FilterInvPlaceOrderRequest(); + filterInvPlaceOrderRequest.setBatchNo(invPreProductDetailEntity.getBatchNo()); + filterInvPlaceOrderRequest.setExpireDate(invPreProductDetailEntity.getExpireDate()); + filterInvPlaceOrderRequest.setRelId(invPreProductDetailEntity.getRelId()); + filterInvPlaceOrderRequest.setNameCode(invPreProductDetailEntity.getNameCode()); + filterInvPlaceOrderRequest.setSerialNo(invPreProductDetailEntity.getSerialNo()); + filterInvPlaceOrderRequest.setProduceDate(invPreProductDetailEntity.getProduceDate()); + filterInvPlaceOrderRequest.setCount(invPreProductDetailEntity.getReCount()); + filterInvPlaceOrderRequest.setSupId(invPreProductDetailEntity.getSupId()); + filterInvPlaceOrderRequest.setCode(invPreProductDetailEntity.getCode()); + filterInvPlaceOrderRequestList.add(filterInvPlaceOrderRequest); + } + } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_NORMAL) { + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("orderId", bindInvSpaceRequest.getOId()); + ew.eq("mainAction", "WareHouseIn"); + List invProductDetailEntityList = invProductDetailDao.selectList(ew); + for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntityList) { + FilterInvPlaceOrderRequest filterInvPlaceOrderRequest = new FilterInvPlaceOrderRequest(); + filterInvPlaceOrderRequest.setBatchNo(invProductDetailEntity.getBatchNo()); + filterInvPlaceOrderRequest.setExpireDate(invProductDetailEntity.getExpireDate()); + filterInvPlaceOrderRequest.setRelId(invProductDetailEntity.getRelId()); + filterInvPlaceOrderRequest.setNameCode(invProductDetailEntity.getNameCode()); + filterInvPlaceOrderRequest.setCount(invProductDetailEntity.getReCount()); + filterInvPlaceOrderRequest.setSerialNo(invProductDetailEntity.getSerialNo()); + filterInvPlaceOrderRequest.setProduceDate(invProductDetailEntity.getProduceDate()); + filterInvPlaceOrderRequest.setSupId(invProductDetailEntity.getSupId()); + filterInvPlaceOrderRequest.setCode(invProductDetailEntity.getCode()); + filterInvPlaceOrderRequestList.add(filterInvPlaceOrderRequest); + } + } + + + //判断是不是第一次进行添加 是就插入一条主表 + String recordId = ""; + if (StrUtil.isEmpty(bindInvSpaceRequest.getOrderId())) { + //操作人ID + String userId = customerService.getUserIdStr(); + + recordId = gennerOrderUtils.createInvPlaceOrderNo(new OrderNoTypeBean(Constant.INV_PLACE_ORDER, "yyyyMMdd")); + InvPlaceOrderEntity orderEntity = new InvPlaceOrderEntity(); + orderEntity.setId(IdUtil.getSnowflakeNextId()); + orderEntity.setRecordId(recordId); + orderEntity.setType(2); + orderEntity.setOrderId(bindInvSpaceRequest.getOId()); + orderEntity.setCreateUser(userId); + orderEntity.setCreateTime(new Date()); + orderEntity.setUpdateTime(new Date()); + invPlaceOrderDao.insert(orderEntity); + //插入附表 + for (FilterInvPlaceOrderRequest filterInvPlaceOrderRequest : filterInvPlaceOrderRequestList) { + InvPlaceOrderDetailEntity invPlaceOrderDetailEntity = new InvPlaceOrderDetailEntity(); + invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId()); + invPlaceOrderDetailEntity.setRecordId(recordId); + invPlaceOrderDetailEntity.setBatchNo(filterInvPlaceOrderRequest.getBatchNo()); + invPlaceOrderDetailEntity.setCode(filterInvPlaceOrderRequest.getCode()); + invPlaceOrderDetailEntity.setRelId(filterInvPlaceOrderRequest.getRelId()+""); + invPlaceOrderDetailEntity.setNameCode(filterInvPlaceOrderRequest.getNameCode()); + invPlaceOrderDetailEntity.setExpireDate(filterInvPlaceOrderRequest.getExpireDate()); + invPlaceOrderDetailEntity.setProduceDate(filterInvPlaceOrderRequest.getProduceDate()); + invPlaceOrderDetailEntity.setSupId(filterInvPlaceOrderRequest.getSupId()); + invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode()); + invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); + invPlaceOrderDetailEntity.setSerialNo(filterInvPlaceOrderRequest.getSerialNo()); + invPlaceOrderDetailEntity.setCount(filterInvPlaceOrderRequest.getCount()); + invPlaceOrderDetailDao.insert(invPlaceOrderDetailEntity); + } + } else { + //插入附表 + for (FilterInvPlaceOrderRequest filterInvPlaceOrderRequest : filterInvPlaceOrderRequestList) { + InvPlaceOrderDetailEntity invPlaceOrderDetailEntity = new InvPlaceOrderDetailEntity(); + invPlaceOrderDetailEntity.setId(IdUtil.getSnowflakeNextId()); + invPlaceOrderDetailEntity.setRecordId(recordId); + invPlaceOrderDetailEntity.setCode(filterInvPlaceOrderRequest.getCode()); + invPlaceOrderDetailEntity.setBatchNo(filterInvPlaceOrderRequest.getBatchNo()); + invPlaceOrderDetailEntity.setRelId(filterInvPlaceOrderRequest.getRelId()+""); + invPlaceOrderDetailEntity.setNameCode(filterInvPlaceOrderRequest.getNameCode()); + invPlaceOrderDetailEntity.setExpireDate(filterInvPlaceOrderRequest.getExpireDate()); + invPlaceOrderDetailEntity.setProduceDate(filterInvPlaceOrderRequest.getProduceDate()); + invPlaceOrderDetailEntity.setSupId(filterInvPlaceOrderRequest.getSupId()); + invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode()); + invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); + invPlaceOrderDetailEntity.setSerialNo(filterInvPlaceOrderRequest.getSerialNo()); + invPlaceOrderDetailEntity.setCount(filterInvPlaceOrderRequest.getCount()); + invPlaceOrderDetailDao.insert(invPlaceOrderDetailEntity); + } + } + + + return ResultVOUtils.success(recordId); + } + @Override public List filterInvPlaceOrderDetailList(FilterInvPlaceOrderRequest filterInvPlaceOrderRequest) { if (null == filterInvPlaceOrderRequest) { diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java index a34a29ba6..e2ae4ed33 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java @@ -260,6 +260,51 @@ public class InvPlaceServiceImpl implements InvPlaceService { return ResultVOUtils.success(); } + + @Override + public BaseResponse bindInvOrderSpace(BindInvSpaceRequest bindInvSpaceRequest) { + //查询仓库的部门ID +// String deptCode = invWarehouseDao.selectParentIdByCode(bindInvSpaceRequest.getInvCode()); + InvWarehouseEntity invWarehouseEntity = invWarehouseDao.filterGroupInvSubAndcode(bindInvSpaceRequest.getInvCode()); + List invPlaceOrderDetailEntityList=new ArrayList<>(); + + if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { + invPlaceOrderDetailEntityList=invPlaceOrderDetailDao.selectList(new QueryWrapper().eq("recordId",bindInvSpaceRequest.getOrderId())); + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("orderId",bindInvSpaceRequest.getOId()); + InvPreInProductDetailEntity invPreInProductDetailEntity=new InvPreInProductDetailEntity(); + invPreInProductDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); + invPreInProductDetailDao.update(invPreInProductDetailEntity,ew); + + } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { + + invPlaceOrderDetailEntityList=invPlaceOrderDetailDao.selectList(new QueryWrapper().eq("recordId",bindInvSpaceRequest.getOrderId())); + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("orderId",bindInvSpaceRequest.getOId()); + InvPreProductDetailEntity invPreProductDetailEntity=new InvPreProductDetailEntity(); + invPreProductDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); + invPreProductDetailDao.update(invPreProductDetailEntity,ew); + + + } else { + invPlaceOrderDetailEntityList=invPlaceOrderDetailDao.selectList(new QueryWrapper().eq("recordId",bindInvSpaceRequest.getOrderId())); + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("orderId",bindInvSpaceRequest.getOId()); + InvProductDetailEntity invProductDetailEntity=new InvProductDetailEntity(); + invProductDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); + invProductDetailDao.update(invProductDetailEntity,ew); + + } + int total = invPlaceOrderDetailEntityList.stream().mapToInt(InvPlaceOrderDetailEntity::getCount).sum(); + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("recordId",bindInvSpaceRequest.getOrderId()); + InvPlaceOrderEntity invPlaceOrderEntity=new InvPlaceOrderEntity(); + invPlaceOrderEntity.setRecordId(bindInvSpaceRequest.getOrderId()); + invPlaceOrderEntity.setCount(total); + invPlaceOrderDao.update(invPlaceOrderEntity,ew); + return ResultVOUtils.success(); + } + @Override public BaseResponse changeInvSpace(BindInvSpaceRequest bindInvSpaceRequest) { //查询仓库的部门ID From a4bf1e086ce9d6609dc30f541cc8287dcf3a7e09 Mon Sep 17 00:00:00 2001 From: wangwei <1610949092@qq.com> Date: Sat, 6 May 2023 16:38:33 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E5=8F=91=E7=A5=A8=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/controller/inout/IoOrderInvoiceController.java | 8 +++----- .../java/com/glxp/api/http/sync/SpGetHttpClient.java | 9 +++------ 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java index 71ee8ba3a..4df72efea 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java @@ -1,5 +1,6 @@ package com.glxp.api.controller.inout; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.glxp.api.annotation.AuthRuleAnnotation; @@ -11,10 +12,7 @@ import com.glxp.api.dao.inout.IoOrderInvoiceMapper; import com.glxp.api.entity.inout.IoOrderInvoiceEntity; import com.glxp.api.http.sync.SpGetHttpClient; import com.glxp.api.idc.service.FileService; -import com.glxp.api.req.inout.AddBizProductReqeust; import com.glxp.api.req.inout.RefreshInoiceRequest; -import com.glxp.api.service.inout.IoOrderInvoiceService; -import com.glxp.api.service.inout.IoOrderService; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @@ -36,9 +34,9 @@ public class IoOrderInvoiceController { @PostMapping("/udiwms/inout/order/refrshInvoice") @Log(title = "发票", businessType = BusinessType.INSERT) public BaseResponse addBizProduct(@RequestBody RefreshInoiceRequest refreshInoiceRequest) { - BaseResponse> baseResponse = spGetHttpClient.getIoOrderInvoices(refreshInoiceRequest); + BaseResponse baseResponse = spGetHttpClient.getIoOrderInvoices(refreshInoiceRequest); if (baseResponse.getCode() == 20000) { - List orderInvoiceEntities = baseResponse.getData(); + List orderInvoiceEntities = BeanUtil.toBean(baseResponse.getData(),List.class); if (CollUtil.isNotEmpty(orderInvoiceEntities)) { List syncFiles = new ArrayList<>(); for (IoOrderInvoiceEntity orderInvoiceEntity : orderInvoiceEntities) { diff --git a/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java b/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java index 3fb84dd79..2f9705993 100644 --- a/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java +++ b/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java @@ -1,8 +1,6 @@ package com.glxp.api.http.sync; -import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; -import cn.hutool.core.util.ArrayUtil; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; @@ -11,7 +9,6 @@ import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BasicExportTypeEnum; import com.glxp.api.entity.basic.ProductInfoEntity; import com.glxp.api.entity.inout.IoOrderEntity; -import com.glxp.api.entity.inout.IoOrderInvoiceEntity; import com.glxp.api.entity.sync.BasicExportStatusEntity; import com.glxp.api.entity.sync.IOOrderStatusEntity; import com.glxp.api.entity.system.SyncDataSetEntity; @@ -139,11 +136,11 @@ public class SpGetHttpClient { } - public BaseResponse> getIoOrderInvoices(RefreshInoiceRequest refreshInoiceRequest) { + public BaseResponse getIoOrderInvoices(RefreshInoiceRequest refreshInoiceRequest) { String json = JSONUtil.toJsonStr(refreshInoiceRequest); String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/udiwms/inout/order/refrshInvoice", json, buildHeader()); - BaseResponse> response = - JSONObject.parseObject(result, new TypeReference>>() { + BaseResponse response = + JSONObject.parseObject(result, new TypeReference() { }); return response; } From f11e0fbb1068746ecc4dd38ff6d7ec8921b63860 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Sat, 6 May 2023 18:08:07 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E7=89=A9=E8=B4=A8=E6=91=86=E6=94=BE?= =?UTF-8?q?=E5=8F=98=E6=9B=B4=E5=8A=9F=E8=83=BD=E4=BB=A3=E7=A0=81=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/inv/InvPlaceController.java | 34 ++++++++ .../glxp/api/res/inv/BindInvSpaceRequest.java | 2 +- .../inv/impl/InvPlaceOrderServiceImpl.java | 21 ++++- .../service/inv/impl/InvPlaceServiceImpl.java | 78 ++++++++++++++++--- 4 files changed, 121 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java b/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java index 7002f7c29..d879b7a03 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java @@ -80,6 +80,21 @@ public class InvPlaceController { } + /** + * 变更货位绑定货位接口 + * + * @param bindInvSpaceRequest + * @return + */ + @PostMapping("/spms/inv/product/bindCheckInvSpace") + public BaseResponse bindCheckInvSpace(@RequestBody BindInvSpaceRequest bindInvSpaceRequest) { + if (null == bindInvSpaceRequest) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return invPlaceService.bindInvSpace(bindInvSpaceRequest); + } + + /** * 更换货位接口 * @@ -141,6 +156,25 @@ public class InvPlaceController { return invPlaceOrderService.bindInvSpaceAll(bindInvSpaceRequest); } + /** + * 变更货位 + * + * @param bindInvSpaceRequest + * @return + */ + @GetMapping("/spms/inv/product/getCheckInvProductInfo") + private BaseResponse getCheckInvProductInfo(BindInvSpaceRequest bindInvSpaceRequest) { + //判断有没有库存 + String msg=invPlaceService.checkCount(bindInvSpaceRequest); + if(StrUtil.isEmpty(msg)){ + //有库存做插入货位号 + return invPlaceOrderService.bindInvSpaceOne(bindInvSpaceRequest); + }else{ + return ResultVOUtils.error(500, msg); + } + + } + /** * 从库存详情查询单据列表 * diff --git a/src/main/java/com/glxp/api/res/inv/BindInvSpaceRequest.java b/src/main/java/com/glxp/api/res/inv/BindInvSpaceRequest.java index f4a886925..d549c103d 100644 --- a/src/main/java/com/glxp/api/res/inv/BindInvSpaceRequest.java +++ b/src/main/java/com/glxp/api/res/inv/BindInvSpaceRequest.java @@ -41,7 +41,7 @@ public class BindInvSpaceRequest { private String code; /** - * 上架方式 1:按物资上架 2:按单上架 + * 上架方式 1:按物资上架 2:按单上架 3:变更货位 */ private Integer type; diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java index b2604af42..913172bf7 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java @@ -129,6 +129,9 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { QueryWrapper ew = new QueryWrapper<>(); ew.eq("code", bindInvSpaceRequest.getCode()); + if(bindInvSpaceRequest.getType()==3){ + ew.eq("invSpaceCode",bindInvSpaceRequest.getInvSpaceCode()); + } ew.last("limit 1"); InvPreInProductDetailEntity invPreInProductDetailEntity = invPreInProductDetailDao.selectOne(ew); relId = invPreInProductDetailEntity.getRelId(); @@ -141,6 +144,9 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { QueryWrapper ew = new QueryWrapper<>(); ew.eq("code", bindInvSpaceRequest.getCode()); + if(bindInvSpaceRequest.getType()==3){ + ew.eq("invSpaceCode",bindInvSpaceRequest.getInvSpaceCode()); + } ew.last("limit 1"); InvPreProductDetailEntity invPreInProductDetailEntity = invPreProductDetailDao.selectOne(ew); relId = invPreInProductDetailEntity.getRelId(); @@ -153,6 +159,9 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_NORMAL) { QueryWrapper ew = new QueryWrapper<>(); ew.eq("code", bindInvSpaceRequest.getCode()); + if(bindInvSpaceRequest.getType()==3){ + ew.eq("invSpaceCode",bindInvSpaceRequest.getInvSpaceCode()); + } ew.last("limit 1"); InvProductDetailEntity invPreInProductDetailEntity = invProductDetailDao.selectOne(ew); relId = invPreInProductDetailEntity.getRelId(); @@ -194,7 +203,11 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { invPlaceOrderDetailEntity.setProduceDate(produceDate); invPlaceOrderDetailEntity.setSupId(supId); invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode()); - invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); + if(bindInvSpaceRequest.getType()==3){ + invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getChangeSpaceCode()); + }else{ + invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); + } invPlaceOrderDetailEntity.setCode(bindInvSpaceRequest.getCode()); invPlaceOrderDetailEntity.setSerialNo(serialNo); invPlaceOrderDetailEntity.setCount(1); @@ -221,7 +234,11 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { invPlaceOrderDetailEntity.setExpireDate(expireDate); invPlaceOrderDetailEntity.setProduceDate(produceDate); invPlaceOrderDetailEntity.setSupId(supId); - invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); + if(bindInvSpaceRequest.getType()==3){ + invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getChangeSpaceCode()); + }else{ + invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); + } invPlaceOrderDetailEntity.setCode(bindInvSpaceRequest.getCode()); invPlaceOrderDetailEntity.setCount(1); invPlaceOrderDetailEntity.setSerialNo(serialNo); diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java index e2ae4ed33..364c7f176 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java @@ -83,7 +83,6 @@ public class InvPlaceServiceImpl implements InvPlaceService { // String deptCode = invWarehouseDao.selectParentIdByCode(bindInvSpaceRequest.getInvCode()); InvWarehouseEntity invWarehouseEntity = invWarehouseDao.filterGroupInvSubAndcode(bindInvSpaceRequest.getInvCode()); List invPlaceOrderDetailEntityList=new ArrayList<>(); - if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { invPlaceOrderDetailEntityList=invPlaceOrderDetailDao.selectList(new QueryWrapper().eq("recordId",bindInvSpaceRequest.getOrderId())); for (InvPlaceOrderDetailEntity invPlaceOrderDetailEntity : invPlaceOrderDetailEntityList) { @@ -91,11 +90,20 @@ public class InvPlaceServiceImpl implements InvPlaceService { for (Integer i = 0; i < invPlaceOrderDetailEntity.getCount(); i++) { //拆解库存表 QueryWrapper ew=new QueryWrapper<>(); - ew.eq("code",invPlaceOrderDetailEntity.getCode()); - ew.and(o-> o.isNull("invSpaceCode").or().eq("invSpaceCode","")); - ew.gt("inCount",0); - ew.last("limit 1"); - InvPreInProductDetailEntity invPreInProductDetailEntity=invPreInProductDetailDao.selectOne(ew); + InvPreInProductDetailEntity invPreInProductDetailEntity=new InvPreInProductDetailEntity(); + if(bindInvSpaceRequest.getType()==3){ + ew.eq("code",invPlaceOrderDetailEntity.getCode()); + ew.eq("invSpaceCode",bindInvSpaceRequest.getInvSpaceCode()); + ew.last("limit 1"); + invPreInProductDetailEntity=invPreInProductDetailDao.selectOne(ew); + }else{ + ew.eq("code",invPlaceOrderDetailEntity.getCode()); + ew.and(o-> o.isNull("invSpaceCode").or().eq("invSpaceCode","")); + ew.gt("inCount",0); + ew.last("limit 1"); + invPreInProductDetailEntity=invPreInProductDetailDao.selectOne(ew); + } + if(invPreInProductDetailEntity.getInCount()>0){ String nameCode=invPreInProductDetailEntity.getNameCode(); @@ -108,7 +116,12 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.clear(); ew.eq("code",invPlaceOrderDetailEntity.getCode()); - ew.eq("invSpaceCode",invPlaceOrderDetailEntity.getInvSpaceCode()); + if(bindInvSpaceRequest.getType()==3){ + ew.eq("invSpaceCode",bindInvSpaceRequest.getChangeSpaceCode()); + }else{ + ew.eq("invSpaceCode",invPlaceOrderDetailEntity.getInvSpaceCode()); + } + InvPreInProductDetailEntity invPreInProductDetailEntity1=invPreInProductDetailDao.selectOne(ew); if(invPreInProductDetailEntity1!=null){ @@ -122,7 +135,11 @@ public class InvPlaceServiceImpl implements InvPlaceService { invPreInProductDetailEntity.setCount(1); invPreInProductDetailEntity.setReCount(reCount); invPreInProductDetailEntity.setOutCount(0); - invPreInProductDetailEntity.setInvSpaceCode(invPlaceOrderDetailEntity.getInvSpaceCode()); + if (bindInvSpaceRequest.getType()==3){ + invPreInProductDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getChangeSpaceCode()); + }else{ + invPreInProductDetailEntity.setInvSpaceCode(invPlaceOrderDetailEntity.getInvSpaceCode()); + } invPreInProductDetailDao.insert(invPreInProductDetailEntity); } } @@ -432,8 +449,17 @@ public class InvPlaceServiceImpl implements InvPlaceService { @Override public String checkCount(BindInvSpaceRequest bindInvSpaceRequest) { InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOne(new QueryWrapper().eq("code", bindInvSpaceRequest.getInvCode())); + Integer count=0; if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { - Integer count = invPreInProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode()); + if(bindInvSpaceRequest.getType()==3){ + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("code",bindInvSpaceRequest.getCode()); + ew.eq("invSpaceCode",bindInvSpaceRequest.getInvSpaceCode()); + InvPreInProductDetailEntity invPreInProductDetailEntity=invPreInProductDetailDao.selectOne(ew); + count=invPreInProductDetailEntity.getInCount(); + }else{ + count = invPreInProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode()); + } if(count==null || count<=0){ return "该产品库存不足!"; } @@ -442,12 +468,25 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.eq("recordId",bindInvSpaceRequest.getOrderId()); ew.eq("code",bindInvSpaceRequest.getCode()); InvPlaceOrderDetailEntity invPlaceOrderDetailEntity =invPlaceOrderDetailDao.selectOne(ew); + if(invPlaceOrderDetailEntity==null){ + invPlaceOrderDetailEntity=new InvPlaceOrderDetailEntity(); + invPlaceOrderDetailEntity.setCount(0); + } if(invPlaceOrderDetailEntity.getCount()>=count){ return "该产品库存不足!"; } } } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { - Integer count = invPreProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode()); + if(bindInvSpaceRequest.getType()==3){ + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("code",bindInvSpaceRequest.getCode()); + ew.eq("invSpaceCode",bindInvSpaceRequest.getInvSpaceCode()); + InvPreProductDetailEntity invPreProductDetailEntity=invPreProductDetailDao.selectOne(ew); + count=invPreProductDetailEntity.getInCount(); + }else{ + count = invPreProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode()); + } + if(count==null || count<=0){ return "该产品库存不足!"; } @@ -456,12 +495,25 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.eq("recordId",bindInvSpaceRequest.getOrderId()); ew.eq("code",bindInvSpaceRequest.getCode()); InvPlaceOrderDetailEntity invPlaceOrderDetailEntity =invPlaceOrderDetailDao.selectOne(ew); + if(invPlaceOrderDetailEntity==null){ + invPlaceOrderDetailEntity=new InvPlaceOrderDetailEntity(); + invPlaceOrderDetailEntity.setCount(0); + } if(invPlaceOrderDetailEntity.getCount()>=count){ return "该产品库存不足!"; } } } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_NORMAL){ - Integer count = invProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode()); + if(bindInvSpaceRequest.getType()==3){ + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("code",bindInvSpaceRequest.getCode()); + ew.eq("invSpaceCode",bindInvSpaceRequest.getInvSpaceCode()); + InvProductDetailEntity invProductDetailEntity=invProductDetailDao.selectOne(ew); + count=invProductDetailEntity.getInCount(); + }else{ + count = invProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode()); + } + if(count==null || count<=0){ return "该产品库存不足!"; } @@ -470,6 +522,10 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.eq("recordId",bindInvSpaceRequest.getOrderId()); ew.eq("code",bindInvSpaceRequest.getCode()); InvPlaceOrderDetailEntity invPlaceOrderDetailEntity =invPlaceOrderDetailDao.selectOne(ew); + if(invPlaceOrderDetailEntity==null){ + invPlaceOrderDetailEntity=new InvPlaceOrderDetailEntity(); + invPlaceOrderDetailEntity.setCount(0); + } if(invPlaceOrderDetailEntity.getCount()>=count){ return "该产品库存不足!"; } From f45d18ec7fa0c232ac38400260465fd936af647d Mon Sep 17 00:00:00 2001 From: wangwei <1610949092@qq.com> Date: Mon, 8 May 2023 10:33:05 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/inout/IoOrderController.java | 17 +++++++ .../inout/IoOrderDetailBizController.java | 50 +++++++++---------- .../api/dao/inout/IoOrderDetailBizDao.java | 4 +- .../entity/inout/IoOrderDetailCodeEntity.java | 4 ++ .../inout/FilterOrderDetailCodeRequest.java | 3 ++ .../res/inout/IoOrderDetailCodeResponse.java | 10 +++- .../glxp/api/res/inout/IoOrderResponse.java | 4 ++ .../inout/IoOrderDetailBizService.java | 4 +- .../inout/IoOrderDetailCodeService.java | 4 +- .../impl/IoOrderDetailBizServiceImpl.java | 12 +++-- .../impl/IoOrderDetailCodeServiceImpl.java | 6 +++ .../mybatis/mapper/inout/IoOrderDao.xml | 8 +-- .../mapper/inout/IoOrderDetailBizDao.xml | 14 +++--- src/main/resources/schemas/schema_v2.1.sql | 3 +- 14 files changed, 98 insertions(+), 45 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index d284917f7..5b7b007be 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -24,6 +24,7 @@ import com.glxp.api.req.inout.*; import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.inout.IoOrderDetailBizResponse; +import com.glxp.api.res.inout.IoOrderDetailCodeResponse; import com.glxp.api.res.inout.IoOrderResponse; import com.glxp.api.res.inout.PdaBusOrderResponse; import com.glxp.api.service.auth.InvBusUserService; @@ -40,6 +41,7 @@ import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; @@ -135,6 +137,21 @@ public class IoOrderController extends BaseController { filterOrderRequest.setFromCorp(customerId); } List list = orderService.getfilterList(filterOrderRequest); + for (IoOrderResponse ioOrderResponse : list) { + FilterOrderDetailCodeRequest filterOrderDetailCodeRequest = new FilterOrderDetailCodeRequest(); + filterOrderDetailCodeRequest.setOrderIdFk(ioOrderResponse.getBillNo()); + List ioOrderDetailCodeResponses = orderDetailBizService.getfilterList(filterOrderDetailCodeRequest); + BigDecimal amount=new BigDecimal(0.00); + for (IoOrderDetailCodeResponse ioOrderDetailCodeRespons : ioOrderDetailCodeResponses) { + if(ioOrderDetailCodeRespons.getCount() != 0) { + amount = amount.add(new BigDecimal(ioOrderDetailCodeRespons.getCount()).multiply(ioOrderDetailCodeRespons.getPrice())); + } + } + ioOrderResponse.setAllAmount(amount); + + + } + PageInfo pageInfo = new PageInfo<>(list); return ResultVOUtils.page(pageInfo); diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java index 8d720af76..2b3d3a476 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java @@ -27,14 +27,12 @@ import com.glxp.api.entity.system.SystemParamConfigEntity; import com.glxp.api.entity.thrsys.ThrOrderDetailEntity; import com.glxp.api.entity.thrsys.ThrOrderEntity; import com.glxp.api.entity.thrsys.ThrSystemBusApiEntity; -import com.glxp.api.req.inout.AddBizProductReqeust; -import com.glxp.api.req.inout.BizBindUpdateRequest; -import com.glxp.api.req.inout.FilterOrderDetailBizRequest; -import com.glxp.api.req.inout.IoOrderInvoiceRequest; +import com.glxp.api.req.inout.*; import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.inout.IoOrderDetailBizResponse; +import com.glxp.api.res.inout.IoOrderDetailCodeResponse; import com.glxp.api.res.inout.IoOrderInvoiceResponse; import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.basic.*; @@ -56,6 +54,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -510,14 +509,14 @@ public class IoOrderDetailBizController extends BaseController { return ResultVOUtils.page(pageInfo); } - @GetMapping("/udiwms/inout/bizDetail/filterListInv") - public BaseResponse filterListInv(FilterOrderDetailBizRequest orderDetailBizRequest) { - List list = orderDetailBizService.getfilterList(orderDetailBizRequest); - List orderDetailCodeEntities = orderDetailCodeService.findByOrderId(orderDetailBizRequest.getOrderIdFk()); - ioCheckInoutService.bizOrderCheck2(list, orderDetailCodeEntities); - PageInfo pageInfo = new PageInfo<>(list); - return ResultVOUtils.page(pageInfo); - } +// @GetMapping("/udiwms/inout/bizDetail/filterListInv") +// public BaseResponse filterListInv(FilterOrderDetailBizRequest orderDetailBizRequest) { +// List list = orderDetailBizService.getfilterList(orderDetailBizRequest); +// List orderDetailCodeEntities = orderDetailCodeService.findByOrderId(orderDetailBizRequest.getOrderIdFk()); +// ioCheckInoutService.bizOrderCheck2(list, orderDetailCodeEntities); +// PageInfo pageInfo = new PageInfo<>(list); +// return ResultVOUtils.page(pageInfo); +// } @GetMapping("/udiwms/inout/bizDetail/filterListInvoice") public BaseResponse filterListInvoice(FilterOrderDetailBizRequest orderDetailBizRequest) { @@ -558,7 +557,7 @@ public class IoOrderDetailBizController extends BaseController { ioOrderInvoiceService.deleteByInvId(ioOrderInvoiceEntity.getId()+""); //更改 登记状态 - IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity(); + IoOrderDetailCodeEntity ioOrderDetailBizEntity = new IoOrderDetailCodeEntity(); FilterOrderDetailBizRequest filterOrderDetailBizRequest = new FilterOrderDetailBizRequest(); @@ -572,7 +571,7 @@ public class IoOrderDetailBizController extends BaseController { if (list == null && list.size() == 0) { ioOrderDetailBizEntity.setRegStatus(false); } - orderDetailBizService.updateOrderDetailBiz(ioOrderDetailBizEntity); + orderDetailCodeService.updateOrderDetailBiz(ioOrderDetailBizEntity); return ResultVOUtils.success(); @@ -623,12 +622,11 @@ public class IoOrderDetailBizController extends BaseController { } @PostMapping("/udiwms/inout/biz/updateorderBiz") - public BaseResponse updateorderBiz(@RequestBody List list) { - for (IoOrderDetailBizEntity ioOrderDetailBizEntity : list) { + public BaseResponse updateorderBiz(@RequestBody List list) { + for (IoOrderDetailCodeEntity ioOrderDetailBizEntity : list) { ioOrderDetailBizEntity.setRegStatus(true); - orderDetailBizService.updateOrderDetailBiz(ioOrderDetailBizEntity); + orderDetailCodeService.updateOrderDetailBiz(ioOrderDetailBizEntity); } - return ResultVOUtils.success("成功"); } @@ -640,13 +638,14 @@ public class IoOrderDetailBizController extends BaseController { * @return */ @GetMapping("/udiwms/inout/bizDetail/filterBizOrderList") - public BaseResponse filterBizOrderList(FilterOrderDetailBizRequest orderDetailBizRequest) { - List list = orderDetailBizService.getfilterList(orderDetailBizRequest); - for (IoOrderDetailBizResponse ioOrderDetailBizResponse : list) { + public BaseResponse filterBizOrderList(FilterOrderDetailCodeRequest orderDetailBizRequest) { + List ioOrderDetailCodeResponses = orderDetailBizService.getfilterList(orderDetailBizRequest); + for (IoOrderDetailCodeResponse ioOrderDetailCodeRespons : ioOrderDetailCodeResponses) { + ioOrderDetailCodeRespons.setAmount(new BigDecimal(ioOrderDetailCodeRespons.getCount()).multiply(ioOrderDetailCodeRespons.getPrice())); String msg = ""; IoOrderInvoiceRequest ioOrderInvoiceEntity = new IoOrderInvoiceRequest(); - ioOrderInvoiceEntity.setOrderIdFk(ioOrderDetailBizResponse.getOrderIdFk()); - ioOrderInvoiceEntity.setBizIdFk(ioOrderDetailBizResponse.getId()); + ioOrderInvoiceEntity.setOrderIdFk(ioOrderDetailCodeRespons.getOrderIdFk()); + ioOrderInvoiceEntity.setBizIdFk(ioOrderDetailCodeRespons.getId()); List ioOrderInvoiceEntityList = ioOrderInvoiceService.selectOrderInvoice(ioOrderInvoiceEntity); for (IoOrderInvoiceEntity obj : ioOrderInvoiceEntityList) { if (StrUtil.isNotEmpty(obj.getInvoiceEncode())) { @@ -656,10 +655,11 @@ public class IoOrderDetailBizController extends BaseController { if (msg.length() > 1) { msg = msg.substring(1); } - ioOrderDetailBizResponse.setInvoiceCodes(msg); + ioOrderDetailCodeRespons.setInvoiceCodes(msg); } - PageInfo pageInfo = new PageInfo<>(list); + PageInfo pageInfo = new PageInfo<>(ioOrderDetailCodeResponses); return ResultVOUtils.page(pageInfo); } } + diff --git a/src/main/java/com/glxp/api/dao/inout/IoOrderDetailBizDao.java b/src/main/java/com/glxp/api/dao/inout/IoOrderDetailBizDao.java index 18688e93a..2d5cceb18 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoOrderDetailBizDao.java +++ b/src/main/java/com/glxp/api/dao/inout/IoOrderDetailBizDao.java @@ -3,7 +3,9 @@ package com.glxp.api.dao.inout; import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.req.inout.FilterOrderDetailBizRequest; +import com.glxp.api.req.inout.FilterOrderDetailCodeRequest; import com.glxp.api.res.inout.IoOrderDetailBizResponse; +import com.glxp.api.res.inout.IoOrderDetailCodeResponse; import com.glxp.api.res.inout.IoOrderInvoiceResponse; import org.apache.ibatis.annotations.Param; @@ -19,7 +21,7 @@ public interface IoOrderDetailBizDao extends BaseMapperPlus filterList(FilterOrderDetailBizRequest orderDetailBizRequest); - List getfilterList(FilterOrderDetailBizRequest orderDetailBizRequest); + List getfilterList(FilterOrderDetailCodeRequest orderDetailBizRequest); List filterListInv(FilterOrderDetailBizRequest orderDetailBizRequest); diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailCodeEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailCodeEntity.java index 56e838673..36bb9008f 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailCodeEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailCodeEntity.java @@ -191,5 +191,9 @@ public class IoOrderDetailCodeEntity { @TableField(exist = false) private String errMsg; + @TableField(value = "regStatus") + private boolean regStatus; + + } diff --git a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailCodeRequest.java b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailCodeRequest.java index 979802219..6e5d2edbe 100644 --- a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailCodeRequest.java +++ b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailCodeRequest.java @@ -8,6 +8,7 @@ import lombok.Data; */ @Data public class FilterOrderDetailCodeRequest extends ListPageRequest { + private Long relId; /** * 单据号 @@ -39,4 +40,6 @@ public class FilterOrderDetailCodeRequest extends ListPageRequest { */ private String productName; + private Long bizIdFk; + } diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderDetailCodeResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderDetailCodeResponse.java index fc0540815..453033d0f 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderDetailCodeResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderDetailCodeResponse.java @@ -1,6 +1,5 @@ package com.glxp.api.res.inout; -import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; import java.math.BigDecimal; @@ -162,4 +161,13 @@ public class IoOrderDetailCodeResponse { private int orderCount; + private String invoiceCodes; + + private Integer sucCount; + + private boolean regStatus; + + //金额 + private BigDecimal amount; + } diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java index 9f4350c92..c8055b82d 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java @@ -3,6 +3,7 @@ package com.glxp.api.res.inout; import cn.hutool.core.util.StrUtil; import lombok.Data; +import java.math.BigDecimal; import java.util.Date; @Data @@ -227,6 +228,9 @@ public class IoOrderResponse { private Date checkTime; private String checkUserName; + //总金额 + private BigDecimal allAmount; + /** * 校验信息 diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java b/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java index 6d4f95b87..24892f3c8 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java @@ -2,7 +2,9 @@ package com.glxp.api.service.inout; import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.req.inout.FilterOrderDetailBizRequest; +import com.glxp.api.req.inout.FilterOrderDetailCodeRequest; import com.glxp.api.res.inout.IoOrderDetailBizResponse; +import com.glxp.api.res.inout.IoOrderDetailCodeResponse; import com.glxp.api.res.inout.IoOrderInvoiceResponse; import java.util.List; @@ -35,7 +37,7 @@ public interface IoOrderDetailBizService { List filterList(FilterOrderDetailBizRequest orderDetailBizRequest); - List getfilterList(FilterOrderDetailBizRequest orderDetailBizRequest); + List getfilterList(FilterOrderDetailCodeRequest orderDetailBizRequest); IoOrderDetailBizEntity selectByBatchNoAndBindRlFk(String batchNo, String bindRlFk); diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java b/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java index 72d4379be..cc6c8f5dd 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java @@ -3,7 +3,6 @@ package com.glxp.api.service.inout; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.req.inout.FilterOrderDetailCodeRequest; import com.glxp.api.res.inout.IoOrderDetailCodeResponse; -import org.apache.ibatis.annotations.Param; import java.util.List; @@ -49,4 +48,7 @@ public interface IoOrderDetailCodeService { * @return */ List getDetailCodeResponse(List orderEntityList); + + Boolean updateOrderDetailBiz(IoOrderDetailCodeEntity orderDetailCodeEntity); + } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java index 50467d3b7..f3f285c4b 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java @@ -10,7 +10,9 @@ import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.req.inout.FilterOrderDetailBizRequest; +import com.glxp.api.req.inout.FilterOrderDetailCodeRequest; import com.glxp.api.res.inout.IoOrderDetailBizResponse; +import com.glxp.api.res.inout.IoOrderDetailCodeResponse; import com.glxp.api.res.inout.IoOrderInvoiceResponse; import com.glxp.api.service.inout.IoCheckInoutService; import com.glxp.api.service.inout.IoOrderDetailBizService; @@ -116,14 +118,14 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService { } @Override - public List getfilterList(FilterOrderDetailBizRequest orderDetailBizRequest) { - if (null == orderDetailBizRequest) { + public List getfilterList(FilterOrderDetailCodeRequest OrderDetailCodeRequest) { + if (null == OrderDetailCodeRequest) { return Collections.emptyList(); } - if (null != orderDetailBizRequest.getPage() && null != orderDetailBizRequest.getLimit()) { - PageHelper.offsetPage((orderDetailBizRequest.getPage() - 1) * orderDetailBizRequest.getLimit(), orderDetailBizRequest.getLimit()); + if (null != OrderDetailCodeRequest.getPage() && null != OrderDetailCodeRequest.getLimit()) { + PageHelper.offsetPage((OrderDetailCodeRequest.getPage() - 1) * OrderDetailCodeRequest.getLimit(), OrderDetailCodeRequest.getLimit()); } - return ioOrderDetailBizDao.getfilterList(orderDetailBizRequest); + return ioOrderDetailBizDao.getfilterList(OrderDetailCodeRequest); } @Override diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java index 273072469..80f1163df 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java @@ -118,4 +118,10 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService { } return list; } + + @Override + public Boolean updateOrderDetailBiz(IoOrderDetailCodeEntity orderDetailCodeEntity) { + return ioOrderDetailCodeDao.updateById(orderDetailCodeEntity)>0; + } + } diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml index 0ae322d40..7e8845684 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml @@ -150,11 +150,11 @@ (select name from auth_warehouse aw2 where aw2.code = io.fromInvCode) fromInvName, (select name from basic_corp bc where bc.erpId = io.fromCorp) fromCorpName, (select name from basic_corp bc where bc.erpId = io.customerId) customerName, - (SELECT count(*) FROM io_order_detail_biz WHERE io_order_detail_biz.orderIdFk = io.billNo - and io_order_detail_biz.regStatus = 1 + (SELECT count(*) FROM io_order_detail_code WHERE io_order_detail_code.orderIdFk = io.billNo + and io_order_detail_code.regStatus = 1 ) AS allCout, - (SELECT count(*) FROM io_order_detail_biz WHERE io_order_detail_biz.orderIdFk = io.billNo - and io_order_detail_biz.regStatus = 0 + (SELECT count(*) FROM io_order_detail_code WHERE io_order_detail_code.orderIdFk = io.billNo + and io_order_detail_code.regStatus = 0 ) As partCount from io_order as io diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml index 9ff77d100..8326b5d0a 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml @@ -24,11 +24,13 @@ - + select io_order_detail_code.*, + (select count(*) + FROM io_order_invoice + where io_order_invoice.orderIdFk = io_order_detail_code.orderIdFk) as sucCount + from io_order_detail_code + left join basic_udirel bu on bu.id = io_order_detail_code.bindRlFk left join basic_products bp on bu.uuid = bp.uuid @@ -44,7 +46,7 @@ AND bp.cpmctymc like concat('%', #{productName}, '%') - group by io_order_detail_biz.id + group by io_order_detail_code.id