erp同步工艺订单

liweidong
sugy 4 months ago
parent 05a87429b7
commit fa60a9057f
  1. 27
      blade-ops/blade-job/src/main/java/org/springblade/job/processor/erp/SynCraftProcessor.java
  2. 27
      blade-ops/blade-job/src/main/java/org/springblade/job/processor/erp/SynOutsourcingProcessor.java
  3. 6
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbWoClient.java
  4. 10
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbWoClientFallback.java
  5. 15
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbPacturnrecord.java
  6. 21
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbPurtoso.java
  7. 1
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbSodelrecwx.java
  8. 1
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbSodelreczg.java
  9. 16
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpMesRbWoClient.java
  10. 6
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPacturnrecordMapper.java
  11. 10
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPacturnrecordMapper.xml
  12. 7
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSjsoMapper.java
  13. 9
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSjsoMapper.xml
  14. 9
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSodelrecwxMapper.java
  15. 42
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSodelrecwxMapper.xml
  16. 9
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSodelreczgMapper.java
  17. 41
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSodelreczgMapper.xml
  18. 7
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbWxpromotionMapper.java
  19. 9
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbWxpromotionMapper.xml
  20. 7
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpMesRbPacturnrecordService.java
  21. 7
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpMesRbSjsoService.java
  22. 16
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpMesRbSodelrecwxService.java
  23. 16
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpMesRbSodelreczgService.java
  24. 8
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpMesRbWoService.java
  25. 7
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpMesRbWxpromotionService.java
  26. 5
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbPacturnrecordServiceImpl.java
  27. 5
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbSjsoServiceImpl.java
  28. 13
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbSodelrecwxServiceImpl.java
  29. 13
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbSodelreczgServiceImpl.java
  30. 124
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWoServiceImpl.java
  31. 5
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWxpromotionServiceImpl.java

@ -0,0 +1,27 @@
package org.springblade.job.processor.erp;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.erpdata.feign.IErpMesRbWoClient;
import tech.powerjob.worker.core.processor.ProcessResult;
import tech.powerjob.worker.core.processor.TaskContext;
import tech.powerjob.worker.core.processor.sdk.BasicProcessor;
import java.util.concurrent.CompletableFuture;
@RequiredArgsConstructor
@Slf4j
public class SynCraftProcessor implements BasicProcessor {
private final IErpMesRbWoClient mesRbWoClient;
@Override
public ProcessResult process(TaskContext taskContext) throws Exception {
log.info("同步正式工艺订单定时任务开始");
CompletableFuture<Void> runFuture = CompletableFuture.runAsync(()-> mesRbWoClient.synCraft());
log.info("同步正式工艺订单定时任务结束");
return new ProcessResult(true);
}
}

@ -0,0 +1,27 @@
package org.springblade.job.processor.erp;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.erpdata.feign.IErpMesRbWoClient;
import tech.powerjob.worker.core.processor.ProcessResult;
import tech.powerjob.worker.core.processor.TaskContext;
import tech.powerjob.worker.core.processor.sdk.BasicProcessor;
import java.util.concurrent.CompletableFuture;
@RequiredArgsConstructor
@Slf4j
public class SynOutsourcingProcessor implements BasicProcessor {
private final IErpMesRbWoClient mesRbWoClient;
@Override
public ProcessResult process(TaskContext taskContext) throws Exception {
log.info("同步外协订单定时任务开始");
CompletableFuture<Void> runFuture = CompletableFuture.runAsync(()-> mesRbWoClient.synOutsourcing());
log.info("同步外协订单定时任务结束");
return new ProcessResult(true);
}
}

