erp同步配套订单

liweidong
sugy 2 months ago
parent 8909a27412
commit ab54dedeaa
  1. 27
      blade-ops/blade-job/src/main/java/org/springblade/job/processor/erp/SynSupportingFacilitiesProcessor.java
  2. 3
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbWoClient.java
  3. 5
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbWoClientFallback.java
  4. 16
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbPk.java
  5. 16
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbSjso.java
  6. 16
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbSodelrecwx.java
  7. 16
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbSodelreczg.java
  8. 16
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/view/MesRbWxpromotion.java
  9. 46
      blade-service/blade-desk/src/main/java/org/springblade/desk/process/controller/FmProjectApplicationController.java
  10. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/process/mapper/ProjectApplicationMapper.xml
  11. 15
      blade-service/blade-desk/src/main/java/org/springblade/desk/process/pojo/entity/FmProjectApplicationEntity.java
  12. 8
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpMesRbWoClient.java
  13. 13
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkMapper.java
  14. 41
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkMapper.xml
  15. 16
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpMesRbPkService.java
  16. 4
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpMesRbWoService.java
  17. 18
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbPkServiceImpl.java
  18. 127
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWoServiceImpl.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 SynSupportingFacilitiesProcessor implements BasicProcessor {
private final IErpMesRbWoClient mesRbWoClient;
@Override
public ProcessResult process(TaskContext taskContext) throws Exception {
log.info("同步配套订单定时任务开始");
CompletableFuture<Void> runFuture = CompletableFuture.runAsync(()-> mesRbWoClient.synSupportingFacilities());
log.info("同步配套订单定时任务结束");
return new ProcessResult(true);
}
}

