Browse Source

fix: MES对接

master
李永德 1 year ago
parent
commit
3227306116
  1. 1
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/lucence/LuceneController.java
  2. 4
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/autotask/AutoIssueWorkOrder.java
  3. 27
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
  4. 14
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/autotask/AutoSaveProductionInfo.java
  5. 1
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/autotask/AutoSaveWaitGdyInfo.java
  6. 8
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/WmsToMesService.java
  7. 2
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/dao/mapper/MesRequestMapper.java
  8. 32
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/dao/mapper/MesRequestMapper.xml
  9. 52
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/dto/MesPackDto.java
  10. 13
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/impl/WmsToMesServiceImpl.java
  11. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/controller/SchBasePointController.java
  12. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/ISchBasePointService.java
  13. 10
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/SchBasePoint.java
  14. 13
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/mapper/SchBasePointMapper.java
  15. 45
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/mapper/SchBasePointMapper.xml
  16. 15
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dto/SchBasePointQuery.java
  17. 37
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java
  18. 4
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJSKTask.java
  19. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yao/CYZCTask.java
  20. 2
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yao/GZYQLTask.java
  21. 5
      lms/nladmin-ui/src/views/wms/sch/point/index.vue

1
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/lucence/LuceneController.java

@ -24,7 +24,6 @@ public class LuceneController {
private final LuceneService luceneService; private final LuceneService luceneService;
@PostMapping("/getAll") @PostMapping("/getAll")
@Log("日志检索")
@ApiOperation("日志检索") @ApiOperation("日志检索")
//@PreAuthorize("@el.check('task:list')") //@PreAuthorize("@el.check('task:list')")
public ResponseEntity<Object> get(@RequestBody JSONObject whereJson) { public ResponseEntity<Object> get(@RequestBody JSONObject whereJson) {

4
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/autotask/AutoIssueWorkOrder.java

@ -3,6 +3,7 @@ package org.nl.wms.ext.acs.autotask;
import cn.hutool.http.HttpStatus; import cn.hutool.http.HttpStatus;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.config.SpringContextHolder;
import org.nl.system.service.notice.ISysNoticeService; import org.nl.system.service.notice.ISysNoticeService;
import org.nl.wms.ext.acs.service.WmsToAcsService; import org.nl.wms.ext.acs.service.WmsToAcsService;
import org.nl.wms.ext.acs.service.dto.to.wms.AcsResponse; import org.nl.wms.ext.acs.service.dto.to.wms.AcsResponse;
@ -41,7 +42,8 @@ public class AutoIssueWorkOrder {
List<PdmBdWorkorder> workorderList = workorderService.getNotIssueOrder(); List<PdmBdWorkorder> workorderList = workorderService.getNotIssueOrder();
// 查找该设备未生产的工单去下发 // 查找该设备未生产的工单去下发
// mark: 使得执行一个工单完成后就提交 // mark: 使得执行一个工单完成后就提交
workorderList.forEach(this::toIssueWorkOrder); AutoIssueWorkOrder bean = SpringContextHolder.getBean(this.getClass());
workorderList.forEach(bean::toIssueWorkOrder);
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)

27
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java

@ -25,6 +25,7 @@ import org.nl.wms.ext.acs.service.dto.to.wms.*;
import org.nl.wms.ext.mes.service.WmsToMesService; import org.nl.wms.ext.mes.service.WmsToMesService;
import org.nl.wms.ext.mes.service.dto.CusterDo; import org.nl.wms.ext.mes.service.dto.CusterDo;
import org.nl.wms.ext.mes.service.dto.MesMudConsumptionDto; import org.nl.wms.ext.mes.service.dto.MesMudConsumptionDto;
import org.nl.wms.ext.mes.service.dto.MesPackDto;
import org.nl.wms.ext.mes.service.dto.SpreaderDto; import org.nl.wms.ext.mes.service.dto.SpreaderDto;
import org.nl.wms.ext.mms.service.WmsToMmsService; import org.nl.wms.ext.mms.service.WmsToMmsService;
import org.nl.wms.ext.record.service.ISysInteractRecordService; import org.nl.wms.ext.record.service.ISysInteractRecordService;
@ -511,6 +512,27 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
.append(baseMaterial.getMaterial_name()).append("##") .append(baseMaterial.getMaterial_name()).append("##")
.append(custer.getCuster_name()).append("**"); .append(custer.getCuster_name()).append("**");
log.info("打印的唛头信息:{}", sb); log.info("打印的唛头信息:{}", sb);
MesPackDto mesPackDto = new MesPackDto();
mesPackDto.setMSGID(IdUtil.getSnowflake(1, 1).nextIdStr());
mesPackDto.setBATCHNO(ObjectUtil.isNotEmpty(groupInfo.getPcsn()) ? groupInfo.getPcsn()
: DateUtil.format(DateUtil.date(), "yyyyMMdd"));
mesPackDto.setTRAY_NO(groupInfo.getVehicle_code());
mesPackDto.setPRO_NUM(BigDecimal.valueOf(groupInfo.getMaterial_qty()));
mesPackDto.setPRO_UNIT("块");
mesPackDto.setPRO_SUBNUM(multiply);
mesPackDto.setPRO_SUBUNIT("吨");
mesPackDto.setMATERIAL_ID(groupInfo.getMaterial_id());
mesPackDto.setMATERIAL_NAME(baseMaterial.getMaterial_name());
mesPackDto.setPROSPEC(baseMaterial.getMaterial_spec());
mesPackDto.setPROMODEL(baseMaterial.getMaterial_model());
mesPackDto.setCHECKERIN_TIM(DateUtil.now());
mesPackDto.setORDER_NO(orderNo);
try {
wmsToMesService.reportPackInfo(mesPackDto);
} catch (Exception e) {
log.error("上报MES包装数据错误:{}", e.getMessage());
log.error("上报MES数据:{}", mesPackDto);
}
return ApplyTaskResponse.responseOk(requestNo, sb.toString()); return ApplyTaskResponse.responseOk(requestNo, sb.toString());
} }
@ -724,8 +746,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
SchBaseVehiclematerialgroup groupInfo = vehiclematerialgroupService.getGroupInfo(baseRequest.getVehicle_code(), SchBaseVehiclematerialgroup groupInfo = vehiclematerialgroupService.getGroupInfo(baseRequest.getVehicle_code(),
baseRequest.getVehicle_type(), GroupBindMaterialStatusEnum.BOUND.getValue()); baseRequest.getVehicle_type(), GroupBindMaterialStatusEnum.BOUND.getValue());
if (ObjectUtil.isEmpty(groupInfo)) { if (ObjectUtil.isEmpty(groupInfo)) {
throw new BadRequestException("入窑失败:载具["+baseRequest.getVehicle_code()+"]组盘信息不存在!"); throw new BadRequestException("入窑失败:载具[" + baseRequest.getVehicle_code() + "]组盘信息不存在!");
} }
// 记录入窑数据给MES
wmsToMesService.reportGdyMaterialInfoIn(groupInfo.getGroup_id());
groupInfo.setInto_kiln_time(DateUtil.now()); groupInfo.setInto_kiln_time(DateUtil.now());
if (ObjectUtil.isNotEmpty(basePoint)) { if (ObjectUtil.isNotEmpty(basePoint)) {
// 记录当前位置 // 记录当前位置
@ -974,6 +998,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
spreaderDto.setFPROBATCH(actionRequest.getSlip()); spreaderDto.setFPROBATCH(actionRequest.getSlip());
spreaderDto.setCREATE_TM(DateUtil.now()); spreaderDto.setCREATE_TM(DateUtil.now());
spreaderDto.setOP_FLAG(GeneralDefinition.NO); spreaderDto.setOP_FLAG(GeneralDefinition.NO);
log.info("布料机记录信息:{}", spreaderDto);
wmsToMesService.reportSpreaderInfoToMes(spreaderDto); wmsToMesService.reportSpreaderInfoToMes(spreaderDto);
return BaseResponse.responseOk(actionRequest.getRequestNo()); return BaseResponse.responseOk(actionRequest.getRequestNo());
} }

14
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/autotask/AutoSaveProductionInfo.java

@ -19,7 +19,7 @@ import java.util.concurrent.atomic.AtomicInteger;
/** /**
* @Author: lyd * @Author: lyd
* @Description: 定时插入滚筒线内的数据到mes数据库 * @Description: 定时插入半成品实时库存
* @Date: 2023/9/19 * @Date: 2023/9/19
*/ */
@Slf4j @Slf4j
@ -32,7 +32,7 @@ public class AutoSaveProductionInfo {
private ISysNoticeService noticeService; private ISysNoticeService noticeService;
@SneakyThrows @SneakyThrows
public void run() { public void run() {
// 1、获取所有滚筒线内数据 // 1、获取所有半成品实时库存
List<MesSemiProductionInfo> list = wmsToMesService.getAllMesSemiProductionInfos(); List<MesSemiProductionInfo> list = wmsToMesService.getAllMesSemiProductionInfos();
AtomicInteger successNum = new AtomicInteger(); AtomicInteger successNum = new AtomicInteger();
long startTime = System.currentTimeMillis(); long startTime = System.currentTimeMillis();
@ -40,7 +40,7 @@ public class AutoSaveProductionInfo {
list.forEach(mi -> { list.forEach(mi -> {
mi.setMSGID(IdUtil.getSnowflake(1,1).nextIdStr()); mi.setMSGID(IdUtil.getSnowflake(1,1).nextIdStr());
mi.setSEND_TM(DateUtil.now()); mi.setSEND_TM(DateUtil.now());
mi.setSTOCK_SUBUNIT("块"); mi.setSTOCK_UNIT("块");
mi.setCREATE_TM(DateUtil.now()); mi.setCREATE_TM(DateUtil.now());
mi.setOP_FLAG(GeneralDefinition.NO); mi.setOP_FLAG(GeneralDefinition.NO);
if (ObjectUtil.isEmpty(mi.getBATCHNO())) { if (ObjectUtil.isEmpty(mi.getBATCHNO())) {
@ -54,13 +54,13 @@ public class AutoSaveProductionInfo {
wmsToMesService.saveSemiProductionBatchToMes(mi); wmsToMesService.saveSemiProductionBatchToMes(mi);
successNum.getAndIncrement(); successNum.getAndIncrement();
} catch (Exception e) { } catch (Exception e) {
log.error("插入滚筒线内失败的数据: {}", mi); log.error("定时插入半成品实时库存失败的数据: {}", mi);
log.error("插入滚筒线内失败的信息:{}", e.getMessage()); log.error("定时插入半成品实时库存失败的信息:{}", e.getMessage());
// notice通知 // notice通知
noticeService.createNotice(e.getMessage(), "滚筒线内数据同步失败" + mi.getMSGID(), NoticeTypeEnum.NOTIFICATION.getCode()); noticeService.createNotice(e.getMessage(), "定时插入半成品实时库存失败" + mi.getMSGID(), NoticeTypeEnum.NOTIFICATION.getCode());
} }
}); });
long endTime = System.currentTimeMillis(); long endTime = System.currentTimeMillis();
log.info("滚筒线数据有" + list.size() + "条,成功" + successNum.get() + "条, 消耗时长:" + (endTime - startTime) + "ms"); log.info("半成品实时库存数据有" + list.size() + "条,成功" + successNum.get() + "条, 消耗时长:" + (endTime - startTime) + "ms");
} }
} }

1
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/autotask/AutoSaveWaitGdyInfo.java

@ -39,6 +39,7 @@ public class AutoSaveWaitGdyInfo {
List<MesGdyInfoWaitDto> list = wmsToMesService.getAllWaitIntoGdyInfos(); List<MesGdyInfoWaitDto> list = wmsToMesService.getAllWaitIntoGdyInfos();
AtomicInteger successNum = new AtomicInteger(); AtomicInteger successNum = new AtomicInteger();
long startTime = System.currentTimeMillis(); long startTime = System.currentTimeMillis();
log.info("获取滚筒线内数据:{}", list);
// 存入表中 // 存入表中
list.forEach(mesGdyInfoWaitDto -> { list.forEach(mesGdyInfoWaitDto -> {
mesGdyInfoWaitDto.setMSGID(IdUtil.getSnowflake(1,1).nextIdStr()); mesGdyInfoWaitDto.setMSGID(IdUtil.getSnowflake(1,1).nextIdStr());

8
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/WmsToMesService.java

@ -57,7 +57,7 @@ public interface WmsToMesService {
void reportGdyMaterialInfoOut(String groupId); void reportGdyMaterialInfoOut(String groupId);
/** /**
* 获取所有滚筒线内数据 * 获取所有半成品实时库存
* @return * @return
*/ */
List<MesSemiProductionInfo> getAllMesSemiProductionInfos(); List<MesSemiProductionInfo> getAllMesSemiProductionInfos();
@ -140,4 +140,10 @@ public interface WmsToMesService {
* @param spreaderDto * @param spreaderDto
*/ */
void reportSpreaderInfoToMes(SpreaderDto spreaderDto); void reportSpreaderInfoToMes(SpreaderDto spreaderDto);
/**
* 上报包装数据
* @param mesPackDto
*/
void reportPackInfo(MesPackDto mesPackDto);
} }

2
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/dao/mapper/MesRequestMapper.java

@ -77,4 +77,6 @@ public interface MesRequestMapper {
CusterDo getCusterByName(String custerName); CusterDo getCusterByName(String custerName);
@DS("oracle") @DS("oracle")
void reportSpreaderInfoToMes(SpreaderDto spreaderDto); void reportSpreaderInfoToMes(SpreaderDto spreaderDto);
@DS("oracle")
void reportPackInfo(MesPackDto mesPackDto);
} }

32
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/dao/mapper/MesRequestMapper.xml

@ -23,31 +23,31 @@
</insert> </insert>
<insert id="insertSemiProductOutInfo" parameterType="org.nl.wms.ext.mes.service.dto.MesSemiProductionInfoOutDto"> <insert id="insertSemiProductOutInfo" parameterType="org.nl.wms.ext.mes.service.dto.MesSemiProductionInfoOutDto">
INSERT INTO "LMSTELCOM"."RECEIVE_CS_SEMIPROINFO_OUT"(MSGID, SEMIPRODUCT_BATCHNO, PRODUCT_BATCHNO, FPRODUCT_MATERIAL_ID INSERT INTO "LMSTELCOM"."RECEIVE_CS_SEMIPROINFO_OUT"(MSGID, SEMIPRODUCT_BATCHNO, PRODUCT_BATCHNO, FPRODUCT_MATERIAL_ID
, FPRODUCT_MATERIAL_NAME, FMATSPEC, FMATMODEL, PRO_SUBNUM, PRO_SUBUNIT, STOCK, STOCK_NAME, CHECKEROUT_TIM, OUTTYPE , FPRODUCT_MATERIAL_NAME, FMATSPEC, FMATMODEL, PRO_NUM, PRO_UNIT, STOCK, STOCK_NAME, CHECKEROUT_TIM, OUTTYPE
, CREATE_TM, OP_FLAG) VALUES (#{MSGID}, #{SEMIPRODUCT_BATCHNO}, #{PRODUCT_BATCHNO}, #{FPRODUCT_MATERIAL_ID} , CREATE_TM, OP_FLAG) VALUES (#{MSGID}, #{SEMIPRODUCT_BATCHNO}, #{PRODUCT_BATCHNO}, #{FPRODUCT_MATERIAL_ID}
, #{FPRODUCT_MATERIAL_NAME}, #{FMATSPEC}, #{FMATMODEL}, #{PRO_SUBNUM}, #{PRO_SUBUNIT}, #{STOCK}, #{STOCK_NAME} , #{FPRODUCT_MATERIAL_NAME}, #{FMATSPEC}, #{FMATMODEL}, #{PRO_NUM}, #{PRO_UNIT}, #{STOCK}, #{STOCK_NAME}
, #{CHECKEROUT_TIM}, #{OUTTYPE}, #{CREATE_TM}, #{OP_FLAG}) , #{CHECKEROUT_TIM}, #{OUTTYPE}, #{CREATE_TM}, #{OP_FLAG})
</insert> </insert>
<insert id="insertGdyMaterialIn" parameterType="org.nl.wms.ext.mes.service.dto.MesGdyMaterialInDto"> <insert id="insertGdyMaterialIn" parameterType="org.nl.wms.ext.mes.service.dto.MesGdyMaterialInDto">
INSERT INTO "LMSTELCOM"."RECEIVE_GDY_MATIN"(MSGID, TRAY_NO, FPRODUCT_MATERIAL_ID, FPRODUCT_MATERIAL_NAME INSERT INTO "LMSTELCOM"."RECEIVE_GDY_MATIN"(MSGID, TRAY_NO, FPRODUCT_MATERIAL_ID, FPRODUCT_MATERIAL_NAME
, FMATSPEC, FMATMODEL, BATCHNO, PRESSUNIT, PRO_SUBNUM, PRO_SUBUNIT, FCONVERTRATE, STOCK, DEVICE, IN_DATE , FMATSPEC, FMATMODEL, BATCHNO, PRESSUNIT, PRO_NUM, PRO_UNIT, FCONVERTRATE, STOCK, DEVICE, IN_DATE
, CREATE_TM, OP_FLAG) VALUES (#{MSGID}, #{TRAY_NO}, #{FPRODUCT_MATERIAL_ID}, #{FPRODUCT_MATERIAL_NAME} , CREATE_TM, OP_FLAG) VALUES (#{MSGID}, #{TRAY_NO}, #{FPRODUCT_MATERIAL_ID}, #{FPRODUCT_MATERIAL_NAME}
, #{FMATSPEC}, #{FMATMODEL}, #{BATCHNO}, #{PRESSUNIT}, #{PRO_SUBNUM}, #{PRO_SUBUNIT}, #{FCONVERTRATE} , #{FMATSPEC}, #{FMATMODEL}, #{BATCHNO}, #{PRESSUNIT}, #{PRO_NUM}, #{PRO_UNIT}, #{FCONVERTRATE}
, #{STOCK}, #{DEVICE}, #{IN_DATE}, #{CREATE_TM}, #{OP_FLAG}) , #{STOCK}, #{DEVICE}, #{IN_DATE}, #{CREATE_TM}, #{OP_FLAG})
</insert> </insert>
<insert id="insertGdyMaterialOut" parameterType="org.nl.wms.ext.mes.service.dto.MesGdyMaterialOutDto"> <insert id="insertGdyMaterialOut" parameterType="org.nl.wms.ext.mes.service.dto.MesGdyMaterialOutDto">
INSERT INTO "LMSTELCOM"."RECEIVE_GDY_MATOUT"(MSGID, TRAY_NO, FPRODUCT_MATERIAL_ID, FPRODUCT_MATERIAL_NAME INSERT INTO "LMSTELCOM"."RECEIVE_GDY_MATOUT"(MSGID, TRAY_NO, FPRODUCT_MATERIAL_ID, FPRODUCT_MATERIAL_NAME
, FMATSPEC, FMATMODEL, BATCHNO, PRESSUNIT, PRO_SUBNUM, PRO_SUBUNIT, FCONVERTRATE, STOCK, DEVICE, OUT_DATE , FMATSPEC, FMATMODEL, BATCHNO, PRESSUNIT, PRO_NUM, PRO_UNIT, FCONVERTRATE, STOCK, DEVICE, OUT_DATE
, CREATE_TM, OP_FLAG) VALUES (#{MSGID}, #{TRAY_NO}, #{FPRODUCT_MATERIAL_ID}, #{FPRODUCT_MATERIAL_NAME} , CREATE_TM, OP_FLAG) VALUES (#{MSGID}, #{TRAY_NO}, #{FPRODUCT_MATERIAL_ID}, #{FPRODUCT_MATERIAL_NAME}
, #{FMATSPEC}, #{FMATMODEL}, #{BATCHNO}, #{PRESSUNIT}, #{PRO_SUBNUM}, #{PRO_SUBUNIT}, #{FCONVERTRATE} , #{FMATSPEC}, #{FMATMODEL}, #{BATCHNO}, #{PRESSUNIT}, #{PRO_NUM}, #{PRO_UNIT}, #{FCONVERTRATE}
, #{STOCK}, #{DEVICE}, #{OUT_DATE}, #{CREATE_TM}, #{OP_FLAG}) , #{STOCK}, #{DEVICE}, #{OUT_DATE}, #{CREATE_TM}, #{OP_FLAG})
</insert> </insert>
<insert id="saveSemiProductionBatchToMes" parameterType="org.nl.wms.ext.mes.service.dto.MesSemiProductionInfo"> <insert id="saveSemiProductionBatchToMes" parameterType="org.nl.wms.ext.mes.service.dto.MesSemiProductionInfo">
INSERT INTO "LMSTELCOM"."RECEIVE_CS_SEMIPRODUCTIONINFO"(MSGID, SEND_TM, BATCHNO, ORDER_NO, STOCK_SUBNUM INSERT INTO "LMSTELCOM"."RECEIVE_CS_SEMIPRODUCTIONINFO"(MSGID, SEND_TM, BATCHNO, ORDER_NO, STOCK_NUM
, STOCK_SUBUNIT, MATERIAL_ID, MATERIAL_NAME, PROSPEC, PROMODEL, PRODATE, PRESSUNIT, CREATE_TM, OP_FLAG) , STOCK_UNIT, MATERIAL_ID, MATERIAL_NAME, PROSPEC, PROMODEL, PRODATE, PRESSUNIT, CREATE_TM, OP_FLAG)
VALUES VALUES
(#{MSGID}, #{SEND_TM}, #{BATCHNO}, #{ORDER_NO}, #{STOCK_SUBNUM} (#{MSGID}, #{SEND_TM}, #{BATCHNO}, #{ORDER_NO}, #{STOCK_NUM}
, #{STOCK_SUBUNIT}, #{MATERIAL_ID}, #{MATERIAL_NAME}, #{PROSPEC}, #{PROMODEL} , #{STOCK_UNIT}, #{MATERIAL_ID}, #{MATERIAL_NAME}, #{PROSPEC}, #{PROMODEL}
, #{PRODATE}, #{PRESSUNIT}, #{CREATE_TM}, #{OP_FLAG}) , #{PRODATE}, #{PRESSUNIT}, #{CREATE_TM}, #{OP_FLAG})
</insert> </insert>
<insert id="insertGdyMaterial" parameterType="org.nl.wms.ext.mes.service.dto.MesGdyInfoDto"> <insert id="insertGdyMaterial" parameterType="org.nl.wms.ext.mes.service.dto.MesGdyInfoDto">
@ -95,7 +95,13 @@
INSERT INTO "LMSTELCOM"."RECEIVE_MUDLAYOUT_RECORD"(MSGID, TIM, ACT_WEIGHT, THEO_WEIGHT, MATERIAL_ID, MATERIAL_NAME INSERT INTO "LMSTELCOM"."RECEIVE_MUDLAYOUT_RECORD"(MSGID, TIM, ACT_WEIGHT, THEO_WEIGHT, MATERIAL_ID, MATERIAL_NAME
, MATERIAL_SPEC, MATERIAL_MODEL, FPROBATCH, CREATE_TM, OP_FLAG) , MATERIAL_SPEC, MATERIAL_MODEL, FPROBATCH, CREATE_TM, OP_FLAG)
VALUES (#{MSGID}, #{TIM}, #{ACT_WEIGHT}, #{THEO_WEIGHT}, #{MATERIAL_ID}, #{MATERIAL_NAME}, #{MATERIAL_SPEC} VALUES (#{MSGID}, #{TIM}, #{ACT_WEIGHT}, #{THEO_WEIGHT}, #{MATERIAL_ID}, #{MATERIAL_NAME}, #{MATERIAL_SPEC}
, #{MATERIAL_MODEL}, #{FPROBATCH}, #{CREATE_TM}, #{OP_FLAG}) , #{MATERIAL_MODEL}, #{FPROBATCH,jdbcType=VARCHAR,typeHandler=org.nl.wms.util.StringHandler}, #{CREATE_TM}, #{OP_FLAG})
</insert>
<insert id="reportPackInfo" parameterType="org.nl.wms.ext.mes.service.dto.MesPackDto">
INSERT INTO "LMSTELCOM"."RECEIVE_R_PRODUCT_PACK"(MSGID, BATCHNO, TRAY_NO, PRO_NUM, PRO_UNIT, PRO_SUBNUM, PRO_SUBUNIT
, MATERIAL_ID, MATERIAL_NAME, PROSPEC, PROMODEL, CHECKERIN_TIM, ORDER_NO)
VALUES (#{MSGID}, #{BATCHNO}, #{TRAY_NO}, #{PRO_NUM}, #{PRO_UNIT}, #{PRO_SUBNUM}, #{PRO_SUBUNIT}, #{MATERIAL_ID}
, #{MATERIAL_NAME}, #{PROSPEC}, #{PROMODEL}, #{CHECKERIN_TIM}, #{ORDER_NO})
</insert> </insert>
<update id="updateWorkOrderRead" parameterType="java.util.List"> <update id="updateWorkOrderRead" parameterType="java.util.List">
UPDATE "LMSTELCOM"."SEND_POP_SCHEDULE_PRESS" UPDATE "LMSTELCOM"."SEND_POP_SCHEDULE_PRESS"
@ -190,7 +196,7 @@
pw.batch_no AS BATCHNO, pw.batch_no AS BATCHNO,
pw.produce_order AS ORDER_NO, pw.produce_order AS ORDER_NO,
pw.produce_date AS PRODATE, pw.produce_date AS PRODATE,
vg.material_qty AS STOCK_SUBNUM, vg.material_qty AS STOCK_NUM,
mm.material_code AS MATERIAL_ID, mm.material_code AS MATERIAL_ID,
mm.material_name AS MATERIAL_NAME, mm.material_name AS MATERIAL_NAME,
mm.material_spec AS PROSPEC, mm.material_spec AS PROSPEC,
@ -203,7 +209,7 @@
LEFT JOIN sch_base_point p ON p.point_code = vg.source_vehicle_code LEFT JOIN sch_base_point p ON p.point_code = vg.source_vehicle_code
LEFT JOIN sch_base_point p2 ON p.parent_point_code = p2.point_code LEFT JOIN sch_base_point p2 ON p.parent_point_code = p2.point_code
WHERE WHERE
vg.point_code IN ('HCSSX01','HCSSX63') AND pw.workorder_code IS NOT NULL vg.vehicle_type = 'GTP' AND pw.workorder_code IS NOT NULL
AND vg.group_bind_material_status = '2' AND vg.group_bind_material_status = '2'
</select> </select>
<select id="getAllMesGdyInfos" resultType="org.nl.wms.ext.mes.service.dto.MesGdyInfoDto"> <select id="getAllMesGdyInfos" resultType="org.nl.wms.ext.mes.service.dto.MesGdyInfoDto">

52
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/dto/MesPackDto.java

@ -0,0 +1,52 @@
package org.nl.wms.ext.mes.service.dto;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Author: lyd
* @Description: 上传mes的包装数据
* @Date: 2023/11/28
* 唯一标识
* 成品批次号
* 木托盘编号
* 数量
* 单位
* 辅数量
* 辅单位
* 物料号
* 物料名称
* 成品规格
* 成品型号
* 入库人
* 入库时间
* 仓库编码
* 仓库名称
* 订单号
* 写入时间
* 读取标志,0未读取1已读取
* 读取时间
*/
@Data
public class MesPackDto {
private String MSGID;
private String BATCHNO;
private String TRAY_NO;
private BigDecimal PRO_NUM;
private String PRO_UNIT;
private BigDecimal PRO_SUBNUM;
private String PRO_SUBUNIT;
private String MATERIAL_ID;
private String MATERIAL_NAME;
private String PROSPEC;
private String PROMODEL;
private String CHECKERIN;
private String CHECKERIN_TIM;
private String STOCK;
private String STOCK_NAME;
private String ORDER_NO;
private String CREATE_TM;
private String OP_FLAG;
private String OP_TM;
}

13
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/impl/WmsToMesServiceImpl.java

@ -254,7 +254,6 @@ public class WmsToMesServiceImpl implements WmsToMesService {
PdmBdWorkorder workorder = pdmBdWorkorderService.getByCode(workorderCode); PdmBdWorkorder workorder = pdmBdWorkorderService.getByCode(workorderCode);
String extData = workorder.getExt_data(); String extData = workorder.getExt_data();
MesWorkOrderDto mesWorkOrderDto = JSON.parseObject(extData, MesWorkOrderDto.class); MesWorkOrderDto mesWorkOrderDto = JSON.parseObject(extData, MesWorkOrderDto.class);
MesGdyMaterialInDto gdyMaterialInDto = new MesGdyMaterialInDto(); MesGdyMaterialInDto gdyMaterialInDto = new MesGdyMaterialInDto();
gdyMaterialInDto.setMSGID(IdUtil.getSnowflake(1, 1).nextIdStr()); gdyMaterialInDto.setMSGID(IdUtil.getSnowflake(1, 1).nextIdStr());
gdyMaterialInDto.setTRAY_NO(vehiclematerialgroup.getVehicle_code()); gdyMaterialInDto.setTRAY_NO(vehiclematerialgroup.getVehicle_code());
@ -272,6 +271,7 @@ public class WmsToMesServiceImpl implements WmsToMesService {
gdyMaterialInDto.setIN_DATE(vehiclematerialgroup.getInto_kiln_time()); gdyMaterialInDto.setIN_DATE(vehiclematerialgroup.getInto_kiln_time());
gdyMaterialInDto.setCREATE_TM(DateUtil.now()); gdyMaterialInDto.setCREATE_TM(DateUtil.now());
gdyMaterialInDto.setOP_FLAG(GeneralDefinition.NO); gdyMaterialInDto.setOP_FLAG(GeneralDefinition.NO);
log.info("入窑数据:{}", gdyMaterialInDto);
// 插入mes数据库 // 插入mes数据库
try { try {
@ -305,8 +305,8 @@ public class WmsToMesServiceImpl implements WmsToMesService {
gdyMaterialOutDto.setFMATMODEL(mesWorkOrderDto.getFMATMODEL()); // 型号,mes给的工单都有 gdyMaterialOutDto.setFMATMODEL(mesWorkOrderDto.getFMATMODEL()); // 型号,mes给的工单都有
gdyMaterialOutDto.setBATCHNO(mesWorkOrderDto.getBATCHNO()); gdyMaterialOutDto.setBATCHNO(mesWorkOrderDto.getBATCHNO());
gdyMaterialOutDto.setPRESSUNIT(mesWorkOrderDto.getPRESSUNIT()); gdyMaterialOutDto.setPRESSUNIT(mesWorkOrderDto.getPRESSUNIT());
gdyMaterialOutDto.setPRO_SUBNUM(String.valueOf(vehiclematerialgroup.getMaterial_qty())); gdyMaterialOutDto.setPRO_NUM(String.valueOf(vehiclematerialgroup.getMaterial_qty()));
gdyMaterialOutDto.setPRO_SUBUNIT("块"); gdyMaterialOutDto.setPRO_UNIT("块");
gdyMaterialOutDto.setFCONVERTRATE(mesWorkOrderDto.getFCONVERTRATE()); gdyMaterialOutDto.setFCONVERTRATE(mesWorkOrderDto.getFCONVERTRATE());
gdyMaterialOutDto.setSTOCK("未知"); gdyMaterialOutDto.setSTOCK("未知");
gdyMaterialOutDto.setDEVICE("1"); gdyMaterialOutDto.setDEVICE("1");
@ -351,6 +351,7 @@ public class WmsToMesServiceImpl implements WmsToMesService {
int number = mesRequestMapper.countFPNumber(orderObj.getWorkorder_code(), orderObj.getPoint_code()); int number = mesRequestMapper.countFPNumber(orderObj.getWorkorder_code(), orderObj.getPoint_code());
String extData = orderObj.getExt_data(); String extData = orderObj.getExt_data();
MesWorkOrderDto mesWorkOrderDto = JSON.parseObject(extData, MesWorkOrderDto.class); MesWorkOrderDto mesWorkOrderDto = JSON.parseObject(extData, MesWorkOrderDto.class);
log.info("转换数据:{} -> {}", extData, mesWorkOrderDto);
// 设置字段值 // 设置字段值
MesUnusedDto mesUnusedDto = new MesUnusedDto(); MesUnusedDto mesUnusedDto = new MesUnusedDto();
mesUnusedDto.setMSGID(IdUtil.getSnowflake(1, 1).nextIdStr()); mesUnusedDto.setMSGID(IdUtil.getSnowflake(1, 1).nextIdStr());
@ -443,6 +444,11 @@ public class WmsToMesServiceImpl implements WmsToMesService {
mesRequestMapper.reportSpreaderInfoToMes(spreaderDto); mesRequestMapper.reportSpreaderInfoToMes(spreaderDto);
} }
@Override
public void reportPackInfo(MesPackDto mesPackDto) {
mesRequestMapper.reportPackInfo(mesPackDto);
}
/** /**
* 转换 * 转换
* *
@ -455,6 +461,7 @@ public class WmsToMesServiceImpl implements WmsToMesService {
// 获取工单 // 获取工单
PdmBdWorkorder workorder = pdmBdWorkorderService.getByCode(brickInfo.getWorkorder_code()); PdmBdWorkorder workorder = pdmBdWorkorderService.getByCode(brickInfo.getWorkorder_code());
if (ObjectUtil.isEmpty(workorder)) { if (ObjectUtil.isEmpty(workorder)) {
log.error("错误工单数据: {}", brickInfo.getWorkorder_code());
throw new BadRequestException("工单不存在,上报MES失败"); throw new BadRequestException("工单不存在,上报MES失败");
} }
MdBaseMaterial material = mdBaseMaterialService.getById(workorder.getMaterial_id()); MdBaseMaterial material = mdBaseMaterialService.getById(workorder.getMaterial_id());

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/controller/SchBasePointController.java

@ -10,6 +10,7 @@ import org.nl.common.domain.query.PageQuery;
import org.nl.common.logging.annotation.Log; import org.nl.common.logging.annotation.Log;
import org.nl.wms.sch.point.service.ISchBasePointService; import org.nl.wms.sch.point.service.ISchBasePointService;
import org.nl.wms.sch.point.service.dao.SchBasePoint; import org.nl.wms.sch.point.service.dao.SchBasePoint;
import org.nl.wms.sch.point.service.dto.SchBasePointQuery;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
@ -36,7 +37,7 @@ public class SchBasePointController {
@Log("查询点位管理") @Log("查询点位管理")
@ApiOperation("查询点位管理") @ApiOperation("查询点位管理")
//@SaCheckPermission("@el.check('schBasePoint:list')") //@SaCheckPermission("@el.check('schBasePoint:list')")
public ResponseEntity<Object> query(@RequestParam Map whereJson, PageQuery page){ public ResponseEntity<Object> query(SchBasePointQuery whereJson, PageQuery page){
return new ResponseEntity<>(TableDataInfo.build(schBasePointService.queryAll(whereJson,page)),HttpStatus.OK); return new ResponseEntity<>(TableDataInfo.build(schBasePointService.queryAll(whereJson,page)),HttpStatus.OK);
} }

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/ISchBasePointService.java

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import org.nl.common.domain.query.PageQuery; import org.nl.common.domain.query.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.wms.sch.point.service.dao.SchBasePoint; import org.nl.wms.sch.point.service.dao.SchBasePoint;
import org.nl.wms.sch.point.service.dto.SchBasePointQuery;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -23,7 +24,7 @@ public interface ISchBasePointService extends IService<SchBasePoint> {
* @param pageable 分页参数 * @param pageable 分页参数
* @return IPage<SchBasePoint> * @return IPage<SchBasePoint>
*/ */
IPage<SchBasePoint> queryAll(Map whereJson, PageQuery pageable); IPage<SchBasePoint> queryAll(SchBasePointQuery whereJson, PageQuery pageable);
/** /**
* 创建 * 创建

10
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/SchBasePoint.java

@ -146,5 +146,15 @@ public class SchBasePoint implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private String device_code; private String device_code;
@TableField(exist = false)
private String material_qty;
@TableField(exist = false)
private String material_code;
@TableField(exist = false)
private String material_name;
@TableField(exist = false)
private String material_spec;
@TableField(exist = false)
private String material_model;
} }

13
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/mapper/SchBasePointMapper.java

@ -1,9 +1,13 @@
package org.nl.wms.sch.point.service.dao.mapper; package org.nl.wms.sch.point.service.dao.mapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.nl.wms.sch.point.service.dao.SchBasePoint; import org.nl.wms.sch.point.service.dao.SchBasePoint;
import org.nl.wms.sch.point.service.dto.SchBasePointQuery;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @author lyd * @author lyd
@ -26,4 +30,13 @@ public interface SchBasePointMapper extends BaseMapper<SchBasePoint> {
* @return * @return
*/ */
SchBasePoint selectByIdLock(String id); SchBasePoint selectByIdLock(String id);
/**
* 点位left join查询
* @param pages
* @param lam
* @return
*/
IPage<SchBasePoint> selectPageLeftJoin(IPage<SchBasePoint> pages, SchBasePointQuery whereJson);
} }

45
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/mapper/SchBasePointMapper.xml

@ -28,4 +28,49 @@
WHERE p.point_code = #{id} WHERE p.point_code = #{id}
FOR UPDATE FOR UPDATE
</select> </select>
<select id="selectPageLeftJoin" resultType="org.nl.wms.sch.point.service.dao.SchBasePoint" parameterType="org.nl.wms.sch.point.service.dto.SchBasePointQuery">
SELECT
p.*,
IF(LENGTH(vg.material_qty)>0,vg.material_qty,0) AS material_qty,
IF(LENGTH(mm.material_code)>0,mm.material_code,'-') AS material_code,
IF(LENGTH(mm.material_name)>0,mm.material_name,'-') AS material_name,
IF(LENGTH(mm.material_spec)>0,mm.material_spec,'-') AS material_spec,
IF(LENGTH(mm.material_model)>0,mm.material_model,'-') AS material_model
FROM
`sch_base_point` p
LEFT JOIN sch_base_vehiclematerialgroup vg ON vg.vehicle_code = p.vehicle_code
AND vg.vehicle_type = p.vehicle_type AND vg.group_bind_material_status = '2'
LEFT JOIN md_base_material mm ON mm.material_id = vg.material_id
<where>
<if test="whereJson.workshop_code != null and workshop_code != ''">
p.workshop_code = #{whereJson.workshop_code}
</if>
<if test="whereJson.blurry != null">
AND (p.point_code LIKE '%${whereJson.blurry}%' OR p.point_name LIKE '%${whereJson.blurry}%')
</if>
<if test="whereJson.region_code != null">
AND p.region_code = #{whereJson.region_code}
</if>
<if test="whereJson.point_type != null">
AND p.point_type = #{whereJson.point_type}
</if>
<if test="whereJson.point_status != null">
AND p.point_status = #{whereJson.point_status}
</if>
<if test="whereJson.is_used != null">
AND p.is_used = #{whereJson.is_used}
</if>
<choose>
<!-- Case: whereJson.lock_type is true -->
<when test="whereJson.lock_type">
AND (p.ing_task_code IS NOT NULL AND p.ing_task_code <![CDATA[<>]]> '')
</when>
<!-- Case: whereJson.lock_type is false -->
<otherwise>
AND (p.ing_task_code IS NULL OR p.ing_task_code = '')
</otherwise>
</choose>
</where>
ORDER BY p.region_code, p.point_code, p.point_type
</select>
</mapper> </mapper>

15
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dto/SchBasePointQuery.java

@ -1,12 +1,23 @@
package org.nl.wms.sch.point.service.dto; package org.nl.wms.sch.point.service.dto;
import lombok.Data;
import org.nl.common.domain.query.BaseQuery; import org.nl.common.domain.query.BaseQuery;
import org.nl.wms.sch.point.service.dao.SchBasePoint; import org.nl.wms.sch.point.service.dao.SchBasePoint;
import java.io.Serializable;
/** /**
* @author lyd * @author lyd
* @date 2023-05-15 * @date 2023-05-15
**/ **/
public class SchBasePointQuery extends BaseQuery<SchBasePoint> { @Data
public class SchBasePointQuery implements Serializable {
private String blurry;
private String workshop_code;
private String region_code;
private String point_type;
private String point_status;
private Boolean is_used;
private Boolean lock_type;
private Boolean parent_point;
} }

37
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java

@ -16,6 +16,7 @@ import org.nl.common.utils.SecurityUtils;
import org.nl.wms.sch.point.service.ISchBasePointService; import org.nl.wms.sch.point.service.ISchBasePointService;
import org.nl.wms.sch.point.service.dao.SchBasePoint; import org.nl.wms.sch.point.service.dao.SchBasePoint;
import org.nl.wms.sch.point.service.dao.mapper.SchBasePointMapper; import org.nl.wms.sch.point.service.dao.mapper.SchBasePointMapper;
import org.nl.wms.sch.point.service.dto.SchBasePointQuery;
import org.nl.wms.sch.region.service.dao.SchBaseRegion; import org.nl.wms.sch.region.service.dao.SchBaseRegion;
import org.nl.wms.sch.region.service.dao.mapper.SchBaseRegionMapper; import org.nl.wms.sch.region.service.dao.mapper.SchBaseRegionMapper;
import org.nl.wms.sch.task_manage.enums.PointStatusEnum; import org.nl.wms.sch.task_manage.enums.PointStatusEnum;
@ -46,41 +47,9 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
private SchBaseRegionMapper regionMapper; private SchBaseRegionMapper regionMapper;
@Override @Override
public IPage<SchBasePoint> queryAll(Map whereJson, PageQuery page) { public IPage<SchBasePoint> queryAll(SchBasePointQuery whereJson, PageQuery page) {
String blurry = ObjectUtil.isNotEmpty(whereJson.get("blurry"))
? whereJson.get("blurry").toString() : null;
String workshop_code = ObjectUtil.isNotEmpty(whereJson.get("workshop_code"))
? whereJson.get("workshop_code").toString() : null;
String region_code = ObjectUtil.isNotEmpty(whereJson.get("region_code"))
? whereJson.get("region_code").toString() : null;
String point_type = ObjectUtil.isNotEmpty(whereJson.get("point_type"))
? whereJson.get("point_type").toString() : null;
String point_status = ObjectUtil.isNotEmpty(whereJson.get("point_status"))
? whereJson.get("point_status").toString() : null;
Boolean is_used = ObjectUtil.isNotEmpty(whereJson.get("is_used"))
? Boolean.valueOf(whereJson.get("is_used").toString()) : null;
Boolean lock_type = ObjectUtil.isNotEmpty(whereJson.get("lock_type"))
? Boolean.valueOf(whereJson.get("lock_type").toString()) : false;
Boolean parent_point = ObjectUtil.isNotEmpty(whereJson.get("parent_point"))
? Boolean.valueOf(whereJson.get("parent_point").toString()) : false;
LambdaQueryWrapper<SchBasePoint> lam = new LambdaQueryWrapper<>();
lam.eq(ObjectUtil.isNotEmpty(workshop_code), SchBasePoint::getWorkshop_code, workshop_code)
.and(ObjectUtil.isNotEmpty(blurry), la -> la.like(SchBasePoint::getPoint_code, blurry)
.or().like(SchBasePoint::getPoint_name, blurry))
.eq(ObjectUtil.isNotEmpty(region_code), SchBasePoint::getRegion_code, region_code)
.eq(ObjectUtil.isNotEmpty(point_type), SchBasePoint::getPoint_type, point_type)
.eq(ObjectUtil.isNotEmpty(point_status), SchBasePoint::getPoint_status, point_status)
.eq(ObjectUtil.isNotEmpty(is_used), SchBasePoint::getIs_used, is_used)
.and(!lock_type, slam -> slam.isNull(SchBasePoint::getIng_task_code).or()
.eq(SchBasePoint::getIng_task_code, ""))
.and(lock_type, slam -> slam.isNotNull(SchBasePoint::getIng_task_code)
.ne(SchBasePoint::getIng_task_code, ""))
.orderByAsc(SchBasePoint::getRegion_code)
.orderByAsc(SchBasePoint::getPoint_code)
.orderByAsc(SchBasePoint::getPoint_type)
.apply(parent_point, "point_code = parent_point_code");
IPage<SchBasePoint> pages = new Page<>(page.getPage() + 1, page.getSize()); IPage<SchBasePoint> pages = new Page<>(page.getPage() + 1, page.getSize());
pointMapper.selectPage(pages, lam); pages = pointMapper.selectPageLeftJoin(pages, whereJson);
// 可以存放的载具类型 // 可以存放的载具类型
pages.getRecords().forEach(point -> { pages.getRecords().forEach(point -> {
if (ObjectUtil.isNotEmpty(point.getCan_vehicle_type())) { if (ObjectUtil.isNotEmpty(point.getCan_vehicle_type())) {

4
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/fj/FJSKTask.java

@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.esotericsoftware.minlog.Log; import com.esotericsoftware.minlog.Log;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.exception.BadRequestException; import org.nl.common.exception.BadRequestException;
import org.nl.system.service.notice.ISysNoticeService; import org.nl.system.service.notice.ISysNoticeService;
import org.nl.wms.ext.mes.service.WmsToMesService; import org.nl.wms.ext.mes.service.WmsToMesService;
@ -39,6 +40,7 @@ import java.util.stream.Collectors;
* @Description: 分拣送空托 -> 叠托位 * @Description: 分拣送空托 -> 叠托位
* @Date: 2023/6/20 * @Date: 2023/6/20
*/ */
@Slf4j
@Component(value = "FJSKTask") @Component(value = "FJSKTask")
@TaskType("FJSKTask") @TaskType("FJSKTask")
public class FJSKTask extends AbstractTask { public class FJSKTask extends AbstractTask {
@ -215,7 +217,7 @@ public class FJSKTask extends AbstractTask {
try { try {
wmsToMesService.reportSemiProductionInfoOut(taskObj.getGroup_id()); wmsToMesService.reportSemiProductionInfoOut(taskObj.getGroup_id());
} catch (Exception e) { } catch (Exception e) {
Log.error("上报MES物料出库失败, {}", e.getMessage()); log.error("上报MES物料出库失败, {}", e.getMessage());
} }
} }
taskObj.setTask_status(TaskStatus.FINISHED.getCode()); taskObj.setTask_status(TaskStatus.FINISHED.getCode());

3
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yao/CYZCTask.java

@ -231,8 +231,7 @@ public class CYZCTask extends AbstractTask {
.eq(SchBaseVehiclematerialgroup::getVehicle_code, vehicle_code) .eq(SchBaseVehiclematerialgroup::getVehicle_code, vehicle_code)
.eq(SchBaseVehiclematerialgroup::getVehicle_type, vehicleType) .eq(SchBaseVehiclematerialgroup::getVehicle_type, vehicleType)
.eq(SchBaseVehiclematerialgroup::getGroup_bind_material_status, .eq(SchBaseVehiclematerialgroup::getGroup_bind_material_status,
GroupBindMaterialStatusEnum.BOUND.getValue()) GroupBindMaterialStatusEnum.BOUND.getValue()));
.eq(SchBaseVehiclematerialgroup::getIs_firing, false));
if (ObjectUtil.isEmpty(one)) { if (ObjectUtil.isEmpty(one)) {
throw new BadRequestException(vehicle_code + " => " + vehicleType + "的组盘信息未找到"); throw new BadRequestException(vehicle_code + " => " + vehicleType + "的组盘信息未找到");
} }

2
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/yao/GZYQLTask.java

@ -173,8 +173,6 @@ public class GZYQLTask extends AbstractTask {
} }
if (status.equals(TaskStatus.FINISHED)) { // 完成 if (status.equals(TaskStatus.FINISHED)) { // 完成
this.finishTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS); this.finishTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS);
// todo 记录入窑数据
wmsToMesService.reportGdyMaterialInfoIn(taskObj.getGroup_id());
} }
if (status.equals(TaskStatus.CANCELED)) { // 取消 if (status.equals(TaskStatus.CANCELED)) { // 取消
this.cancelTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS); this.cancelTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS);

5
lms/nladmin-ui/src/views/wms/sch/point/index.vue

@ -297,6 +297,11 @@
{{scope.row.ing_task_code?'是':'否'}} {{scope.row.ing_task_code?'是':'否'}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="material_code" label="物料编码" :min-width="flexWidth('material_code',crud.data,'载具数量')" />
<el-table-column prop="material_name" label="物料名称" :min-width="flexWidth('material_name',crud.data,'载具数量')" />
<el-table-column prop="material_spec" label="物料规格" :min-width="flexWidth('material_spec',crud.data,'载具数量')" />
<el-table-column prop="material_model" label="物料型号" :min-width="flexWidth('material_model',crud.data,'载具数量')" />
<el-table-column prop="material_qty" label="物料数量" :min-width="flexWidth('material_qty',crud.data,'载具数量')" />
<el-table-column prop="parent_point_code" label="父点位编码" :min-width="flexWidth('parent_point_code',crud.data,'父点位编码')"/> <el-table-column prop="parent_point_code" label="父点位编码" :min-width="flexWidth('parent_point_code',crud.data,'父点位编码')"/>
<el-table-column prop="ing_task_code" label="在执行的任务标识" :min-width="flexWidth('ing_task_code',crud.data,'在执行的任务标识')" /> <el-table-column prop="ing_task_code" label="在执行的任务标识" :min-width="flexWidth('ing_task_code',crud.data,'在执行的任务标识')" />
<el-table-column prop="is_has_workder" label="是否有工单" :min-width="flexWidth('is_has_workder',crud.data,'是否有工单')"> <el-table-column prop="is_has_workder" label="是否有工单" :min-width="flexWidth('is_has_workder',crud.data,'是否有工单')">

Loading…
Cancel
Save