@ -32,6 +32,8 @@ public interface IErpMesRbWoClient {
String SYN_SINTER = API_PREFIX + "/synSinter"; String SYN_SINTER = API_PREFIX + "/synSinter";
String SYN_PURCHASELOTTJ = API_PREFIX + "/synPurchaseLOTTJ"; String SYN_PURCHASELOTTJ = API_PREFIX + "/synPurchaseLOTTJ";
String SYN_GLASSCAKE = API_PREFIX + "/synGlassCake"; String SYN_GLASSCAKE = API_PREFIX + "/synGlassCake";
String SYN_OUTSOURCING = API_PREFIX + "/synOutsourcing";
String SYN_CRAFT = API_PREFIX + "/synCraft";
/** /**
* 查询烧结配套信息 * 查询烧结配套信息
@ -64,4 +66,8 @@ public interface IErpMesRbWoClient {
R<Void> synSinter(); R<Void> synSinter();
@GetMapping(SYN_PURCHASELOTTJ) @GetMapping(SYN_PURCHASELOTTJ)
R<Void> synPurchaseLOTTJ(); R<Void> synPurchaseLOTTJ();
@GetMapping(SYN_OUTSOURCING)
R<Void> synOutsourcing();
@GetMapping(SYN_CRAFT)
R<Void> synCraft();
} }

@ -60,4 +60,14 @@ public class IErpMesRbWoClientFallback implements IErpMesRbWoClient {
public R<Void> synPurchaseLOTTJ() { public R<Void> synPurchaseLOTTJ() {
return R.fail("获取数据失败"); return R.fail("获取数据失败");
} }
@Override
public R<Void> synOutsourcing() {
return R.fail("获取数据失败");
}
@Override
public R<Void> synCraft() {
return R.fail("获取数据失败");
}
} }

@ -2,6 +2,8 @@ package org.springblade.erpdata.pojo.dto.view;
import lombok.Data; import lombok.Data;
import java.util.Date;
/** /**
* 对应ERP中视图 v_mes_rb_pacturnrecord * 对应ERP中视图 v_mes_rb_pacturnrecord
* *
@ -32,16 +34,25 @@ public class MesRbPacturnrecord {
private String turnflag; //周转类型(0 入库 1 转工) private String turnflag; //周转类型(0 入库 1 转工)
private String recdept; //接收部门 private String recdept; //接收部门
private String recname; //接收人 private String recname; //接收人
private String recdate; //接收日期 private Date recdate; //接收日期
private String recflag; //接收标记 private String recflag; //接收标记
private String recsoqty; //接收数量 private String recsoqty; //接收数量
private String recseqno; //协作工序号 private String recseqno; //协作工序号
private String recsono; //协作车间订单 private String recsono; //协作车间订单
private String lanner; //计划员 private String lanner; //计划员
private String oreqdat; //需求日期 private Date oreqdat; //需求日期
private String rtlotno; //生产标识 private String rtlotno; //生产标识
private String ouclp; //路线卡号 private String ouclp; //路线卡号
private String processlinedesc; //一级路线 private String processlinedesc; //一级路线
private String wono; //工作订单号 private String wono; //工作订单号
private String firseq; private String firseq;
private String deptno;
private String prtlotno;
private String usedept;
private Date woreqdat;
private String planner;
private String rouclp;
private String warctlr;
private String usedeptcode;
private String conductor;
} }

@ -2,6 +2,8 @@ package org.springblade.erpdata.pojo.dto.view;
import lombok.Data; import lombok.Data;
import java.util.Date;
/** /**
* 对应ERP中视图 v_mes_rb_purtoso * 对应ERP中视图 v_mes_rb_purtoso
* *
@ -17,7 +19,7 @@ public class MesRbPurtoso {
private String prtlotno; //质量等级 private String prtlotno; //质量等级
private String mtltmrk; //型号 private String mtltmrk; //型号
private String mtnqty; //需求数量 private String mtnqty; //需求数量
private String mtndat; //下达时间 private Date mtndat; //下达时间
private String yjgx; //一级工序(B号) private String yjgx; //一级工序(B号)
private String deptno; //接收部门 private String deptno; //接收部门
private String jhbm; //计划部门 private String jhbm; //计划部门
@ -29,4 +31,21 @@ public class MesRbPurtoso {
private String prtmeterial; //材料 private String prtmeterial; //材料
private String rigidity; //硬度 private String rigidity; //硬度
private String firseq; private String firseq;
private String sono;
/**
* 工作订单号
*/
private String wono;
private String prtudept;
private Date soreqdat;
private String soplanner;
private String soreldat;
private String rouclp;
private String splcode;
private String newlevsoqty;
private String warctlr;
private String lewdept;
private String prtudeptcode;
private String newlevname;
private Date newlevdate;
} }

@ -39,4 +39,5 @@ public class MesRbSodelrecwx {
private String kdofplat; //镀种 private String kdofplat; //镀种
private String prtmeterial; //材料 private String prtmeterial; //材料
private String rigidity; //硬度 private String rigidity; //硬度
private String firseq;
} }

@ -39,4 +39,5 @@ public class MesRbSodelreczg {
private String kdofplat; //镀种 private String kdofplat; //镀种
private String prtmeterial; //材料 private String prtmeterial; //材料
private String rigidity; //硬度 private String rigidity; //硬度
private String firseq;
} }

@ -83,4 +83,20 @@ public class ErpMesRbWoClient implements IErpMesRbWoClient {
log.info("同步采购LOTTJ订单定时任务结束"); log.info("同步采购LOTTJ订单定时任务结束");
return R.success(); return R.success();
} }
@Override
public R<Void> synOutsourcing() {
log.info("同步外协订单定时任务开始");
erpMesRbWoService.synOutsourcing();
log.info("同步外协订单定时任务结束");
return R.success();
}
@Override
public R<Void> synCraft() {
log.info("同步正式工艺订单定时任务开始");
erpMesRbWoService.synCraft();
log.info("同步正式工艺订单定时任务结束");
return R.success();
}
} }

@ -24,4 +24,10 @@ public interface ErpMesRbPacturnrecordMapper extends Mapper {
* @return * @return
*/ */
List<MesRbPacturnrecord> getMesRbPacturnrecordList(String newlevdateMax); List<MesRbPacturnrecord> getMesRbPacturnrecordList(String newlevdateMax);
/**
* 获取ERP数据中最新的时间
*
* @return
*/
String getNewlevdateMax(String selectTime);
} }

