Merge remote-tracking branch 'origin/master'

master
赵嘉伟 4 years ago
commit e4b71c31fb

@ -0,0 +1,6 @@
package com.foreverwin.mesnac.common.constant;
public class IntegrationTypeConstant {
public static final String ITEM = "ITEM";
}

@ -38,9 +38,9 @@ mobile:
#微信服务配置
wechat:
corpId: ww1adffc974ec4f75f
corpId: wwe165c947675eca6e
agentId: 1000002
secret: D1F_QMAUm2ZS5fsFwz6k-HDRkn1HhsWWc-dQjfm4CvQ
secret: 12xgztk0Z7RqehAl6CnoGmmyD0LTJKhQOldoMm5gYhE
accessTokenUrl: https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET
postUrl: https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN

@ -54,7 +54,7 @@ mybatis-plus:
typeAliasesPackage: com.foreverwin.**.model
# 配置mapper的扫描找到所有的mapper.xml映射文件
mapperLocations: classpath*:mapper/**/*Mapper.xml
statement-lazy-load: false
statement-lazy-load: true
#dialectClass: com.foreverwin.modular.core.mybatisplus.plugins.pagination.dialects.HanaDialect
# 加载全局的配置文件
# configuration:

@ -57,16 +57,6 @@
<version>3.8</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-pool</artifactId>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>

@ -34,5 +34,10 @@
<groupId>com.foreverwin.mesnac</groupId>
<artifactId>common</artifactId>
</dependency>
<dependency>
<groupId>com.foreverwin.mesnac</groupId>
<artifactId>meapi</artifactId>
</dependency>
</dependencies>
</project>

@ -0,0 +1,19 @@
package com.foreverwin.mesnac.integration.controller;
import com.foreverwin.mesnac.integration.service.IntegrationLogService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
*
* @author Leon.L
* @since 2021-06-16
*/
@RestController
@RequestMapping("/Z-INTEGRATION-LOG")
public class IntegrationLogController {
}

