功能开发-sjx

liweidong
sunjianxi 2 weeks ago
parent 8bb79e9c2f
commit 608926dd2f
  1. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartEntity.java
  2. 14
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldOrder.java
  3. 3
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/YieldOrderEnum.java
  4. 14
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java
  5. 19
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java
  6. 9
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java
  7. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java
  8. 176
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordServiceImpl.java
  9. 92
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java
  10. 3
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPacturnrecordMapper.xml
  11. 4
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkMapper.xml
  12. 4
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPurtosoMapper.xml
  13. 4
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSjsoMapper.xml
  14. 4
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSodelrecwxMapper.xml
  15. 4
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSodelreczgMapper.xml
  16. 3
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbWoMapper.xml
  17. 4
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbWxpromotionMapper.xml
  18. 77
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWoServiceImpl.java

@ -179,7 +179,7 @@ public class DsPartEntity extends BaseEntity {
* 是否玻璃饼 * 是否玻璃饼
*/ */
@Schema(description = "是否玻璃饼") @Schema(description = "是否玻璃饼")
private String isClassCake; private String isGlassCake;
/** /**
* 成型厚度 * 成型厚度
*/ */

@ -3,6 +3,8 @@ package org.springblade.desk.order.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.mp.base.BaseEntity;
@ -466,4 +468,16 @@ public class YieldOrder extends BaseEntity {
@TableField(value = "craft_id") @TableField(value = "craft_id")
private Long craftId; private Long craftId;
@JsonSerialize(nullsUsing = NullSerializer.class)
private Double plateThickness1;
@JsonSerialize(nullsUsing = NullSerializer.class)
private Double plateThickness2;
@JsonSerialize(nullsUsing = NullSerializer.class)
private Double quota1;
@JsonSerialize(nullsUsing = NullSerializer.class)
private Double quota2;
} }

@ -82,7 +82,8 @@ public enum YieldOrderEnum {
VALIDATION_RESULT_LESS_CRAFT("工艺缺失", 16003), VALIDATION_RESULT_LESS_CRAFT("工艺缺失", 16003),
VALIDATION_RESULT_LESS_RESOURCE("资源缺失", 16004), VALIDATION_RESULT_LESS_RESOURCE("资源缺失", 16004),
VALIDATION_RESULT_DELIVERY("交期冲突", 16005), VALIDATION_RESULT_DELIVERY("交期冲突", 16005),
VALIDATION_RESULT_PASS("验证完成", 16006), VALIDATION_RESULT_LESS_MATERIAL("物料需求异常", 16006),
VALIDATION_RESULT_PASS("验证完成", 16007),
; ;
final String name; final String name;
final int code; final int code;

@ -777,12 +777,14 @@ public class DsPartServiceImpl extends BaseServiceImpl<DsPartMapper, DsPartEntit
List<DsPartRelationEntity> partRelationEntityList = partRelationService.selectDsPartRelationByPartId(partEntity.getId()); List<DsPartRelationEntity> partRelationEntityList = partRelationService.selectDsPartRelationByPartId(partEntity.getId());
List<Long> validChildPartIds = partRelationEntityList.stream() List<DsPartEntity> dsPartEntityList1 = new ArrayList<>();
.map(DsPartRelationEntity::getChildPartId) if(!CollectionUtils.isEmpty(partRelationEntityList)){
.filter(Objects::nonNull) List<Long> validChildPartIds = partRelationEntityList.stream()
.collect(Collectors.toList()); .map(DsPartRelationEntity::getChildPartId)
.filter(Objects::nonNull)
List<DsPartEntity> dsPartEntityList1 = this.selectDsPartByIds(validChildPartIds); .collect(Collectors.toList());
dsPartEntityList1 = this.selectDsPartByIds(validChildPartIds);
}
return dsPartEntityList1; return dsPartEntityList1;
} }

