From 8a8965e1e7b8028bad87fc9bd00f77eda97a27fc Mon Sep 17 00:00:00 2001 From: anthonywj Date: Tue, 9 May 2023 09:22:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8D=95=E6=8D=AE=E8=AF=A6?= =?UTF-8?q?=E6=83=85=EF=BC=8C=E5=8F=91=E7=A5=A8=E3=80=81=E7=A1=AE=E8=AE=A4?= =?UTF-8?q?=E7=8A=B6=E6=80=81=EF=BC=8C=E5=90=8C=E6=AD=A5=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=EF=BC=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/dao/inout/IoOrderDao.java | 2 + .../inout/impl/IoOrderInvoiceServiceImpl.java | 3 + .../glxp/api/service/sync/HeartService.java | 55 +++++++-- .../mybatis/mapper/inout/IoOrderDao.xml | 111 ++++++++++-------- 4 files changed, 116 insertions(+), 55 deletions(-) diff --git a/src/main/java/com/glxp/api/dao/inout/IoOrderDao.java b/src/main/java/com/glxp/api/dao/inout/IoOrderDao.java index 9783efabc..eae776426 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoOrderDao.java +++ b/src/main/java/com/glxp/api/dao/inout/IoOrderDao.java @@ -68,4 +68,6 @@ public interface IoOrderDao extends BaseMapperPlus selectWaitSubmitOrder(@Param("thirdSys") String thirdSys); + + boolean updateOrder(IoOrderEntity orderEntity); } 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 70a3a206a..9c6cf3141 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 @@ -1,5 +1,6 @@ package com.glxp.api.service.inout.impl; +import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.dao.inout.IoOrderInvoiceMapper; @@ -41,6 +42,8 @@ public class IoOrderInvoiceServiceImpl extends ServiceImpl 0; } diff --git a/src/main/java/com/glxp/api/service/sync/HeartService.java b/src/main/java/com/glxp/api/service/sync/HeartService.java index d26bfd83a..e402e33d2 100644 --- a/src/main/java/com/glxp/api/service/sync/HeartService.java +++ b/src/main/java/com/glxp/api/service/sync/HeartService.java @@ -14,9 +14,7 @@ import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.*; import com.glxp.api.dao.basic.*; -import com.glxp.api.dao.inout.IoCodeLostMapper; -import com.glxp.api.dao.inout.IoCodeRelMapper; -import com.glxp.api.dao.inout.IoOrderInvoiceMapper; +import com.glxp.api.dao.inout.*; import com.glxp.api.dao.purchase.*; import com.glxp.api.dao.thrsys.ThrBusTypeOriginDao; import com.glxp.api.dto.RelaySyncDto; @@ -55,6 +53,7 @@ import org.apache.ibatis.session.TransactionIsolationLevel; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -1347,7 +1346,6 @@ public class HeartService { try { List orderEntities = syncDataResponse.getOrderEntities(); for (IoOrderEntity orderEntity : orderEntities) { - SyncDataBustypeEntity syncDataBustypeEntity = syncDataBustypeService.findByAction(orderEntity.getAction(), 2); orderEntity.setUpdateTime(null); orderEntity.setFromType(ConstantStatus.FROM_UDISP); @@ -1375,7 +1373,8 @@ public class HeartService { ioCheckInoutService.check(orderEntity.getBillNo()); } } - + } else { + updateOrderDb(syncDataResponse, orderEntity); } } if (fileJson != null && fileJson.size() > 0) { @@ -1830,7 +1829,6 @@ public class HeartService { List orderDetailBizEntities = syncDataResponse.getOrderDetailBizEntities(); for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { if (bizEntity.getOrderIdFk().equals(orderEntity.getBillNo())) { - bizEntity.setId(null); orderDetailBizService.insert(bizEntity); } } @@ -1841,7 +1839,6 @@ public class HeartService { List orderDetailCodeEntities = syncDataResponse.getOrderDetailCodeEntities(); for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { if (codeEntity.getOrderIdFk().equals(orderEntity.getBillNo())) { - codeEntity.setId(null); orderDetailCodeService.insert(codeEntity); } } @@ -1864,7 +1861,49 @@ public class HeartService { List orderInvoiceEntities = syncDataResponse.getOrderInvoiceEntities(); for (IoOrderInvoiceEntity orderInvoiceEntity : orderInvoiceEntities) { if (orderInvoiceEntity.getOrderIdFk().equals(orderEntity.getBillNo())) { - orderInvoiceEntity.setId(IdUtil.getSnowflakeNextId()); + orderInvoiceService.insertInvoice(orderInvoiceEntity); + } + } + } + } + + @Resource + IoOrderDetailBizDao ioOrderDetailBizDao; + + @Resource + IoOrderDetailCodeDao ioOrderDetailCodeDao; + @Resource + IoOrderDao orderDao; + + + @Resource + public void updateOrderDb(SpsSyncOrderResponse syncDataResponse, IoOrderEntity orderEntity) { + orderDao.updateOrder(orderEntity); + //更新业务详情 + if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailBizEntities())) { + List orderDetailBizEntities = syncDataResponse.getOrderDetailBizEntities(); + for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { + if (bizEntity.getOrderIdFk().equals(orderEntity.getBillNo())) { + ioOrderDetailBizDao.insertOrUpdate(bizEntity); + } + } + } + + //更新码详情 + if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailCodeEntities())) { + List orderDetailCodeEntities = syncDataResponse.getOrderDetailCodeEntities(); + for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { + if (codeEntity.getOrderIdFk().equals(orderEntity.getBillNo())) { + ioOrderDetailCodeDao.insertOrUpdate(codeEntity); + } + } + } + + //更新发票信息 + if (CollUtil.isNotEmpty(syncDataResponse.getOrderInvoiceEntities())) { + List orderInvoiceEntities = syncDataResponse.getOrderInvoiceEntities(); + for (IoOrderInvoiceEntity orderInvoiceEntity : orderInvoiceEntities) { + if (orderInvoiceEntity.getOrderIdFk().equals(orderEntity.getBillNo())) { orderInvoiceService.insertInvoice(orderInvoiceEntity); } } diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml index 7e8845684..d115f99c7 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml @@ -3,17 +3,17 @@ select io.*, (select name from basic_bussiness_type bus where bus.action = io.action) billTypeName, - (select name from auth_dept ad where ad.code = io.deptCode) deptName, - (select name from auth_warehouse aw where aw.code = io.invCode) invName, - (select employeeName from auth_user au where au.id = io.createUser) createUserName, - (select employeeName from auth_user au2 where au2.id = io.updateUser) updateUserName, - (select employeeName from auth_user au3 where au3.id = io.reviewUser) reviewUserName, - (select employeeName from auth_user au4 where au4.id = io.checkUser) checkUserName, - (select name from auth_dept ad2 where ad2.code = io.fromDeptCode) fromDeptName, - (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_code WHERE io_order_detail_code.orderIdFk = io.billNo + (select name from auth_dept ad where ad.code = io.deptCode) deptName, + (select name from auth_warehouse aw where aw.code = io.invCode) invName, + (select employeeName from auth_user au where au.id = io.createUser) createUserName, + (select employeeName from auth_user au2 where au2.id = io.updateUser) updateUserName, + (select employeeName from auth_user au3 where au3.id = io.reviewUser) reviewUserName, + (select employeeName from auth_user au4 where au4.id = io.checkUser) checkUserName, + (select name from auth_dept ad2 where ad2.code = io.fromDeptCode) fromDeptName, + (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_code + WHERE io_order_detail_code.orderIdFk = io.billNo and io_order_detail_code.regStatus = 1 ) AS allCout, - (SELECT count(*) FROM io_order_detail_code WHERE io_order_detail_code.orderIdFk = io.billNo + (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 @@ -196,10 +200,12 @@ AND relKey = #{relKey} - AND date_format(createTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d') + AND date_format(createTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and + date_format(#{endTime}, '%Y-%m-%d') - AND date_format(auditTime, '%Y-%m-%d') between date_format(#{startAduditTime}, '%Y-%m-%d') and date_format(#{endAduditTime}, '%Y-%m-%d') + AND date_format(auditTime, '%Y-%m-%d') between date_format(#{startAduditTime}, '%Y-%m-%d') and + date_format(#{endAduditTime}, '%Y-%m-%d') AND `action` in @@ -320,7 +326,7 @@ AND date_format(createTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and - date_format(#{endTime}, '%Y-%m-%d') + date_format(#{endTime}, '%Y-%m-%d') select io.*, - (select name from basic_bussiness_type bus where bus.action = io.action) billTypeName, - (select name from auth_dept ad where ad.code = io.deptCode) deptName, - (select name from auth_warehouse aw where aw.code = io.invCode) invName, - (select employeeName from auth_user au where au.id = io.createUser) createUserName, - (select employeeName from auth_user au2 where au2.id = io.updateUser) updateUserName, - (select employeeName from auth_user au3 where au3.id = io.reviewUser) reviewUserName, - (select employeeName from auth_user au4 where au4.id = io.checkUser) checkUserName, - (select name from auth_dept ad2 where ad2.code = io.fromDeptCode) fromDeptName, - (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 name from basic_bussiness_type bus where bus.action = io.action) billTypeName, + (select name from auth_dept ad where ad.code = io.deptCode) deptName, + (select name from auth_warehouse aw where aw.code = io.invCode) invName, + (select employeeName from auth_user au where au.id = io.createUser) createUserName, + (select employeeName from auth_user au2 where au2.id = io.updateUser) updateUserName, + (select employeeName from auth_user au3 where au3.id = io.reviewUser) reviewUserName, + (select employeeName from auth_user au4 where au4.id = io.checkUser) checkUserName, + (select name from auth_dept ad2 where ad2.code = io.fromDeptCode) fromDeptName, + (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 from io_order as io io.dealStatus = 3 @@ -382,7 +388,7 @@ AND date_format(createTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and - date_format(#{endTime}, '%Y-%m-%d') + date_format(#{endTime}, '%Y-%m-%d') AND date_format(createTime, '%Y-%m-%d') >= date_format(#{startTime}, '%Y-%m-%d') @@ -409,13 +415,24 @@ + + + + UPDATE io_order + + + checkStatus=#{checkStatus}, + + + WHERE billNo = #{billNo} +