瀏覽代碼

材料推送bug修改

wangzhun 8 月之前
父節點
當前提交
da9d477361

+ 3 - 0
workflow/src/main/java/com/tofly/workflow/buss/entity/vo/TfProjectMaterialWVo.java

@@ -150,4 +150,7 @@ public class TfProjectMaterialWVo implements Serializable {
     @ApiModelProperty(value = "租户ID")
     private Long tenantId;
 
+
+
+
 }

+ 3 - 0
workflow/src/main/java/com/tofly/workflow/buss/service/impl/TfProjectMaterialWServiceImpl.java

@@ -31,6 +31,7 @@ import com.tofly.workflow.process.service.BaseService;
 import com.tofly.workflow.wzyy.entity.MaterialItemOutIn;
 import com.tofly.workflow.wzyy.entity.MaterialOutIn;
 import com.tofly.workflow.wzyy.service.MaterialOutInService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
@@ -47,6 +48,7 @@ import java.util.stream.Collectors;
  * @date Tue Aug 30 00:00:00 CST 2022
  */
 @Service("tfProjectMaterialWService")
+@Slf4j
 public class TfProjectMaterialWServiceImpl extends ServiceImpl<TfProjectMaterialWMapper, TfProjectMaterialW> implements TfProjectMaterialWService, BaseService {
 
     @Autowired
@@ -101,6 +103,7 @@ public class TfProjectMaterialWServiceImpl extends ServiceImpl<TfProjectMaterial
             if(mid.contains(entity.getMatterId())){
                 return "物资id重复!";
             }
+            log.info("物资类型{},processId:{}",entity.getMaterialType(),entity.getProcessId());
             mid.add(entity.getMatterId());
             entity.setId(null);
             entity.setProcessId(pb.getId());

+ 2 - 1
workflow/src/main/java/com/tofly/workflow/utils/RedisQueueUtil.java

@@ -160,7 +160,7 @@ public class RedisQueueUtil {
                    // log.info("ZK-CLLY::"+FlowConstant.REDIS_QUERY_KEY+foreignConfig.getQueueCllyKey());
                    // message =  redisTemplate.opsForList().rightPop(FlowConstant.REDIS_QUERY_KEY+foreignConfig.getQueueCllyKey(), popTimeout, TimeUnit.SECONDS);
                     if(processIdWithOutPush!=null &&processIdWithOutPush.size()>0) {
-                        Thread.sleep(1000*100);
+
                         for (Long processId : processIdWithOutPush) {
                             log.info("小仓库入库(转库) 流程id" + processId);
                            // Long processId = Long.parseLong(idWithOutPush);
@@ -175,6 +175,7 @@ public class RedisQueueUtil {
                         }
 
                     }
+                    Thread.sleep(1000*100);
                 }
             }catch (Exception e){
                 log.error(e.getMessage());

+ 23 - 0
workflow/src/main/java/com/tofly/workflow/wzyy/entity/dto/ResInInDto.java

@@ -0,0 +1,23 @@
+package com.tofly.workflow.wzyy.entity.dto;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+@EqualsAndHashCode
+public class ResInInDto implements Serializable {
+
+    private Long count;
+
+    private Long sucessCount;
+
+    private Long failCount;
+
+    private String messages;
+
+    private List<InOutInfoDto> infos;
+
+}

+ 1 - 1
workflow/src/main/java/com/tofly/workflow/wzyy/entity/dto/RespMaterialRetDto.java

@@ -12,6 +12,6 @@ public class RespMaterialRetDto extends RespDto{
      * 退库返回信息
      */
     @ApiModelProperty(value = "退库返回信息")
-    private InOutInfoDto data;
+    private ResInInDto data;
 
 }

+ 40 - 11
workflow/src/main/java/com/tofly/workflow/wzyy/service/impl/MaterialOutInServiceImpl.java

@@ -213,13 +213,13 @@ public class MaterialOutInServiceImpl extends ServiceImpl<MaterialOutInMapper, M
     public void returnOfMaterial(long parseLong) {
         ProcessMaterialVo pm = processService.getMaterialNodeById(parseLong);
         if(pm==null||pm.getWarehouse()==null){
-            log.error("库流程:"+parseLong+" 未获取到出库流程或未获取到用友仓库id");
+            log.error("退库流程:"+parseLong+" 未获取到出库流程或未获取到用友仓库id");
             return;
         }
         YyOrgUnit yyOrg = orgUnitService.getOne(new QueryWrapper<YyOrgUnit>().lambda().eq(YyOrgUnit::getTenantId, pm.getTenantId())
                 .eq(YyOrgUnit::getIsDel, FlowConstant.SHORT_ZERO));
         if(yyOrg==null){
-            log.error("库流程:"+parseLong+" 未获取到用友对应组织信息请先维护");
+            log.error("退库流程:"+parseLong+" 未获取到用友对应组织信息请先维护");
             return;
         }
         Date date = new Date();
@@ -254,7 +254,7 @@ public class MaterialOutInServiceImpl extends ServiceImpl<MaterialOutInMapper, M
         //工程物料及数量信息
         List<MaterialItemVo> pms = pmaterialService.getMaterialOutIn(pm.getProcessId(),pm.getNodeId(),FlowConstant.SHORT_FIVE);
         if(CollUtil.isEmpty(pms)){
-            log.error("出库流程:"+parseLong+"未查询到出库物料!");
+            log.error("退库流程:"+parseLong+"未查询到退库物料!");
             return;
         }
         List<MaterialItemRetDto> itemOutDtos = new ArrayList<>();
@@ -363,7 +363,7 @@ public class MaterialOutInServiceImpl extends ServiceImpl<MaterialOutInMapper, M
     private void pushMaterialRetToYy(MaterialRetDto retDto, List<MaterialItemOutIn> itemios, MaterialOutIn outIn,int i) {
         String accessToken = accessTokenService.getAccessToken();
         if (accessToken == null || "".equals(accessToken)) {
-            log.error("库流程:"+ outIn.getProcessId() +"获取accessToken失败,请稍后在试  ");
+            log.error("退库流程:"+ outIn.getProcessId() +"获取accessToken失败,请稍后在试  ");
             return;
         }
         //修改为出库接口  otherStockApi  materialoutapi
@@ -373,17 +373,25 @@ public class MaterialOutInServiceImpl extends ServiceImpl<MaterialOutInMapper, M
         outDto.setBustype(FlowConstant.OUT_BUSTYPE);
         Map<String,Object> remap = new HashMap<>();
         remap.put("data", outDto);
-        log.info("退请求参数:"+JSON.toJSONString(remap));
+        log.info("退请求参数:"+JSON.toJSONString(remap));
         String parentJson = HttpClientUtil.doPost(url, remap);
-        log.info("信息查询结果:{}",parentJson);
+        log.info("退库信息查询结果:{}",parentJson);
         /**退料返回结果*/
         RespMaterialRetDto dto = JSON.parseObject(parentJson,RespMaterialRetDto.class);
-        if(dto!=null&&FlowConstant.STRING_TWO_HUNDRED.equals(dto.getCode())) {
-            outIn.setYyRes(FlowConstant.SHORT_ONE);
-            outIn.setCode("TL");
+        log.info("退库转换后的{}",JSON.toJSONString(dto));
+        if(dto!=null&&FlowConstant.STRING_TWO_HUNDRED.equals(dto.getCode())) {  outIn.setYyRes(FlowConstant.SHORT_ONE);
             if(dto.getData()!=null) {
-                InOutInfoDto infoDto = dto.getData();
-                fillOutMaterialId(itemios, outIn, infoDto, infoDto.getOthInRecords());
+                outIn.setSucessCount(dto.getData().getSucessCount());
+                outIn.setFailCount(dto.getData().getFailCount());
+                outIn.setMessages(dto.getData().getMessages());
+
+                if(CollUtil.isNotEmpty(dto.getData().getInfos())) {
+                    for (InOutInfoDto infoDto:dto.getData().getInfos()) {
+
+                            fillInMaterialId(itemios, outIn, infoDto, infoDto.getMaterOuts());
+
+                    }
+                }
             }
             this.updateById(outIn);
             mItemOutInService.updateBatchById(itemios);
@@ -449,6 +457,7 @@ public class MaterialOutInServiceImpl extends ServiceImpl<MaterialOutInMapper, M
                 outIn.setSucessCount(dto.getData().getSucessCount());
                 outIn.setFailCount(dto.getData().getFailCount());
                 outIn.setMessages(dto.getData().getMessages());
+
                 if(CollUtil.isNotEmpty(dto.getData().getInfos())) {
                     for (InOutInfoDto infoDto:dto.getData().getInfos()) {
                         if(1==type) {
@@ -527,6 +536,26 @@ public class MaterialOutInServiceImpl extends ServiceImpl<MaterialOutInMapper, M
      * @param materOuts2 用友接口返回物料详情信息
      */
     private void fillOutMaterialId(List<MaterialItemOutIn> itemios, MaterialOutIn outIn, InOutInfoDto infoDto, List<YyMaterOutDto> materOuts2) {
+      //出库
+
+        if (outIn.getWarehouse().equals(infoDto.getWarehouse())||infoDto.getWarehouse().equals(outIn.getOutWarehouse())) {
+            outIn.setYyId(infoDto.getId());
+            outIn.setCode(infoDto.getCode());
+            List<YyMaterOutDto> materOuts = materOuts2;
+            fillItems(itemios, materOuts);
+        }
+    }
+
+    /**
+     * 退料返回参数填充
+     * @param itemios 用友出入库物料信息详情
+     * @param outIn 用友出入库记录
+     * @param infoDto 用友接口返回信息
+     * @param materOuts2 用友接口返回物料详情信息
+     */
+    private void fillInMaterialId(List<MaterialItemOutIn> itemios, MaterialOutIn outIn, InOutInfoDto infoDto, List<YyMaterOutDto> materOuts2) {
+        //出库
+
         if (outIn.getWarehouse().equals(infoDto.getWarehouse())||infoDto.getWarehouse().equals(outIn.getOutWarehouse())) {
             outIn.setYyId(infoDto.getId());
             outIn.setCode(infoDto.getCode());

+ 6 - 2
workflow/src/main/resources/bootstrap-test.yml

@@ -5,7 +5,7 @@ spring:
         # nacos配置中心指定空间
         namespace: tofly-zmrq
         # nacos部署IP
-        server-addr: 192.168.2.235:8848
+        server-addr: 192.168.2.6:8848
         # 配置后缀
         file-extension: yaml
         shared-configs[0]:
@@ -16,11 +16,15 @@ spring:
           dataId: public_config_ftp.yaml
         shared-configs[3]:
           dataId: public_config_redis.yaml
+        username: nacos
+        password: nacos
       discovery:
         # nacos配置中心指定空间
         namespace: tofly-zmrq
         # nacos部署IP
-        server-addr: 192.168.2.235:8848
+        server-addr: 192.168.2.6:8848
+      username: nacos
+      password: nacos
   application:
     # 该应用在nacos配置中的名称
     name: tofly-flow