@ -26,23 +26,26 @@
package org.springblade.desk.dashboard.service.impl; package org.springblade.desk.dashboard.service.impl;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException; import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.SpringUtil; import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.desk.basic.service.ICraftAbilityService; import org.springblade.desk.basic.service.ICraftAbilityService;
import org.springblade.desk.basic.service.impl.WorkCenterServiceImpl;
import org.springblade.desk.common.constant.BizTypeConstant; import org.springblade.desk.common.constant.BizTypeConstant;
import org.springblade.desk.common.service.IMesNotifyMessageService; import org.springblade.desk.common.service.IMesNotifyMessageService;
import org.springblade.desk.dashboard.constant.*; import org.springblade.desk.dashboard.constant.DsPartConstant;
import org.springblade.desk.dashboard.constant.TaskingConstant;
import org.springblade.desk.dashboard.excel.DsTaskingExcel;
import org.springblade.desk.dashboard.mapper.DsTaskingMapper;
import org.springblade.desk.dashboard.pojo.dto.DsTaskingDTO; import org.springblade.desk.dashboard.pojo.dto.DsTaskingDTO;
import org.springblade.desk.dashboard.pojo.entity.*; import org.springblade.desk.dashboard.pojo.entity.*;
import org.springblade.desk.dashboard.pojo.vo.*; import org.springblade.desk.dashboard.pojo.vo.*;
import org.springblade.desk.dashboard.excel.DsTaskingExcel;
import org.springblade.desk.dashboard.mapper.DsTaskingMapper;
import org.springblade.desk.dashboard.service.*; import org.springblade.desk.dashboard.service.*;
import org.springblade.desk.order.pojo.entity.MoldDemand; import org.springblade.desk.order.pojo.entity.MoldDemand;
import org.springblade.desk.order.pojo.entity.YieldOrder; import org.springblade.desk.order.pojo.entity.YieldOrder;
@ -54,7 +57,6 @@ import org.springblade.desk.quality.pojo.dto.PpmReportDetailDTO;
import org.springblade.desk.quality.pojo.request.ReviewSheetErpSearch; import org.springblade.desk.quality.pojo.request.ReviewSheetErpSearch;
import org.springblade.desk.quality.service.IReviewSheetService; import org.springblade.desk.quality.service.IReviewSheetService;
import org.springblade.erpdata.feign.IErpDataReworkTaskClient; import org.springblade.erpdata.feign.IErpDataReworkTaskClient;
import org.springblade.scheduling.pojo.entity.CraftAbilityEntity;
import org.springblade.scheduling.pojo.entity.WorkOrderEntity; import org.springblade.scheduling.pojo.entity.WorkOrderEntity;
import org.springblade.scheduling.pojo.entity.WorkPlanEntity; import org.springblade.scheduling.pojo.entity.WorkPlanEntity;
import org.springblade.system.feign.IUserClient; import org.springblade.system.feign.IUserClient;
@ -64,9 +66,6 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
@ -74,9 +73,9 @@ import org.springframework.util.StringUtils;
import java.sql.Connection; import java.sql.Connection;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.*;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -2123,7 +2122,7 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
partBasics.setPartName(oldMesPart.getPartName()); partBasics.setPartName(oldMesPart.getPartName());
partBasics.setProductType(oldMesPart.getProductType()); partBasics.setProductType(oldMesPart.getProductType());
partBasics.setIsSintering(oldMesPart.getIsSintering()); partBasics.setIsSintering(oldMesPart.getIsSintering());
partBasics.setIsClassCake(oldMesPart.getIsClassCake()); partBasics.setIsClassCake(oldMesPart.getIsGlassCake());
partBasics.setCreateTime(new Date()); partBasics.setCreateTime(new Date());
partBasics.setUpdateTime(new Date()); partBasics.setUpdateTime(new Date());
partBasics.setStatus(1); partBasics.setStatus(1);

@ -286,4 +286,13 @@ public class YieldOrderController extends BladeController {
Boolean result = goodsRecordService.calculateCoatingMaterial(yieldOrder); Boolean result = goodsRecordService.calculateCoatingMaterial(yieldOrder);
return R.status(result); return R.status(result);
} }
/**
* 根据零件号获取工装
*/
@GetMapping("/getToolByPartCode")
public R<List<String>> getToolByPartCode(@Parameter(description = "零件号", required = true) @RequestParam String partCode) {
List<String> list = yieldOrderService.getToolByPartCode(partCode);
return R.data(list);
}
} }

@ -277,4 +277,6 @@ public interface IYieldOrderService extends BaseService<YieldOrder> {
* @param yieldOrderList * @param yieldOrderList
*/ */
void saveOrder(List<YieldOrder> yieldOrderList); void saveOrder(List<YieldOrder> yieldOrderList);
List<String> getToolByPartCode(String partCode);
} }