@ -38,5 +38,13 @@
AND a.splcode IS NOT NULL AND a.splcode IS NOT NULL
</where> </where>
</select> </select>
<select id = "getNewlevdateMax" resultType = "java.lang.String">
SELECT nvl(max(a.newlevdate), selectTime)
as newlevdateMax
FROM v_mes_rb_pacturnrecord a
<where>
a.newlevdate <![CDATA[ >= ]]> to_date(#{selectTime},'YYYY-MM-DD HH24:MI:SS')
</where>
ORDER BY a.newlevdate DESC;
</select>
</mapper> </mapper>

@ -24,4 +24,11 @@ public interface ErpMesRbSjsoMapper extends Mapper {
* @return * @return
*/ */
List<MesRbSjso> getMesRbSjsoList(String newlevdateMax); List<MesRbSjso> getMesRbSjsoList(String newlevdateMax);
/**
* 获取推送计划转工单的推送时间
*
* @param selectTime
* @return
*/
String getNewlevdateMax(String selectTime);
} }

@ -37,5 +37,14 @@
/* WHERE /* WHERE
a.newlevdate > v_select_time*/ a.newlevdate > v_select_time*/
</select> </select>
<select id = "getNewlevdateMax" resultType = "java.lang.String">
SELECT nvl(max(a.newlevdate), selectTime)
as newlevdateMax
FROM v_mes_rb_sjso a
<where>
a.newlevdate <![CDATA[ >= ]]> to_date(#{selectTime},'YYYY-MM-DD HH24:MI:SS')
</where>
ORDER BY a.newlevdate DESC;
</select>
</mapper> </mapper>

@ -18,4 +18,13 @@ public interface ErpMesRbSodelrecwxMapper extends Mapper {
* @return * @return
*/ */
List<MesRbSodelrecwx> getMesRbSodelrecwxErpList(); List<MesRbSodelrecwx> getMesRbSodelrecwxErpList();
/**
* 获取ERP最新等级时间
*
* @param selectTime
* @return
*/
String getNewlevdateMax(String selectTime);
List<MesRbSodelrecwx> getMesRbSodelrecwxList(String dateMax);
} }

@ -5,5 +5,45 @@
<select id = "getMesRbSodelrecwxErpList" resultType = "org.springblade.erpdata.pojo.dto.view.MesRbSodelrecwx"> <select id = "getMesRbSodelrecwxErpList" resultType = "org.springblade.erpdata.pojo.dto.view.MesRbSodelrecwx">
SELECT * FROM v_mes_rb_sodelrecwx WHERE is_deleted = 0 SELECT * FROM v_mes_rb_sodelrecwx WHERE is_deleted = 0
</select> </select>
<select id = "getNewlevdateMax" resultType = "java.lang.String">
SELECT nvl(max(a.newlevdate), selectTime)
as newlevdateMax
FROM v_mes_rb_sodelrecwx a
<where>
a.is_deleted = 0
AND a.newlevdate <![CDATA[ >= ]]> to_date(#{selectTime},'YYYY-MM-DD HH24:MI:SS')
</where>
ORDER BY a.newlevdate DESC;
</select>
<select id = "getMesRbSodelrecwxList" resultType = "org.springblade.erpdata.pojo.dto.view.MesRbSodelrecwx">
SELECT
a.firseq,
a.sono,
a.wono,
a.prtno,
a.prtlotno,
a.prtudept,
a.soreqdat,
a.soplanner,
a.soreldat,
a.rouclp,
a.splcode,
a.newlevsoqty,
a.warctlr,
a.lewdept,
a.newlevflag,
a.prtudeptcode,
a.newlevname,
a.newlevdate
FROM
v_mes_rb_sodelrecwx a
<where>
1=1
<if test="newlevdateMax != null">
AND a.newlevdate <![CDATA[ > ]]> #{newlevdateMax} -1/24/6;
</if>
</where>
/*WHERE
a.newlevdate > v_select_time - 1 / 24 / 6;*/
</select>
</mapper> </mapper>

@ -18,4 +18,13 @@ public interface ErpMesRbSodelreczgMapper extends Mapper {
* @return * @return
*/ */
List<MesRbSodelreczg> getMesRbSodelreczgErpList(); List<MesRbSodelreczg> getMesRbSodelreczgErpList();
String getNewlevdateMax(String selectTime);
/**
* 获取要同步的推进计划转工单
*
* @param dateMax
* @return
*/
List<MesRbSodelreczg> getMesRbSodelreczgList(String dateMax);
} }

