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 be0984631..bd4ec0208 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java @@ -2,6 +2,7 @@ package com.glxp.api.controller.inout; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; @@ -575,6 +576,7 @@ public class IoOrderDetailBizController extends BaseController { ioOrderInvoiceEntity.setBizIdFk(ioOrderDetailBizEntity.getId()); ioOrderInvoiceEntity.setCreateTime(new Date()); ioOrderInvoiceEntity.setUpdateTime(new Date()); + ioOrderInvoiceEntity.setId(IdUtil.getSnowflakeNextId()); boolean b = ioOrderInvoiceService.insertInvoice(ioOrderInvoiceEntity); return ResultVOUtils.success("成功"); @@ -592,7 +594,7 @@ public class IoOrderDetailBizController extends BaseController { List list = orderDetailBizService.filterList(orderDetailBizRequest); for (IoOrderDetailBizResponse ioOrderDetailBizResponse : list) { String msg = ""; - IoOrderInvoiceEntity ioOrderInvoiceEntity = new IoOrderInvoiceEntity(); + IoOrderInvoiceRequest ioOrderInvoiceEntity = new IoOrderInvoiceRequest(); ioOrderInvoiceEntity.setOrderIdFk(ioOrderDetailBizResponse.getOrderIdFk()); List ioOrderInvoiceEntityList = ioOrderInvoiceService.selectOrderInvoice(ioOrderInvoiceEntity); for (IoOrderInvoiceEntity obj : ioOrderInvoiceEntityList) { diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java new file mode 100644 index 000000000..22e5c62bc --- /dev/null +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java @@ -0,0 +1,62 @@ +package com.glxp.api.controller.inout; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.annotation.Log; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.BusinessType; +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; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +@RestController +public class IoOrderInvoiceController { + @Resource + IoOrderInvoiceMapper orderInvoiceMapper; + @Resource + SpGetHttpClient spGetHttpClient; + @Resource + FileService fileService; + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/inout/order/refrshInvoice") + @Log(title = "发票", businessType = BusinessType.INSERT) + public BaseResponse addBizProduct(@RequestBody RefreshInoiceRequest refreshInoiceRequest) { + BaseResponse> baseResponse = spGetHttpClient.getIoOrderInvoices(refreshInoiceRequest); + if (baseResponse.getCode() == 20000) { + List orderInvoiceEntities = baseResponse.getData(); + if (CollUtil.isNotEmpty(orderInvoiceEntities)) { + List syncFiles = new ArrayList<>(); + for (IoOrderInvoiceEntity orderInvoiceEntity : orderInvoiceEntities) { + if (StrUtil.isNotEmpty(orderInvoiceEntity.getLicenseUrl())) { + syncFiles.add(orderInvoiceEntity.getLicenseUrl()); + } + orderInvoiceMapper.insertOrUpdate(orderInvoiceEntity); + } + + if (CollUtil.isNotEmpty(syncFiles)) { + fileService.download(syncFiles); + } + } + + return ResultVOUtils.success("更新成功!"); + } else + return baseResponse; + + + } +} diff --git a/src/main/java/com/glxp/api/dao/BaseMapperPlus.java b/src/main/java/com/glxp/api/dao/BaseMapperPlus.java index ea04bc64a..25fe5aaae 100644 --- a/src/main/java/com/glxp/api/dao/BaseMapperPlus.java +++ b/src/main/java/com/glxp/api/dao/BaseMapperPlus.java @@ -82,7 +82,7 @@ public interface BaseMapperPlus extends BaseMapper { default boolean insertBatch(Collection entityList, int batchSize) { String sqlStatement = SqlHelper.getSqlStatement(this.currentMapperClass(), SqlMethod.INSERT_ONE); return SqlHelper.executeBatch(this.currentModelClass(), log, entityList, batchSize, - (sqlSession, entity) -> sqlSession.insert(sqlStatement, entity)); + (sqlSession, entity) -> sqlSession.insert(sqlStatement, entity)); } /** @@ -91,11 +91,11 @@ public interface BaseMapperPlus extends BaseMapper { default boolean updateBatchById(Collection entityList, int batchSize) { String sqlStatement = SqlHelper.getSqlStatement(this.currentMapperClass(), SqlMethod.UPDATE_BY_ID); return SqlHelper.executeBatch(this.currentModelClass(), log, entityList, batchSize, - (sqlSession, entity) -> { - MapperMethod.ParamMap param = new MapperMethod.ParamMap<>(); - param.put(Constants.ENTITY, entity); - sqlSession.update(sqlStatement, param); - }); + (sqlSession, entity) -> { + MapperMethod.ParamMap param = new MapperMethod.ParamMap<>(); + param.put(Constants.ENTITY, entity); + sqlSession.update(sqlStatement, param); + }); } /** @@ -110,7 +110,7 @@ public interface BaseMapperPlus extends BaseMapper { Object idVal = tableInfo.getPropertyValue(entity, keyProperty); String sqlStatement = SqlHelper.getSqlStatement(this.currentMapperClass(), SqlMethod.SELECT_BY_ID); return StringUtils.checkValNull(idVal) - || CollectionUtils.isEmpty(sqlSession.selectList(sqlStatement, entity)); + || CollectionUtils.isEmpty(sqlSession.selectList(sqlStatement, entity)); }, (sqlSession, entity) -> { MapperMethod.ParamMap param = new MapperMethod.ParamMap<>(); param.put(Constants.ENTITY, entity); diff --git a/src/main/java/com/glxp/api/dao/inout/IoOrderInvoiceMapper.java b/src/main/java/com/glxp/api/dao/inout/IoOrderInvoiceMapper.java index 924322022..7f0314953 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoOrderInvoiceMapper.java +++ b/src/main/java/com/glxp/api/dao/inout/IoOrderInvoiceMapper.java @@ -3,6 +3,7 @@ package com.glxp.api.dao.inout; import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.inout.IoOrderInvoiceEntity; +import com.glxp.api.req.inout.IoOrderInvoiceRequest; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -12,5 +13,6 @@ public interface IoOrderInvoiceMapper extends BaseMapperPlus selectOrderInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity); + List selectOrderInvoice(IoOrderInvoiceRequest ioOrderInvoiceEntity); + } 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 b739baaa4..cef5f2a43 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderInvoiceEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderInvoiceEntity.java @@ -13,7 +13,7 @@ import lombok.Data; @TableName(value = "io_order_invoice") public class IoOrderInvoiceEntity { @TableId(value = "id", type = IdType.AUTO) - private Integer id; + private Long id; /** * 订单号外键 diff --git a/src/main/java/com/glxp/api/entity/system/SyncDataSetEntity.java b/src/main/java/com/glxp/api/entity/system/SyncDataSetEntity.java index fe45690c7..f69eb4dd6 100644 --- a/src/main/java/com/glxp/api/entity/system/SyncDataSetEntity.java +++ b/src/main/java/com/glxp/api/entity/system/SyncDataSetEntity.java @@ -67,6 +67,6 @@ public class SyncDataSetEntity { private int companyCert; private int manufacturerCert; private int productCert; - + private int orderInvoice; //发票信息 } 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 bb7994724..fb99cc82e 100644 --- a/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java +++ b/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java @@ -10,11 +10,13 @@ import com.glxp.api.common.res.BaseResponse; 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.IoOrderInvoiceEntity; import com.glxp.api.entity.sync.BasicExportStatusEntity; import com.glxp.api.entity.sync.IOOrderStatusEntity; import com.glxp.api.entity.system.SyncDataSetEntity; import com.glxp.api.idc.service.FileService; import com.glxp.api.req.basic.ProductInfoFilterRequest; +import com.glxp.api.req.inout.RefreshInoiceRequest; import com.glxp.api.req.inout.ReviewFinishRequest; import com.glxp.api.req.inout.ReviewSpmsRequest; import com.glxp.api.req.sync.BasicExportStatusRequest; @@ -122,6 +124,16 @@ public class SpGetHttpClient { return response; } + + 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>>() { + }); + return response; + } + //验收自助平台单据--直连接口 public BaseResponse reviewOrder(ReviewFinishRequest reviewFinishRequest) { String json = JSONUtil.toJsonStr(reviewFinishRequest); @@ -214,7 +226,7 @@ public class SpGetHttpClient { } - public BaseResponse> getBasicStatus(String type,String status) { + public BaseResponse> getBasicStatus(String type, String status) { Map paramMap = new HashMap<>(16); paramMap.put("type", type); paramMap.put("status", status); 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 438f4d848..07ee07cc3 100644 --- a/src/main/java/com/glxp/api/req/inout/IoOrderInvoiceRequest.java +++ b/src/main/java/com/glxp/api/req/inout/IoOrderInvoiceRequest.java @@ -19,7 +19,7 @@ import java.util.List; @Data public class IoOrderInvoiceRequest { - private Integer id; + private Long id; private String orderIdFk; diff --git a/src/main/java/com/glxp/api/req/inout/RefreshInoiceRequest.java b/src/main/java/com/glxp/api/req/inout/RefreshInoiceRequest.java new file mode 100644 index 000000000..139b26503 --- /dev/null +++ b/src/main/java/com/glxp/api/req/inout/RefreshInoiceRequest.java @@ -0,0 +1,11 @@ +package com.glxp.api.req.inout; + +import lombok.Data; + +@Data +public class RefreshInoiceRequest { + private Long id; + private String orderIdFk; + private Long bizIdFk; + +} diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderInvoiceResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderInvoiceResponse.java index 04220ceb4..a23af6ad8 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderInvoiceResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderInvoiceResponse.java @@ -8,7 +8,7 @@ import java.util.Date; @Data @TableName(value = "io_order_invoice") public class IoOrderInvoiceResponse { - private Integer id; + private Long id; /** * 订单号外键 diff --git a/src/main/java/com/glxp/api/res/sync/SpsSyncOtherDataResponse.java b/src/main/java/com/glxp/api/res/sync/SpsSyncOtherDataResponse.java index 6d1be8305..64d8f6e6c 100644 --- a/src/main/java/com/glxp/api/res/sync/SpsSyncOtherDataResponse.java +++ b/src/main/java/com/glxp/api/res/sync/SpsSyncOtherDataResponse.java @@ -2,6 +2,7 @@ package com.glxp.api.res.sync; import com.glxp.api.entity.inout.IoCodeLostEntity; import com.glxp.api.entity.inout.IoCodeRelEntity; +import com.glxp.api.entity.inout.IoOrderInvoiceEntity; import lombok.Data; import java.util.List; @@ -12,4 +13,5 @@ public class SpsSyncOtherDataResponse extends BaseSyncResponse { List ioCodeLostList; List ioCodeRelList; + List ioOrderInvoiceEntities; } diff --git a/src/main/java/com/glxp/api/res/system/SyncDataSetResponse.java b/src/main/java/com/glxp/api/res/system/SyncDataSetResponse.java index 0e15ebbe0..4de531c35 100644 --- a/src/main/java/com/glxp/api/res/system/SyncDataSetResponse.java +++ b/src/main/java/com/glxp/api/res/system/SyncDataSetResponse.java @@ -58,4 +58,5 @@ public class SyncDataSetResponse { private int companyCert; private int manufacturerCert; private int productCert; + private int orderInvoice; //发票信息 } diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java index 9312fa575..31348b15d 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java @@ -255,7 +255,8 @@ public class BasicBussinessTypeServiceImpl extends ServiceImpl() - .gt("spUse", 0).eq("enable", true).eq("corpType", ConstantStatus.CORP_TYPE_OUT).eq("actionType", 2)); + .gt("spUse", 0).eq("enable", true).eq("corpType", ConstantStatus.CORP_TYPE_OUT).eq("actionType", 2) + .eq("inStock", true)); default: break; diff --git a/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java b/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java index 1a0fef4e1..7fd0fbfe4 100644 --- a/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java @@ -2,6 +2,7 @@ package com.glxp.api.service.inout; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.UUID; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.glxp.api.constant.Constant; import com.glxp.api.constant.ConstantStatus; @@ -259,9 +260,9 @@ public class IoChangeInoutService { if (CollUtil.isNotEmpty(invoiceEntities)) { for (IoOrderInvoiceEntity orderInvoiceEntity : invoiceEntities) { orderInvoiceEntity.setOrderIdFk(outOrder.getBillNo()); - orderInvoiceEntity.setId(null); orderInvoiceEntity.setBizIdFk(null); orderInvoiceEntity.setUpdateTime(new Date()); + orderInvoiceEntity.setId(IdUtil.getSnowflakeNextId()); ioOrderInvoiceService.insertInvoice(orderInvoiceEntity); } } diff --git a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java index 4788472be..f64d5ad79 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -720,6 +720,10 @@ public class IoCheckInoutService { if (!bussinessTypeEntity.isThrCheckCopy()) { orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW); } + } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDISP) { + if (!bussinessTypeEntity.isThrCheckSp()) { + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW); + } } } else { orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW); @@ -773,6 +777,10 @@ public class IoCheckInoutService { if (!bussinessTypeEntity.isSecCheckCopy()) { orderEntity.setStatus(ConstantStatus.ORDER_STATUS_AUDITED); } + } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDISP) { + if (!bussinessTypeEntity.isSecCheckSp()) { + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_AUDITED); + } } } else { orderEntity.setStatus(ConstantStatus.ORDER_STATUS_AUDITED); 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 8c3534ae5..aae7dfac6 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderInvoiceService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderInvoiceService.java @@ -1,11 +1,13 @@ 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; import java.util.List; -public interface IoOrderInvoiceService { +public interface IoOrderInvoiceService extends IService { List findByBillNo(String billNo); @@ -16,7 +18,7 @@ public interface IoOrderInvoiceService { boolean insertInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity); - List selectOrderInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity); + List selectOrderInvoice(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 c4cf3e518..9bdcdf2e8 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,7 +1,10 @@ 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 org.springframework.beans.BeanUtils; @@ -16,7 +19,7 @@ import java.util.List; @Service @Transactional(rollbackFor = Exception.class) -public class IoOrderInvoiceServiceImpl implements IoOrderInvoiceService { +public class IoOrderInvoiceServiceImpl extends ServiceImpl implements IoOrderInvoiceService { @Resource IoOrderInvoiceMapper ioOrderInvoiceMapper; @@ -45,7 +48,7 @@ public class IoOrderInvoiceServiceImpl implements IoOrderInvoiceService { } @Override - public List selectOrderInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity) { - return ioOrderInvoiceMapper.selectOrderInvoice(ioOrderInvoiceEntity); + public List selectOrderInvoice(IoOrderInvoiceRequest ioOrderInvoiceRequest) { + return ioOrderInvoiceMapper.selectOrderInvoice(ioOrderInvoiceRequest); } } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java index 9eb6ef610..64bedb1a1 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java @@ -672,9 +672,10 @@ public class IoOrderServiceImpl implements IoOrderService { @Override public void setInvoiceFiltes(FilterOrderRequest filterOrderRequest) { +// .eq("corpType", ConstantStatus.CORP_TYPE_OUT) List bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper() - .eq("mainAction", ConstantType.TYPE_PUT).eq("corpType", ConstantStatus.CORP_TYPE_OUT) - .eq("corpType", ConstantStatus.CORP_TYPE_OUT).eq("inStock", false) + .eq("mainAction", ConstantType.TYPE_PUT) + .eq("inStock", false) .gt("spUse", 1).eq("actionType", 1).eq("enable", true)); List actions1 = null; actions1 = bussinessTypeEntities.stream().map(BasicBussinessTypeEntity::getAction).collect(Collectors.toList()); @@ -682,7 +683,7 @@ public class IoOrderServiceImpl implements IoOrderService { filterOrderRequest.setInvoiceActions1(actions1); List bussinessTypeEntities2 = basicBussinessTypeDao.selectList(new QueryWrapper() - .eq("mainAction", ConstantType.TYPE_PUT).eq("corpType", ConstantStatus.CORP_TYPE_OUT) + .eq("mainAction", ConstantType.TYPE_PUT) .eq("inStock", true) .gt("spUse", 0).eq("actionType", 1).eq("enable", true)); List actions2 = null; @@ -691,6 +692,7 @@ public class IoOrderServiceImpl implements IoOrderService { filterOrderRequest.setInvoiceActions2(actions2); } + @Override public List filterOrderTrace(String billNo) { IoOrderEntity order = orderDao.selectOne(new QueryWrapper().eq("billNo", billNo)); diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPreInProductDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPreInProductDetailServiceImpl.java index bd1d23824..81a42e7ac 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPreInProductDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPreInProductDetailServiceImpl.java @@ -154,7 +154,8 @@ public class InvPreInProductDetailServiceImpl implements InvPreinProductDetailSe response.setActionName(busType.getName()); //设置单据日期 IoOrderEntity order = orderDao.selectOne(new QueryWrapper().select("createTime").eq("billNo", response.getOrderId())); - response.setOrderTime(DateUtil.toDateStr(order.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); + if (order != null) + response.setOrderTime(DateUtil.toDateStr(order.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); } @Override diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java index 5e40e3af8..853ed68ce 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java @@ -149,7 +149,8 @@ public class InvPreProductDetailServiceImpl implements InvPreProductDetailServic response.setActionName(busType.getName()); //设置单据日期 IoOrderEntity order = orderDao.selectOne(new QueryWrapper().select("createTime").eq("billNo", response.getOrderId())); - response.setOrderTime(DateUtil.toDateStr(order.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); + if (order != null) + response.setOrderTime(DateUtil.toDateStr(order.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); } @Override diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java index 27fe31273..8d2ae7ccd 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java @@ -163,7 +163,8 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { response.setActionName(busType.getName()); //设置单据日期 IoOrderEntity order = orderDao.selectOne(new QueryWrapper().select("createTime").eq("billNo", response.getOrderId())); - response.setOrderTime(DateUtil.toDateStr(order.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); + if (order != null) + response.setOrderTime(DateUtil.toDateStr(order.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); } 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 35dac948b..b38869634 100644 --- a/src/main/java/com/glxp/api/service/sync/HeartService.java +++ b/src/main/java/com/glxp/api/service/sync/HeartService.java @@ -15,6 +15,7 @@ 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.purchase.*; import com.glxp.api.dao.thrsys.ThrBusTypeOriginDao; import com.glxp.api.dto.RelaySyncDto; @@ -1634,6 +1635,8 @@ public class HeartService { private final IoCodeLostMapper ioCodeLostMapper; private final IoCodeRelMapper ioCodeRelMapper; + @Resource + private final IoOrderInvoiceMapper ioOrderInvoiceMapper; /** * 设置嵌套事物 @@ -1645,12 +1648,22 @@ public class HeartService { cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(content); List ioCodeLostList = JSONUtil.toList(jsonObject.getJSONArray(IoCodeLostEntity.class.getSimpleName()), IoCodeLostEntity.class); List ioCodeRelList = JSONUtil.toList(jsonObject.getJSONArray(IoCodeRelEntity.class.getSimpleName()), IoCodeRelEntity.class); + List ioOrderInvoiceEntities = JSONUtil.toList(jsonObject.getJSONArray(IoOrderInvoiceEntity.class.getSimpleName()), IoOrderInvoiceEntity.class); + if (CollectionUtil.isNotEmpty(ioCodeLostList)) { ioCodeLostMapper.insertOrUpdateBatch(ioCodeLostList); } if (CollectionUtil.isNotEmpty(ioCodeRelList)) { ioCodeRelMapper.insertOrUpdateBatch(ioCodeRelList); } + if (CollUtil.isNotEmpty(ioOrderInvoiceEntities)) { + ioOrderInvoiceMapper.insertOrUpdateBatch(ioOrderInvoiceEntities); + } + + List syncFiles = JSONUtil.toList(jsonObject.getJSONArray("syncFiles"), String.class); + if (CollUtil.isNotEmpty(syncFiles)) { + fileService.download(syncFiles); + } } @@ -1798,6 +1811,11 @@ public class HeartService { if (CollectionUtil.isNotEmpty(bean.getIoCodeRelList())) { ioCodeRelMapper.insertOrUpdateBatch(bean.getIoCodeRelList()); } + + +// if (CollectionUtil.isNotEmpty(bean.getI())) { +// ioCodeRelMapper.insertOrUpdateBatch(bean.getIoCodeRelList()); +// } } public void insetOrderDb(SpsSyncOrderResponse syncDataResponse, IoOrderEntity orderEntity) { @@ -1853,7 +1871,7 @@ public class HeartService { List orderInvoiceEntities = syncDataResponse.getOrderInvoiceEntities(); for (IoOrderInvoiceEntity orderInvoiceEntity : orderInvoiceEntities) { if (orderInvoiceEntity.getOrderIdFk().equals(orderEntity.getBillNo())) { - orderInvoiceEntity.setId(null); + orderInvoiceEntity.setId(IdUtil.getSnowflakeNextId()); orderInvoiceService.insertInvoice(orderInvoiceEntity); } } diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderInvoiceMapper.xml b/src/main/resources/mybatis/mapper/inout/IoOrderInvoiceMapper.xml index 92740f138..de5cb763f 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderInvoiceMapper.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderInvoiceMapper.xml @@ -10,11 +10,17 @@ #{expireDate}) - - - + insert INTO sync_data_bustypes - (`action`, `name`, outChange, orderStatus, direct) + (id, `action`, `name`, outChange, orderStatus, direct) values - (#{item.action}, #{item.name}, + (#{item.id}, #{item.action}, #{item.name}, #{item.outChange}, #{item.orderStatus}, #{item.direct}) diff --git a/src/main/resources/mybatis/mapper/system/SyncDataSetDao.xml b/src/main/resources/mybatis/mapper/system/SyncDataSetDao.xml index c03013103..3f0674600 100644 --- a/src/main/resources/mybatis/mapper/system/SyncDataSetDao.xml +++ b/src/main/resources/mybatis/mapper/system/SyncDataSetDao.xml @@ -12,45 +12,45 @@ replace - INTO sync_data_set( id, typeBus, typeScan, - typeThird, basicProducts, basicCorp, basicInv, basicThirdProducts, basicThirdCorp - , basicThirdInv - , basicThirdBusOrder, orderScanFinish, dbDiProducts, downstreamEnable, syncTime - , syncDownloadTime, - orderUnReceive, orderUnCheck, busTypes, sysUser, syncIp, orderSyncTime - , orderSyncStart, basicSyncStart, entrustAction - , unCheckCert, checkedCert, companyCert, manufacturerCert, productCert, basicDept - , systemConfig - , printConfig, scanChangeConfig, supCert, dbDiCompany, busChangeConfig - , udiCodeLost, udiCodeRel) + INTO sync_data_set( id, typeBus, typeScan, + typeThird, basicProducts, basicCorp, basicInv, basicThirdProducts, basicThirdCorp + , basicThirdInv + , basicThirdBusOrder, orderScanFinish, dbDiProducts, downstreamEnable, syncTime + , syncDownloadTime, + orderUnReceive, orderUnCheck, busTypes, sysUser, syncIp, orderSyncTime + , orderSyncStart, basicSyncStart, entrustAction + , unCheckCert, checkedCert, companyCert, manufacturerCert, productCert, basicDept + , systemConfig + , printConfig, scanChangeConfig, supCert, dbDiCompany, busChangeConfig + , udiCodeLost, udiCodeRel, orderInvoice) values (#{id}, - #{typeBus}, - #{typeScan}, - #{typeThird}, - #{basicProducts}, - #{basicCorp}, - #{basicInv}, - #{basicThirdProducts}, - #{basicThirdCorp}, - #{basicThirdInv}, - #{basicThirdBusOrder}, - #{orderScanFinish}, - #{dbDiProducts}, - #{downstreamEnable}, - #{syncTime}, - #{syncDownloadTime}, - #{orderUnReceive}, - #{orderUnCheck}, - #{busTypes}, - #{sysUser}, - #{syncIp}, - #{orderSyncTime}, - #{orderSyncStart}, - #{basicSyncStart}, - #{entrustAction}, - #{unCheckCert}, - #{checkedCert}, #{companyCert}, #{manufacturerCert}, #{productCert}, #{basicDept}, - #{systemConfig}, #{printConfig}, #{scanChangeConfig}, #{supCert}, #{dbDiCompany}, #{busChangeConfig}, - #{udiCodeLost}, #{udiCodeRel}) + #{typeBus}, + #{typeScan}, + #{typeThird}, + #{basicProducts}, + #{basicCorp}, + #{basicInv}, + #{basicThirdProducts}, + #{basicThirdCorp}, + #{basicThirdInv}, + #{basicThirdBusOrder}, + #{orderScanFinish}, + #{dbDiProducts}, + #{downstreamEnable}, + #{syncTime}, + #{syncDownloadTime}, + #{orderUnReceive}, + #{orderUnCheck}, + #{busTypes}, + #{sysUser}, + #{syncIp}, + #{orderSyncTime}, + #{orderSyncStart}, + #{basicSyncStart}, + #{entrustAction}, + #{unCheckCert}, + #{checkedCert}, #{companyCert}, #{manufacturerCert}, #{productCert}, #{basicDept}, + #{systemConfig}, #{printConfig}, #{scanChangeConfig}, #{supCert}, #{dbDiCompany}, #{busChangeConfig}, + #{udiCodeLost}, #{udiCodeRel}, #{orderInvoice}) diff --git a/src/main/resources/schemas/schema_v2.1.sql b/src/main/resources/schemas/schema_v2.1.sql index 7096027c8..5aac2b887 100644 --- a/src/main/resources/schemas/schema_v2.1.sql +++ b/src/main/resources/schemas/schema_v2.1.sql @@ -391,3 +391,5 @@ CALL Pro_Temp_ColumnWork('basic_bustype_pre', 'Id', 'bigint', 2); CALL Pro_Temp_ColumnWork('basic_export_status', 'remark', 'varchar(2048)', 2); CALL Pro_Temp_ColumnWork('sup_cert', 'filePath', 'text', 2); CALL Pro_Temp_ColumnWork('sync_data_bustypes', 'id', 'bigint', 2); +CALL Pro_Temp_ColumnWork('io_order_invoice', 'id', 'bigint ', 2); +CALL Pro_Temp_ColumnWork('sync_data_set', 'orderInvoice', 'tinyint', 1);