@ -325,7 +325,11 @@ public class PlateGoodsRecordServiceImpl extends BaseServiceImpl<PlateGoodsRecor
}else{ }else{
demand = (s2*yieldOrder.getYpQty()*quota1 + (s1-s2)*yieldOrder.getYpQty()*quota2)*0.2829; demand = (s2*yieldOrder.getYpQty()*quota1 + (s1-s2)*yieldOrder.getYpQty()*quota2)*0.2829;
} }
yieldOrder.setQuota1(quota1);
yieldOrder.setQuota2(quota2);
yieldOrder.setPlateThickness1(h1);
yieldOrder.setPlateThickness2(h2);
yieldOrder.setGoodsDemand(BigDecimal.valueOf(demand));
}else{ }else{
double quota = 0; double quota = 0;
if(abilityName.contains("镀银")){ if(abilityName.contains("镀银")){
@ -366,177 +370,17 @@ public class PlateGoodsRecordServiceImpl extends BaseServiceImpl<PlateGoodsRecor
demand = singleArea*quota*0.2829; demand = singleArea*quota*0.2829;
} }
} }
yieldOrder.setQuota1(quota);
yieldOrder.setPlateThickness1(h1);
yieldOrder.setGoodsDemand(BigDecimal.valueOf(demand));
} }
//构建镀层物料需求申报对象, 调用保存方法,保存镀层物料需求申报 yieldOrderMapper.updateById(yieldOrder);
PlateGoodsRecord plateGoodsRecord=new PlateGoodsRecord();
plateGoodsRecord.setGoodsCode(plateGoodsCode);
plateGoodsRecord.setGoodsName(plateGoodsCode.equals(PlateGoodsConst.GOLD_POTASSIUM)?"氢化亚金钾":"氢化银钾");
plateGoodsRecord.setGoodsDemand(BigDecimal.valueOf(demand));
plateGoodsRecord.setDeclaredStatus((long) PlateGoodsEnum.STATUS_WAITING.getCode());
plateGoodsRecord.setWcId(yieldOrder.getWorkCenterId());
List<PlateGoodsRecordDetail> detailList=new ArrayList<>();
PlateGoodsRecordDetail plateGoodsRecordDetail=new PlateGoodsRecordDetail();
plateGoodsRecordDetail.setYoId(yieldOrder.getId());
this.save(plateGoodsRecord, detailList);
}else{ }else{
return true; return true;
} }
return true; return true;
} }
/**
* 生成订单-计算镀层物料
* @param yieldOrder
* @return
*/
public boolean calculateCoatingMaterial1(YieldOrder yieldOrder){
//零件号
String partCode=yieldOrder.getPartCode();
//零件版本
String partVersion=yieldOrder.getPartVersion();
//生产标识/质量等级
String productIdent=yieldOrder.getProductIdent();
//根据零件号查询零件
DsPartEntity dsPart = dsPartService.selectDsPartByPatCodeAndVersion(partCode,partVersion);
if(null==dsPart){
return false;
}
//镀层物料编码
String plateGoodsCode=dsPart.getPlateGoodsCode();
//面积(㎡)
Double ypArea=yieldOrder.getYpArea();
//生产数量
Double ypQty=yieldOrder.getYpQty();
//计算单批面积(d㎡)
Double singleArea=ypArea*ypQty*100;
//大批量/小批量标志
int batchFlag=0;//大批量1;小批量0
//判断是否是大批量
if(singleArea>=30){
//是大批量
batchFlag=1;
}else{
//是小批量
batchFlag=0;
}
//金钾、银钾标志
int goldSilverFlag=0;//金钾1;银钾0
//判断是否有镀层物料编码
if(Func.isEmpty(plateGoodsCode)){
//查询不到镀层物料编码
return false;
}else{
//可以查询到镀层物料编码
//判断是否是金钾或银钾
if(plateGoodsCode.equals(PlateGoodsConst.GOLD_POTASSIUM)||plateGoodsCode.equals(PlateGoodsConst.SILVER_POTASSIUM)){
//是金钾或银钾
if(plateGoodsCode.equals(PlateGoodsConst.GOLD_POTASSIUM)){
goldSilverFlag=1;
}else{
goldSilverFlag=0;
}
//从零件号获取配置码
if(partCode.contains("-")){
String partCodeArr[]=partCode.split("-");
//配置码
String configCode=partCodeArr[partCodeArr.length-1];
//根据配置码查询镀种信息
BsPlatingEntity bsPlatingEntity =bsPlatingService.selectBsPlatingConfigNo(configCode);
//镀层代码
String matCode=bsPlatingEntity.getMatCode();
//根据零件号、镀层代码、质量等级,从镀层厚度对应表中查询镀层厚度
int start_f21e8=0;
if(partCode.startsWith("21E8-210")){
start_f21e8=1;
}
CoatingThickness CoatingThickness=coatingThicknessService.queryCoatingThickness(matCode,productIdent,start_f21e8);
//镀层厚度
BigDecimal thickness=CoatingThickness.getThickness();
//未找到镀层厚度
if(Func.isEmpty(thickness)){
//将订单状态标记为数据异常,记录异常原因,并退出
yieldOrder.setValidationMomo("未查询到镀层厚度信息");
this.updateYieldOrder(yieldOrder);
return false;
}else{
//todo(接口存在问题) 根据生产订单(YieldOrder)对象中的零件号和零件版本(与关系),查询DS_CRAFT表
DsCraftEntity dsCraftEntity = dsCraftService.selectDsCraftByPartCodeAndVersion(dsPart.getId(),partVersion);
//工艺表(DS_CRAFT)id
Long dsCraftId=dsCraftEntity.getId();
//查询生产工序列表
List<DsProcessEntity> dsProcessList=dsProcessService.selectDsProcessByCraftId(dsCraftId);
// 1. 空列表校验
if (CollectionUtils.isEmpty(dsProcessList)) {
//将订单状态标记为数据异常,记录异常原因,并退出
yieldOrder.setValidationMomo("未查询到生产工序信息");
this.updateYieldOrder(yieldOrder);
return false;
} else{
//取出工艺能力
for (DsProcessEntity process : dsProcessList) {
//DS_PROCESS表id
Long dsProcessId=process.getCaId();
//工艺能力编码
String craftCode=process.getCraftCode();
//根据镀层厚度、工艺能力,到物料定额表中查询定额
MaterialQuota materialQuota=materialQuotaService.queryMaterialQuota(thickness,dsProcessId);
if(null==materialQuota){
yieldOrder.setValidationMomo("为查询到物料定额");
this.updateYieldOrder(yieldOrder);
return false;
}
//定额
BigDecimal quotanew=materialQuota.getQuota();
double quota = quotanew.doubleValue();
//未找到定额
if(Func.isEmpty(quota)){
yieldOrder.setValidationMomo("未查询到物料定额");
this.updateYieldOrder(yieldOrder);
return false;
}else{
//计算物料需求
Double demand=0.0;
if(goldSilverFlag==0){
//银钾
demand=singleArea*quota*0.105;
}else{
//金钾
//小批量且工艺能力为(E379、E10120、E10060、E007、E9600、E12340)
if(batchFlag==0&&(craftCode.equals("E379")||craftCode.equals("E10120")||craftCode.equals("E10060")||craftCode.equals("E007")||craftCode.equals("E9600")||craftCode.equals("E12340"))){
demand=singleArea*quota*0.2829 * 1.2;
}else{
//金钾其他情况
demand=singleArea*quota*0.2829;
}
}
//构建镀层物料需求申报对象, 调用保存方法,保存镀层物料需求申报
PlateGoodsRecord plateGoodsRecord=new PlateGoodsRecord();
plateGoodsRecord.setGoodsCode(plateGoodsCode);
plateGoodsRecord.setGoodsName(plateGoodsCode.equals(PlateGoodsConst.GOLD_POTASSIUM)?"氢化亚金钾":"氢化银钾");
plateGoodsRecord.setGoodsDemand(BigDecimal.valueOf(demand));
plateGoodsRecord.setDeclaredStatus((long) PlateGoodsEnum.STATUS_WAITING.getCode());
plateGoodsRecord.setWcId(yieldOrder.getWorkCenterId());
List<PlateGoodsRecordDetail> detailList=new ArrayList<>();
PlateGoodsRecordDetail plateGoodsRecordDetail=new PlateGoodsRecordDetail();
plateGoodsRecordDetail.setYoId(yieldOrder.getId());
this.save(plateGoodsRecord, detailList);
}
}
}
}
}else{
//查询不到配置码
return false;
}
}else {
//不是金钾或银钾
return false;
}
}
//保存成功
return true;
}
/** /**
* 将订单状态标记为数据异常记录异常原因 * 将订单状态标记为数据异常记录异常原因
@ -544,7 +388,7 @@ public class PlateGoodsRecordServiceImpl extends BaseServiceImpl<PlateGoodsRecor
*/ */
public void updateYieldOrder(YieldOrder yieldOrder){ public void updateYieldOrder(YieldOrder yieldOrder){
yieldOrder.setStatus(YieldOrderEnum.STATUS_EXCEPTION.getCode()); yieldOrder.setStatus(YieldOrderEnum.STATUS_EXCEPTION.getCode());
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_DATA.getCode()); yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_MATERIAL.getCode());
yieldOrderMapper.updateById(yieldOrder); yieldOrderMapper.updateById(yieldOrder);
} }
} }