@ -5,5 +5,44 @@
<select id = "getMesRbSodelreczgErpList" resultType = "org.springblade.erpdata.pojo.dto.view.MesRbSodelreczg"> <select id = "getMesRbSodelreczgErpList" resultType = "org.springblade.erpdata.pojo.dto.view.MesRbSodelreczg">
SELECT * FROM v_mes_rb_sodelreczg WHERE is_deleted = 0 SELECT * FROM v_mes_rb_sodelreczg WHERE is_deleted = 0
</select> </select>
<select id = "getNewlevdateMax" resultType = "java.lang.String">
SELECT nvl(max(a.newlevdate), selectTime)
as newlevdateMax
FROM v_mes_rb_sodelreczg a
<where>
a.newlevdate <![CDATA[ >= ]]> to_date(#{selectTime},'YYYY-MM-DD HH24:MI:SS')
</where>
ORDER BY a.newlevdate DESC;
</select>
<select id = "getMesRbSodelreczgList" resultType = "org.springblade.erpdata.pojo.dto.view.MesRbSodelreczg">
SELECT
a.firseq,
a.sono,
a.wono,
a.prtno,
a.prtlotno,
a.prtudept,
a.soreqdat,
a.soplanner,
a.soreldat,
a.rouclp,
a.splcode,
a.newlevsoqty,
a.warctlr,
a.lewdept,
a.newlevflag,
a.prtudeptcode,
a.newlevname,
a.newlevdate
FROM
v_mes_rb_sodelreczg a
<where>
1=1
<if test="newlevdateMax != null">
AND a.newlevdate <![CDATA[ > ]]> #{newlevdateMax} -1/24/6;
</if>
</where>
/*WHERE
a.newlevdate > v_select_time-1 / 24 / 6 ;*/
</select>
</mapper> </mapper>

@ -25,4 +25,11 @@ public interface ErpMesRbWxpromotionMapper extends Mapper {
* @return * @return
*/ */
List<MesRbWxpromotion> getMesRbWxpromotionList(String newlevdateMax); List<MesRbWxpromotion> getMesRbWxpromotionList(String newlevdateMax);
/**
* 获取ERP数据最新时间
*
* @param selectTime
* @return
*/
String getNewlevdateMax(String selectTime);
} }

@ -36,5 +36,14 @@
/*WHERE /*WHERE
a.newlevdate > v_select_time-1 / 24 / 6*/ a.newlevdate > v_select_time-1 / 24 / 6*/
</select> </select>
<select id = "getNewlevdateMax" resultType = "java.lang.String">
SELECT nvl(max(a.newlevdate), selectTime)
as newlevdateMax
FROM v_mes_rb_wxpromotion a
<where>
a.newlevdate <![CDATA[ >= ]]> to_date(#{selectTime},'YYYY-MM-DD HH24:MI:SS')
</where>
ORDER BY a.newlevdate DESC;
</select>
</mapper> </mapper>

@ -22,4 +22,11 @@ public interface IErpMesRbPacturnrecordService {
*/ */
List<MesRbPacturnrecord> getMesRbPacturnrecordList(String newlevdateMax); List<MesRbPacturnrecord> getMesRbPacturnrecordList(String newlevdateMax);
/**
* 获取ERP数据中推进计划转工单最新时间
*
* @param selectTime
* @return
*/
String getNewlevdateMax(String selectTime);
} }

@ -22,4 +22,11 @@ public interface IErpMesRbSjsoService {
* @return * @return
*/ */
List<MesRbSjso> getMesRbSjsoList(String newlevdateMax); List<MesRbSjso> getMesRbSjsoList(String newlevdateMax);
/**
* 获取推送计划最大时间
*
* @param selectTime
* @return
*/
String getNewlevdateMax(String selectTime);
} }

@ -1,5 +1,9 @@
package org.springblade.erpdata.service; package org.springblade.erpdata.service;
import org.springblade.erpdata.pojo.dto.view.MesRbSodelrecwx;
import java.util.List;
/** /**
* ERP数据查询service * ERP数据查询service
* *
@ -11,4 +15,16 @@ public interface IErpMesRbSodelrecwxService {
* 同步数据 * 同步数据
*/ */
void synMesRbSodelrecwx(); void synMesRbSodelrecwx();
/**
* 获取最新数据时间
* @param selectTime
* @return
*/
String getNewlevdateMax(String selectTime);
/**
* 获取数据
* @param dateMax
* @return
*/
List<MesRbSodelrecwx> getMesRbSodelrecwxList(String dateMax);
} }

@ -1,5 +1,9 @@
package org.springblade.erpdata.service; package org.springblade.erpdata.service;
import org.springblade.erpdata.pojo.dto.view.MesRbSodelreczg;
import java.util.List;
/** /**
* ERP数据查询service * ERP数据查询service
* *
@ -11,4 +15,16 @@ public interface IErpMesRbSodelreczgService {
* 同步数据 * 同步数据
*/ */
void synMesRbSodelreczg(); void synMesRbSodelreczg();
/**
* 获取最新时间
* @param selectTime
* @return
*/
String getNewlevdateMax(String selectTime);
/**
* 获取正式工艺数据
* @param dateMax
* @return
*/
List<MesRbSodelreczg> getMesRbSodelreczgList(String dateMax);
} }

@ -44,4 +44,12 @@ public interface IErpMesRbWoService {
* 同步采购订单LOTTJ数据 * 同步采购订单LOTTJ数据
*/ */
void synPurchaseLOTTJ(); void synPurchaseLOTTJ();
/**
* 同步外协数据
*/
void synOutsourcing();
/**
* 同步工艺数据
*/
void synCraft();
} }

