diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartEntity.java index fddc7713..cfcd336a 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartEntity.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartEntity.java @@ -179,7 +179,7 @@ public class DsPartEntity extends BaseEntity { * 是否玻璃饼 */ @Schema(description = "是否玻璃饼") - private String isClassCake; + private String isGlassCake; /** * 成型厚度 */ diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldOrder.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldOrder.java index 29d4c7f2..4ea64a1c 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldOrder.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldOrder.java @@ -3,6 +3,8 @@ package org.springblade.desk.order.pojo.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; 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 lombok.Data; import org.springblade.core.mp.base.BaseEntity; @@ -466,4 +468,16 @@ public class YieldOrder extends BaseEntity { @TableField(value = "craft_id") 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; + } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/YieldOrderEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/YieldOrderEnum.java index 6337edcf..a9c1be38 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/YieldOrderEnum.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/YieldOrderEnum.java @@ -82,7 +82,8 @@ public enum YieldOrderEnum { VALIDATION_RESULT_LESS_CRAFT("工艺缺失", 16003), VALIDATION_RESULT_LESS_RESOURCE("资源缺失", 16004), VALIDATION_RESULT_DELIVERY("交期冲突", 16005), - VALIDATION_RESULT_PASS("验证完成", 16006), + VALIDATION_RESULT_LESS_MATERIAL("物料需求异常", 16006), + VALIDATION_RESULT_PASS("验证完成", 16007), ; final String name; final int code; diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java index 4f8ed230..0aa88684 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java @@ -777,12 +777,14 @@ public class DsPartServiceImpl extends BaseServiceImpl partRelationEntityList = partRelationService.selectDsPartRelationByPartId(partEntity.getId()); - List validChildPartIds = partRelationEntityList.stream() - .map(DsPartRelationEntity::getChildPartId) - .filter(Objects::nonNull) - .collect(Collectors.toList()); - - List dsPartEntityList1 = this.selectDsPartByIds(validChildPartIds); + List dsPartEntityList1 = new ArrayList<>(); + if(!CollectionUtils.isEmpty(partRelationEntityList)){ + List validChildPartIds = partRelationEntityList.stream() + .map(DsPartRelationEntity::getChildPartId) + .filter(Objects::nonNull) + .collect(Collectors.toList()); + dsPartEntityList1 = this.selectDsPartByIds(validChildPartIds); + } return dsPartEntityList1; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java index 461dcab4..876a4cd6 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java @@ -26,23 +26,26 @@ package org.springblade.desk.dashboard.service.impl; 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 lombok.extern.slf4j.Slf4j; 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.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.SpringUtil; 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.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.entity.*; 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.order.pojo.entity.MoldDemand; 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.service.IReviewSheetService; 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.WorkPlanEntity; 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.context.annotation.Lazy; 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.Transactional; import org.springframework.util.CollectionUtils; @@ -74,9 +73,9 @@ import org.springframework.util.StringUtils; import java.sql.Connection; import java.sql.SQLException; -import java.util.*; import java.time.LocalDate; import java.time.format.DateTimeFormatter; +import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -2123,7 +2122,7 @@ public class DsTaskingServiceImpl extends BaseServiceImpl> getToolByPartCode(@Parameter(description = "零件号", required = true) @RequestParam String partCode) { + List list = yieldOrderService.getToolByPartCode(partCode); + return R.data(list); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java index d09b3b90..fe96c21f 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java @@ -277,4 +277,6 @@ public interface IYieldOrderService extends BaseService { * @param yieldOrderList */ void saveOrder(List yieldOrderList); + + List getToolByPartCode(String partCode); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordServiceImpl.java index e4eff918..dd3accb5 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordServiceImpl.java @@ -325,7 +325,11 @@ public class PlateGoodsRecordServiceImpl extends BaseServiceImpl detailList=new ArrayList<>(); - PlateGoodsRecordDetail plateGoodsRecordDetail=new PlateGoodsRecordDetail(); - plateGoodsRecordDetail.setYoId(yieldOrder.getId()); - this.save(plateGoodsRecord, detailList); + yieldOrderMapper.updateById(yieldOrder); }else{ 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 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 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 BaseServiceImpllambdaQuery().eq(MoldDemand::getPartCode,subPart.getPartCode()).eq(MoldDemand::getMafStatus,MoldDemandEnum.MAF_STATUS_CREATE.getCode())); + if(moldDemand == null){ + moldDemand = new MoldDemand(); + moldDemand.setMoCode(null); + moldDemand.setPartCode(subPart.getPartCode()); + moldDemand.setPartName(subPart.getPartName()); + moldDemand.setDemandNum(subPart.getQuota() * yieldOrder.getYpQty()); + moldDemand.setLinkOrderIds(yieldOrder.getId().toString()); + moldDemand.setStatus(MoldDemandEnum.STATUS_WAITING.getCode()); + moldDemand.setMafStatus(MoldDemandEnum.MAF_STATUS_CREATE.getCode()); + 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 processMoldToolList = dsPartService.getClassCakeWork(yieldOrder.getPartCode(),yieldOrder.getRoamNo(),yieldOrder.getPartVersion()); if(CollectionUtils.isNotEmpty(processMoldToolList)){ - MoldDemand moldDemand = new MoldDemand(); - moldDemand.setMoCode(null); - moldDemand.setPartCode(yieldOrder.getPartCode()); - moldDemand.setPartName(yieldOrder.getPartName()); - moldDemand.setDemandNum(yieldOrder.getYpQty()); - moldDemand.setToolCode(processMoldToolList.get(0).getMoldCode()); - moldDemand.setToolName(processMoldToolList.get(0).getMoldName()); - moldDemand.setLinkOrderIds(yieldOrder.getId().toString()); - moldDemand.setStatus(MoldDemandEnum.STATUS_WAITING.getCode()); - moldDemand.setMafStatus(MoldDemandEnum.MAF_STATUS_CREATE.getCode()); - moldDemand.setNeedDate(yieldOrder.getDemandDate()); - moldDemand.setQuaLevel(yieldOrder.getProductIdent()); - moldDemandMapper.insert(moldDemand); + MoldDemand moldDemand = moldDemandMapper.selectOne(Wrappers.lambdaQuery().eq(MoldDemand::getPartCode,yieldOrder.getPartCode()).eq(MoldDemand::getMafStatus,MoldDemandEnum.MAF_STATUS_CREATE.getCode())); + if(moldDemand == null){ + moldDemand = new MoldDemand(); + moldDemand.setMoCode(null); + moldDemand.setPartCode(yieldOrder.getPartCode()); + moldDemand.setPartName(yieldOrder.getPartName()); + moldDemand.setDemandNum(yieldOrder.getYpQty()); + moldDemand.setToolCode(processMoldToolList.get(0).getMoldCode()); + moldDemand.setToolName(processMoldToolList.get(0).getMoldName()); + moldDemand.setLinkOrderIds(yieldOrder.getId().toString()); + moldDemand.setStatus(MoldDemandEnum.STATUS_WAITING.getCode()); + moldDemand.setMafStatus(MoldDemandEnum.MAF_STATUS_CREATE.getCode()); + 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; @@ -481,8 +497,10 @@ public class YieldOrderServiceImpl extends BaseServiceImpl getToolByPartCode(String partCode) { + List list = new ArrayList<>(); + DsPartEntity part = dsPartService.selectDsPartByPatCodeAndVersion(partCode, null); + if("1".equals(part.getIsSintering()) && "0".equals(part.getIsGlassCake())){ + List 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 subPartList = dsPartService.getPartSubList(partCode,null); + list = subPartList.stream().map(DsPartEntity::getPartCode).collect(Collectors.toList()); + } + if(DsPartConstant.SIN_TER_TYPE_BLB.equals(part.getSinTerType())){ + List processMoldToolList = dsPartService.getClassCakeWork(partCode,null,null); + if(CollectionUtils.isNotEmpty(processMoldToolList)){ + list = processMoldToolList.stream().map(DsProcessMoldToolEntity::getMoldCode).collect(Collectors.toList()); + } + } + return list; + } + /** * 验证零件子件信息 * diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPacturnrecordMapper.xml b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPacturnrecordMapper.xml index 6cb38866..d26ce303 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPacturnrecordMapper.xml +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPacturnrecordMapper.xml @@ -30,13 +30,14 @@ dba_mgr.v_mes_rb_pacturnrecord a - AND a.cdate ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') - INTERVAL '10' MINUTE + AND a.cdate ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') AND a.wono IS NOT NULL AND a.prtlotno IS NOT NULL AND a.rouclp IS NOT NULL AND a.splcode IS NOT NULL + order by a.cdate desc diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPurtosoMapper.xml b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPurtosoMapper.xml index 6d8838b9..7850dcb8 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPurtosoMapper.xml +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPurtosoMapper.xml @@ -26,10 +26,10 @@ 1=1 - AND a.newlevdate ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') - INTERVAL '10' - MINUTE + AND a.newlevdate ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') + order by a.newlevdate desc diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSjsoMapper.xml b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSjsoMapper.xml index 3584ebce..8fde9329 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSjsoMapper.xml +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSjsoMapper.xml @@ -31,10 +31,10 @@ 1=1 - AND a.newlevdate ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') - INTERVAL '10' - MINUTE + AND a.newlevdate ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') + order by a.newlevdate desc /* WHERE a.newlevdate > v_select_time*/ diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSodelrecwxMapper.xml b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSodelrecwxMapper.xml index 3ffa93e8..c55d7d3f 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSodelrecwxMapper.xml +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSodelrecwxMapper.xml @@ -41,10 +41,10 @@ 1=1 - AND a.newlevdate ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') - INTERVAL '10' - MINUTE + AND a.newlevdate ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') + order by a.newlevdate desc /*WHERE a.newlevdate > v_select_time - 1 / 24 / 6;*/ diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSodelreczgMapper.xml b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSodelreczgMapper.xml index 6ea02db3..15fb625f 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSodelreczgMapper.xml +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbSodelreczgMapper.xml @@ -41,10 +41,10 @@ 1=1 - AND a.newlevdate ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') - INTERVAL '10' - MINUTE; + AND a.newlevdate ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') + order by a.newlevdate desc /*WHERE a.newlevdate > v_select_time-1 / 24 / 6 ;*/ diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbWoMapper.xml b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbWoMapper.xml index 006e1da7..74adcc81 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbWoMapper.xml +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbWoMapper.xml @@ -23,8 +23,9 @@ a.prodline FROM dba_mgr.v_mes_rb_wo a - a.wopordat = ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') - INTERVAL '10' MINUTE + a.wopordat = ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') + order by a.wopordat desc diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbWxpromotionMapper.xml b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbWxpromotionMapper.xml index 741aaa82..e613f411 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbWxpromotionMapper.xml +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbWxpromotionMapper.xml @@ -30,10 +30,10 @@ 1=1 - AND a.newlevdate ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') - INTERVAL '10' - MINUTE + AND a.newlevdate ]]> TO_DATE(#{newlevdateMax}, 'YYYY-MM-DD HH24:MI:SS') + order by a.newlevdate desc /*WHERE a.newlevdate > v_select_time-1 / 24 / 6*/ diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWoServiceImpl.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWoServiceImpl.java index f88ad1a9..85dac3ec 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWoServiceImpl.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWoServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; import org.springblade.core.tool.api.R; 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.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import java.text.ParseException; import java.util.ArrayList; @@ -146,9 +148,13 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { //用字典的code查更新日期 String selectTime = apsOrderClient.getSelectTime("SYCN_MESRBWO_TIME"); //从ERP视图查询最大日期 - String newlevdateMax = mesRbWoMapper.getNewlevdateMax(selectTime); - apsOrderClient.upByDateMax(newlevdateMax, "SYCN_MESRBWO_TIME"); - List mesRbWoList = mesRbWoMapper.getYieldPlanErpList(newlevdateMax); + //String newlevdateMax = mesRbWoMapper.getNewlevdateMax(selectTime); + + List 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(); String jsonString = gson.toJson(mesRbWoList); log.info("qyl:同步生产计划 data: {}", jsonString); @@ -262,9 +268,12 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { //用字典的code查更新日期 String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERCG_TIME1"); //从ERP视图查询最大日期 - String newlevdateMax=mesRbPurtosoService.getNewlevdateMax(selectTime); - apsOrderClient.upByDateMax(newlevdateMax, "SYCN_TRANSFERCG_TIME1"); - List purtosoList=mesRbPurtosoService.getMesRbPurtosoList(newlevdateMax); +// String newlevdateMax=mesRbPurtosoService.getNewlevdateMax(selectTime); +// apsOrderClient.upByDateMax(newlevdateMax, "SYCN_TRANSFERCG_TIME1"); + List 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(); String jsonString = gson.toJson(purtosoList); log.info("qyl:同步物资转车间协作加工 data: {}", jsonString); @@ -328,9 +337,12 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { //用字典的code查更新日期 String selectTime=apsOrderClient.getSelectTime("SYCN_PACTURNRECORD_TIME"); //从ERP视图查询最大日期 - String newlevdateMax=mesRbPacturnrecordService.getNewlevdateMax(selectTime); - apsOrderClient.upByDateMax(newlevdateMax, "SYCN_PACTURNRECORD_TIME"); - List pacturnrecordList=mesRbPacturnrecordService.getMesRbPacturnrecordList(newlevdateMax); +// String newlevdateMax=mesRbPacturnrecordService.getNewlevdateMax(selectTime); +// apsOrderClient.upByDateMax(newlevdateMax, "SYCN_PACTURNRECORD_TIME"); + List pacturnrecordList=mesRbPacturnrecordService.getMesRbPacturnrecordList(selectTime); + if(!CollectionUtils.isEmpty(pacturnrecordList)){ + apsOrderClient.upByDateMax(pacturnrecordList.get(0).getCdate(), "SYCN_PACTURNRECORD_TIME"); + } Gson gson = new Gson(); String jsonString = gson.toJson(pacturnrecordList); log.info("qyl:同步临时工单 data: {}", jsonString); @@ -389,9 +401,12 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { //用字典的code查更新日期 String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERSJ_TIME"); //从ERP视图查询最大日期 - String newlevdateMax=mesRbSjsoService.getNewlevdateMax(selectTime); - apsOrderClient.upByDateMax(newlevdateMax, "SYCN_TRANSFERSJ_TIME"); - List rbtosoList=mesRbSjsoService.getMesRbSjsoList(newlevdateMax); +// String newlevdateMax=mesRbSjsoService.getNewlevdateMax(selectTime); +// apsOrderClient.upByDateMax(newlevdateMax, "SYCN_TRANSFERSJ_TIME"); + List 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(); String jsonString = gson.toJson(rbtosoList); log.info("qyl:同步烧结数据 data: {}", jsonString); @@ -443,9 +458,12 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { //用字典的code查更新日期 String selectTime=apsOrderClient.getSelectTime("SYCN_BUYTRANSFER_TIME"); //从ERP视图查询最大日期 - String dateMax=mesRbWxpromotionService.getNewlevdateMax(selectTime); - apsOrderClient.upByDateMax(dateMax,"SYCN_BUYTRANSFER_TIME"); - List wxpromotionList=mesRbWxpromotionService.getMesRbWxpromotionList(dateMax); +// String dateMax=mesRbWxpromotionService.getNewlevdateMax(selectTime); +// apsOrderClient.upByDateMax(dateMax,"SYCN_BUYTRANSFER_TIME"); + List 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(); String jsonString = gson.toJson(wxpromotionList); log.info("qyl:同步采购LOTTJ data: {}", jsonString); @@ -507,9 +525,12 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { //用字典的code查更新日期 String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERWX_TIME"); //从ERP视图查询最大日期 - String dateMax=erpMesRbSodelrecwxService.getNewlevdateMax(selectTime); - apsOrderClient.upByDateMax(dateMax,"SYCN_TRANSFERWX_TIME"); - List mesRbSodelrecwxList=erpMesRbSodelrecwxService.getMesRbSodelrecwxList(dateMax); +// String dateMax=erpMesRbSodelrecwxService.getNewlevdateMax(selectTime); +// apsOrderClient.upByDateMax(dateMax,"SYCN_TRANSFERWX_TIME"); + List 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(); String jsonString = gson.toJson(mesRbSodelrecwxList); log.info("qyl:同步外协工单 data: {}", jsonString); @@ -570,10 +591,13 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { //用字典的code查更新日期 String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERZG_TIME1"); //从ERP视图查询最大日期 - String dateMax=erpMesRbSodelreczgService.getNewlevdateMax(selectTime); - //更新配置表的基准时间 - apsOrderClient.upByDateMax(dateMax,"SYCN_TRANSFERZG_TIME1"); - List mesRbSodelreczgList=erpMesRbSodelreczgService.getMesRbSodelreczgList(dateMax); +// String dateMax=erpMesRbSodelreczgService.getNewlevdateMax(selectTime); +// //更新配置表的基准时间 +// apsOrderClient.upByDateMax(dateMax,"SYCN_TRANSFERZG_TIME1"); + List 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(); String jsonString = gson.toJson(mesRbSodelreczgList); log.info("qyl:同步工艺工单 data: {}", jsonString); @@ -643,9 +667,12 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { //用字典的code查更新日期 String selectTime=apsOrderClient.getSelectTime("SYCN_TRANSFERPK_TIME"); //从ERP视图查询最大日期 - String dateMax=erpMesRbPkService.getNewlevdateMax(selectTime); - apsOrderClient.upByDateMax(dateMax,"SYCN_TRANSFERPK_TIME"); - List mesRbPkList=erpMesRbPkService.getMesRbPkList(dateMax); +// String dateMax=erpMesRbPkService.getNewlevdateMax(selectTime); +// apsOrderClient.upByDateMax(dateMax,"SYCN_TRANSFERPK_TIME"); + List 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(); String jsonString = gson.toJson(mesRbPkList); log.info("qyl:同步配套工单 data: {}", jsonString);