@ -432,17 +432,25 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
if(CollectionUtils.isNotEmpty(subPartList)){ if(CollectionUtils.isNotEmpty(subPartList)){
for(DsPartEntity subPart : subPartList){ for(DsPartEntity subPart : subPartList){
if(DsPartConstant.SIN_TER_TYPE_SMM == subPart.getSinTerType() && subPart.getQuota() != 0){ if(DsPartConstant.SIN_TER_TYPE_SMM == subPart.getSinTerType() && subPart.getQuota() != 0){
MoldDemand moldDemand = new MoldDemand(); MoldDemand moldDemand = moldDemandMapper.selectOne(Wrappers.<MoldDemand>lambdaQuery().eq(MoldDemand::getPartCode,subPart.getPartCode()).eq(MoldDemand::getMafStatus,MoldDemandEnum.MAF_STATUS_CREATE.getCode()));
moldDemand.setMoCode(null); if(moldDemand == null){
moldDemand.setPartCode(subPart.getPartCode()); moldDemand = new MoldDemand();
moldDemand.setPartName(subPart.getPartName()); moldDemand.setMoCode(null);
moldDemand.setDemandNum(subPart.getQuota() * yieldOrder.getYpQty()); moldDemand.setPartCode(subPart.getPartCode());
moldDemand.setLinkOrderIds(yieldOrder.getId().toString()); moldDemand.setPartName(subPart.getPartName());
moldDemand.setStatus(MoldDemandEnum.STATUS_WAITING.getCode()); moldDemand.setDemandNum(subPart.getQuota() * yieldOrder.getYpQty());
moldDemand.setMafStatus(MoldDemandEnum.MAF_STATUS_CREATE.getCode()); moldDemand.setLinkOrderIds(yieldOrder.getId().toString());
moldDemand.setNeedDate(yieldOrder.getDemandDate()); moldDemand.setStatus(MoldDemandEnum.STATUS_WAITING.getCode());
moldDemand.setQuaLevel(yieldOrder.getProductIdent()); moldDemand.setMafStatus(MoldDemandEnum.MAF_STATUS_CREATE.getCode());
moldDemandMapper.insert(moldDemand); moldDemand.setNeedDate(yieldOrder.getDemandDate());
moldDemand.setQuaLevel(yieldOrder.getProductIdent());
moldDemandMapper.insert(moldDemand);
}else{
moldDemand.setDemandNum(moldDemand.getDemandNum() + subPart.getQuota() * yieldOrder.getYpQty());
moldDemand.setLinkOrderIds(moldDemand.getLinkOrderIds().concat(",").concat(yieldOrder.getId().toString()));
moldDemandMapper.updateById(moldDemand);
}
} }
} }
@ -450,19 +458,27 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
}else if(YieldOrderEnum.YIELD_TYPE_3.getCode() == yieldOrder.getYieldType()){ }else if(YieldOrderEnum.YIELD_TYPE_3.getCode() == yieldOrder.getYieldType()){
List<DsProcessMoldToolEntity> processMoldToolList = dsPartService.getClassCakeWork(yieldOrder.getPartCode(),yieldOrder.getRoamNo(),yieldOrder.getPartVersion()); List<DsProcessMoldToolEntity> processMoldToolList = dsPartService.getClassCakeWork(yieldOrder.getPartCode(),yieldOrder.getRoamNo(),yieldOrder.getPartVersion());
if(CollectionUtils.isNotEmpty(processMoldToolList)){ if(CollectionUtils.isNotEmpty(processMoldToolList)){
MoldDemand moldDemand = new MoldDemand(); MoldDemand moldDemand = moldDemandMapper.selectOne(Wrappers.<MoldDemand>lambdaQuery().eq(MoldDemand::getPartCode,yieldOrder.getPartCode()).eq(MoldDemand::getMafStatus,MoldDemandEnum.MAF_STATUS_CREATE.getCode()));
moldDemand.setMoCode(null); if(moldDemand == null){
moldDemand.setPartCode(yieldOrder.getPartCode()); moldDemand = new MoldDemand();
moldDemand.setPartName(yieldOrder.getPartName()); moldDemand.setMoCode(null);
moldDemand.setDemandNum(yieldOrder.getYpQty()); moldDemand.setPartCode(yieldOrder.getPartCode());
moldDemand.setToolCode(processMoldToolList.get(0).getMoldCode()); moldDemand.setPartName(yieldOrder.getPartName());
moldDemand.setToolName(processMoldToolList.get(0).getMoldName()); moldDemand.setDemandNum(yieldOrder.getYpQty());
moldDemand.setLinkOrderIds(yieldOrder.getId().toString()); moldDemand.setToolCode(processMoldToolList.get(0).getMoldCode());
moldDemand.setStatus(MoldDemandEnum.STATUS_WAITING.getCode()); moldDemand.setToolName(processMoldToolList.get(0).getMoldName());
moldDemand.setMafStatus(MoldDemandEnum.MAF_STATUS_CREATE.getCode()); moldDemand.setLinkOrderIds(yieldOrder.getId().toString());
moldDemand.setNeedDate(yieldOrder.getDemandDate()); moldDemand.setStatus(MoldDemandEnum.STATUS_WAITING.getCode());
moldDemand.setQuaLevel(yieldOrder.getProductIdent()); moldDemand.setMafStatus(MoldDemandEnum.MAF_STATUS_CREATE.getCode());
moldDemandMapper.insert(moldDemand); moldDemand.setNeedDate(yieldOrder.getDemandDate());
moldDemand.setQuaLevel(yieldOrder.getProductIdent());
moldDemandMapper.insert(moldDemand);
}else{
moldDemand.setDemandNum(moldDemand.getDemandNum() + yieldOrder.getYpQty());
moldDemand.setLinkOrderIds(moldDemand.getLinkOrderIds().concat(",").concat(yieldOrder.getId().toString()));
moldDemandMapper.updateById(moldDemand);
}
} }
} }
return Boolean.TRUE; return Boolean.TRUE;
@ -481,8 +497,10 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
this.updateById(yieldOrder); this.updateById(yieldOrder);
return Boolean.FALSE; return Boolean.FALSE;
} }
yieldOrder.setStatus(YieldOrderEnum.STATUS_APS.getCode()); if(yieldOrder.getYieldType() != YieldOrderEnum.YIELD_TYPE_2.getCode()){
this.updateById(yieldOrder); yieldOrder.setStatus(YieldOrderEnum.STATUS_APS.getCode());
this.updateById(yieldOrder);
}
return Boolean.TRUE; return Boolean.TRUE;
} }
@ -977,6 +995,28 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
}); });
this.saveBatch(yieldOrderList); this.saveBatch(yieldOrderList);
} }
@Override
public List<String> getToolByPartCode(String partCode) {
List<String> list = new ArrayList<>();
DsPartEntity part = dsPartService.selectDsPartByPatCodeAndVersion(partCode, null);
if("1".equals(part.getIsSintering()) && "0".equals(part.getIsGlassCake())){
List<DsPartEntity> subPartList = dsPartService.getPartSubList(partCode,null);
list = subPartList.stream().filter(item -> DsPartConstant.SIN_TER_TYPE_SMM.equals(item.getSinTerType())).map(DsPartEntity::getPartCode).collect(Collectors.toList());
}
if(DsPartConstant.SIN_TER_TYPE_SMM.equals(part.getSinTerType())){
List<DsPartEntity> subPartList = dsPartService.getPartSubList(partCode,null);
list = subPartList.stream().map(DsPartEntity::getPartCode).collect(Collectors.toList());
}
if(DsPartConstant.SIN_TER_TYPE_BLB.equals(part.getSinTerType())){
List<DsProcessMoldToolEntity> processMoldToolList = dsPartService.getClassCakeWork(partCode,null,null);
if(CollectionUtils.isNotEmpty(processMoldToolList)){
list = processMoldToolList.stream().map(DsProcessMoldToolEntity::getMoldCode).collect(Collectors.toList());
}
}
return list;
}
/** /**
* 验证零件子件信息 * 验证零件子件信息
* *

@ -30,13 +30,14 @@
dba_mgr.v_mes_rb_pacturnrecord a dba_mgr.v_mes_rb_pacturnrecord a
<where> <where>
<if test="newlevdateMax != null"> <if test="newlevdateMax != null">
AND a.cdate <![CDATA[ > ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') - INTERVAL '10' MINUTE AND a.cdate <![CDATA[ > ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS')
</if> </if>
AND a.wono IS NOT NULL AND a.wono IS NOT NULL
AND a.prtlotno IS NOT NULL AND a.prtlotno IS NOT NULL
AND a.rouclp IS NOT NULL AND a.rouclp IS NOT NULL
AND a.splcode IS NOT NULL AND a.splcode IS NOT NULL
</where> </where>
order by a.cdate desc
</select> </select>
<select id = "getNewlevdateMax" resultType = "java.lang.String"> <select id = "getNewlevdateMax" resultType = "java.lang.String">
SELECT SELECT

@ -42,10 +42,10 @@
<where> <where>
1=1 1=1
<if test="newlevdateMax != null"> <if test="newlevdateMax != null">
AND a.newlevdate <![CDATA[ > ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') - INTERVAL '10' AND a.newlevdate <![CDATA[ > ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS')
MINUTE
</if> </if>
</where> </where>
order by a.newlevdate desc
/* WHERE /* WHERE
a.newlevdate > v_select_time*/ a.newlevdate > v_select_time*/
</select> </select>

