Browse Source

fix: MES数据对接

master
李永德 1 year ago
parent
commit
25bc769deb
  1. 2
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
  2. 2
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/autotask/AutoSaveProductionInfo.java
  3. 3
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/autotask/AutoSaveShelfInformation.java
  4. 90
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/dao/mapper/MesRequestMapper.xml
  5. 2
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/dto/MesGdyMaterialInDto.java
  6. 20
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/dto/MesGdyMaterialOutDto.java
  7. 19
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/dto/MesMudConsumptionDto.java
  8. 24
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/dto/MesSemiProductionInfoInDto.java
  9. 9
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/mes/service/dto/MesUnusedDto.java
  10. 38
      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/task_manage/task/tasks/yz/YZQKTask.java
  12. 52
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/StringHandler.java
  13. 2
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/TreePrinter.java

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

@ -663,7 +663,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
mesMudConsumptionDto.setPWORKSCHE_ID(productionTask.getWorkorder_code()); mesMudConsumptionDto.setPWORKSCHE_ID(productionTask.getWorkorder_code());
mesMudConsumptionDto.setOUT_FINNUM(one.getMaterial_weight()); mesMudConsumptionDto.setOUT_FINNUM(one.getMaterial_weight());
mesMudConsumptionDto.setPRESSUNIT(devicePoint.getExt_point_code()); mesMudConsumptionDto.setPRESSUNIT(devicePoint.getExt_point_code());
mesMudConsumptionDto.setFBAGCODE(one.getExt_data()); mesMudConsumptionDto.setFBAGCODE(one.getPcsn()); // 吨袋号
mesMudConsumptionDto.setLOGT("配料仓"); mesMudConsumptionDto.setLOGT("配料仓");
mesMudConsumptionDto.setSENDTIM(DateUtil.now()); mesMudConsumptionDto.setSENDTIM(DateUtil.now());
mesMudConsumptionDto.setCREATE_TM(DateUtil.now()); mesMudConsumptionDto.setCREATE_TM(DateUtil.now());

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