@ -34,6 +34,7 @@ public interface IErpMesRbWoClient {
String SYN_GLASSCAKE = API_PREFIX + "/synGlassCake";
String SYN_OUTSOURCING = API_PREFIX + "/synOutsourcing";
String SYN_CRAFT = API_PREFIX + "/synCraft";
String SYN_SUPPORTING_FACILITIES = API_PREFIX + "/synSupportingFacilities";
/**
* 查询烧结配套信息
@ -70,4 +71,6 @@ public interface IErpMesRbWoClient {
R<Void> synOutsourcing();
@GetMapping(SYN_CRAFT)
R<Void> synCraft();
@GetMapping(SYN_SUPPORTING_FACILITIES)
R<Void> synSupportingFacilities();
}

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

@ -2,6 +2,8 @@ package org.springblade.erpdata.pojo.dto.view;
import lombok.Data;
import java.util.Date;
/**
* 对应ERP中视图 v_mes_rb_pk
*
@ -39,4 +41,18 @@ public class MesRbPk {
private String kdofplat; //镀种
private String prtmeterial; //材料
private String rigidity; //硬度
private String firseq;
private String prtudept;
private Date soreqdat;
private String soplanner;
private Date soreldat;
private String rouclp;
private String newlevsoqty;
private String warctlr;
private String lewdept;
private String newlevflag;
private String prtudeptcode;
private String newlevname;
private Date newlevdate;
}

@ -2,6 +2,8 @@ package org.springblade.erpdata.pojo.dto.view;
import lombok.Data;
import java.util.Date;
/**
* 对应ERP中视图 v_mes_rb_sjso
*
@ -12,7 +14,7 @@ import lombok.Data;
public class MesRbSjso {
private String sono; //车间订单号
private String fj_splcode; //批次号
private String splcode; //批次号
private String barcodeno; //路线卡号(配套单号)
private String prtno; //零件号
private String prtlotno; //生产标识
@ -34,4 +36,16 @@ public class MesRbSjso {
private String planner;
private String username;
private String firseq;
private String prtudept;
private Date soreqdat;
private String soplanner;
private String soreldat;
private String rouclp;
private String newlevsoqty;
private String lewdept;
private String newlevflag;
private String prtudeptcode;
private String newlevname;
private Date newlevdate;
}

@ -2,6 +2,8 @@ package org.springblade.erpdata.pojo.dto.view;
import lombok.Data;
import java.util.Date;
/**
* 对应ERP中视图 v_mes_rb_sodelrecwx
*
@ -40,4 +42,18 @@ public class MesRbSodelrecwx {
private String prtmeterial; //材料
private String rigidity; //硬度
private String firseq;
private String sono;
private String prtudept;
private Date soreqdat;
private String soplanner;
private Date soreldat;
private String rouclp;
private String newlevsoqty;
private String warctlr;
private String lewdept;
private String newlevflag;
private String prtudeptcode;
private String newlevname;
private Date newlevdate;
}

@ -2,6 +2,8 @@ package org.springblade.erpdata.pojo.dto.view;
import lombok.Data;
import java.util.Date;
/**
* 对应ERP中视图 v_mes_rb_sodelreczg
*
@ -40,4 +42,18 @@ public class MesRbSodelreczg {
private String prtmeterial; //材料
private String rigidity; //硬度
private String firseq;
private String sono;
private String prtudept;
private Date soreqdat;
private String soplanner;
private Date soreldat;
private String rouclp;
private String newlevsoqty;
private String warctlr;
private String lewdept;
private String newlevflag;
private String prtudeptcode;
private String newlevname;
private Date newlevdate;
}

@ -2,6 +2,8 @@ package org.springblade.erpdata.pojo.dto.view;
import lombok.Data;
import java.util.Date;
/**
* 对应ERP中视图 v_mes_rb_wxpromotion
*
@ -40,4 +42,18 @@ public class MesRbWxpromotion {
private String prtmeterial; //材料
private String rigidity; //硬度
private String firseq;
private String sono;
private String prtudept;
private Date soreqdat;
private String soplanner;
private String soreldat;
private String rouclp;
private String newlevsoqty;
private String warctlr;
private String lewdept;
private String prtudeptcode;
private String newlevname;
private Date newlevdate;
}

@ -52,6 +52,8 @@ import org.springblade.desk.process.service.IFmProjectMilestoneService;
import org.springblade.desk.process.wrapper.FmProjectApplicationWrapper;
import org.springframework.web.bind.annotation.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -103,6 +105,11 @@ public class FmProjectApplicationController extends BladeController {
@Operation(summary = "分页", description = "传入fmProjectApplication")
public R<IPage<FmProjectApplicationVO>> page(FmProjectApplicationVO fmProjectApplication, Query query) {
IPage<FmProjectApplicationVO> pages = fmProjectApplicationService.selectFmProjectApplicationPage(Condition.getPage(query), fmProjectApplication);
pages.getRecords().forEach(x->{
List<FmProjectMilestoneEntity> stoneList=fmProjectMilestoneService.list(new QueryWrapper<FmProjectMilestoneEntity>().lambda()
.eq(FmProjectMilestoneEntity::getPaId,x.getId()));
x.setStoneList(stoneList);
});
return R.data(pages);
}
@ -133,13 +140,22 @@ public class FmProjectApplicationController extends BladeController {
@ApiOperationSupport(order = 6)
@Operation(summary = "新增或修改", description = "传入fmProjectApplication")
public R submit(@Valid @RequestBody FmProjectApplicationEntity fmProjectApplication) {
Boolean flag=fmProjectApplicationService.save(fmProjectApplication);
if(fmProjectApplication.getId()==null||0==fmProjectApplication.getId())
fmProjectApplication.setPaCode(nextCode());
if(fmProjectApplication.getTouchingTime()==null){
fmProjectApplication.setTouchingTime(new Date());
}
Boolean flag=fmProjectApplicationService.saveOrUpdate(fmProjectApplication);
if(flag){
List<FmProjectMilestoneEntity> stoneList=fmProjectApplication.getStoneList();
stoneList.forEach(x->{
x.setPaId(fmProjectApplication.getId());
});
if(stoneList.size()>0){
return R.status(fmProjectMilestoneService.saveOrUpdateBatch(stoneList));
}else {
return R.status(true);
}
}
return R.status(false);
}
@ -171,5 +187,33 @@ public class FmProjectApplicationController extends BladeController {
List<FmProjectApplicationExcel> list = fmProjectApplicationService.exportFmProjectApplication(queryWrapper);
ExcelUtil.export(response, "项目管理数据" + DateUtil.time(), "项目管理数据表", list, FmProjectApplicationExcel.class);
}
public String nextCode() {
// 自增总长度
int len = 3;
// 自增值
int num = 0;
// 编码模式
String codePattern = new SimpleDateFormat("yyyyMMdd").format(new Date());
// 当前模式下最大编码
List<FmProjectApplicationEntity> pgrList = fmProjectApplicationService.list(
new QueryWrapper<FmProjectApplicationEntity>().lambda()
.likeRight(FmProjectApplicationEntity::getPaCode, codePattern)
.orderByDesc(FmProjectApplicationEntity::getPaCode));
FmProjectApplicationEntity pgr = pgrList.size() > 0 ? pgrList.get(0) : null;
if (pgr != null) {
num = Integer.parseInt(pgr.getPaCode().substring(codePattern.length(), codePattern.length() + len));
}
num++;
// 下个编码
return codePattern + prefix(String.valueOf(num), "0", len);
}
public static final String prefix(String StringToFix, String fixChar, int targetLen) {
int len = StringToFix.length();
for(int i = 0; i < targetLen - len; i += fixChar.length()) {
StringToFix = fixChar + StringToFix;
}
return StringToFix;
}
}

@ -32,7 +32,7 @@
</resultMap>
<select id="selectFmProjectApplicationPage" resultMap="fmProjectApplicationResultMap">
<select id="selectFmProjectApplicationPage" resultType="org.springblade.desk.process.pojo.vo.FmProjectApplicationVO">
select * from FM_PROJECT_APPLICATION n
<where>
n.is_deleted = 0

@ -61,11 +61,21 @@ public class FmProjectApplicationEntity extends BaseEntity {
*/
@Schema(description = "单据号")
private String paCode;
/**
* 制单人ID
*/
@Schema(description = "制单人Id")
private String touchingManId;
/**
* 制单人
*/
@Schema(description = "制单人")
private String touchingMan;
/**
* 制单部门id
*/
@Schema(description = "制单部门Id")
private String touchingDeptId;
/**
* 制单部门
*/
@ -129,6 +139,11 @@ public class FmProjectApplicationEntity extends BaseEntity {
*/
@Schema(description = "项目支持人")
private String projectSupportMan;
/**
* 项目负责人ID
*/
@Schema(description = "项目负责人ID")
private String projectHeadId;
/**
* 项目负责人
*/

@ -99,4 +99,12 @@ public class ErpMesRbWoClient implements IErpMesRbWoClient {
log.info("同步正式工艺订单定时任务结束");
return R.success();
}
@Override
public R<Void> synSupportingFacilities() {
log.info("同步配套订单定时任务开始");
erpMesRbWoService.synSupportingFacilities();
log.info("同步配套订单定时任务结束");
return R.success();
}
}

@ -19,4 +19,17 @@ public interface ErpMesRbPkMapper extends Mapper {
* @return
*/
List<MesRbPk> getMesRbPkErpList();
/**
* 获取ERP最新等级时间
*
* @param selectTime
* @return
*/
String getNewlevdateMax(String selectTime);
/**
* 从ERP视图中获取要同步的推进计划转工单
*
* @return
*/
List<MesRbPk> getMesRbPkList(String dateMax);
}

@ -6,4 +6,45 @@
SELECT * FROM v_mes_rb_pk WHERE is_deleted = 0
</select>
<select id = "getNewlevdateMax" resultType = "java.lang.String">
SELECT nvl(max(a.newlevdate), selectTime)
as newlevdateMax
FROM v_mes_rb_pk a
<where>
1=1
AND a.newlevdate <![CDATA[ >= ]]> to_date(#{selectTime},'YYYY-MM-DD HH24:MI:SS')
</where>
ORDER BY a.newlevdate DESC;
</select>
<select id = "getMesRbPkList" resultType = "org.springblade.erpdata.pojo.dto.view.MesRbPk">
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_pk a
<where>
1=1
<if test="newlevdateMax != null">
AND a.newlevdate <![CDATA[ > ]]> #{newlevdateMax}
</if>
</where>
/* WHERE
a.newlevdate > v_select_time*/
</select>
</mapper>

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

@ -52,4 +52,8 @@ public interface IErpMesRbWoService {
* 同步工艺数据
*/
void synCraft();
/**
* 同步配套数据
*/
void synSupportingFacilities();
}

@ -4,9 +4,12 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.desk.order.feign.IApsClient;
import org.springblade.erpdata.mapper.ErpMesRbPkMapper;
import org.springblade.erpdata.pojo.dto.view.MesRbPk;
import org.springblade.erpdata.service.IErpMesRbPkService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author lqk
* @date 2025-11-26 9:39
@ -24,4 +27,19 @@ public class ErpMesRbPkServiceImpl implements IErpMesRbPkService {
public void synMesRbPk() {
}
/**
* 获取最新等级时间
*
* @param selectTime
* @return
*/
@Override
public String getNewlevdateMax(String selectTime) {
return mesRbPkMapper.getNewlevdateMax(selectTime);
}
@Override
public List<MesRbPk> getMesRbPkList(String dateMax) {
return mesRbPkMapper.getMesRbPkList(dateMax);
}
}

@ -53,6 +53,8 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
private final IErpMesRbSodelreczgService erpMesRbSodelreczgService;
private final IErpMesRbPkService erpMesRbPkService;
@Override
public List<MesRbWo> getList(MesRbWo entity) {
@ -230,7 +232,7 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
}
yieldOrderList.add(yieldOrder);
});
apsOrderClient.saveOrderList(yieldOrderList);
this.saveOrder(yieldOrderList);
}
/**
* 同步临时工单
@ -273,7 +275,7 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
}
yieldOrderList.add(yieldOrder);
});
apsOrderClient.saveOrderList(yieldOrderList);
this.saveOrder(yieldOrderList);
}
/**
* 同步烧结数据
@ -288,6 +290,21 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
rbtosoList.forEach(mesRbtoso -> {
YieldOrder yieldOrder=new YieldOrder();
yieldOrder.setManualIncrease(false);
yieldOrder.setYoCode(mesRbtoso.getSono());//生产单号
yieldOrder.setBatchNo(mesRbtoso.getSplcode());//批次号
yieldOrder.setPartCode(mesRbtoso.getPrtno());//零件号
yieldOrder.setProductIdent(mesRbtoso.getPrtlotno());
yieldOrder.setUseDept(mesRbtoso.getPrtudept());
yieldOrder.setDemandDate(mesRbtoso.getSoreqdat());//需求日期
yieldOrder.setPlanUser(mesRbtoso.getSoplanner());
yieldOrder.setReleaseDate(mesRbtoso.getSoreqdat());
yieldOrder.setCardNo(mesRbtoso.getRouclp());
yieldOrder.setYpQty(Double.valueOf(mesRbtoso.getNewlevsoqty()));//生产数量
yieldOrder.setCustodian(mesRbtoso.getWarctlr());//保管员
yieldOrder.setEntrustDept(mesRbtoso.getPrtudeptcode());
yieldOrder.setUseDeptCode(mesRbtoso.getPrtudeptcode());
yieldOrder.setPkUsername(mesRbtoso.getNewlevname());
yieldOrder.setPkDate(mesRbtoso.getNewlevdate());
yieldOrder.setYieldType(12002);
yieldOrder.setRoamNoNext( "");
if(StringUtils.isNotEmpty(mesRbtoso.getFirseq())){
@ -296,7 +313,7 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
}
yieldOrderList.add(yieldOrder);
});
apsOrderClient.saveOrderList(yieldOrderList);
this.saveOrder(yieldOrderList);
}
/**
* 同步采购LOTTJ
@ -312,6 +329,21 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
YieldOrder yieldOrder=new YieldOrder();
yieldOrder.setYpMemo("推进计划");
yieldOrder.setManualIncrease(false);
yieldOrder.setYoCode(mesRbWxpromotion.getSono());//生产单号
yieldOrder.setBatchNo(mesRbWxpromotion.getSplcode());//批次号
yieldOrder.setPartCode(mesRbWxpromotion.getPrtno());//零件号
yieldOrder.setProductIdent(mesRbWxpromotion.getPrtlotno());
yieldOrder.setUseDept(mesRbWxpromotion.getPrtudept());
yieldOrder.setDemandDate(mesRbWxpromotion.getSoreqdat());//需求日期
yieldOrder.setPlanUser(mesRbWxpromotion.getSoplanner());
yieldOrder.setReleaseDate(mesRbWxpromotion.getSoreqdat());
yieldOrder.setCardNo(mesRbWxpromotion.getRouclp());
yieldOrder.setYpQty(Double.valueOf(mesRbWxpromotion.getNewlevsoqty()));//生产数量
yieldOrder.setCustodian(mesRbWxpromotion.getWarctlr());//保管员
yieldOrder.setEntrustDept(mesRbWxpromotion.getPrtudeptcode());
yieldOrder.setUseDeptCode(mesRbWxpromotion.getPrtudeptcode());
yieldOrder.setPkUsername(mesRbWxpromotion.getNewlevname());
yieldOrder.setPkDate(mesRbWxpromotion.getNewlevdate());
List<DsPartEntity> dsPartList=apsOrderClient.getDsCraftListByCode(mesRbWxpromotion.getPrtno());
yieldOrder.setYieldType(12001);
if(dsPartList!=null&&dsPartList.get(0).getCraftWay().contains("封接")){
@ -343,6 +375,21 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
mesRbSodelrecwxList.forEach(mesRbSodelrecwx -> {
YieldOrder yieldOrder=new YieldOrder();
yieldOrder.setManualIncrease(false);
yieldOrder.setYoCode(mesRbSodelrecwx.getSono());//生产单号
yieldOrder.setBatchNo(mesRbSodelrecwx.getSplcode());//批次号
yieldOrder.setPartCode(mesRbSodelrecwx.getPrtno());//零件号
yieldOrder.setProductIdent(mesRbSodelrecwx.getPrtlotno());
yieldOrder.setUseDept(mesRbSodelrecwx.getPrtudept());
yieldOrder.setDemandDate(mesRbSodelrecwx.getSoreqdat());//需求日期
yieldOrder.setPlanUser(mesRbSodelrecwx.getSoplanner());
yieldOrder.setReleaseDate(mesRbSodelrecwx.getSoreqdat());
yieldOrder.setCardNo(mesRbSodelrecwx.getRouclp());
yieldOrder.setYpQty(Double.valueOf(mesRbSodelrecwx.getNewlevsoqty()));//生产数量
yieldOrder.setCustodian(mesRbSodelrecwx.getWarctlr());//保管员
yieldOrder.setEntrustDept(mesRbSodelrecwx.getPrtudeptcode());
yieldOrder.setUseDeptCode(mesRbSodelrecwx.getPrtudeptcode());
yieldOrder.setPkUsername(mesRbSodelrecwx.getNewlevname());
yieldOrder.setPkDate(mesRbSodelrecwx.getNewlevdate());
List<DsPartEntity> dsPartList=apsOrderClient.getDsCraftListByCode(mesRbSodelrecwx.getPrtno());
yieldOrder.setYieldType(12001);
if(dsPartList!=null&&dsPartList.get(0).getCraftWay().contains("封接")){
@ -359,7 +406,7 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
}
yieldOrderList.add(yieldOrder);
});
apsOrderClient.saveOrderList(yieldOrderList);
this.saveOrder(yieldOrderList);
}
/**
* 同步工艺工单
@ -375,6 +422,21 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
YieldOrder yieldOrder=new YieldOrder();
yieldOrder.setYpMemo("正式工艺转工");
yieldOrder.setManualIncrease(false);
yieldOrder.setYoCode(mesRbSodelreczg.getSono());//生产单号
yieldOrder.setBatchNo(mesRbSodelreczg.getSplcode());//批次号
yieldOrder.setPartCode(mesRbSodelreczg.getPrtno());//零件号
yieldOrder.setProductIdent(mesRbSodelreczg.getPrtlotno());
yieldOrder.setUseDept(mesRbSodelreczg.getPrtudept());
yieldOrder.setDemandDate(mesRbSodelreczg.getSoreqdat());//需求日期
yieldOrder.setPlanUser(mesRbSodelreczg.getSoplanner());
yieldOrder.setReleaseDate(mesRbSodelreczg.getSoreqdat());
yieldOrder.setCardNo(mesRbSodelreczg.getRouclp());
yieldOrder.setYpQty(Double.valueOf(mesRbSodelreczg.getNewlevsoqty()));//生产数量
yieldOrder.setCustodian(mesRbSodelreczg.getWarctlr());//保管员
yieldOrder.setEntrustDept(mesRbSodelreczg.getPrtudeptcode());
yieldOrder.setUseDeptCode(mesRbSodelreczg.getPrtudeptcode());
yieldOrder.setPkUsername(mesRbSodelreczg.getNewlevname());
yieldOrder.setPkDate(mesRbSodelreczg.getNewlevdate());
List<DsPartEntity> dsPartList=apsOrderClient.getDsCraftListByCode(mesRbSodelreczg.getPrtno());
yieldOrder.setYieldType(12001);
if(dsPartList!=null&&dsPartList.get(0).getCraftWay().contains("封接")){
@ -391,6 +453,63 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
}
yieldOrderList.add(yieldOrder);
});
this.saveOrder(yieldOrderList);
}
/**
* 同步配套工单
*/
@Override
public void synSupportingFacilities() {
String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERPK_TIME");
String dateMax=erpMesRbPkService.getNewlevdateMax(selectTime);
apsOrderClient.upByDateMax(dateMax,"SYCN_TRANSFERPK_TIME");
List<MesRbPk> mesRbPkList=erpMesRbPkService.getMesRbPkList(dateMax);
List<YieldOrder> yieldOrderList=new ArrayList<>();
mesRbPkList.forEach(mesRbPk -> {
YieldOrder yieldOrder=new YieldOrder();
yieldOrder.setYoCode(mesRbPk.getWono());//生产单号
yieldOrder.setBatchNo(mesRbPk.getSplcode());//批次号
yieldOrder.setPartCode(mesRbPk.getPrtno());//零件号
yieldOrder.setProductIdent(mesRbPk.getPrtlotno());
yieldOrder.setUseDept(mesRbPk.getPrtudept());
yieldOrder.setDemandDate(mesRbPk.getSoreqdat());//需求日期
yieldOrder.setPlanUser(mesRbPk.getSoplanner());
yieldOrder.setReleaseDate(mesRbPk.getSoreqdat());
yieldOrder.setCardNo(mesRbPk.getRouclp());
yieldOrder.setYpQty(Double.valueOf(mesRbPk.getNewlevsoqty()));//生产数量
yieldOrder.setCustodian(mesRbPk.getWarctlr());//保管员
yieldOrder.setEntrustDept(mesRbPk.getPlndept());
if("3400".equals(mesRbPk.getPrtudeptcode())){
yieldOrder.setMemo("铆卡钉");
}
yieldOrder.setUseDeptCode(mesRbPk.getPrtudeptcode());
yieldOrder.setPkUsername(mesRbPk.getNewlevname());
yieldOrder.setPkDate(mesRbPk.getNewlevdate());
yieldOrder.setYieldType(12001);
yieldOrder.setRoamNoNext( "");
if(StringUtils.isNotEmpty(mesRbPk.getFirseq())){
String roamNoNext=mesRbPartoplinkService.getRoamNoNext(mesRbPk.getPrtno(),mesRbPk.getFirseq());
yieldOrder.setRoamNoNext(roamNoNext);//下级b号
}
yieldOrderList.add(yieldOrder);
});
this.saveOrder(yieldOrderList);
}
private void saveOrder(List<YieldOrder> yieldOrderList){
yieldOrderList.forEach(order -> {
Long vCount=0L;//apsOrderClient.getCount(transfer.getYoCode(),transfer.getCardNo(),transfer.getBatchNo(),transfer.getWorkRoam());
if(vCount>0) {
/*
v_excnote := '零件号' || v_part_code || '批号' || v_batch_no || '工单已转交请勿重复转交';
v_excflag := '0';
RETURN;
*/
}
List<DsPartEntity> dsPartList=apsOrderClient.getDsCraftListByCode(order.getPartCode());
if(dsPartList!=null&&dsPartList.size()>0){
}
});
apsOrderClient.saveOrderList(yieldOrderList);
}
}

Loading…
Cancel
Save