@ -22,4 +22,11 @@ public interface IErpMesRbWxpromotionService {
* @return * @return
*/ */
List<MesRbWxpromotion> getMesRbWxpromotionList(String newlevdateMax); List<MesRbWxpromotion> getMesRbWxpromotionList(String newlevdateMax);
/**
* 获取最新时间
*
* @param selectTime
* @return
*/
String getNewlevdateMax(String selectTime);
} }

@ -39,5 +39,10 @@ public class ErpMesRbPacturnrecordServiceImpl implements IErpMesRbPacturnrecordS
return mesRbPacturnrecordMapper.getMesRbPacturnrecordList(newlevdateMax); return mesRbPacturnrecordMapper.getMesRbPacturnrecordList(newlevdateMax);
} }
@Override
public String getNewlevdateMax(String selectTime) {
return mesRbPacturnrecordMapper.getNewlevdateMax(selectTime);
}
} }

@ -38,4 +38,9 @@ public class ErpMesRbSjsoServiceImpl implements IErpMesRbSjsoService {
public List<MesRbSjso> getMesRbSjsoList(String newlevdateMax) { public List<MesRbSjso> getMesRbSjsoList(String newlevdateMax) {
return mesRbSjsoMapper.getMesRbSjsoList(newlevdateMax); return mesRbSjsoMapper.getMesRbSjsoList(newlevdateMax);
} }
@Override
public String getNewlevdateMax(String selectTime) {
return mesRbSjsoMapper.getNewlevdateMax(selectTime);
}
} }

@ -4,9 +4,12 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springblade.desk.order.feign.IApsClient; import org.springblade.desk.order.feign.IApsClient;
import org.springblade.erpdata.mapper.ErpMesRbSodelrecwxMapper; import org.springblade.erpdata.mapper.ErpMesRbSodelrecwxMapper;
import org.springblade.erpdata.pojo.dto.view.MesRbSodelrecwx;
import org.springblade.erpdata.service.IErpMesRbSodelrecwxService; import org.springblade.erpdata.service.IErpMesRbSodelrecwxService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* @author lqk * @author lqk
* @date 2025-11-26 9:39 * @date 2025-11-26 9:39
@ -23,4 +26,14 @@ public class ErpMesRbSodelrecwxServiceImpl implements IErpMesRbSodelrecwxService
public void synMesRbSodelrecwx() { public void synMesRbSodelrecwx() {
} }
@Override
public String getNewlevdateMax(String selectTime) {
return mesRbSodelrecwxMapper.getNewlevdateMax(selectTime);
}
@Override
public List<MesRbSodelrecwx> getMesRbSodelrecwxList(String dateMax) {
return mesRbSodelrecwxMapper.getMesRbSodelrecwxList(dateMax);
}
} }

@ -5,10 +5,13 @@ import lombok.extern.slf4j.Slf4j;
import org.springblade.desk.order.feign.IApsClient; import org.springblade.desk.order.feign.IApsClient;
import org.springblade.erpdata.mapper.ErpMesRbSodelrecwxMapper; import org.springblade.erpdata.mapper.ErpMesRbSodelrecwxMapper;
import org.springblade.erpdata.mapper.ErpMesRbSodelreczgMapper; import org.springblade.erpdata.mapper.ErpMesRbSodelreczgMapper;
import org.springblade.erpdata.pojo.dto.view.MesRbSodelreczg;
import org.springblade.erpdata.service.IErpMesRbSodelrecwxService; import org.springblade.erpdata.service.IErpMesRbSodelrecwxService;
import org.springblade.erpdata.service.IErpMesRbSodelreczgService; import org.springblade.erpdata.service.IErpMesRbSodelreczgService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* @author lqk * @author lqk
* @date 2025-11-26 9:39 * @date 2025-11-26 9:39
@ -26,4 +29,14 @@ public class ErpMesRbSodelreczgServiceImpl implements IErpMesRbSodelreczgService
public void synMesRbSodelreczg() { public void synMesRbSodelreczg() {
} }
@Override
public String getNewlevdateMax(String selectTime) {
return mesRbSodelreczgMapper.getNewlevdateMax(selectTime);
}
@Override
public List<MesRbSodelreczg> getMesRbSodelreczgList(String dateMax) {
return mesRbSodelreczgMapper.getMesRbSodelreczgList(dateMax);
}
} }