@ -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_UNIT("块"); mi.setSTOCK_SUBUNIT("块");
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())) {

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

@ -42,9 +42,6 @@ public class AutoSaveShelfInformation {
shelfInfo.setCREATE_TM(now); shelfInfo.setCREATE_TM(now);
shelfInfo.setSEND_TM(now); shelfInfo.setSEND_TM(now);
shelfInfo.setOP_FLAG(GeneralDefinition.NO); shelfInfo.setOP_FLAG(GeneralDefinition.NO);
if (ObjectUtil.isEmpty(shelfInfo.getSOURCE_VEHICLE_CODE())) {
shelfInfo.setSOURCE_VEHICLE_CODE("-");
}
// 插入数据 // 插入数据
try { try {
wmsToMesService.saveShelfInfoBatchToMes(shelfInfo); wmsToMesService.saveShelfInfoBatchToMes(shelfInfo);

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

@ -14,11 +14,12 @@
, #{FTEAM}, #{TRAY_NO}, #{PRO_SUBNUM}, #{PRO_SUBUNIT}, #{CHECKERIN_TIM}, #{PRODATE}, #{CREATE_TM}, #{OP_FLAG}) , #{FTEAM}, #{TRAY_NO}, #{PRO_SUBNUM}, #{PRO_SUBUNIT}, #{CHECKERIN_TIM}, #{PRODATE}, #{CREATE_TM}, #{OP_FLAG})
</insert> </insert>
<insert id="insertSemiProductInfo" parameterType="org.nl.wms.ext.mes.service.dto.MesSemiProductionInfoInDto"> <insert id="insertSemiProductInfo" parameterType="org.nl.wms.ext.mes.service.dto.MesSemiProductionInfoInDto">
INSERT INTO "LMSTELCOM"."RECEIVE_CS_SEMIPROINFO_IN"(MSGID, FORDER_NO, PRESSUNIT, FSCHEDULE_ID, FPRODUCT_MATERIAL_ID INSERT INTO "LMSTELCOM"."RECEIVE_CS_SEMIPROINFO_IN"(MSGID, FORDER_NO, PWORKSCHE_ID, PRESSUNIT, FSCHEDULE_ID
, FPRODUCT_MATERIAL_NAME, FMATSPEC, FMATMODEL, BATCHNO, FTEAM, TRAY_NO, PRO_SUBNUM, PRO_SUBUNIT , FPRODUCT_MATERIAL_ID, FPRODUCT_MATERIAL_NAME, FMATSPEC, FMATMODEL, BATCHNO, FTEAM, TRAY_NO, PRO_SUBNUM
, CHECKERIN_TIM, PRODATE, CREATE_TM, OP_FLAG) VALUES (#{MSGID}, #{FORDER_NO}, #{PRESSUNIT}, #{FSCHEDULE_ID}, #{FPRODUCT_MATERIAL_ID} , PRO_SUBUNIT, CHECKERIN_TIM, PRODATE, CREATE_TM, OP_FLAG) VALUES (#{MSGID}, #{FORDER_NO}, #{PWORKSCHE_ID}
, #{FPRODUCT_MATERIAL_NAME}, #{FMATSPEC}, #{FMATMODEL}, #{BATCHNO}, #{FTEAM}, #{TRAY_NO}, #{PRO_SUBNUM} , #{PRESSUNIT}, #{FSCHEDULE_ID}, #{FPRODUCT_MATERIAL_ID}, #{FPRODUCT_MATERIAL_NAME}, #{FMATSPEC}, #{FMATMODEL}
, #{PRO_SUBUNIT}, #{CHECKERIN_TIM}, #{PRODATE}, #{CREATE_TM}, #{OP_FLAG}) , #{BATCHNO}, #{FTEAM}, #{TRAY_NO}, #{PRO_SUBNUM}, #{PRO_SUBUNIT}, #{CHECKERIN_TIM}, #{PRODATE}, #{CREATE_TM}
, #{OP_FLAG})
</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
@ -29,24 +30,24 @@
</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, FMATMODE, BATCHNO, PRESSUNIT, PRO_SUBNUM, PRO_SUBUNIT, FCONVERTRATE, STOCK, DEVICE, IN_DATE , FMATSPEC, FMATMODEL, BATCHNO, PRESSUNIT, PRO_SUBNUM, PRO_SUBUNIT, 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}, #{FMATMODE}, #{BATCHNO}, #{PRESSUNIT}, #{PRO_SUBNUM}, #{PRO_SUBUNIT}, #{FCONVERTRATE} , #{FMATSPEC}, #{FMATMODEL}, #{BATCHNO}, #{PRESSUNIT}, #{PRO_SUBNUM}, #{PRO_SUBUNIT}, #{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, FMATMODE, BATCHNO, PRESSUNIT, PRO_SUBNUM, PRO_SUBUNIT, FCONVERTRATE, STOCK, DEVICE, OUT_DATE , FMATSPEC, FMATMODEL, BATCHNO, PRESSUNIT, PRO_SUBNUM, PRO_SUBUNIT, 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}, #{FMATMODE}, #{BATCHNO}, #{PRESSUNIT}, #{PRO_SUBNUM}, #{PRO_SUBUNIT}, #{FCONVERTRATE} , #{FMATSPEC}, #{FMATMODEL}, #{BATCHNO}, #{PRESSUNIT}, #{PRO_SUBNUM}, #{PRO_SUBUNIT}, #{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_NUM INSERT INTO "LMSTELCOM"."RECEIVE_CS_SEMIPRODUCTIONINFO"(MSGID, SEND_TM, BATCHNO, ORDER_NO, STOCK_SUBNUM
, STOCK_UNIT, MATERIAL_ID, MATERIAL_NAME, PROSPEC, PROMODEL, PRODATE, PRESSUNIT, CREATE_TM, OP_FLAG) , STOCK_SUBUNIT, MATERIAL_ID, MATERIAL_NAME, PROSPEC, PROMODEL, PRODATE, PRESSUNIT, CREATE_TM, OP_FLAG)
VALUES VALUES
(#{MSGID}, #{SEND_TM}, #{BATCHNO}, #{ORDER_NO}, #{STOCK_NUM} (#{MSGID}, #{SEND_TM}, #{BATCHNO}, #{ORDER_NO}, #{STOCK_SUBNUM}
, #{STOCK_UNIT}, #{MATERIAL_ID}, #{MATERIAL_NAME}, #{PROSPEC}, #{PROMODEL} , #{STOCK_SUBUNIT}, #{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">
@ -58,10 +59,10 @@
, #{IN_DATE}, #{CREATE_TM}, #{OP_FLAG}) , #{IN_DATE}, #{CREATE_TM}, #{OP_FLAG})
</insert> </insert>
<insert id="insertMesUnusedInfo" parameterType="org.nl.wms.ext.mes.service.dto.MesUnusedDto"> <insert id="insertMesUnusedInfo" parameterType="org.nl.wms.ext.mes.service.dto.MesUnusedDto">
INSERT INTO "LMSTELCOM"."RECEIVE_R_SEMIPRODUCT_JKPF"(MSGID, FORDER_NO, PWORKSCHE_ID, FPRODUCT_MATERIAL_ID INSERT INTO "LMSTELCOM"."RECEIVE_R_SEMIPRODUCT_JKPF"(MSGID, FORDER_NO, PWORKSCHE_ID, FSCHEDULE_ID, FPRODUCT_MATERIAL_ID
, FPRODUCT_MATERIAL_NAME, FMATSPEC, FMATMODEL, BATCHNO, PRESSUNIT, FTEAM, FPSUBNUM, FP_SUBUNIT, PRODATE , FPRODUCT_MATERIAL_NAME, FMATSPEC, FMATMODEL, BATCHNO, PRESSUNIT, FTEAM, FPSUBNUM, FP_SUBUNIT, PRODATE
, CREATE_TM, OP_FLAG) , CREATE_TM, OP_FLAG)
VALUES (#{MSGID}, #{FORDER_NO}, #{PWORKSCHE_ID}, #{FPRODUCT_MATERIAL_ID}, #{FPRODUCT_MATERIAL_NAME}, #{FMATSPEC} VALUES (#{MSGID}, #{FORDER_NO}, #{PWORKSCHE_ID}, #{FSCHEDULE_ID}, #{FPRODUCT_MATERIAL_ID}, #{FPRODUCT_MATERIAL_NAME}, #{FMATSPEC}
, #{FMATMODEL}, #{BATCHNO}, #{PRESSUNIT}, #{FTEAM}, #{FPSUBNUM}, #{FP_SUBUNIT}, #{PRODATE}, #{CREATE_TM}, #{OP_FLAG}) , #{FMATMODEL}, #{BATCHNO}, #{PRESSUNIT}, #{FTEAM}, #{FPSUBNUM}, #{FP_SUBUNIT}, #{PRODATE}, #{CREATE_TM}, #{OP_FLAG})
</insert> </insert>
<insert id="insertGdyMaterialWait" parameterType="org.nl.wms.ext.mes.service.dto.MesGdyInfoWaitDto"> <insert id="insertGdyMaterialWait" parameterType="org.nl.wms.ext.mes.service.dto.MesGdyInfoWaitDto">
@ -189,7 +190,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_NUM, vg.material_qty AS STOCK_SUBNUM,
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,6 +204,7 @@
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.point_code IN ('HCSSX01','HCSSX63') AND pw.workorder_code IS NOT NULL
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">
SELECT SELECT
@ -224,7 +226,7 @@
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.into_kiln_time IS NOT NULL vg.into_kiln_time IS NOT NULL
AND vg.out_kiln_time IS NULL AND vg.out_kiln_time IS NULL AND vg.group_bind_material_status = '2'
</select> </select>
<select id="countFPNumber" resultType="java.lang.Integer"> <select id="countFPNumber" resultType="java.lang.Integer">
SELECT SELECT
@ -255,37 +257,41 @@
</select> </select>
<select id="getAllShelfInfos" resultType="org.nl.wms.ext.mes.service.dto.MesShelfInfo"> <select id="getAllShelfInfos" resultType="org.nl.wms.ext.mes.service.dto.MesShelfInfo">
SELECT SELECT
vg.group_id AS GROUP_ID, IF(vg.group_id IS NULL,'',vg.group_id) AS GROUP_ID,
vg.vehicle_code AS VEHICLE_CODE, IF(vg.vehicle_code IS NULL,'',vg.vehicle_code) AS VEHICLE_CODE,
vg.vehicle_type AS VEHICLE_TYPE, IF(vg.vehicle_type IS NULL,'',vg.vehicle_type) AS VEHICLE_TYPE,
IF(p1.point_status = '2','-',mm.material_code) AS MATERIAL_ID, IF( p1.point_status = '2', '-', IF(mm.material_code IS NULL,'',mm.material_code) ) AS MATERIAL_ID,
mm.material_name AS MATERIAL_NAME, IF(ISNULL(mm.material_name),'',mm.material_name) AS MATERIAL_NAME,
mm.material_spec AS MATSPEC, IF(ISNULL(mm.material_spec),'',mm.material_spec) AS MATSPEC,
mm.material_model AS MATMODEL, IF(ISNULL(mm.material_model),'',mm.material_model) AS MATMODEL,
p2.ext_point_code AS SOURCE_VEHICLE_CODE, IF(ISNULL(p3.ext_point_code),'',p3.ext_point_code) AS SOURCE_VEHICLE_CODE,
p1.point_code AS POINT_CODE, p1.point_code AS POINT_CODE,
p1.point_name AS POINT_NAME, p1.point_name AS POINT_NAME,
vg.is_firing AS IS_FIRING, IF(ISNULL(vg.is_firing),'',vg.is_firing) AS IS_FIRING,
vg.is_full AS IS_FULL, IF(ISNULL(vg.is_full),'',vg.is_full) AS IS_FULL,
vg.pcsn AS PCSN, IF(ISNULL(vg.pcsn),'',vg.pcsn) AS PCSN,
vg.instorage_time AS INSTORAGE_TIME, IF(ISNULL(vg.instorage_time),'',vg.instorage_time) AS INSTORAGE_TIME,
vg.standing_time AS STANDING_TIME, IF(ISNULL(vg.standing_time),'',vg.standing_time) AS STANDING_TIME,
vg.material_qty AS MATERIAL_QTY, IF(ISNULL(vg.material_qty),'',vg.material_qty) AS MATERIAL_QTY,
vg.material_weight AS MATERIAL_WEIGHT, IF(ISNULL(vg.material_weight),'',vg.material_weight) AS MATERIAL_WEIGHT,
vg.workorder_code AS WORKORDER_CODE, IF(ISNULL(vg.workorder_code),'',vg.workorder_code) AS WORKORDER_CODE,
vg.group_number AS GROUP_NUMBER, IF(ISNULL(vg.group_number),'',vg.group_number) AS GROUP_NUMBER,
vg.group_bind_material_status AS GROUP_BIND_MATERIAL_STATUS, IF(ISNULL(vg.group_bind_material_status),'',vg.group_bind_material_status) AS GROUP_BIND_MATERIAL_STATUS,
vg.move_way AS MOVE_WAY, IF(ISNULL(vg.move_way),'',vg.move_way) AS MOVE_WAY,
vg.remark AS REMARK, IF( LENGTH( vg.remark )> 0, vg.remark, '' ) AS REMARK,
vg.update_time AS UPDATE_TIME, IF(ISNULL(vg.update_time),'',vg.update_time) AS UPDATE_TIME,
vg.out_kiln_time AS OUT_KILN_TIME, IF(ISNULL(vg.out_kiln_time),'',vg.out_kiln_time) AS OUT_KILN_TIME,
vg.into_kiln_time AS INTO_KILN_TIME IF(ISNULL(vg.into_kiln_time),'',vg.into_kiln_time) AS INTO_KILN_TIME
FROM FROM
`sch_base_point` p1 `sch_base_point` p1
LEFT JOIN sch_base_vehiclematerialgroup vg ON p1.vehicle_code = vg.vehicle_code AND p1.vehicle_type = vg.vehicle_type AND vg.group_bind_material_status = '2' LEFT JOIN sch_base_vehiclematerialgroup vg ON p1.vehicle_code = vg.vehicle_code
AND p1.vehicle_type = vg.vehicle_type
AND vg.group_bind_material_status = '2'
LEFT JOIN md_base_material mm ON mm.material_id = vg.material_id LEFT JOIN md_base_material mm ON mm.material_id = vg.material_id
LEFT JOIN sch_base_point p2 ON p2.point_code = vg.source_vehicle_code LEFT JOIN sch_base_point p2 ON p2.point_code = vg.source_vehicle_code
WHERE p1.region_code = 'GTPHC' LEFT JOIN sch_base_point p3 ON p2.parent_point_code = p3.point_code
WHERE
p1.region_code = 'GTPHC'
</select> </select>
<select id="getCusterInfo" resultType="org.nl.wms.ext.mes.service.dto.CusterVo"> <select id="getCusterInfo" resultType="org.nl.wms.ext.mes.service.dto.CusterVo">
SELECT CUSTER_NO, CUSTER_NAME FROM "RTMG"."VIEW_CUSTER_LMS" SELECT CUSTER_NO, CUSTER_NAME FROM "RTMG"."VIEW_CUSTER_LMS"

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

@ -14,7 +14,7 @@ public class MesGdyMaterialInDto {
private String FPRODUCT_MATERIAL_ID; private String FPRODUCT_MATERIAL_ID;
private String FPRODUCT_MATERIAL_NAME; private String FPRODUCT_MATERIAL_NAME;
private String FMATSPEC; private String FMATSPEC;
private String FMATMODE; private String FMATMODEL;
private String BATCHNO; private String BATCHNO;
private String PRESSUNIT; private String PRESSUNIT;
private String PRO_NUM; private String PRO_NUM;

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

@ -6,6 +6,26 @@ import lombok.Data;
* @Author: lyd * @Author: lyd
* @Description: 出窑记录 * @Description: 出窑记录
* @Date: 2023/9/14 * @Date: 2023/9/14
* 二维码
* 托盘编号
* 物料编码
* 物料名称
* 规格
* 型号
* 批次号
* 压机号
* 重量
* 重量单位
* 数量
* 数量单位
* 单位转换率
* 仓库编码
* 窑炉号
* 窑内位置
* 出窑日期
* 写入时间
* 读取标志,0未读取1已读取
* 读取时间
*/ */
@Data @Data
public class MesGdyMaterialOutDto { public class MesGdyMaterialOutDto {

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

@ -9,6 +9,21 @@ import java.math.BigDecimal;
* @Author: lyd * @Author: lyd
* @Description: 泥料消耗记录 * @Description: 泥料消耗记录
* @Date: 2023/9/11 * @Date: 2023/9/11
* 唯一标识
* 压机作业计划号
* 配料作业计划号
* 配料批次号
* 配料吨袋号
* 泥料仓库编号
* 出库数量
* 出库重量
* 出库理论重量
* 压机号
* 用料时间
* 用料人
* 写入时间
* 读取标志,0未读取1已读取
* 读取时间
*/ */
@Data @Data
public class MesMudConsumptionDto implements Serializable { public class MesMudConsumptionDto implements Serializable {
@ -16,9 +31,11 @@ public class MesMudConsumptionDto implements Serializable {
private String MSGID; private String MSGID;
/** 压机作业计划号 */ /** 压机作业计划号 */
private String PWORKSCHE_ID; private String PWORKSCHE_ID;
/** */ /** 配料作业计划号 */
private String FWORKSCHE_ID; private String FWORKSCHE_ID;
/** 配料批次号 */
private String FPROBATCH; private String FPROBATCH;
/** 配料吨袋号 */
private String FBAGCODE; private String FBAGCODE;
/** 泥料仓库编号 */ /** 泥料仓库编号 */
private String LOGT; private String LOGT;

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

@ -8,6 +8,30 @@ import java.math.BigDecimal;
* @Author: lyd * @Author: lyd
* @Description: PMS接收半成品入库信息 - 入滚筒线 * @Description: PMS接收半成品入库信息 - 入滚筒线
* @Date: 2023/9/13 * @Date: 2023/9/13
* 唯一标识
* 订单号
* 压机计划号
* 日计划号
* 物料编码
* 物料名称
* 规格
* 型号
* 批次号
* 压机号
* 班组
* 托盘编号
* 重量
* 重量单位
* 数量
* 数量单位
* 仓库编码
* 仓库名称
* 入库人
* 入库时间
* 生产日期
* 写入时间
* 读取标志,0未读取1已读取
* 读取时间
*/ */
@Data @Data
public class MesSemiProductionInfoInDto { public class MesSemiProductionInfoInDto {

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

@ -31,8 +31,17 @@ import lombok.Data;
@Data @Data
public class MesUnusedDto { public class MesUnusedDto {
private String MSGID; private String MSGID;
/**
* 订单号
*/
private String FORDER_NO; private String FORDER_NO;
/**
* 压机计划号
*/
private String PWORKSCHE_ID; private String PWORKSCHE_ID;
/**
* 日计划号
*/
private String FSCHEDULE_ID; private String FSCHEDULE_ID;
private String FPRODUCT_MATERIAL_ID; private String FPRODUCT_MATERIAL_ID;
private String FPRODUCT_MATERIAL_NAME; private String FPRODUCT_MATERIAL_NAME;

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

@ -171,6 +171,7 @@ public class WmsToMesServiceImpl implements WmsToMesService {
MesSemiProductionInfoInDto semiProductionInfoInDto = new MesSemiProductionInfoInDto(); MesSemiProductionInfoInDto semiProductionInfoInDto = new MesSemiProductionInfoInDto();
semiProductionInfoInDto.setMSGID(IdUtil.getSnowflake(1, 1).nextIdStr()); semiProductionInfoInDto.setMSGID(IdUtil.getSnowflake(1, 1).nextIdStr());
semiProductionInfoInDto.setFORDER_NO(mesWorkOrderDto.getFORDER_NO()); semiProductionInfoInDto.setFORDER_NO(mesWorkOrderDto.getFORDER_NO());
semiProductionInfoInDto.setPWORKSCHE_ID(mesWorkOrderDto.getPWORKSCHE_ID());
semiProductionInfoInDto.setPRESSUNIT(mesWorkOrderDto.getPRESSUNIT()); semiProductionInfoInDto.setPRESSUNIT(mesWorkOrderDto.getPRESSUNIT());
semiProductionInfoInDto.setFSCHEDULE_ID(mesWorkOrderDto.getFSCHEDULE_ID()); semiProductionInfoInDto.setFSCHEDULE_ID(mesWorkOrderDto.getFSCHEDULE_ID());
semiProductionInfoInDto.setFPRODUCT_MATERIAL_ID(mesWorkOrderDto.getFPRODUCT_MATERIAL_ID()); semiProductionInfoInDto.setFPRODUCT_MATERIAL_ID(mesWorkOrderDto.getFPRODUCT_MATERIAL_ID());
@ -187,7 +188,7 @@ public class WmsToMesServiceImpl implements WmsToMesService {
semiProductionInfoInDto.setPRODATE(workorder.getProduce_date()); semiProductionInfoInDto.setPRODATE(workorder.getProduce_date());
semiProductionInfoInDto.setCREATE_TM(DateUtil.now()); semiProductionInfoInDto.setCREATE_TM(DateUtil.now());
semiProductionInfoInDto.setOP_FLAG(GeneralDefinition.NO); semiProductionInfoInDto.setOP_FLAG(GeneralDefinition.NO);
log.debug("半成品入库数据:{}", semiProductionInfoInDto);
// 插入mes数据库 // 插入mes数据库
try { try {
mesRequestMapper.insertSemiProductInfo(semiProductionInfoInDto); mesRequestMapper.insertSemiProductInfo(semiProductionInfoInDto);
@ -260,7 +261,7 @@ public class WmsToMesServiceImpl implements WmsToMesService {
gdyMaterialInDto.setFPRODUCT_MATERIAL_ID(mesWorkOrderDto.getFPRODUCT_MATERIAL_ID()); gdyMaterialInDto.setFPRODUCT_MATERIAL_ID(mesWorkOrderDto.getFPRODUCT_MATERIAL_ID());
gdyMaterialInDto.setFPRODUCT_MATERIAL_NAME(mesWorkOrderDto.getFPRODUCT_MATERIAL_NAME()); gdyMaterialInDto.setFPRODUCT_MATERIAL_NAME(mesWorkOrderDto.getFPRODUCT_MATERIAL_NAME());
gdyMaterialInDto.setFMATSPEC(mesWorkOrderDto.getFMATSPEC()); gdyMaterialInDto.setFMATSPEC(mesWorkOrderDto.getFMATSPEC());
gdyMaterialInDto.setFMATMODE(mesWorkOrderDto.getFMATMODEL()); gdyMaterialInDto.setFMATMODEL(mesWorkOrderDto.getFMATMODEL());
gdyMaterialInDto.setBATCHNO(mesWorkOrderDto.getBATCHNO()); gdyMaterialInDto.setBATCHNO(mesWorkOrderDto.getBATCHNO());
gdyMaterialInDto.setPRESSUNIT(mesWorkOrderDto.getPRESSUNIT()); gdyMaterialInDto.setPRESSUNIT(mesWorkOrderDto.getPRESSUNIT());
gdyMaterialInDto.setPRO_NUM(String.valueOf(vehiclematerialgroup.getMaterial_qty())); gdyMaterialInDto.setPRO_NUM(String.valueOf(vehiclematerialgroup.getMaterial_qty()));
@ -294,14 +295,14 @@ 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);
log.debug("工单转换数据:{}", mesWorkOrderDto);
MesGdyMaterialOutDto gdyMaterialOutDto = new MesGdyMaterialOutDto(); MesGdyMaterialOutDto gdyMaterialOutDto = new MesGdyMaterialOutDto();
gdyMaterialOutDto.setMSGID(IdUtil.getSnowflake(1, 1).nextIdStr()); gdyMaterialOutDto.setMSGID(IdUtil.getSnowflake(1, 1).nextIdStr());
gdyMaterialOutDto.setTRAY_NO(vehiclematerialgroup.getVehicle_code()); gdyMaterialOutDto.setTRAY_NO(vehiclematerialgroup.getVehicle_code());
gdyMaterialOutDto.setFPRODUCT_MATERIAL_ID(mesWorkOrderDto.getFPRODUCT_MATERIAL_ID()); gdyMaterialOutDto.setFPRODUCT_MATERIAL_ID(mesWorkOrderDto.getFPRODUCT_MATERIAL_ID());
gdyMaterialOutDto.setFPRODUCT_MATERIAL_NAME(mesWorkOrderDto.getFPRODUCT_MATERIAL_NAME()); gdyMaterialOutDto.setFPRODUCT_MATERIAL_NAME(mesWorkOrderDto.getFPRODUCT_MATERIAL_NAME());
gdyMaterialOutDto.setFMATSPEC(mesWorkOrderDto.getFMATSPEC()); gdyMaterialOutDto.setFMATSPEC(mesWorkOrderDto.getFMATSPEC());
gdyMaterialOutDto.setFMATMODEL(mesWorkOrderDto.getFMATMODEL()); 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_SUBNUM(String.valueOf(vehiclematerialgroup.getMaterial_qty()));
@ -343,26 +344,29 @@ public class WmsToMesServiceImpl implements WmsToMesService {
@Override @Override
@Async @Async
public void reportPressUnusedMaterial(PdmBdWorkorder orderObj) { public void reportPressUnusedMaterial(PdmBdWorkorder orderObj) {
if (orderObj.getRegion_code().equals("FJ")) {
return; // 分拣不需要
}
// 获取统计数量 // 获取统计数量
int number = mesRequestMapper.countFPNumber(orderObj.getWorkorder_code(), orderObj.getPoint_code()); int number = mesRequestMapper.countFPNumber(orderObj.getWorkorder_code(), orderObj.getPoint_code());
MdBaseMaterial material = mdBaseMaterialService.getById(orderObj.getMaterial_id()); String extData = orderObj.getExt_data();
SchBasePoint basePoint = pointService.getById(orderObj.getPoint_code()); MesWorkOrderDto mesWorkOrderDto = JSON.parseObject(extData, MesWorkOrderDto.class);
// 设置字段值 // 设置字段值
MesUnusedDto mesUnusedDto = new MesUnusedDto(); MesUnusedDto mesUnusedDto = new MesUnusedDto();
mesUnusedDto.setMSGID(IdUtil.getSnowflake(1, 1).nextIdStr()); mesUnusedDto.setMSGID(IdUtil.getSnowflake(1, 1).nextIdStr());
mesUnusedDto.setFORDER_NO(orderObj.getProduction_order()); mesUnusedDto.setFORDER_NO(mesWorkOrderDto.getFORDER_NO());
mesUnusedDto.setPWORKSCHE_ID(orderObj.getWorkshop_code()); mesUnusedDto.setPWORKSCHE_ID(mesWorkOrderDto.getPWORKSCHE_ID());
mesUnusedDto.setFPRODUCT_MATERIAL_ID(orderObj.getMaterial_code()); mesUnusedDto.setFSCHEDULE_ID(mesWorkOrderDto.getFSCHEDULE_ID());
mesUnusedDto.setFPRODUCT_MATERIAL_NAME(orderObj.getMaterial_name()); mesUnusedDto.setFPRODUCT_MATERIAL_ID(mesWorkOrderDto.getFPRODUCT_MATERIAL_ID());
mesUnusedDto.setFMATSPEC(material.getMaterial_spec()); mesUnusedDto.setFPRODUCT_MATERIAL_NAME(mesWorkOrderDto.getFPRODUCT_MATERIAL_NAME());
mesUnusedDto.setFMATMODEL(material.getMaterial_model()); mesUnusedDto.setFMATSPEC(mesWorkOrderDto.getFMATSPEC());
mesUnusedDto.setBATCHNO(orderObj.getBatch_no()); mesUnusedDto.setFMATMODEL(mesWorkOrderDto.getFMATMODEL());
mesUnusedDto.setPRESSUNIT(basePoint.getExt_point_code()); mesUnusedDto.setBATCHNO(mesWorkOrderDto.getBATCHNO());
mesUnusedDto.setFTEAM(orderObj.getTeam()); mesUnusedDto.setPRESSUNIT(mesWorkOrderDto.getPRESSUNIT());
mesUnusedDto.setFTEAM(mesWorkOrderDto.getFTEAM());
mesUnusedDto.setFPSUBNUM(String.valueOf(number)); mesUnusedDto.setFPSUBNUM(String.valueOf(number));
mesUnusedDto.setFP_SUBUNIT("块"); mesUnusedDto.setFP_SUBUNIT("块");
mesUnusedDto.setPRODATE(orderObj.getProduce_date()); mesUnusedDto.setPRODATE(mesWorkOrderDto.getFPRODUCT_DATE());
mesUnusedDto.setCREATE_TM(DateUtil.now()); mesUnusedDto.setCREATE_TM(DateUtil.now());
mesUnusedDto.setOP_FLAG(GeneralDefinition.NO); mesUnusedDto.setOP_FLAG(GeneralDefinition.NO);

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

@ -188,7 +188,8 @@ public class YZQKTask extends AbstractTask {
// 起点清空 // 起点清空
if (ObjectUtil.isNotEmpty(startPointObj)) { if (ObjectUtil.isNotEmpty(startPointObj)) {
PointUtils.setUpdateByType(startPointObj, taskFinishedType); PointUtils.setUpdateByType(startPointObj, taskFinishedType);
PointUtils.clearPoint(startPointObj); startPointObj.setIng_task_code("");
pointService.updateById(startPointObj);
endPointObj.setPoint_status(PointStatusEnum.EMPTY_VEHICLE.getCode()); endPointObj.setPoint_status(PointStatusEnum.EMPTY_VEHICLE.getCode());
endPointObj.setVehicle_type(GeneralDefinition.STEEL_TRAY); endPointObj.setVehicle_type(GeneralDefinition.STEEL_TRAY);
endPointObj.setVehicle_qty(1); endPointObj.setVehicle_qty(1);

52
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/StringHandler.java

@ -0,0 +1,52 @@
package org.nl.wms.util;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONArray;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.MappedJdbcTypes;
import org.apache.ibatis.type.MappedTypes;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* @author ZZQ
* @Date 2021/6/24 10:57 上午
* 为空则返回-
*/
@MappedTypes({JSONArray.class})
@MappedJdbcTypes({JdbcType.VARCHAR})
public class StringHandler extends BaseTypeHandler<String> {
@Override
public void setParameter(PreparedStatement ps, int i, String parameter, JdbcType jdbcType) throws SQLException {
if (ObjectUtil.isEmpty(parameter)) {
parameter = "-";
}
super.setParameter(ps, i, parameter, jdbcType);
}
@Override
public void setNonNullParameter(PreparedStatement preparedStatement, int i, String objects, JdbcType jdbcType) throws SQLException {
preparedStatement.setString(i, objects);
}
@Override
public String getNullableResult(ResultSet resultSet, String s) throws SQLException {
return resultSet.getString(s);
}
@Override
public String getNullableResult(ResultSet resultSet, int i) throws SQLException {
return resultSet.getString(i);
}
@Override
public String getNullableResult(CallableStatement callableStatement, int i) throws SQLException {
return callableStatement.getString(i);
}
}

2
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/TreePrinter.java

@ -10,7 +10,7 @@ import java.io.File;
public class TreePrinter { public class TreePrinter {
public static void main(String[] args) { public static void main(String[] args) {
// 指定文件夹的路径 // 指定文件夹的路径
String folderPath = "D:\\Code\\Work\\rl_mg\\acs\\nladmin-system\\src\\main\\java\\org\\nl\\acs\\device_driver"; String folderPath = "D:\\Code\\Work\\lanzhouhailiang_two\\lms\\nladmin-ui\\src\\i18n";
// 调用递归方法获取文件树并打印 // 调用递归方法获取文件树并打印
File folder = new File(folderPath); File folder = new File(folderPath);

Loading…
Cancel
Save