@ -26,10 +26,10 @@
<where> <where>
1=1 1=1
<if test="newlevdateMax != null"> <if test="newlevdateMax != null">
AND a.newlevdate <![CDATA[ > ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') - INTERVAL '10' AND a.newlevdate <![CDATA[ > ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS')
MINUTE
</if> </if>
</where> </where>
order by a.newlevdate desc
</select> </select>
</mapper> </mapper>

@ -31,10 +31,10 @@
<where> <where>
1=1 1=1
<if test="newlevdateMax != null"> <if test="newlevdateMax != null">
AND a.newlevdate <![CDATA[ > ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') - INTERVAL '10' AND a.newlevdate <![CDATA[ > ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS')
MINUTE
</if> </if>
</where> </where>
order by a.newlevdate desc
/* WHERE /* WHERE
a.newlevdate > v_select_time*/ a.newlevdate > v_select_time*/
</select> </select>

@ -41,10 +41,10 @@
<where> <where>
1=1 1=1
<if test="newlevdateMax != null"> <if test="newlevdateMax != null">
AND a.newlevdate <![CDATA[ > ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') - INTERVAL '10' AND a.newlevdate <![CDATA[ > ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS')
MINUTE
</if> </if>
</where> </where>
order by a.newlevdate desc
/*WHERE /*WHERE
a.newlevdate > v_select_time - 1 / 24 / 6;*/ a.newlevdate > v_select_time - 1 / 24 / 6;*/
</select> </select>

@ -41,10 +41,10 @@
<where> <where>
1=1 1=1
<if test="newlevdateMax != null"> <if test="newlevdateMax != null">
AND a.newlevdate <![CDATA[ > ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') - INTERVAL '10' AND a.newlevdate <![CDATA[ > ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS')
MINUTE;
</if> </if>
</where> </where>
order by a.newlevdate desc
/*WHERE /*WHERE
a.newlevdate > v_select_time-1 / 24 / 6 ;*/ a.newlevdate > v_select_time-1 / 24 / 6 ;*/
</select> </select>

@ -23,8 +23,9 @@
a.prodline a.prodline
FROM dba_mgr.v_mes_rb_wo a FROM dba_mgr.v_mes_rb_wo a
<where> <where>
a.wopordat <![CDATA[ >= ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') - INTERVAL '10' MINUTE a.wopordat <![CDATA[ >= ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS')
</where> </where>
order by a.wopordat desc
</select> </select>

@ -30,10 +30,10 @@
<where> <where>
1=1 1=1
<if test="newlevdateMax != null"> <if test="newlevdateMax != null">
AND a.newlevdate <![CDATA[ > ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') - INTERVAL '10' AND a.newlevdate <![CDATA[ > ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS')
MINUTE
</if> </if>
</where> </where>
order by a.newlevdate desc
/*WHERE /*WHERE
a.newlevdate > v_select_time-1 / 24 / 6*/ a.newlevdate > v_select_time-1 / 24 / 6*/
</select> </select>

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.commons.lang3.time.DateUtils; import org.apache.commons.lang3.time.DateUtils;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; import org.springblade.desk.dashboard.pojo.entity.DsPartEntity;
@ -19,6 +20,7 @@ import org.springblade.erpdata.pojo.dto.view.*;
import org.springblade.erpdata.service.*; import org.springblade.erpdata.service.*;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.text.ParseException; import java.text.ParseException;
import java.util.ArrayList; import java.util.ArrayList;
@ -146,9 +148,13 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
//用字典的code查更新日期 //用字典的code查更新日期
String selectTime = apsOrderClient.getSelectTime("SYCN_MESRBWO_TIME"); String selectTime = apsOrderClient.getSelectTime("SYCN_MESRBWO_TIME");
//从ERP视图查询最大日期 //从ERP视图查询最大日期
String newlevdateMax = mesRbWoMapper.getNewlevdateMax(selectTime); //String newlevdateMax = mesRbWoMapper.getNewlevdateMax(selectTime);
apsOrderClient.upByDateMax(newlevdateMax, "SYCN_MESRBWO_TIME");
List<MesRbWo> mesRbWoList = mesRbWoMapper.getYieldPlanErpList(newlevdateMax); List<MesRbWo> mesRbWoList = mesRbWoMapper.getYieldPlanErpList(selectTime);
if(!CollectionUtils.isEmpty(mesRbWoList)){
apsOrderClient.upByDateMax(DateFormatUtils.format(mesRbWoList.get(0).getWopordat(),"yyyy-MM-dd HH:mm:ss"), "SYCN_MESRBWO_TIME");
}
Gson gson = new Gson(); Gson gson = new Gson();
String jsonString = gson.toJson(mesRbWoList); String jsonString = gson.toJson(mesRbWoList);
log.info("qyl:同步生产计划 data: {}", jsonString); log.info("qyl:同步生产计划 data: {}", jsonString);
@ -262,9 +268,12 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
//用字典的code查更新日期 //用字典的code查更新日期
String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERCG_TIME1"); String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERCG_TIME1");
//从ERP视图查询最大日期 //从ERP视图查询最大日期
String newlevdateMax=mesRbPurtosoService.getNewlevdateMax(selectTime); // String newlevdateMax=mesRbPurtosoService.getNewlevdateMax(selectTime);
apsOrderClient.upByDateMax(newlevdateMax, "SYCN_TRANSFERCG_TIME1"); // apsOrderClient.upByDateMax(newlevdateMax, "SYCN_TRANSFERCG_TIME1");
List<MesRbPurtoso> purtosoList=mesRbPurtosoService.getMesRbPurtosoList(newlevdateMax); List<MesRbPurtoso> purtosoList=mesRbPurtosoService.getMesRbPurtosoList(selectTime);
if(!CollectionUtils.isEmpty(purtosoList)){
apsOrderClient.upByDateMax(DateFormatUtils.format(purtosoList.get(0).getNewlevdate(),"yyyy-MM-dd HH:mm:ss"), "SYCN_TRANSFERCG_TIME1");
}
Gson gson = new Gson(); Gson gson = new Gson();
String jsonString = gson.toJson(purtosoList); String jsonString = gson.toJson(purtosoList);
log.info("qyl:同步物资转车间协作加工 data: {}", jsonString); log.info("qyl:同步物资转车间协作加工 data: {}", jsonString);
@ -328,9 +337,12 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
//用字典的code查更新日期 //用字典的code查更新日期
String selectTime=apsOrderClient.getSelectTime("SYCN_PACTURNRECORD_TIME"); String selectTime=apsOrderClient.getSelectTime("SYCN_PACTURNRECORD_TIME");
//从ERP视图查询最大日期 //从ERP视图查询最大日期
String newlevdateMax=mesRbPacturnrecordService.getNewlevdateMax(selectTime); // String newlevdateMax=mesRbPacturnrecordService.getNewlevdateMax(selectTime);
apsOrderClient.upByDateMax(newlevdateMax, "SYCN_PACTURNRECORD_TIME"); // apsOrderClient.upByDateMax(newlevdateMax, "SYCN_PACTURNRECORD_TIME");
List<MesRbPacturnrecord> pacturnrecordList=mesRbPacturnrecordService.getMesRbPacturnrecordList(newlevdateMax); List<MesRbPacturnrecord> pacturnrecordList=mesRbPacturnrecordService.getMesRbPacturnrecordList(selectTime);
if(!CollectionUtils.isEmpty(pacturnrecordList)){
apsOrderClient.upByDateMax(pacturnrecordList.get(0).getCdate(), "SYCN_PACTURNRECORD_TIME");
}
Gson gson = new Gson(); Gson gson = new Gson();
String jsonString = gson.toJson(pacturnrecordList); String jsonString = gson.toJson(pacturnrecordList);
log.info("qyl:同步临时工单 data: {}", jsonString); log.info("qyl:同步临时工单 data: {}", jsonString);
@ -389,9 +401,12 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
//用字典的code查更新日期 //用字典的code查更新日期
String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERSJ_TIME"); String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERSJ_TIME");
//从ERP视图查询最大日期 //从ERP视图查询最大日期
String newlevdateMax=mesRbSjsoService.getNewlevdateMax(selectTime); // String newlevdateMax=mesRbSjsoService.getNewlevdateMax(selectTime);
apsOrderClient.upByDateMax(newlevdateMax, "SYCN_TRANSFERSJ_TIME"); // apsOrderClient.upByDateMax(newlevdateMax, "SYCN_TRANSFERSJ_TIME");
List<MesRbSjso> rbtosoList=mesRbSjsoService.getMesRbSjsoList(newlevdateMax); List<MesRbSjso> rbtosoList=mesRbSjsoService.getMesRbSjsoList(selectTime);
if(!CollectionUtils.isEmpty(rbtosoList)){
apsOrderClient.upByDateMax(DateFormatUtils.format(rbtosoList.get(0).getNewlevdate(),"yyyy-MM-dd HH:mm:ss"), "SYCN_TRANSFERSJ_TIME");
}
Gson gson = new Gson(); Gson gson = new Gson();
String jsonString = gson.toJson(rbtosoList); String jsonString = gson.toJson(rbtosoList);
log.info("qyl:同步烧结数据 data: {}", jsonString); log.info("qyl:同步烧结数据 data: {}", jsonString);
@ -443,9 +458,12 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
//用字典的code查更新日期 //用字典的code查更新日期
String selectTime=apsOrderClient.getSelectTime("SYCN_BUYTRANSFER_TIME"); String selectTime=apsOrderClient.getSelectTime("SYCN_BUYTRANSFER_TIME");
//从ERP视图查询最大日期 //从ERP视图查询最大日期
String dateMax=mesRbWxpromotionService.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(selectTime);
if(!CollectionUtils.isEmpty(wxpromotionList)){
apsOrderClient.upByDateMax(DateFormatUtils.format(wxpromotionList.get(0).getNewlevdate(),"yyyy-MM-dd HH:mm:ss"),"SYCN_BUYTRANSFER_TIME");
}
Gson gson = new Gson(); Gson gson = new Gson();
String jsonString = gson.toJson(wxpromotionList); String jsonString = gson.toJson(wxpromotionList);
log.info("qyl:同步采购LOTTJ data: {}", jsonString); log.info("qyl:同步采购LOTTJ data: {}", jsonString);
@ -507,9 +525,12 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
//用字典的code查更新日期 //用字典的code查更新日期
String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERWX_TIME"); String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERWX_TIME");
//从ERP视图查询最大日期 //从ERP视图查询最大日期
String dateMax=erpMesRbSodelrecwxService.getNewlevdateMax(selectTime); // String dateMax=erpMesRbSodelrecwxService.getNewlevdateMax(selectTime);
apsOrderClient.upByDateMax(dateMax,"SYCN_TRANSFERWX_TIME"); // apsOrderClient.upByDateMax(dateMax,"SYCN_TRANSFERWX_TIME");
List<MesRbSodelrecwx> mesRbSodelrecwxList=erpMesRbSodelrecwxService.getMesRbSodelrecwxList(dateMax); List<MesRbSodelrecwx> mesRbSodelrecwxList=erpMesRbSodelrecwxService.getMesRbSodelrecwxList(selectTime);
if(!CollectionUtils.isEmpty(mesRbSodelrecwxList)){
apsOrderClient.upByDateMax(DateFormatUtils.format(mesRbSodelrecwxList.get(0).getNewlevdate(),"yyyy-MM-dd HH:mm:ss"),"SYCN_TRANSFERWX_TIME");
}
Gson gson = new Gson(); Gson gson = new Gson();
String jsonString = gson.toJson(mesRbSodelrecwxList); String jsonString = gson.toJson(mesRbSodelrecwxList);
log.info("qyl:同步外协工单 data: {}", jsonString); log.info("qyl:同步外协工单 data: {}", jsonString);
@ -570,10 +591,13 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
//用字典的code查更新日期 //用字典的code查更新日期
String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERZG_TIME1"); String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERZG_TIME1");
//从ERP视图查询最大日期 //从ERP视图查询最大日期
String dateMax=erpMesRbSodelreczgService.getNewlevdateMax(selectTime); // String dateMax=erpMesRbSodelreczgService.getNewlevdateMax(selectTime);
//更新配置表的基准时间 // //更新配置表的基准时间
apsOrderClient.upByDateMax(dateMax,"SYCN_TRANSFERZG_TIME1"); // apsOrderClient.upByDateMax(dateMax,"SYCN_TRANSFERZG_TIME1");
List<MesRbSodelreczg> mesRbSodelreczgList=erpMesRbSodelreczgService.getMesRbSodelreczgList(dateMax); List<MesRbSodelreczg> mesRbSodelreczgList=erpMesRbSodelreczgService.getMesRbSodelreczgList(selectTime);
if(!CollectionUtils.isEmpty(mesRbSodelreczgList)){
apsOrderClient.upByDateMax(DateFormatUtils.format(mesRbSodelreczgList.get(0).getNewlevdate(),"yyyy-MM-dd HH:mm:ss"),"SYCN_TRANSFERZG_TIME1");
}
Gson gson = new Gson(); Gson gson = new Gson();
String jsonString = gson.toJson(mesRbSodelreczgList); String jsonString = gson.toJson(mesRbSodelreczgList);
log.info("qyl:同步工艺工单 data: {}", jsonString); log.info("qyl:同步工艺工单 data: {}", jsonString);
@ -643,9 +667,12 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
//用字典的code查更新日期 //用字典的code查更新日期
String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERPK_TIME"); String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERPK_TIME");
//从ERP视图查询最大日期 //从ERP视图查询最大日期
String dateMax=erpMesRbPkService.getNewlevdateMax(selectTime); // String dateMax=erpMesRbPkService.getNewlevdateMax(selectTime);
apsOrderClient.upByDateMax(dateMax,"SYCN_TRANSFERPK_TIME"); // apsOrderClient.upByDateMax(dateMax,"SYCN_TRANSFERPK_TIME");
List<MesRbPk> mesRbPkList=erpMesRbPkService.getMesRbPkList(dateMax); List<MesRbPk> mesRbPkList=erpMesRbPkService.getMesRbPkList(selectTime);
if(!CollectionUtils.isEmpty(mesRbPkList)){
apsOrderClient.upByDateMax(DateFormatUtils.format(mesRbPkList.get(0).getNewlevdate(),"yyyy-MM-dd HH:mm:ss"),"SYCN_TRANSFERPK_TIME");
}
Gson gson = new Gson(); Gson gson = new Gson();
String jsonString = gson.toJson(mesRbPkList); String jsonString = gson.toJson(mesRbPkList);
log.info("qyl:同步配套工单 data: {}", jsonString); log.info("qyl:同步配套工单 data: {}", jsonString);

Loading…
Cancel
Save