日志记录转移到通用模块、每日生产状态删减材料名称字段

master
yangwl 3 years ago
parent 18c043f11b
commit 8b8d038596

@ -459,7 +459,7 @@
zabd.DUTY_CAUSE_DESCRIPTION DUTY_CAUSE_DESCRIPTION,zabd.BEFORE_MEASURE BEFORE_MEASURE,
CASE WHEN zabd.ABNORMAL_METHOD = 'X' THEN '线下换料'
WHEN zabd.ABNORMAL_METHOD = 'S' THEN '试装'
WHEN zabd.ABNORMAL_METHOD = 'R' THEN '让步放'
WHEN zabd.ABNORMAL_METHOD = 'R' THEN '让步放'
WHEN zabd.ABNORMAL_METHOD = 'C' THEN '报废'
WHEN zabd.ABNORMAL_METHOD = 'P' THEN '配作'
WHEN zabd.ABNORMAL_METHOD = 'F' THEN '返修'

@ -0,0 +1,19 @@
package com.foreverwin.mesnac.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.foreverwin.mesnac.common.model.IntegrationLog;
import org.springframework.stereotype.Repository;
/**
* <p>
* Mapper
* </p>
*
* @author Leon.L
* @since 2021-06-16
*/
@Repository
public interface IntegrationLogMapper extends BaseMapper<IntegrationLog> {
}