@ -49,6 +49,10 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
private final IErpMesRbWxpromotionService mesRbWxpromotionService; private final IErpMesRbWxpromotionService mesRbWxpromotionService;
private final IErpMesRbSodelrecwxService erpMesRbSodelrecwxService;
private final IErpMesRbSodelreczgService erpMesRbSodelreczgService;
@Override @Override
public List<MesRbWo> getList(MesRbWo entity) { public List<MesRbWo> getList(MesRbWo entity) {
@ -176,7 +180,6 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
@Override @Override
public R<Wo> getWoOne(String ypCode) { public R<Wo> getWoOne(String ypCode) {
Wo wo=woService.getOne(new QueryWrapper<Wo>() Wo wo=woService.getOne(new QueryWrapper<Wo>()
.eq("WONO",ypCode)); .eq("WONO",ypCode));
return R.data(wo); return R.data(wo);
@ -186,13 +189,31 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
*/ */
@Override @Override
public void synPurchase() { public void synPurchase() {
String selectTime=apsOrderClient.getSelectTime("SYCN_BUYTRANSFER_TIME"); String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERCG_TIME1");
String newlevdateMax=mesRbPurtosoService.getNewlevdateMax(selectTime); String newlevdateMax=mesRbPurtosoService.getNewlevdateMax(selectTime);
//apsOrderClient.updateByNewlevdateMax(newlevdateMax, "SYCN_BUYTRANSFER_TIME"); apsOrderClient.upByDateMax(newlevdateMax, "SYCN_TRANSFERCG_TIME1");
List<MesRbPurtoso> purtosoList=mesRbPurtosoService.getMesRbPurtosoList(newlevdateMax); List<MesRbPurtoso> purtosoList=mesRbPurtosoService.getMesRbPurtosoList(newlevdateMax);
List<YieldOrder> yieldOrderList=new ArrayList<>(); List<YieldOrder> yieldOrderList=new ArrayList<>();
purtosoList.forEach(mesRbPurtoso -> { purtosoList.forEach(mesRbPurtoso -> {
YieldOrder yieldOrder=new YieldOrder(); YieldOrder yieldOrder=new YieldOrder();
yieldOrder.setYpCode(mesRbPurtoso.getWono());
yieldOrder.setYpMemo("物资转车间协作加工");
yieldOrder.setManualIncrease(false);
yieldOrder.setYoCode(mesRbPurtoso.getSono());//生产单号
yieldOrder.setBatchNo(mesRbPurtoso.getQutno());//批次号
yieldOrder.setPartCode(mesRbPurtoso.getPrtno());//零件号
yieldOrder.setProductIdent(mesRbPurtoso.getPrtlotno());
yieldOrder.setUseDept(mesRbPurtoso.getPrtudept());
yieldOrder.setDemandDate(mesRbPurtoso.getSoreqdat());//需求日期
yieldOrder.setPlanUser(mesRbPurtoso.getSoplanner());
yieldOrder.setReleaseDate(mesRbPurtoso.getSoreqdat());
yieldOrder.setCardNo(mesRbPurtoso.getRouclp());
yieldOrder.setYpQty(Double.valueOf(mesRbPurtoso.getNewlevsoqty()));//生产数量
yieldOrder.setCustodian(mesRbPurtoso.getWarctlr());//保管员
yieldOrder.setEntrustDept(mesRbPurtoso.getPrtudeptcode());
yieldOrder.setUseDeptCode(mesRbPurtoso.getPrtudeptcode());
yieldOrder.setPkUsername(mesRbPurtoso.getNewlevname());
yieldOrder.setPkDate(mesRbPurtoso.getNewlevdate());
List<DsPartEntity> dsPartList=apsOrderClient.getDsCraftListByCode(mesRbPurtoso.getPrtno()); List<DsPartEntity> dsPartList=apsOrderClient.getDsCraftListByCode(mesRbPurtoso.getPrtno());
yieldOrder.setYieldType(12001); yieldOrder.setYieldType(12001);
if(dsPartList!=null&&dsPartList.get(0).getCraftWay().contains("封接")){ if(dsPartList!=null&&dsPartList.get(0).getCraftWay().contains("封接")){
@ -216,13 +237,30 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
*/ */
@Override @Override
public void synTemporary() { public void synTemporary() {
String selectTime=apsOrderClient.getSelectTime("SYCN_BUYTRANSFER_TIME"); String selectTime=apsOrderClient.getSelectTime("SYCN_PACTURNRECORD_TIME");
String newlevdateMax=mesRbPurtosoService.getNewlevdateMax(selectTime); String newlevdateMax=mesRbPacturnrecordService.getNewlevdateMax(selectTime);
//apsOrderClient.updateByNewlevdateMax(newlevdateMax, "SYCN_BUYTRANSFER_TIME"); apsOrderClient.upByDateMax(newlevdateMax, "SYCN_PACTURNRECORD_TIME");
List<MesRbPacturnrecord> pacturnrecordList=mesRbPacturnrecordService.getMesRbPacturnrecordList(newlevdateMax); List<MesRbPacturnrecord> pacturnrecordList=mesRbPacturnrecordService.getMesRbPacturnrecordList(newlevdateMax);
List<YieldOrder> yieldOrderList=new ArrayList<>(); List<YieldOrder> yieldOrderList=new ArrayList<>();
pacturnrecordList.forEach(mesRbPacturnrecord -> { pacturnrecordList.forEach(mesRbPacturnrecord -> {
YieldOrder yieldOrder=new YieldOrder(); YieldOrder yieldOrder=new YieldOrder();
yieldOrder.setYpMemo("临时工艺转工");
yieldOrder.setManualIncrease(false);
yieldOrder.setYoCode(mesRbPacturnrecord.getSono());//生产单号
yieldOrder.setBatchNo(mesRbPacturnrecord.getSplcode());//批次号
yieldOrder.setPartCode(mesRbPacturnrecord.getPrtno());//零件号
yieldOrder.setProductIdent(mesRbPacturnrecord.getPrtlotno());
yieldOrder.setUseDept(mesRbPacturnrecord.getSedept());
yieldOrder.setDemandDate(mesRbPacturnrecord.getOreqdat());//需求日期
yieldOrder.setPlanUser(mesRbPacturnrecord.getPlanner());
yieldOrder.setReleaseDate(mesRbPacturnrecord.getRecdate());
yieldOrder.setCardNo(mesRbPacturnrecord.getRouclp());
yieldOrder.setYpQty(Double.valueOf(mesRbPacturnrecord.getRecsoqty()));//生产数量
yieldOrder.setCustodian(mesRbPacturnrecord.getWarctlr());//保管员
yieldOrder.setEntrustDept(mesRbPacturnrecord.getUsedept());
yieldOrder.setUseDeptCode(mesRbPacturnrecord.getUsedeptcode());
yieldOrder.setPkUsername(mesRbPacturnrecord.getRecname());
yieldOrder.setPkDate(mesRbPacturnrecord.getWoreqdat());
List<DsPartEntity> dsPartList=apsOrderClient.getDsCraftListByCode(mesRbPacturnrecord.getPrtno()); List<DsPartEntity> dsPartList=apsOrderClient.getDsCraftListByCode(mesRbPacturnrecord.getPrtno());
yieldOrder.setYieldType(12001); yieldOrder.setYieldType(12001);
if(dsPartList!=null&&dsPartList.get(0).getCraftWay().contains("封接")){ if(dsPartList!=null&&dsPartList.get(0).getCraftWay().contains("封接")){
@ -242,13 +280,14 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
*/ */
@Override @Override
public void synSinter() { public void synSinter() {
String selectTime=apsOrderClient.getSelectTime("SYCN_BUYTRANSFER_TIME"); String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERSJ_TIME");
String newlevdateMax=mesRbPurtosoService.getNewlevdateMax(selectTime); String newlevdateMax=mesRbSjsoService.getNewlevdateMax(selectTime);
//apsOrderClient.updateByNewlevdateMax(newlevdateMax, "SYCN_BUYTRANSFER_TIME"); apsOrderClient.upByDateMax(newlevdateMax, "SYCN_TRANSFERSJ_TIME");
List<MesRbSjso> rbtosoList=mesRbSjsoService.getMesRbSjsoList(newlevdateMax); List<MesRbSjso> rbtosoList=mesRbSjsoService.getMesRbSjsoList(newlevdateMax);
List<YieldOrder> yieldOrderList=new ArrayList<>(); List<YieldOrder> yieldOrderList=new ArrayList<>();
rbtosoList.forEach(mesRbtoso -> { rbtosoList.forEach(mesRbtoso -> {
YieldOrder yieldOrder=new YieldOrder(); YieldOrder yieldOrder=new YieldOrder();
yieldOrder.setManualIncrease(false);
yieldOrder.setYieldType(12002); yieldOrder.setYieldType(12002);
yieldOrder.setRoamNoNext( ""); yieldOrder.setRoamNoNext( "");
if(StringUtils.isNotEmpty(mesRbtoso.getFirseq())){ if(StringUtils.isNotEmpty(mesRbtoso.getFirseq())){
@ -265,12 +304,14 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
@Override @Override
public void synPurchaseLOTTJ() { public void synPurchaseLOTTJ() {
String selectTime=apsOrderClient.getSelectTime("SYCN_BUYTRANSFER_TIME"); String selectTime=apsOrderClient.getSelectTime("SYCN_BUYTRANSFER_TIME");
String dateMax=mesRbPurtosoService.getNewlevdateMax(selectTime); String dateMax=mesRbWxpromotionService.getNewlevdateMax(selectTime);
apsOrderClient.upByDateMax(dateMax,"SYCN_BUYTRANSFER_TIME"); apsOrderClient.upByDateMax(dateMax,"SYCN_BUYTRANSFER_TIME");
List<MesRbWxpromotion> wxpromotionList=mesRbWxpromotionService.getMesRbWxpromotionList(dateMax); List<MesRbWxpromotion> wxpromotionList=mesRbWxpromotionService.getMesRbWxpromotionList(dateMax);
List<YieldOrder> yieldOrderList=new ArrayList<>(); List<YieldOrder> yieldOrderList=new ArrayList<>();
wxpromotionList.forEach(mesRbWxpromotion -> { wxpromotionList.forEach(mesRbWxpromotion -> {
YieldOrder yieldOrder=new YieldOrder(); YieldOrder yieldOrder=new YieldOrder();
yieldOrder.setYpMemo("推进计划");
yieldOrder.setManualIncrease(false);
List<DsPartEntity> dsPartList=apsOrderClient.getDsCraftListByCode(mesRbWxpromotion.getPrtno()); List<DsPartEntity> dsPartList=apsOrderClient.getDsCraftListByCode(mesRbWxpromotion.getPrtno());
yieldOrder.setYieldType(12001); yieldOrder.setYieldType(12001);
if(dsPartList!=null&&dsPartList.get(0).getCraftWay().contains("封接")){ if(dsPartList!=null&&dsPartList.get(0).getCraftWay().contains("封接")){
@ -289,4 +330,67 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
}); });
apsOrderClient.saveOrderList(yieldOrderList); apsOrderClient.saveOrderList(yieldOrderList);
} }
/**
* 同步外协工单
*/
@Override
public void synOutsourcing() {
String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERWX_TIME");
String dateMax=erpMesRbSodelrecwxService.getNewlevdateMax(selectTime);
apsOrderClient.upByDateMax(dateMax,"SYCN_TRANSFERWX_TIME");
List<MesRbSodelrecwx> mesRbSodelrecwxList=erpMesRbSodelrecwxService.getMesRbSodelrecwxList(dateMax);
List<YieldOrder> yieldOrderList=new ArrayList<>();
mesRbSodelrecwxList.forEach(mesRbSodelrecwx -> {
YieldOrder yieldOrder=new YieldOrder();
yieldOrder.setManualIncrease(false);
List<DsPartEntity> dsPartList=apsOrderClient.getDsCraftListByCode(mesRbSodelrecwx.getPrtno());
yieldOrder.setYieldType(12001);
if(dsPartList!=null&&dsPartList.get(0).getCraftWay().contains("封接")){
yieldOrder.setYieldType(12002);
}
yieldOrder.setRoamNo("");//当前b号
yieldOrder.setRoamNoNext("");//下级b号
Long vCount=mesRbPartoplinkService.getVcount(mesRbSodelrecwx.getPrtno(),mesRbSodelrecwx.getFirseq());
if(vCount>0){
String roamNo=mesRbPartoplinkService.getRoamNo(mesRbSodelrecwx.getPrtno(),mesRbSodelrecwx.getFirseq());
yieldOrder.setRoamNo(roamNo);//当前b号
String roamNoNext=mesRbPartoplinkService.getRoamNoNext(mesRbSodelrecwx.getPrtno(),mesRbSodelrecwx.getFirseq());
yieldOrder.setRoamNoNext(roamNoNext);//下级b号
}
yieldOrderList.add(yieldOrder);
});
apsOrderClient.saveOrderList(yieldOrderList);
}
/**
* 同步工艺工单
*/
@Override
public void synCraft() {
String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERZG_TIME1");
String dateMax=erpMesRbSodelreczgService.getNewlevdateMax(selectTime);
apsOrderClient.upByDateMax(dateMax,"SYCN_TRANSFERZG_TIME1");
List<MesRbSodelreczg> mesRbSodelreczgList=erpMesRbSodelreczgService.getMesRbSodelreczgList(dateMax);
List<YieldOrder> yieldOrderList=new ArrayList<>();
mesRbSodelreczgList.forEach(mesRbSodelreczg -> {
YieldOrder yieldOrder=new YieldOrder();
yieldOrder.setYpMemo("正式工艺转工");
yieldOrder.setManualIncrease(false);
List<DsPartEntity> dsPartList=apsOrderClient.getDsCraftListByCode(mesRbSodelreczg.getPrtno());
yieldOrder.setYieldType(12001);
if(dsPartList!=null&&dsPartList.get(0).getCraftWay().contains("封接")){
yieldOrder.setYieldType(12002);
}
yieldOrder.setRoamNo("");//当前b号
yieldOrder.setRoamNoNext("");//下级b号
Long vCount=mesRbPartoplinkService.getVcount(mesRbSodelreczg.getPrtno(),mesRbSodelreczg.getFirseq());
if(vCount>0){
String roamNo=mesRbPartoplinkService.getRoamNo(mesRbSodelreczg.getPrtno(),mesRbSodelreczg.getFirseq());
yieldOrder.setRoamNo(roamNo);//当前b号
String roamNoNext=mesRbPartoplinkService.getRoamNoNext(mesRbSodelreczg.getPrtno(),mesRbSodelreczg.getFirseq());
yieldOrder.setRoamNoNext(roamNoNext);//下级b号
}
yieldOrderList.add(yieldOrder);
});
apsOrderClient.saveOrderList(yieldOrderList);
}
} }

@ -38,4 +38,9 @@ public class ErpMesRbWxpromotionServiceImpl implements IErpMesRbWxpromotionServi
public List<MesRbWxpromotion> getMesRbWxpromotionList(String newlevdateMax) { public List<MesRbWxpromotion> getMesRbWxpromotionList(String newlevdateMax) {
return mesRbWxpromotionMapper.getMesRbWxpromotionList(newlevdateMax); return mesRbWxpromotionMapper.getMesRbWxpromotionList(newlevdateMax);
} }
@Override
public String getNewlevdateMax(String selectTime) {
return mesRbWxpromotionMapper.getNewlevdateMax(selectTime);
}
} }

Loading…
Cancel
Save