diff --git a/src/main/java/com/glxp/api/constant/Constant.java b/src/main/java/com/glxp/api/constant/Constant.java index dd65c6e44..6ff098e29 100644 --- a/src/main/java/com/glxp/api/constant/Constant.java +++ b/src/main/java/com/glxp/api/constant/Constant.java @@ -299,4 +299,9 @@ public class Constant { //密码复杂度校验 public static final String passwordReg = "^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W_.*%@!]+$)(?![a-z0-9]+$)(?![a-z\\W_.;*%@!]+$)(?![0-9\\W_.;*%@!]+$)[a-zA-Z0-9\\W_.;*%@!]{8,20}$"; + + /** + * 第三方单据上传结束标识 + */ + public static final String THIRD_ORDER_SUBMIT = "thirdOrderSubmit"; } diff --git a/src/main/java/com/glxp/api/controller/TestController.java b/src/main/java/com/glxp/api/controller/TestController.java index c1326a383..3a9cacd71 100644 --- a/src/main/java/com/glxp/api/controller/TestController.java +++ b/src/main/java/com/glxp/api/controller/TestController.java @@ -4,9 +4,11 @@ import cn.hutool.core.util.StrUtil; import com.glxp.api.annotation.RepeatSubmit; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.Constant; import com.glxp.api.req.sync.BasicExportStatusRequest; import com.glxp.api.task.TestStatOrderService; import com.glxp.api.util.MsDateUtil; +import com.glxp.api.util.RedisUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -52,4 +54,18 @@ public class TestController { public BaseResponse testRepeat(String message) { return ResultVOUtils.success("hello"); } + + @Resource + public RedisUtil redisUtil; + + @GetMapping("/test/redis") + public BaseResponse testRedis(String message) { + + + Boolean b = redisUtil.getBool(Constant.THIRD_ORDER_SUBMIT); + redisUtil.set(Constant.THIRD_ORDER_SUBMIT, true, 1 * 60); + + return ResultVOUtils.success("hello"); + } + } diff --git a/src/main/java/com/glxp/api/entity/basic/BasicBusTypePreEntity.java b/src/main/java/com/glxp/api/entity/basic/BasicBusTypePreEntity.java index 271fcfb6c..6f25d2f2f 100644 --- a/src/main/java/com/glxp/api/entity/basic/BasicBusTypePreEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/BasicBusTypePreEntity.java @@ -52,7 +52,7 @@ public class BasicBusTypePreEntity { private Integer changeType; /** - * 补单默认分库 + * 补单默认部门 */ @TableField(value = "defaultDeptCode") private String defaultDeptCode; diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrCorpEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrCorpEntity.java index 89d24d0eb..6ee5ef00f 100644 --- a/src/main/java/com/glxp/api/entity/thrsys/ThrCorpEntity.java +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrCorpEntity.java @@ -76,5 +76,8 @@ public class ThrCorpEntity { @TableField("remark") private String remark; + @TableField("kfdm") + private String kfdm; + } diff --git a/src/main/java/com/glxp/api/res/thrsys/ThrCorpsResponse.java b/src/main/java/com/glxp/api/res/thrsys/ThrCorpsResponse.java index c8d9eec2c..332a4d468 100644 --- a/src/main/java/com/glxp/api/res/thrsys/ThrCorpsResponse.java +++ b/src/main/java/com/glxp/api/res/thrsys/ThrCorpsResponse.java @@ -22,6 +22,7 @@ public class ThrCorpsResponse { private String updateUser; private Date updateTime; private String remark; + private String kfdm; } 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 190e4f038..afc9516e2 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 @@ -3,6 +3,7 @@ package com.glxp.api.service.inout.impl; import cn.hutool.core.bean.BeanUtil; import com.glxp.api.service.inv.impl.InvProductDetailService; import com.glxp.api.service.inv.impl.InvProductService; +import com.glxp.api.util.RedisUtil; import org.springframework.beans.BeanUtils; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.UUID; @@ -964,47 +965,59 @@ public class IoOrderServiceImpl implements IoOrderService { ThrOrderUploadBustypesService thrOrderUploadBustypesService; @Resource SyncUploadDataSetService syncUploadDataSetService; + @Resource + RedisUtil redisUtil; @Override public BaseResponse submitOrderToThrSys(ThrSystemDetailEntity thrSystemDetailEntity) { - //查询可以提交到第三方系统的单据 - SyncUploadDataSetEntity syncUploadDataSetEntity = syncUploadDataSetService.selectSet(); - List billNos = orderDao.selectWaitSubmitOrder(thrSystemDetailEntity.getThirdSysFk(), syncUploadDataSetEntity.getOrderStartTime() + " 00:00:00"); - if (CollUtil.isNotEmpty(billNos)) { - log.info("开始提交单据到第三方系统,本次提交单据数量:{}", billNos.size()); - for (String billNo : billNos) { - IoOrderEntity orderEntity = findByBillNo(billNo); - ThrOrderUploadBustypesEntity thrOrderUploadBustypesEntity = thrOrderUploadBustypesService.findByAction(orderEntity.getAction()); - if (thrOrderUploadBustypesEntity == null) { - log.error(billNo + ":" + orderEntity.getAction() + "单据类型未设置自动上传"); - continue; - } - if (!thrOrderUploadBustypesEntity.getOrderSource().contains(orderEntity.getFromType() + "")) { - log.error(billNo + ":" + "单据来源不允许自动提交"); - continue; - } - if (IntUtil.value(thrOrderUploadBustypesEntity.getOrderStatus()) == 1) { - if (orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_CHECK_REW) { - log.error(billNo + ":" + "非待审核单据"); + + Boolean b = redisUtil.getBool(Constant.THIRD_ORDER_SUBMIT); + if (!IntUtil.value(b)) { + //查询可以提交到第三方系统的单据 + redisUtil.set(Constant.THIRD_ORDER_SUBMIT, true, 3 * 60); + SyncUploadDataSetEntity syncUploadDataSetEntity = syncUploadDataSetService.selectSet(); + List billNos = orderDao.selectWaitSubmitOrder(thrSystemDetailEntity.getThirdSysFk(), syncUploadDataSetEntity.getOrderStartTime() + " 00:00:00"); + if (CollUtil.isNotEmpty(billNos)) { + log.info("开始提交单据到第三方系统,本次提交单据数量:{}", billNos.size()); + for (String billNo : billNos) { + IoOrderEntity orderEntity = findByBillNo(billNo); + ThrOrderUploadBustypesEntity thrOrderUploadBustypesEntity = thrOrderUploadBustypesService.findByAction(orderEntity.getAction()); + if (thrOrderUploadBustypesEntity == null) { + log.error(billNo + ":" + orderEntity.getAction() + "单据类型未设置自动上传"); continue; } - } else if (IntUtil.value(thrOrderUploadBustypesEntity.getOrderStatus()) == 2) { - if (orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_AUDITED) { - log.error(billNo + ":" + "非已审核单据"); + if (!thrOrderUploadBustypesEntity.getOrderSource().contains(orderEntity.getFromType() + "")) { + log.error(billNo + ":" + "单据来源不允许自动提交"); continue; } + if (IntUtil.value(thrOrderUploadBustypesEntity.getOrderStatus()) == 1) { + if (orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_CHECK_REW) { + log.error(billNo + ":" + "非待审核单据"); + continue; + } + } else if (IntUtil.value(thrOrderUploadBustypesEntity.getOrderStatus()) == 2) { + if (orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_AUDITED) { + log.error(billNo + ":" + "非已审核单据"); + continue; + } - } else if (IntUtil.value(thrOrderUploadBustypesEntity.getOrderStatus()) == 3) { - if (IntUtil.value(orderEntity.getCheckStatus()) != 1) { - log.error(billNo + ":" + "非已确认单据"); - continue; + } else if (IntUtil.value(thrOrderUploadBustypesEntity.getOrderStatus()) == 3) { + if (IntUtil.value(orderEntity.getCheckStatus()) != 1) { + log.error(billNo + ":" + "非已确认单据"); + continue; + } } + submitToThrSys(billNo); } - submitToThrSys(billNo); + log.info("单据提交完成"); } - log.info("单据提交完成"); + redisUtil.set(Constant.THIRD_ORDER_SUBMIT, false); + return ResultVOUtils.success("单据提交完成"); + } else { + return ResultVOUtils.success("单据正在提交"); } - return ResultVOUtils.success("单据提交完成"); + + } @Override diff --git a/src/main/java/com/glxp/api/util/RedisUtil.java b/src/main/java/com/glxp/api/util/RedisUtil.java index 1e04eafcb..97f5e4265 100644 --- a/src/main/java/com/glxp/api/util/RedisUtil.java +++ b/src/main/java/com/glxp/api/util/RedisUtil.java @@ -120,6 +120,20 @@ public class RedisUtil { return 0; } + public Boolean getBool(String key) { + try { + if (key == null) + return false; + Object value = redisTemplate.opsForValue().get(key); + if (value != null) { + return IntUtil.value((Boolean) value); + } + } catch (Exception e) { + log.error(ExceptionUtils.getStackTrace(e)); + } + return false; + } + /** * 获取指定类型的结果的json数据 diff --git a/src/main/java/com/glxp/api/util/test.java b/src/main/java/com/glxp/api/util/test.java index 7612a6339..f68227035 100644 --- a/src/main/java/com/glxp/api/util/test.java +++ b/src/main/java/com/glxp/api/util/test.java @@ -1,22 +1,34 @@ package com.glxp.api.util; +import com.glxp.api.constant.Constant; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; public class test { + + + @Resource + public static RedisUtil redisUtil; + + public static void main(String[] args) { - List list = new ArrayList<>(); - list.add("1"); - list.add("2"); - list.add("3"); - list.add("4"); - list.add("5"); - list.add("6"); - list.add("7"); - - for (int i =0; i<20;i++){ - String ys =list.get(i%7); - System.out.println(ys); - } +// List list = new ArrayList<>(); +// list.add("1"); +// list.add("2"); +// list.add("3"); +// list.add("4"); +// list.add("5"); +// list.add("6"); +// list.add("7"); +// +// for (int i = 0; i < 20; i++) { +// String ys = list.get(i % 7); +// System.out.println(ys); +// } + } + } diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrCorpDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrCorpDao.xml index 0a184c924..41ccbccdc 100644 --- a/src/main/resources/mybatis/mapper/thrsys/ThrCorpDao.xml +++ b/src/main/resources/mybatis/mapper/thrsys/ThrCorpDao.xml @@ -30,7 +30,7 @@ replace INTO thr_corp (id, unitId, name, spell, addr, creditNo, - contact, mobile, thirdSysFk, updateTime, createUser, createTime, updateUser, remark) + contact, mobile, thirdSysFk, updateTime, createUser, createTime, updateUser, remark,kfdm) values (#{id}, #{unitId}, #{name}, #{spell}, @@ -43,13 +43,13 @@ #{createUser}, #{createTime}, #{updateUser}, - #{remark}) + #{remark},#{kfdm}) replace INTO thr_corp (id, unitId, name, spell, addr, creditNo, - contact, mobile, thirdSysFk, updateTime, createUser, createTime, updateUser, remark) + contact, mobile, thirdSysFk, updateTime, createUser, createTime, updateUser, remark,kfdm) values @@ -128,6 +128,9 @@ remark=#{remark}, + + kfdm=#{kfdm}, + WHERE id = #{id} @@ -135,7 +138,7 @@ replace into thr_corp (unitId, spell, addr, creditNo, contact, mobile, thirdSysFk, name, updateTime, createUser, - createTime, updateUser, remark) + createTime, updateUser, remark,kfdm) values (#{unitId}, #{spell}, #{addr}, @@ -145,10 +148,10 @@ #{thirdSysFk}, #{name}, #{updateTime}, - #{item.createUser}, - #{item.createTime}, - #{item.updateUser}, - #{item.remark}) + #{createUser}, + #{createTime}, + #{updateUser}, + #{remark},#{kfdm})