@ -13,11 +13,12 @@ import org.springframework.web.bind.annotation.RestController;
public class TestController {
@Autowired
private SendMail sendMail;
@Autowired
private SendWeChat sendWeChat;
@GetMapping()
@GetMapping("/sendMail")
public R test(String to, String subject, String content) {
sendMail.sendText(to, subject, content);
return R.ok(content);

@ -0,0 +1,18 @@
package com.foreverwin.mesnac.integration.mapper;
import com.foreverwin.mesnac.integration.model.IntegrationLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
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,263 @@
package com.foreverwin.mesnac.integration.model;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.IdType;
/**
* <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;
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 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,63 @@
package com.foreverwin.mesnac.integration.model;
import com.alibaba.fastjson.annotation.JSONField;
public class WebServiceDto {
@JSONField(name="HANDLE")
private String HANDLE;
@JSONField(name="STATUS")
private String STATUS;
@JSONField(name="MESSAGE")
private String MESSAGE;
public static WebServiceDto success(String message) {
WebServiceDto webServiceDto = new WebServiceDto();
webServiceDto.setSTATUS("S");
webServiceDto.setMESSAGE(message);
return webServiceDto;
}
public static WebServiceDto success(String handle, String message) {
WebServiceDto webServiceDto = new WebServiceDto();
webServiceDto.setHANDLE(handle);
webServiceDto.setSTATUS("S");
webServiceDto.setMESSAGE(message);
return webServiceDto;
}
public static WebServiceDto fail(String handle, String message) {
WebServiceDto webServiceDto = new WebServiceDto();
webServiceDto.setHANDLE(handle);
webServiceDto.setSTATUS("E");
webServiceDto.setMESSAGE(message);
return webServiceDto;
}
public String getHANDLE() {
return HANDLE;
}
public void setHANDLE(String HANDLE) {
this.HANDLE = HANDLE;
}
public String getSTATUS() {
return STATUS;
}
public void setSTATUS(String STATUS) {
this.STATUS = STATUS;
}
public String getMESSAGE() {
return MESSAGE;
}
public void setMESSAGE(String MESSAGE) {
this.MESSAGE = MESSAGE;
}
}

@ -0,0 +1,17 @@
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);
}

@ -0,0 +1,13 @@
package com.foreverwin.mesnac.integration.service;
import com.alibaba.fastjson.JSONObject;
public interface InterfaceService {
/**
*
*
* @param jsonObject
*/
void createOrUpdateItem(JSONObject jsonObject) throws Exception;
}

@ -1,9 +1,23 @@
package com.foreverwin.mesnac.integration.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.foreverwin.mesnac.common.constant.IntegrationTypeConstant;
import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.mesnac.integration.model.IntegrationLog;
import com.foreverwin.mesnac.integration.model.WebServiceDto;
import com.foreverwin.mesnac.integration.service.ERPWebService;
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;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.jws.WebParam;
import javax.jws.WebService;
import java.time.LocalDateTime;
@Service
@WebService(serviceName = "ERPWebService",
@ -11,9 +25,73 @@ import javax.jws.WebService;
endpointInterface = "com.foreverwin.mesnac.integration.service.ERPWebService")
public class ERPWebServiceImpl implements ERPWebService {
private static final Logger logger = LoggerFactory.getLogger(ERPWebService.class);
@Autowired
private InterfaceService interfaceService;
@Autowired
private IntegrationLogService integrationLogService;
/**
* {
* "TRANID": "2021052616434400028",
* "DATE_TIME": "2021-06-16 15:31:00",
* "SITE": "1000",
* "ITEM": "12053-000170A",
* "REVISION": "A",
* "MAKTX": "活扳手18\"(250mm) 87-371-1-23",
* "STATUS": "201",
* "ITEM_TYPE": "ROH",
* "PROCUREMENT_TYPE": "P",
* "LOT_SIZE": "9999999",
* "ASSY_DATA_TYPE": "",
* "INV_ASSY_DATA_TYPE": "",
* "UNIT_OF_MEASURE": "KG"
* }
*
* @param data
* @return
*/
@Override
public String createItem(String data) {
return "{'result': 'OK'}";
public String createItem(@WebParam(name = "data") String data) {
logger.info("接收ERP传递物料参数:" + data);
String site = null;
String handle = null;
LocalDateTime dateTime = null;
JSONObject jsonObject = null;
WebServiceDto webServiceDto = WebServiceDto.success("物料保存/更新成功");
try {
jsonObject = JSON.parseObject(data);
site = jsonObject.getString("SITE");
handle = jsonObject.getString("TRANID");
String dateTimeStr = jsonObject.getString("DATE_TIME");
if (StringUtil.isBlank(dateTimeStr)) {
throw BusinessException.build("传送时间不能为空");
}
interfaceService.createOrUpdateItem(jsonObject);
} catch (Exception e) {
webServiceDto = WebServiceDto.fail(handle, e.getMessage());
return webServiceDto.toString();
}
//记录接口日志
IntegrationLog integrationLog = new IntegrationLog();
integrationLog.setHandle(handle);
integrationLog.setSite(site);
integrationLog.setIntegrationType(IntegrationTypeConstant.ITEM);
integrationLog.setCategory("REQUEST");
integrationLog.setIntegrationWay("ERP");
integrationLog.setIntegrationMethod("createOrUpdateItem");
integrationLog.setParam(jsonObject.toJSONString());
integrationLog.setStatus(webServiceDto.getSTATUS());
integrationLog.setResultMessage(webServiceDto.getMESSAGE());
integrationLog.setTransactionId(handle);
integrationLog.setCreatedDateTime(LocalDateTime.now());
integrationLogService.saveIntegrationLog(integrationLog);
return webServiceDto.toString();
}
}

@ -0,0 +1,34 @@
package com.foreverwin.mesnac.integration.service.impl;
import com.baomidou.mybatisplus.extension.service.IService;
import com.foreverwin.mesnac.integration.model.IntegrationLog;
import com.foreverwin.mesnac.integration.mapper.IntegrationLogMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.foreverwin.mesnac.integration.service.IntegrationLogService;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
/**
* <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);
}
}

@ -0,0 +1,127 @@
package com.foreverwin.mesnac.integration.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.mesnac.integration.service.InterfaceService;
import com.foreverwin.mesnac.meapi.model.Item;
import com.foreverwin.mesnac.meapi.service.ItemService;
import com.foreverwin.modular.core.meext.MEServices;
import com.sap.me.common.CustomValue;
import com.sap.me.common.MaterialType;
import com.sap.me.common.ObjectReference;
import com.sap.me.common.ProcurementType;
import com.sap.me.productdefinition.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.*;
/**
*
* @author Leon
* @date 2021-06-16
*
*
*
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class InterfaceServiceImpl implements InterfaceService {
@Autowired
private ItemService itemService;
@Override
public void createOrUpdateItem(JSONObject jsonObject) throws Exception{
//数据主键
String site = jsonObject.getString("SITE");
//物料
String item = jsonObject.getString("ITEM");
//版本:默认值A
String revision = jsonObject.getString("REVISION");
revision = StringUtil.notBlank(revision) ? revision : "A";
//物料描述
String itemDescription = jsonObject.getString("MAKTX");
//状态
String status = jsonObject.getString("STATUS");
String statusBo = HandleEnum.STATUS.getHandle(site, status);
//物料类型(FERT(已完成)/ROH(原始)/HALB(半成品)/KMAT(可配置)/INST(安装)/VERP(包装)/FHMI(生产资源/工具)/CSTM(自定义))
String itemType = jsonObject.getString("ITEM_TYPE");
//采购类型(M(制造)/P(采购)/B(制造/采购))
String procurementType = jsonObject.getString("PROCUREMENT_TYPE");
//批次大小
String lotSize = jsonObject.getString("LOT_SIZE");
lotSize = StringUtil.notBlank(lotSize) ? lotSize : "999999";
//装配时要收集的数据
String assyDataType = jsonObject.getString(" ASSY_DATA_TYPE");
//库存接收数据类型
String invAssyDataType = jsonObject.getString("INV_ASSY_DATA_TYPE");
//计量单位
String unitOfMeasure = jsonObject.getString("UNIT_OF_MEASURE");
//物料标准API
ItemConfigurationServiceInterface itemServiceInterFace = MEServices.create("com.sap.me.productdefinition", "ItemConfigurationService", site);
//物料是否存在
String itemBo = HandleEnum.ITEM.getHandle(site, item, revision);
Item itemModel = itemService.getById(itemBo);
if (itemModel == null){
//创建物料
ItemConfiguration itemConfiguration = new ItemConfiguration();
itemConfiguration.setItem(item);
itemConfiguration.setRevision(revision);
itemConfiguration.setProcurementType(ProcurementType.fromValue(procurementType));
itemConfiguration.setLotSize(new BigDecimal(lotSize));
itemConfiguration.setRef(itemBo);
itemConfiguration.setCurrentRevision(true);
itemConfiguration.setUnitOfMeasurement(unitOfMeasure);
itemConfiguration.setMaterialType(MaterialType.fromValue(itemType));
//物料描述赋值
List<ItemTranslation> itemTranslationList = new ArrayList<>();
ItemTranslation itemTranslation = new ItemTranslation();
itemTranslation.setLocale("zh");
itemTranslation.setDescription(itemDescription);
itemTranslationList.add(itemTranslation);
itemConfiguration.setItemTranslationList(itemTranslationList);
itemConfiguration.setStatusRef(statusBo);
//数量限制为任意整数
itemConfiguration.setQuantityRestriction(QuantityRestriction.ANY_NUMBER);
//创建物料
itemServiceInterFace.createItem(itemConfiguration);
} else {
//更新物料
ObjectReference itemReference = new ObjectReference();
itemReference.setRef(itemBo);
ItemFullConfiguration itemFullConfiguration = itemServiceInterFace.readItem(itemReference);
//物料描述赋值
ItemFullConfiguration updateItem = itemFullConfiguration;
updateItem.setUnitOfMeasurement(unitOfMeasure);
updateItem.setMaterialType(MaterialType.fromValue(itemType));
updateItem.setProcurementType(ProcurementType.fromValue(procurementType));
updateItem.setLotSize(new BigDecimal(lotSize));
updateItem.setStatusRef(statusBo);
List<ItemTranslation> itemTranslationList = new ArrayList<>();
ItemTranslation itemTranslation = new ItemTranslation();
Locale locale = LocaleContextHolder.getLocale();
itemTranslation.setLocale(locale.getLanguage());
itemTranslation.setDescription(itemDescription);
itemTranslationList.add(itemTranslation);
updateItem.setItemTranslationList(itemTranslationList);
//更新物料
itemServiceInterFace.updateItem(updateItem);
}
}
}

@ -0,0 +1,466 @@
<?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">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.foreverwin.mesnac.integration.model.IntegrationLog">
<id column="HANDLE" property="handle" />
<result column="SITE" property="site" />
<result column="INTEGRATION_TYPE" property="integrationType" />
<result column="CATEGORY" property="category" />
<result column="INTEGRATION_WAY" property="integrationWay" />
<result column="INTEGRATION_METHOD" property="integrationMethod" />
<result column="HANDLE_OBJ" property="handleObj" />
<result column="SFC_BO" property="sfcBo" />
<result column="PARAM" property="param" />
<result column="STATUS" property="status" />
<result column="RESULT_MESSAGE" property="resultMessage" />
<result column="TRANSACTION_ID" property="transactionId" />
<result column="REQUEST_DATE_TIME" property="requestDateTime" />
<result column="CREATED_DATE_TIME" property="createdDateTime" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
HANDLE, SITE, INTEGRATION_TYPE, CATEGORY, INTEGRATION_WAY, INTEGRATION_METHOD, HANDLE_OBJ, SFC_BO, PARAM, STATUS, RESULT_MESSAGE, TRANSACTION_ID, REQUEST_DATE_TIME, CREATED_DATE_TIME
</sql>
<!-- BaseMapper标准查询/修改/删除 -->
<select id="selectById" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"></include> FROM Z_INTEGRATION_LOG WHERE HANDLE=#{handle}
</select>
<select id="selectByMap" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"></include>
FROM Z_INTEGRATION_LOG
<if test="cm!=null and !cm.isEmpty">
<where>
<foreach collection="cm.keys" item="k" separator="AND">
<if test="cm[k] != null">
${k} = #{cm[${k}]}
</if>
</foreach>
</where>
</if>
</select>
<select id="selectBatchIds" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"></include>
FROM Z_INTEGRATION_LOG WHERE HANDLE IN (
<foreach item="item" index="index" collection="coll" separator=",">#{item}
</foreach>)
</select>
<select id="selectOne" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"></include> FROM Z_INTEGRATION_LOG
<where>
<if test="ew.entity.handle!=null">
HANDLE=#{ew.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.integrationType!=null"> AND INTEGRATION_TYPE=#{ew.entity.integrationType}</if>
<if test="ew.entity.category!=null"> AND CATEGORY=#{ew.entity.category}</if>
<if test="ew.entity.integrationWay!=null"> AND INTEGRATION_WAY=#{ew.entity.integrationWay}</if>
<if test="ew.entity.integrationMethod!=null"> AND INTEGRATION_METHOD=#{ew.entity.integrationMethod}</if>
<if test="ew.entity.handleObj!=null"> AND HANDLE_OBJ=#{ew.entity.handleObj}</if>
<if test="ew.entity.sfcBo!=null"> AND SFC_BO=#{ew.entity.sfcBo}</if>
<if test="ew.entity.param!=null"> AND PARAM=#{ew.entity.param}</if>
<if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
<if test="ew.entity.resultMessage!=null"> AND RESULT_MESSAGE=#{ew.entity.resultMessage}</if>
<if test="ew.entity.transactionId!=null"> AND TRANSACTION_ID=#{ew.entity.transactionId}</if>
<if test="ew.entity.requestDateTime!=null"> AND REQUEST_DATE_TIME=#{ew.entity.requestDateTime}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
</where>
</select>
<select id="selectCount" resultType="Integer">
SELECT COUNT(1) FROM Z_INTEGRATION_LOG
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.integrationType!=null"> AND INTEGRATION_TYPE=#{ew.entity.integrationType}</if>
<if test="ew.entity.category!=null"> AND CATEGORY=#{ew.entity.category}</if>
<if test="ew.entity.integrationWay!=null"> AND INTEGRATION_WAY=#{ew.entity.integrationWay}</if>
<if test="ew.entity.integrationMethod!=null"> AND INTEGRATION_METHOD=#{ew.entity.integrationMethod}</if>
<if test="ew.entity.handleObj!=null"> AND HANDLE_OBJ=#{ew.entity.handleObj}</if>
<if test="ew.entity.sfcBo!=null"> AND SFC_BO=#{ew.entity.sfcBo}</if>
<if test="ew.entity.param!=null"> AND PARAM=#{ew.entity.param}</if>
<if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
<if test="ew.entity.resultMessage!=null"> AND RESULT_MESSAGE=#{ew.entity.resultMessage}</if>
<if test="ew.entity.transactionId!=null"> AND TRANSACTION_ID=#{ew.entity.transactionId}</if>
<if test="ew.entity.requestDateTime!=null"> AND REQUEST_DATE_TIME=#{ew.entity.requestDateTime}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</select>
<select id="selectList" resultMap="BaseResultMap">
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM Z_INTEGRATION_LOG
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.integrationType!=null"> AND INTEGRATION_TYPE=#{ew.entity.integrationType}</if>
<if test="ew.entity.category!=null"> AND CATEGORY=#{ew.entity.category}</if>
<if test="ew.entity.integrationWay!=null"> AND INTEGRATION_WAY=#{ew.entity.integrationWay}</if>
<if test="ew.entity.integrationMethod!=null"> AND INTEGRATION_METHOD=#{ew.entity.integrationMethod}</if>
<if test="ew.entity.handleObj!=null"> AND HANDLE_OBJ=#{ew.entity.handleObj}</if>
<if test="ew.entity.sfcBo!=null"> AND SFC_BO=#{ew.entity.sfcBo}</if>
<if test="ew.entity.param!=null"> AND PARAM=#{ew.entity.param}</if>
<if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
<if test="ew.entity.resultMessage!=null"> AND RESULT_MESSAGE=#{ew.entity.resultMessage}</if>
<if test="ew.entity.transactionId!=null"> AND TRANSACTION_ID=#{ew.entity.transactionId}</if>
<if test="ew.entity.requestDateTime!=null"> AND REQUEST_DATE_TIME=#{ew.entity.requestDateTime}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</select>
<select id="selectMaps" resultType="HashMap">
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM Z_INTEGRATION_LOG
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.integrationType!=null"> AND INTEGRATION_TYPE=#{ew.entity.integrationType}</if>
<if test="ew.entity.category!=null"> AND CATEGORY=#{ew.entity.category}</if>
<if test="ew.entity.integrationWay!=null"> AND INTEGRATION_WAY=#{ew.entity.integrationWay}</if>
<if test="ew.entity.integrationMethod!=null"> AND INTEGRATION_METHOD=#{ew.entity.integrationMethod}</if>
<if test="ew.entity.handleObj!=null"> AND HANDLE_OBJ=#{ew.entity.handleObj}</if>
<if test="ew.entity.sfcBo!=null"> AND SFC_BO=#{ew.entity.sfcBo}</if>
<if test="ew.entity.param!=null"> AND PARAM=#{ew.entity.param}</if>
<if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
<if test="ew.entity.resultMessage!=null"> AND RESULT_MESSAGE=#{ew.entity.resultMessage}</if>
<if test="ew.entity.transactionId!=null"> AND TRANSACTION_ID=#{ew.entity.transactionId}</if>
<if test="ew.entity.requestDateTime!=null"> AND REQUEST_DATE_TIME=#{ew.entity.requestDateTime}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</select>
<select id="selectObjs" resultType="Object">
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM Z_INTEGRATION_LOG
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.integrationType!=null"> AND INTEGRATION_TYPE=#{ew.entity.integrationType}</if>
<if test="ew.entity.category!=null"> AND CATEGORY=#{ew.entity.category}</if>
<if test="ew.entity.integrationWay!=null"> AND INTEGRATION_WAY=#{ew.entity.integrationWay}</if>
<if test="ew.entity.integrationMethod!=null"> AND INTEGRATION_METHOD=#{ew.entity.integrationMethod}</if>
<if test="ew.entity.handleObj!=null"> AND HANDLE_OBJ=#{ew.entity.handleObj}</if>
<if test="ew.entity.sfcBo!=null"> AND SFC_BO=#{ew.entity.sfcBo}</if>
<if test="ew.entity.param!=null"> AND PARAM=#{ew.entity.param}</if>
<if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
<if test="ew.entity.resultMessage!=null"> AND RESULT_MESSAGE=#{ew.entity.resultMessage}</if>
<if test="ew.entity.transactionId!=null"> AND TRANSACTION_ID=#{ew.entity.transactionId}</if>
<if test="ew.entity.requestDateTime!=null"> AND REQUEST_DATE_TIME=#{ew.entity.requestDateTime}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</select>
<select id="selectPage" resultMap="BaseResultMap">
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM Z_INTEGRATION_LOG
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.integrationType!=null"> AND INTEGRATION_TYPE=#{ew.entity.integrationType}</if>
<if test="ew.entity.category!=null"> AND CATEGORY=#{ew.entity.category}</if>
<if test="ew.entity.integrationWay!=null"> AND INTEGRATION_WAY=#{ew.entity.integrationWay}</if>
<if test="ew.entity.integrationMethod!=null"> AND INTEGRATION_METHOD=#{ew.entity.integrationMethod}</if>
<if test="ew.entity.handleObj!=null"> AND HANDLE_OBJ=#{ew.entity.handleObj}</if>
<if test="ew.entity.sfcBo!=null"> AND SFC_BO=#{ew.entity.sfcBo}</if>
<if test="ew.entity.param!=null"> AND PARAM=#{ew.entity.param}</if>
<if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
<if test="ew.entity.resultMessage!=null"> AND RESULT_MESSAGE=#{ew.entity.resultMessage}</if>
<if test="ew.entity.transactionId!=null"> AND TRANSACTION_ID=#{ew.entity.transactionId}</if>
<if test="ew.entity.requestDateTime!=null"> AND REQUEST_DATE_TIME=#{ew.entity.requestDateTime}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</select>
<select id="selectMapsPage" resultType="HashMap">
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM Z_INTEGRATION_LOG
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.integrationType!=null"> AND INTEGRATION_TYPE=#{ew.entity.integrationType}</if>
<if test="ew.entity.category!=null"> AND CATEGORY=#{ew.entity.category}</if>
<if test="ew.entity.integrationWay!=null"> AND INTEGRATION_WAY=#{ew.entity.integrationWay}</if>
<if test="ew.entity.integrationMethod!=null"> AND INTEGRATION_METHOD=#{ew.entity.integrationMethod}</if>
<if test="ew.entity.handleObj!=null"> AND HANDLE_OBJ=#{ew.entity.handleObj}</if>
<if test="ew.entity.sfcBo!=null"> AND SFC_BO=#{ew.entity.sfcBo}</if>
<if test="ew.entity.param!=null"> AND PARAM=#{ew.entity.param}</if>
<if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
<if test="ew.entity.resultMessage!=null"> AND RESULT_MESSAGE=#{ew.entity.resultMessage}</if>
<if test="ew.entity.transactionId!=null"> AND TRANSACTION_ID=#{ew.entity.transactionId}</if>
<if test="ew.entity.requestDateTime!=null"> AND REQUEST_DATE_TIME=#{ew.entity.requestDateTime}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</select>
<insert id="insert" parameterType="com.foreverwin.mesnac.integration.model.IntegrationLog">
INSERT INTO Z_INTEGRATION_LOG
<trim prefix="(" suffix=")" suffixOverrides=",">
HANDLE,
<if test="site!=null">SITE,</if>
<if test="integrationType!=null">INTEGRATION_TYPE,</if>
<if test="category!=null">CATEGORY,</if>
<if test="integrationWay!=null">INTEGRATION_WAY,</if>
<if test="integrationMethod!=null">INTEGRATION_METHOD,</if>
<if test="handleObj!=null">HANDLE_OBJ,</if>
<if test="sfcBo!=null">SFC_BO,</if>
<if test="param!=null">PARAM,</if>
<if test="status!=null">STATUS,</if>
<if test="resultMessage!=null">RESULT_MESSAGE,</if>
<if test="transactionId!=null">TRANSACTION_ID,</if>
<if test="requestDateTime!=null">REQUEST_DATE_TIME,</if>
<if test="createdDateTime!=null">CREATED_DATE_TIME,</if>
</trim> VALUES
<trim prefix="(" suffix=")" suffixOverrides=",">
#{handle},
<if test="site!=null">#{site},</if>
<if test="integrationType!=null">#{integrationType},</if>
<if test="category!=null">#{category},</if>
<if test="integrationWay!=null">#{integrationWay},</if>
<if test="integrationMethod!=null">#{integrationMethod},</if>
<if test="handleObj!=null">#{handleObj},</if>
<if test="sfcBo!=null">#{sfcBo},</if>
<if test="param!=null">#{param},</if>
<if test="status!=null">#{status},</if>
<if test="resultMessage!=null">#{resultMessage},</if>
<if test="transactionId!=null">#{transactionId},</if>
<if test="requestDateTime!=null">#{requestDateTime},</if>
<if test="createdDateTime!=null">#{createdDateTime},</if>
</trim>
</insert>
<insert id="insertAllColumn" parameterType="com.foreverwin.mesnac.integration.model.IntegrationLog">
INSERT INTO Z_INTEGRATION_LOG
<trim prefix="(" suffix=")" suffixOverrides=",">
<include refid="Base_Column_List"></include>
</trim> VALUES
<trim prefix="(" suffix=")" suffixOverrides=",">
#{handle},
#{site},
#{integrationType},
#{category},
#{integrationWay},
#{integrationMethod},
#{handleObj},
#{sfcBo},
#{param},
#{status},
#{resultMessage},
#{transactionId},
#{requestDateTime},
#{createdDateTime},
</trim>
</insert>
<update id="updateById">
UPDATE Z_INTEGRATION_LOG <trim prefix="SET" suffixOverrides=",">
<if test="et.site!=null">SITE=#{et.site},</if>
<if test="et.integrationType!=null">INTEGRATION_TYPE=#{et.integrationType},</if>
<if test="et.category!=null">CATEGORY=#{et.category},</if>
<if test="et.integrationWay!=null">INTEGRATION_WAY=#{et.integrationWay},</if>
<if test="et.integrationMethod!=null">INTEGRATION_METHOD=#{et.integrationMethod},</if>
<if test="et.handleObj!=null">HANDLE_OBJ=#{et.handleObj},</if>
<if test="et.sfcBo!=null">SFC_BO=#{et.sfcBo},</if>
<if test="et.param!=null">PARAM=#{et.param},</if>
<if test="et.status!=null">STATUS=#{et.status},</if>
<if test="et.resultMessage!=null">RESULT_MESSAGE=#{et.resultMessage},</if>
<if test="et.transactionId!=null">TRANSACTION_ID=#{et.transactionId},</if>
<if test="et.requestDateTime!=null">REQUEST_DATE_TIME=#{et.requestDateTime},</if>
<if test="et.createdDateTime!=null">CREATED_DATE_TIME=#{et.createdDateTime},</if>
</trim> WHERE HANDLE=#{et.handle} <if test="et instanceof java.util.Map"><if test="et.MP_OPTLOCK_VERSION_ORIGINAL!=null">and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL}</if></if>
</update>
<update id="updateAllColumnById">
UPDATE Z_INTEGRATION_LOG <trim prefix="SET" suffixOverrides=",">
SITE=#{et.site},
INTEGRATION_TYPE=#{et.integrationType},
CATEGORY=#{et.category},
INTEGRATION_WAY=#{et.integrationWay},
INTEGRATION_METHOD=#{et.integrationMethod},
HANDLE_OBJ=#{et.handleObj},
SFC_BO=#{et.sfcBo},
PARAM=#{et.param},
STATUS=#{et.status},
RESULT_MESSAGE=#{et.resultMessage},
TRANSACTION_ID=#{et.transactionId},
REQUEST_DATE_TIME=#{et.requestDateTime},
CREATED_DATE_TIME=#{et.createdDateTime},
</trim> WHERE HANDLE=#{et.handle} <if test="et instanceof java.util.Map"><if test="et.MP_OPTLOCK_VERSION_ORIGINAL!=null">and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL}</if></if>
</update>
<update id="update">
UPDATE Z_INTEGRATION_LOG <trim prefix="SET" suffixOverrides=",">
<if test="et.site!=null">SITE=#{et.site},</if>
<if test="et.integrationType!=null">INTEGRATION_TYPE=#{et.integrationType},</if>
<if test="et.category!=null">CATEGORY=#{et.category},</if>
<if test="et.integrationWay!=null">INTEGRATION_WAY=#{et.integrationWay},</if>
<if test="et.integrationMethod!=null">INTEGRATION_METHOD=#{et.integrationMethod},</if>
<if test="et.handleObj!=null">HANDLE_OBJ=#{et.handleObj},</if>
<if test="et.sfcBo!=null">SFC_BO=#{et.sfcBo},</if>
<if test="et.param!=null">PARAM=#{et.param},</if>
<if test="et.status!=null">STATUS=#{et.status},</if>
<if test="et.resultMessage!=null">RESULT_MESSAGE=#{et.resultMessage},</if>
<if test="et.transactionId!=null">TRANSACTION_ID=#{et.transactionId},</if>
<if test="et.requestDateTime!=null">REQUEST_DATE_TIME=#{et.requestDateTime},</if>
<if test="et.createdDateTime!=null">CREATED_DATE_TIME=#{et.createdDateTime},</if>
</trim>
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
HANDLE=#{ew.entity.handle}
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.integrationType!=null"> AND INTEGRATION_TYPE=#{ew.entity.integrationType}</if>
<if test="ew.entity.category!=null"> AND CATEGORY=#{ew.entity.category}</if>
<if test="ew.entity.integrationWay!=null"> AND INTEGRATION_WAY=#{ew.entity.integrationWay}</if>
<if test="ew.entity.integrationMethod!=null"> AND INTEGRATION_METHOD=#{ew.entity.integrationMethod}</if>
<if test="ew.entity.handleObj!=null"> AND HANDLE_OBJ=#{ew.entity.handleObj}</if>
<if test="ew.entity.sfcBo!=null"> AND SFC_BO=#{ew.entity.sfcBo}</if>
<if test="ew.entity.param!=null"> AND PARAM=#{ew.entity.param}</if>
<if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
<if test="ew.entity.resultMessage!=null"> AND RESULT_MESSAGE=#{ew.entity.resultMessage}</if>
<if test="ew.entity.transactionId!=null"> AND TRANSACTION_ID=#{ew.entity.transactionId}</if>
<if test="ew.entity.requestDateTime!=null"> AND REQUEST_DATE_TIME=#{ew.entity.requestDateTime}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</update>
<delete id="deleteById">
DELETE FROM Z_INTEGRATION_LOG WHERE HANDLE=#{handle}
</delete>
<delete id="deleteByMap">
DELETE FROM Z_INTEGRATION_LOG
<if test="cm!=null and !cm.isEmpty">
<where>
<foreach collection="cm.keys" item="k" separator="AND">
<if test="cm[k] != null">
${k} = #{cm[${k}]}
</if>
</foreach>
</where>
</if>
</delete>
<delete id="delete">
DELETE FROM Z_INTEGRATION_LOG
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.integrationType!=null"> AND INTEGRATION_TYPE=#{ew.entity.integrationType}</if>
<if test="ew.entity.category!=null"> AND CATEGORY=#{ew.entity.category}</if>
<if test="ew.entity.integrationWay!=null"> AND INTEGRATION_WAY=#{ew.entity.integrationWay}</if>
<if test="ew.entity.integrationMethod!=null"> AND INTEGRATION_METHOD=#{ew.entity.integrationMethod}</if>
<if test="ew.entity.handleObj!=null"> AND HANDLE_OBJ=#{ew.entity.handleObj}</if>
<if test="ew.entity.sfcBo!=null"> AND SFC_BO=#{ew.entity.sfcBo}</if>
<if test="ew.entity.param!=null"> AND PARAM=#{ew.entity.param}</if>
<if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
<if test="ew.entity.resultMessage!=null"> AND RESULT_MESSAGE=#{ew.entity.resultMessage}</if>
<if test="ew.entity.transactionId!=null"> AND TRANSACTION_ID=#{ew.entity.transactionId}</if>
<if test="ew.entity.requestDateTime!=null"> AND REQUEST_DATE_TIME=#{ew.entity.requestDateTime}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</delete>
<delete id="deleteBatchIds">
DELETE FROM Z_INTEGRATION_LOG WHERE HANDLE IN (
<foreach item="item" index="index" collection="coll" separator=",">#{item}
</foreach>)
</delete>
<!-- BaseMapper标准查询/修改/删除 -->
</mapper>
Loading…
Cancel
Save