@ -0,0 +1,285 @@
package com.foreverwin.mesnac.common.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author Leon.L
* @since 2021-06-16
*/
@TableName("Z_INTEGRATION_LOG")
public class IntegrationLog extends Model<IntegrationLog> {
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "HANDLE", type = IdType.INPUT)
private String handle;
/**
*
*/
@TableField("SITE")
private String site;
/**
* ITEM/SHOP_ORDER/ROUTER/BOM/BJOB/
*/
@TableField("INTEGRATION_TYPE")
private String integrationType;
/**
* REQUEST/RESPONSE/
*/
@TableField("CATEGORY")
private String category;
/**
* ERP/DNC/CAPP
*/
@TableField("INTEGRATION_WAY")
private String integrationWay;
/**
*
*/
@TableField("INTEGRATION_METHOD")
private String integrationMethod;
/**
* handle
*/
@TableField("HANDLE_OBJ")
private String handleObj;
/**
* SFC
*/
@TableField("SFC_BO")
private String sfcBo;
/**
*
*/
@TableField("PARAM")
private String param;
/**
* S/E/
*/
@TableField("STATUS")
private String status;
/**
*
*/
@TableField("RESULT_MESSAGE")
private String resultMessage;
/**
*
*/
@TableField("TRANSACTION_ID")
private String transactionId;
/**
*
*/
@TableField("REQUEST_DATE_TIME")
private LocalDateTime requestDateTime;
/**
*
*/
@TableField("CREATED_DATE_TIME")
private LocalDateTime createdDateTime;
@TableField(exist = false)
private LocalDateTime startDateTime;
@TableField(exist = false)
private LocalDateTime endDateTime;
public String getHandle() {
return handle;
}
public void setHandle(String handle) {
this.handle = handle;
}
public String getSite() {
return site;
}
public void setSite(String site) {
this.site = site;
}
public String getIntegrationType() {
return integrationType;
}
public void setIntegrationType(String integrationType) {
this.integrationType = integrationType;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public String getIntegrationWay() {
return integrationWay;
}
public void setIntegrationWay(String integrationWay) {
this.integrationWay = integrationWay;
}
public String getIntegrationMethod() {
return integrationMethod;
}
public void setIntegrationMethod(String integrationMethod) {
this.integrationMethod = integrationMethod;
}
public String getHandleObj() {
return handleObj;
}
public void setHandleObj(String handleObj) {
this.handleObj = handleObj;
}
public String getSfcBo() {
return sfcBo;
}
public void setSfcBo(String sfcBo) {
this.sfcBo = sfcBo;
}
public String getParam() {
return param;
}
public void setParam(String param) {
this.param = param;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getResultMessage() {
return resultMessage;
}
public void setResultMessage(String resultMessage) {
this.resultMessage = resultMessage;
}
public String getTransactionId() {
return transactionId;
}
public void setTransactionId(String transactionId) {
this.transactionId = transactionId;
}
public LocalDateTime getRequestDateTime() {
return requestDateTime;
}
public void setRequestDateTime(LocalDateTime requestDateTime) {
this.requestDateTime = requestDateTime;
}
public LocalDateTime getCreatedDateTime() {
return createdDateTime;
}
public void setCreatedDateTime(LocalDateTime createdDateTime) {
this.createdDateTime = createdDateTime;
}
public LocalDateTime getStartDateTime() {
return startDateTime;
}
public void setStartDateTime(LocalDateTime startDateTime) {
this.startDateTime = startDateTime;
}
public LocalDateTime getEndDateTime() {
return endDateTime;
}
public void setEndDateTime(LocalDateTime endDateTime) {
this.endDateTime = endDateTime;
}
public static final String HANDLE = "HANDLE";
public static final String SITE = "SITE";
public static final String INTEGRATION_TYPE = "INTEGRATION_TYPE";
public static final String CATEGORY = "CATEGORY";
public static final String INTEGRATION_WAY = "INTEGRATION_WAY";
public static final String INTEGRATION_METHOD = "INTEGRATION_METHOD";
public static final String HANDLE_OBJ = "HANDLE_OBJ";
public static final String SFC_BO = "SFC_BO";
public static final String PARAM = "PARAM";
public static final String STATUS = "STATUS";
public static final String RESULT_MESSAGE = "RESULT_MESSAGE";
public static final String TRANSACTION_ID = "TRANSACTION_ID";
public static final String REQUEST_DATE_TIME = "REQUEST_DATE_TIME";
public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME";
@Override
protected Serializable pkVal() {
return this.handle;
}
@Override
public String toString() {
return "IntegrationLog{" +
"handle = " + handle +
", site = " + site +
", integrationType = " + integrationType +
", category = " + category +
", integrationWay = " + integrationWay +
", integrationMethod = " + integrationMethod +
", handleObj = " + handleObj +
", sfcBo = " + sfcBo +
", param = " + param +
", status = " + status +
", resultMessage = " + resultMessage +
", transactionId = " + transactionId +
", requestDateTime = " + requestDateTime +
", createdDateTime = " + createdDateTime +
"}";
}
}

@ -0,0 +1,23 @@
package com.foreverwin.mesnac.common.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.foreverwin.mesnac.common.model.IntegrationLog;
/**
* <p>
*
* </p>
*
* @author Leon.L
* @since 2021-06-16
*/
public interface IntegrationLogService extends IService<IntegrationLog> {
void saveIntegrationLog(IntegrationLog integrationLog);
void updateIntegrationLog(IntegrationLog integrationLog);
String redoSend(String handle);
}

@ -0,0 +1,99 @@
package com.foreverwin.mesnac.common.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.foreverwin.mesnac.common.erp.ZprodordconfStruIn;
import com.foreverwin.mesnac.common.erp.ZprodordconfStruOut;
import com.foreverwin.mesnac.common.erp.holders.TableOfZprodordconfStruInHolder;
import com.foreverwin.mesnac.common.erp.holders.TableOfZprodordconfStruOutHolder;
import com.foreverwin.mesnac.common.mapper.IntegrationLogMapper;
import com.foreverwin.mesnac.common.model.IntegrationLog;
import com.foreverwin.mesnac.common.service.IntegrationLogService;
import com.foreverwin.mesnac.common.util.ERPAPI;
import com.foreverwin.modular.core.exception.BaseException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.rmi.RemoteException;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author Leon.L
* @since 2021-06-16
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class IntegrationLogServiceImpl extends ServiceImpl<IntegrationLogMapper, IntegrationLog> implements IntegrationLogService {
@Autowired
private IntegrationLogMapper integrationLogMapper;
@Override
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void saveIntegrationLog(IntegrationLog integrationLog) {
integrationLogMapper.insert(integrationLog);
}
@Override
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void updateIntegrationLog(IntegrationLog integrationLog) {
integrationLogMapper.updateById(integrationLog);
}
@Override
public String redoSend(String handle) {
IntegrationLog byId = getById(handle);
if (byId==null||!byId.getStatus().equals("R")){
throw new BaseException("状态已变更,请刷新");
}
String param = byId.getParam();
JSONObject jsonObject = JSONObject.parseObject(param);
ZprodordconfStruIn struIn = JSON.toJavaObject(jsonObject, ZprodordconfStruIn.class);
ZprodordconfStruIn[] ins = new ZprodordconfStruIn[1];
ins[0] = struIn;
TableOfZprodordconfStruInHolder inHolder = new TableOfZprodordconfStruInHolder(ins);
ZprodordconfStruOut[] outs = new ZprodordconfStruOut[1];
ZprodordconfStruOut struOut = new ZprodordconfStruOut();
struOut.setAufnr(ins[0].getAufnr());
struOut.setVornr(ins[0].getVornr());
struOut.setAueru("1");
struOut.setLmnga(ins[0].getLmnga());
struOut.setRet("");
struOut.setMsg("");
outs[0] = struOut;
TableOfZprodordconfStruOutHolder outHolder = new TableOfZprodordconfStruOutHolder(outs);
String message = "";
String status = "";
try {
ERPAPI.erpWebService().zmesProdordconf(inHolder, outHolder);
status = outHolder.value[1].getRet();
message = outHolder.value[1].getMsg();
if (!status.equals("S")) {
byId.setResultMessage("ERP接口返回错误消息:" + message);
updateById(byId);
return "ERP接口返回错误消息:" + message;
}
byId.setStatus(status);
byId.setResultMessage(message);
updateById(byId);
} catch (RemoteException e) {
byId.setRequestDateTime(LocalDateTime.now());
byId.setResultMessage("ERP接口错误" + e.getMessage());
updateById(byId);
return e.getMessage();
}
return null;
}
}

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.foreverwin.mesnac.integration.mapper.IntegrationLogMapper">
<mapper namespace="com.foreverwin.mesnac.common.mapper.IntegrationLogMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.foreverwin.mesnac.integration.model.IntegrationLog">
<resultMap id="BaseResultMap" type="com.foreverwin.mesnac.common.model.IntegrationLog">
<id column="HANDLE" property="handle" />
<result column="SITE" property="site" />
<result column="INTEGRATION_TYPE" property="integrationType" />
@ -265,7 +265,7 @@
</if>
</select>
<insert id="insert" parameterType="com.foreverwin.mesnac.integration.model.IntegrationLog">
<insert id="insert" parameterType="com.foreverwin.mesnac.common.model.IntegrationLog">
INSERT INTO Z_INTEGRATION_LOG
<trim prefix="(" suffix=")" suffixOverrides=",">
HANDLE,
@ -301,7 +301,7 @@
</trim>
</insert>
<insert id="insertAllColumn" parameterType="com.foreverwin.mesnac.integration.model.IntegrationLog">
<insert id="insertAllColumn" parameterType="com.foreverwin.mesnac.common.model.IntegrationLog">
INSERT INTO Z_INTEGRATION_LOG
<trim prefix="(" suffix=")" suffixOverrides=",">
<include refid="Base_Column_List"></include>

@ -353,13 +353,9 @@
CASE WHEN ZSD.ACTUAL_COMPLETE_DATE IS NOT NULL THEN ROUND(TO_NUMBER(ZSD.ACTUAL_COMPLETE_DATE -ZSD.PLANNED_COMP_DATE))
ELSE ROUND(TO_NUMBER(sysdate -ZSD.PLANNED_COMP_DATE)) END TARDINESS_TIME,CASE WHEN TO_NUMBER(zsd.DISPATCH_SEQ)=1 THEN NULL
WHEN SS.STEP_SEQUENCE>TO_NUMBER(zsd.DISPATCH_SEQ)-1 THEN '已完成'
ELSE '未完成' END LAST_OPERATION_STATUS,PREZSD.EMPLOYEE_DESCRIPTION,CT.DESCRIPTION COMPONENT_DESCRIPTION,ZSD.BLANKING_SIZE
ELSE '未完成' END LAST_OPERATION_STATUS,PREZSD.EMPLOYEE_DESCRIPTION,ZSD.BLANKING_SIZE
FROM Z_SFC_DISPATCH ZSD
INNER JOIN SFC SC ON SC.SITE = ZSD.SITE AND SC.SFC = ZSD.SFC
INNER JOIN SFC_BOM SB ON SB.SFC_BO = SC.HANDLE
INNER JOIN BOM_COMPONENT BC ON BC.BOM_BO = SB.BOM_BO
LEFT JOIN ITEM CP ON CP.HANDLE = BC.COMPONENT_GBO
LEFT JOIN ITEM_T CT ON CT.ITEM_BO = CP.HANDLE AND CT.LOCALE = 'zh'
LEFT JOIN Z_SFC_DISPATCH PREZSD
ON zsd.SFC=PREZSD.SFC AND PREZSD.DISPATCH_SEQ=TO_NUMBER(zsd.DISPATCH_SEQ)-1 AND zsd.ROUTER_BO=PREZSD.ROUTER_BO
LEFT JOIN SHOP_ORDER SO ON SO.SHOP_ORDER = ZSD.SHOP_ORDER
@ -448,7 +444,7 @@
AND ZSD.PLANNED_COMP_DATE &lt;= TO_DATE(#{startToDate}|| '15:59:59', 'YYYY-MM-DD HH24:MI:SS')
</if>
<if test="actualStartFromDate != null and actualStartFromDate != ''" >
AND ZSD.ACTUAL_START_DATE >= TO_DATE(#{actualStartFromDate}, 'YYYY-MM-DD') - 8/24
AND ZSD.ACTUAL_COMPLETE_DATE >= TO_DATE(#{actualStartFromDate}, 'YYYY-MM-DD') - 8/24
</if>
<if test="actualStartToDate != null and actualStartToDate != ''" >
AND ZSD.ACTUAL_COMPLETE_DATE &lt;= TO_DATE(#{actualStartToDate}|| '15:59:59', 'YYYY-MM-DD HH24:MI:SS')

@ -3,12 +3,16 @@ package com.foreverwin.mesnac.dispatch.service.impl;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.foreverwin.mesnac.common.constant.Constants;
import com.foreverwin.mesnac.common.constant.IntegrationTypeConstant;
import com.foreverwin.mesnac.common.dto.SfcDispatchDto;
import com.foreverwin.mesnac.common.enums.DispatchStatusEnum;
import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.common.ftp.CappFtpClient;
import com.foreverwin.mesnac.common.model.IntegrationLog;
import com.foreverwin.mesnac.common.service.IntegrationLogService;
import com.foreverwin.mesnac.common.service.ProdReadyTaskService;
import com.foreverwin.mesnac.common.service.SfcDispatchCommonService;
import com.foreverwin.mesnac.common.util.*;
@ -43,6 +47,7 @@ import java.io.InputStream;
import java.math.BigDecimal;
import java.net.InetAddress;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
@ -88,6 +93,8 @@ public class SfcDispatchServiceImpl extends ServiceImpl<SfcDispatchMapper, SfcDi
private ProductionCalendarService productionCalendarService;
@Autowired
private SfcDispatchEmployeeService sfcDispatchEmployeeService;
@Autowired
private IntegrationLogService integrationLogService;
private Logger logger = LoggerFactory.getLogger(SfcDispatchServiceImpl.class);
@Override
@ -603,7 +610,19 @@ public class SfcDispatchServiceImpl extends ServiceImpl<SfcDispatchMapper, SfcDi
}
if (employees==null){
logger.info("工单号:"+sfcDispatchDto.getShopOrder()+"操作人员工号:"+employees+"操作人员名字:"+sfcDispatchDto.getEmployeeDescription());
IntegrationLog log = new IntegrationLog();
//记录接口日志
log.setHandle(UUID.randomUUID().toString());
log.setSite(CommonMethods.getSite());
log.setIntegrationType("DISPATCH");
log.setCategory("REQUEST");
log.setIntegrationWay("DIS");
log.setIntegrationMethod("sfcDispatchService.sfcDispatch");
log.setParam(JSONObject.toJSONString(sfcDispatchDto));
log.setTransactionId("");
log.setRequestDateTime(LocalDateTime.now());
log.setCreatedDateTime(LocalDateTime.now());
integrationLogService.saveIntegrationLog(log);
}
//校验操作者与资源是否匹配

@ -893,8 +893,8 @@
SD.STEP_ID, SD.OPERATION, OT.DESCRIPTION, SD.RESOURCE_TYPE, SD.RESRCE, SD.EMPLOYEE, SD.EMPLOYEE,
SD.DISPATCH_QTY, SD.PROD_HOURS, RS.DESCRIPTION,
SD.DISPATCH_STATUS, SD.DISPATCH_QTY, SD.PLANNED_START_DATE, SD.PLANNED_COMP_DATE, SD.WORK_CENTER,
SD.IS_DISPATCH, SD.EMPLOYEE_DESCRIPTION,
SD.ACTUAL_START_DATE, SD.ACTUAL_COMPLETE_DATE, SD.REMARK, SD.DISPATCH_SEQ, SD.EARLIEST_START_DATE,
SD.ACTUAL_START_DATE, SD.ACTUAL_COMPLETE_DATE, SD.REMARK, SD. SD.IS_DISPATCH, SD.EMPLOYEE_DESCRIPTION,
DISPATCH_SEQ, SD.EARLIEST_START_DATE,
SD.LATEST_END_DATE,
CC.VALUE, SD.TURN_OPERATION,SD.IS_UPDATE_ZJH_COMPLETE, SD.BLANKING_SIZE, WR.WORK_CENTER ,SD.OTHER_2
) WIP

@ -1,8 +1,9 @@
package com.foreverwin.mesnac.integration.controller;
import com.foreverwin.mesnac.integration.model.IntegrationLog;
import com.foreverwin.mesnac.integration.service.IntegrationLogService;
import com.foreverwin.mesnac.common.model.IntegrationLog;
import com.foreverwin.mesnac.common.service.IntegrationLogService;
import com.foreverwin.modular.core.util.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@ -1,18 +1,18 @@
package com.foreverwin.mesnac.integration.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.foreverwin.mesnac.integration.model.IntegrationLog;
import org.springframework.stereotype.Repository;
/**
* <p>
* Mapper
* </p>
*
* @author Leon.L
* @since 2021-06-16
*/
@Repository
public interface IntegrationLogMapper extends BaseMapper<IntegrationLog> {
}
//package com.foreverwin.mesnac.integration.mapper;
//
//import com.baomidou.mybatisplus.core.mapper.BaseMapper;
//import com.foreverwin.mesnac.integration.model.IntegrationLog;
//import org.springframework.stereotype.Repository;
//
///**
// * <p>
// * Mapper 接口
// * </p>
// *
// * @author Leon.L
// * @since 2021-06-16
// */
//@Repository
//public interface IntegrationLogMapper extends BaseMapper<IntegrationLog> {
//
//}

@ -1,285 +1,285 @@
package com.foreverwin.mesnac.integration.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author Leon.L
* @since 2021-06-16
*/
@TableName("Z_INTEGRATION_LOG")
public class IntegrationLog extends Model<IntegrationLog> {
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "HANDLE", type = IdType.INPUT)
private String handle;
/**
*
*/
@TableField("SITE")
private String site;
/**
* ITEM/SHOP_ORDER/ROUTER/BOM/BJOB/
*/
@TableField("INTEGRATION_TYPE")
private String integrationType;
/**
* REQUEST/RESPONSE/
*/
@TableField("CATEGORY")
private String category;
/**
* ERP/DNC/CAPP
*/
@TableField("INTEGRATION_WAY")
private String integrationWay;
/**
*
*/
@TableField("INTEGRATION_METHOD")
private String integrationMethod;
/**
* handle
*/
@TableField("HANDLE_OBJ")
private String handleObj;
/**
* SFC
*/
@TableField("SFC_BO")
private String sfcBo;
/**
*
*/
@TableField("PARAM")
private String param;
/**
* S/E/
*/
@TableField("STATUS")
private String status;
/**
*
*/
@TableField("RESULT_MESSAGE")
private String resultMessage;
/**
*
*/
@TableField("TRANSACTION_ID")
private String transactionId;
/**
*
*/
@TableField("REQUEST_DATE_TIME")
private LocalDateTime requestDateTime;
/**
*
*/
@TableField("CREATED_DATE_TIME")
private LocalDateTime createdDateTime;
@TableField(exist = false)
private LocalDateTime startDateTime;
@TableField(exist = false)
private LocalDateTime endDateTime;
public String getHandle() {
return handle;
}
public void setHandle(String handle) {
this.handle = handle;
}
public String getSite() {
return site;
}
public void setSite(String site) {
this.site = site;
}
public String getIntegrationType() {
return integrationType;
}
public void setIntegrationType(String integrationType) {
this.integrationType = integrationType;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public String getIntegrationWay() {
return integrationWay;
}
public void setIntegrationWay(String integrationWay) {
this.integrationWay = integrationWay;
}
public String getIntegrationMethod() {
return integrationMethod;
}
public void setIntegrationMethod(String integrationMethod) {
this.integrationMethod = integrationMethod;
}
public String getHandleObj() {
return handleObj;
}
public void setHandleObj(String handleObj) {
this.handleObj = handleObj;
}
public String getSfcBo() {
return sfcBo;
}
public void setSfcBo(String sfcBo) {
this.sfcBo = sfcBo;
}
public String getParam() {
return param;
}
public void setParam(String param) {
this.param = param;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getResultMessage() {
return resultMessage;
}
public void setResultMessage(String resultMessage) {
this.resultMessage = resultMessage;
}
public String getTransactionId() {
return transactionId;
}
public void setTransactionId(String transactionId) {
this.transactionId = transactionId;
}
public LocalDateTime getRequestDateTime() {
return requestDateTime;
}
public void setRequestDateTime(LocalDateTime requestDateTime) {
this.requestDateTime = requestDateTime;
}
public LocalDateTime getCreatedDateTime() {
return createdDateTime;
}
public void setCreatedDateTime(LocalDateTime createdDateTime) {
this.createdDateTime = createdDateTime;
}
public LocalDateTime getStartDateTime() {
return startDateTime;
}
public void setStartDateTime(LocalDateTime startDateTime) {
this.startDateTime = startDateTime;
}
public LocalDateTime getEndDateTime() {
return endDateTime;
}
public void setEndDateTime(LocalDateTime endDateTime) {
this.endDateTime = endDateTime;
}
public static final String HANDLE = "HANDLE";
public static final String SITE = "SITE";
public static final String INTEGRATION_TYPE = "INTEGRATION_TYPE";
public static final String CATEGORY = "CATEGORY";
public static final String INTEGRATION_WAY = "INTEGRATION_WAY";
public static final String INTEGRATION_METHOD = "INTEGRATION_METHOD";
public static final String HANDLE_OBJ = "HANDLE_OBJ";
public static final String SFC_BO = "SFC_BO";
public static final String PARAM = "PARAM";
public static final String STATUS = "STATUS";
public static final String RESULT_MESSAGE = "RESULT_MESSAGE";
public static final String TRANSACTION_ID = "TRANSACTION_ID";
public static final String REQUEST_DATE_TIME = "REQUEST_DATE_TIME";
public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME";
@Override
protected Serializable pkVal() {
return this.handle;
}
@Override
public String toString() {
return "IntegrationLog{" +
"handle = " + handle +
", site = " + site +
", integrationType = " + integrationType +
", category = " + category +
", integrationWay = " + integrationWay +
", integrationMethod = " + integrationMethod +
", handleObj = " + handleObj +
", sfcBo = " + sfcBo +
", param = " + param +
", status = " + status +
", resultMessage = " + resultMessage +
", transactionId = " + transactionId +
", requestDateTime = " + requestDateTime +
", createdDateTime = " + createdDateTime +
"}";
}
}
//package com.foreverwin.mesnac.integration.model;
//
//import com.baomidou.mybatisplus.annotation.IdType;
//import com.baomidou.mybatisplus.annotation.TableField;
//import com.baomidou.mybatisplus.annotation.TableId;
//import com.baomidou.mybatisplus.annotation.TableName;
//import com.baomidou.mybatisplus.extension.activerecord.Model;
//
//import java.io.Serializable;
//import java.time.LocalDateTime;
//
///**
// * <p>
// *
// * </p>
// *
// * @author Leon.L
// * @since 2021-06-16
// */
//
//@TableName("Z_INTEGRATION_LOG")
//public class IntegrationLog extends Model<IntegrationLog> {
//
// private static final long serialVersionUID = 1L;
//
// /**
// * 主键
// */
// @TableId(value = "HANDLE", type = IdType.INPUT)
// private String handle;
// /**
// * 站点
// */
// @TableField("SITE")
// private String site;
// /**
// * ITEM/物料SHOP_ORDER/工单ROUTER/工艺BOM/物料清单BJOB/报工
// */
// @TableField("INTEGRATION_TYPE")
// private String integrationType;
// /**
// * REQUEST/请求RESPONSE/回传
// */
// @TableField("CATEGORY")
// private String category;
// /**
// * ERP/DNC/CAPP
// */
// @TableField("INTEGRATION_WAY")
// private String integrationWay;
// /**
// * 接口实现方法
// */
// @TableField("INTEGRATION_METHOD")
// private String integrationMethod;
// /**
// * 接口对应主表的handle
// */
// @TableField("HANDLE_OBJ")
// private String handleObj;
// /**
// * SFC主键
// */
// @TableField("SFC_BO")
// private String sfcBo;
// /**
// * 请求参数
// */
// @TableField("PARAM")
// private String param;
// /**
// * S/成功E/失败
// */
// @TableField("STATUS")
// private String status;
// /**
// * 返回消息
// */
// @TableField("RESULT_MESSAGE")
// private String resultMessage;
// /**
// * 唯一编码
// */
// @TableField("TRANSACTION_ID")
// private String transactionId;
// /**
// * 请求时间
// */
// @TableField("REQUEST_DATE_TIME")
// private LocalDateTime requestDateTime;
// /**
// * 创建时间
// */
// @TableField("CREATED_DATE_TIME")
// private LocalDateTime createdDateTime;
//
// @TableField(exist = false)
// private LocalDateTime startDateTime;
//
// @TableField(exist = false)
// private LocalDateTime endDateTime;
//
//
// public String getHandle() {
// return handle;
// }
//
// public void setHandle(String handle) {
// this.handle = handle;
// }
//
// public String getSite() {
// return site;
// }
//
// public void setSite(String site) {
// this.site = site;
// }
//
// public String getIntegrationType() {
// return integrationType;
// }
//
// public void setIntegrationType(String integrationType) {
// this.integrationType = integrationType;
// }
//
// public String getCategory() {
// return category;
// }
//
// public void setCategory(String category) {
// this.category = category;
// }
//
// public String getIntegrationWay() {
// return integrationWay;
// }
//
// public void setIntegrationWay(String integrationWay) {
// this.integrationWay = integrationWay;
// }
//
// public String getIntegrationMethod() {
// return integrationMethod;
// }
//
// public void setIntegrationMethod(String integrationMethod) {
// this.integrationMethod = integrationMethod;
// }
//
// public String getHandleObj() {
// return handleObj;
// }
//
// public void setHandleObj(String handleObj) {
// this.handleObj = handleObj;
// }
//
// public String getSfcBo() {
// return sfcBo;
// }
//
// public void setSfcBo(String sfcBo) {
// this.sfcBo = sfcBo;
// }
//
// public String getParam() {
// return param;
// }
//
// public void setParam(String param) {
// this.param = param;
// }
//
// public String getStatus() {
// return status;
// }
//
// public void setStatus(String status) {
// this.status = status;
// }
//
// public String getResultMessage() {
// return resultMessage;
// }
//
// public void setResultMessage(String resultMessage) {
// this.resultMessage = resultMessage;
// }
//
// public String getTransactionId() {
// return transactionId;
// }
//
// public void setTransactionId(String transactionId) {
// this.transactionId = transactionId;
// }
//
// public LocalDateTime getRequestDateTime() {
// return requestDateTime;
// }
//
// public void setRequestDateTime(LocalDateTime requestDateTime) {
// this.requestDateTime = requestDateTime;
// }
//
// public LocalDateTime getCreatedDateTime() {
// return createdDateTime;
// }
//
// public void setCreatedDateTime(LocalDateTime createdDateTime) {
// this.createdDateTime = createdDateTime;
// }
//
// public LocalDateTime getStartDateTime() {
// return startDateTime;
// }
//
// public void setStartDateTime(LocalDateTime startDateTime) {
// this.startDateTime = startDateTime;
// }
//
// public LocalDateTime getEndDateTime() {
// return endDateTime;
// }
//
// public void setEndDateTime(LocalDateTime endDateTime) {
// this.endDateTime = endDateTime;
// }
//
// public static final String HANDLE = "HANDLE";
//
// public static final String SITE = "SITE";
//
// public static final String INTEGRATION_TYPE = "INTEGRATION_TYPE";
//
// public static final String CATEGORY = "CATEGORY";
//
// public static final String INTEGRATION_WAY = "INTEGRATION_WAY";
//
// public static final String INTEGRATION_METHOD = "INTEGRATION_METHOD";
//
// public static final String HANDLE_OBJ = "HANDLE_OBJ";
//
// public static final String SFC_BO = "SFC_BO";
//
// public static final String PARAM = "PARAM";
//
// public static final String STATUS = "STATUS";
//
// public static final String RESULT_MESSAGE = "RESULT_MESSAGE";
//
// public static final String TRANSACTION_ID = "TRANSACTION_ID";
//
// public static final String REQUEST_DATE_TIME = "REQUEST_DATE_TIME";
//
// public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME";
//
//
// @Override
// protected Serializable pkVal() {
// return this.handle;
// }
//
// @Override
// public String toString() {
// return "IntegrationLog{" +
// "handle = " + handle +
// ", site = " + site +
// ", integrationType = " + integrationType +
// ", category = " + category +
// ", integrationWay = " + integrationWay +
// ", integrationMethod = " + integrationMethod +
// ", handleObj = " + handleObj +
// ", sfcBo = " + sfcBo +
// ", param = " + param +
// ", status = " + status +
// ", resultMessage = " + resultMessage +
// ", transactionId = " + transactionId +
// ", requestDateTime = " + requestDateTime +
// ", createdDateTime = " + createdDateTime +
// "}";
// }
//}

@ -1,22 +1,22 @@
package com.foreverwin.mesnac.integration.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.foreverwin.mesnac.integration.model.IntegrationLog;
/**
* <p>
*
* </p>
*
* @author Leon.L
* @since 2021-06-16
*/
public interface IntegrationLogService extends IService<IntegrationLog> {
void saveIntegrationLog(IntegrationLog integrationLog);
void updateIntegrationLog(IntegrationLog integrationLog);
String redoSend(String handle);
}
//package com.foreverwin.mesnac.integration.service;
//
//import com.baomidou.mybatisplus.extension.service.IService;
//import com.foreverwin.mesnac.integration.model.IntegrationLog;
//
///**
// * <p>
// * 服务类
// * </p>
// *
// * @author Leon.L
// * @since 2021-06-16
// */
//public interface IntegrationLogService extends IService<IntegrationLog> {
//
// void saveIntegrationLog(IntegrationLog integrationLog);
//
// void updateIntegrationLog(IntegrationLog integrationLog);
//
// String redoSend(String handle);
//
//}

@ -1,15 +1,17 @@
package com.foreverwin.mesnac.integration.service.impl;
import com.foreverwin.mesnac.common.constant.IntegrationTypeConstant;
import com.foreverwin.mesnac.common.model.IntegrationLog;
import com.foreverwin.mesnac.common.service.IntegrationLogService;
import com.foreverwin.mesnac.common.util.ExceptionUtil;
import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.mesnac.integration.dto.DisRouterSyncRequest;
import com.foreverwin.mesnac.integration.dto.ItemSyncRequest;
import com.foreverwin.mesnac.integration.dto.RouterSyncRequest;
import com.foreverwin.mesnac.integration.dto.WebServiceResponse;
import com.foreverwin.mesnac.integration.model.IntegrationLog;
import com.foreverwin.mesnac.integration.service.CAPPAPIWebService;
import com.foreverwin.mesnac.integration.service.IntegrationLogService;
import com.foreverwin.mesnac.integration.service.InterfaceService;
import com.foreverwin.modular.core.exception.BusinessException;
import org.springframework.beans.factory.annotation.Autowired;

@ -1,12 +1,14 @@
package com.foreverwin.mesnac.integration.service.impl;
import com.foreverwin.mesnac.common.constant.IntegrationTypeConstant;
import com.foreverwin.mesnac.common.model.IntegrationLog;
import com.foreverwin.mesnac.common.service.IntegrationLogService;
import com.foreverwin.mesnac.common.util.ExceptionUtil;
import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.mesnac.integration.dto.*;
import com.foreverwin.mesnac.integration.model.IntegrationLog;
import com.foreverwin.mesnac.integration.service.ERPAPIWebService;
import com.foreverwin.mesnac.integration.service.IntegrationLogService;
import com.foreverwin.mesnac.integration.service.InterfaceService;
import com.foreverwin.modular.core.exception.BusinessException;
import org.slf4j.Logger;

@ -1,99 +1,99 @@
package com.foreverwin.mesnac.integration.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.foreverwin.mesnac.common.erp.ZprodordconfStruIn;
import com.foreverwin.mesnac.common.erp.ZprodordconfStruOut;
import com.foreverwin.mesnac.common.erp.holders.TableOfZprodordconfStruInHolder;
import com.foreverwin.mesnac.common.erp.holders.TableOfZprodordconfStruOutHolder;
import com.foreverwin.mesnac.common.util.ERPAPI;
import com.foreverwin.mesnac.integration.mapper.IntegrationLogMapper;
import com.foreverwin.mesnac.integration.model.IntegrationLog;
import com.foreverwin.mesnac.integration.service.IntegrationLogService;
import com.foreverwin.modular.core.exception.BaseException;
import com.foreverwin.modular.core.exception.BusinessException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.rmi.RemoteException;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author Leon.L
* @since 2021-06-16
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class IntegrationLogServiceImpl extends ServiceImpl<IntegrationLogMapper, IntegrationLog> implements IntegrationLogService {
@Autowired
private IntegrationLogMapper integrationLogMapper;
@Override
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void saveIntegrationLog(IntegrationLog integrationLog) {
integrationLogMapper.insert(integrationLog);
}
@Override
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void updateIntegrationLog(IntegrationLog integrationLog) {
integrationLogMapper.updateById(integrationLog);
}
@Override
public String redoSend(String handle) {
IntegrationLog byId = getById(handle);
if (byId==null||!byId.getStatus().equals("R")){
throw new BaseException("状态已变更,请刷新");
}
String param = byId.getParam();
JSONObject jsonObject = JSONObject.parseObject(param);
ZprodordconfStruIn struIn = JSON.toJavaObject(jsonObject, ZprodordconfStruIn.class);
ZprodordconfStruIn[] ins = new ZprodordconfStruIn[1];
ins[0] = struIn;
TableOfZprodordconfStruInHolder inHolder = new TableOfZprodordconfStruInHolder(ins);
ZprodordconfStruOut[] outs = new ZprodordconfStruOut[1];
ZprodordconfStruOut struOut = new ZprodordconfStruOut();
struOut.setAufnr(ins[0].getAufnr());
struOut.setVornr(ins[0].getVornr());
struOut.setAueru("1");
struOut.setLmnga(ins[0].getLmnga());
struOut.setRet("");
struOut.setMsg("");
outs[0] = struOut;
TableOfZprodordconfStruOutHolder outHolder = new TableOfZprodordconfStruOutHolder(outs);
String message = "";
String status = "";
try {
ERPAPI.erpWebService().zmesProdordconf(inHolder, outHolder);
status = outHolder.value[1].getRet();
message = outHolder.value[1].getMsg();
if (!status.equals("S")) {
byId.setResultMessage("ERP接口返回错误消息:" + message);
updateById(byId);
return "ERP接口返回错误消息:" + message;
}
byId.setStatus(status);
byId.setResultMessage(message);
updateById(byId);
} catch (RemoteException e) {
byId.setRequestDateTime(LocalDateTime.now());
byId.setResultMessage("ERP接口错误" + e.getMessage());
updateById(byId);
return e.getMessage();
}
return null;
}
}
//package com.foreverwin.mesnac.integration.service.impl;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONObject;
//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
//import com.foreverwin.mesnac.common.erp.ZprodordconfStruIn;
//import com.foreverwin.mesnac.common.erp.ZprodordconfStruOut;
//import com.foreverwin.mesnac.common.erp.holders.TableOfZprodordconfStruInHolder;
//import com.foreverwin.mesnac.common.erp.holders.TableOfZprodordconfStruOutHolder;
//import com.foreverwin.mesnac.common.util.ERPAPI;
//import com.foreverwin.mesnac.integration.mapper.IntegrationLogMapper;
//import com.foreverwin.mesnac.integration.model.IntegrationLog;
//import com.foreverwin.mesnac.integration.service.IntegrationLogService;
//import com.foreverwin.modular.core.exception.BaseException;
//import com.foreverwin.modular.core.exception.BusinessException;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//import org.springframework.transaction.annotation.Propagation;
//import org.springframework.transaction.annotation.Transactional;
//
//import java.rmi.RemoteException;
//import java.time.LocalDateTime;
//
///**
// * <p>
// * 服务实现类
// * </p>
// *
// * @author Leon.L
// * @since 2021-06-16
// */
//@Service
//@Transactional(rollbackFor = Exception.class)
//public class IntegrationLogServiceImpl extends ServiceImpl<IntegrationLogMapper, IntegrationLog> implements IntegrationLogService {
//
//
// @Autowired
// private IntegrationLogMapper integrationLogMapper;
//
// @Override
// @Transactional(propagation = Propagation.REQUIRES_NEW)
// public void saveIntegrationLog(IntegrationLog integrationLog) {
// integrationLogMapper.insert(integrationLog);
// }
//
// @Override
// @Transactional(propagation = Propagation.REQUIRES_NEW)
// public void updateIntegrationLog(IntegrationLog integrationLog) {
// integrationLogMapper.updateById(integrationLog);
// }
//
// @Override
// public String redoSend(String handle) {
// IntegrationLog byId = getById(handle);
// if (byId==null||!byId.getStatus().equals("R")){
// throw new BaseException("状态已变更,请刷新");
// }
// String param = byId.getParam();
// JSONObject jsonObject = JSONObject.parseObject(param);
// ZprodordconfStruIn struIn = JSON.toJavaObject(jsonObject, ZprodordconfStruIn.class);
// ZprodordconfStruIn[] ins = new ZprodordconfStruIn[1];
// ins[0] = struIn;
// TableOfZprodordconfStruInHolder inHolder = new TableOfZprodordconfStruInHolder(ins);
// ZprodordconfStruOut[] outs = new ZprodordconfStruOut[1];
// ZprodordconfStruOut struOut = new ZprodordconfStruOut();
// struOut.setAufnr(ins[0].getAufnr());
// struOut.setVornr(ins[0].getVornr());
// struOut.setAueru("1");
// struOut.setLmnga(ins[0].getLmnga());
// struOut.setRet("");
// struOut.setMsg("");
// outs[0] = struOut;
// TableOfZprodordconfStruOutHolder outHolder = new TableOfZprodordconfStruOutHolder(outs);
// String message = "";
// String status = "";
// try {
// ERPAPI.erpWebService().zmesProdordconf(inHolder, outHolder);
// status = outHolder.value[1].getRet();
// message = outHolder.value[1].getMsg();
// if (!status.equals("S")) {
// byId.setResultMessage("ERP接口返回错误消息:" + message);
// updateById(byId);
// return "ERP接口返回错误消息:" + message;
// }
// byId.setStatus(status);
// byId.setResultMessage(message);
// updateById(byId);
// } catch (RemoteException e) {
// byId.setRequestDateTime(LocalDateTime.now());
// byId.setResultMessage("ERP接口错误" + e.getMessage());
// updateById(byId);
// return e.getMessage();
// }
// return null;
//
// }
//
//
//}

@ -16,10 +16,8 @@ import com.foreverwin.mesnac.common.erp.holders.TableOfZprodordconfStruInHolder;
import com.foreverwin.mesnac.common.erp.holders.TableOfZprodordconfStruOutHolder;
import com.foreverwin.mesnac.common.model.InspectionItemDetail;
import com.foreverwin.mesnac.common.model.InspectionTask;
import com.foreverwin.mesnac.common.service.CommonService;
import com.foreverwin.mesnac.common.service.InspectionItemService;
import com.foreverwin.mesnac.common.service.InspectionTaskService;
import com.foreverwin.mesnac.common.service.SfcDispatchCommonService;
import com.foreverwin.mesnac.common.model.IntegrationLog;
import com.foreverwin.mesnac.common.service.*;
import com.foreverwin.mesnac.common.util.ERPAPI;
import com.foreverwin.mesnac.common.util.ExceptionUtil;
import com.foreverwin.mesnac.common.util.StringUtil;
@ -27,8 +25,7 @@ import com.foreverwin.mesnac.dispatch.model.SfcDispatch;
import com.foreverwin.mesnac.dispatch.model.UserResource;
import com.foreverwin.mesnac.dispatch.service.SfcDispatchService;
import com.foreverwin.mesnac.dispatch.service.UserResourceService;
import com.foreverwin.mesnac.integration.model.IntegrationLog;
import com.foreverwin.mesnac.integration.service.IntegrationLogService;
import com.foreverwin.mesnac.meapi.dto.BomComponentDto;
import com.foreverwin.mesnac.meapi.dto.SfcDto;
import com.foreverwin.mesnac.meapi.dto.WorkCenterDto;

Loading…
Cancel
Save