Merge remote-tracking branch 'origin/master'

master
philip 4 years ago
commit e42afca1d3

@ -185,6 +185,12 @@ public class AbnormalBillDisposeDto extends AbnormalBillDispose {
*/ */
private String ncCodeDescription; private String ncCodeDescription;
private String workCenterDescription;
private String shutDown;
private String operationDescription;
public String getAbnormalNo() { public String getAbnormalNo() {
return abnormalNo; return abnormalNo;
} }
@ -464,4 +470,28 @@ public class AbnormalBillDisposeDto extends AbnormalBillDispose {
public void setProgram(String program) { public void setProgram(String program) {
this.program = program; this.program = program;
} }
public String getWorkCenterDescription() {
return workCenterDescription;
}
public void setWorkCenterDescription(String workCenterDescription) {
this.workCenterDescription = workCenterDescription;
}
public String getShutDown() {
return shutDown;
}
public void setShutDown(String shutDown) {
this.shutDown = shutDown;
}
public String getOperationDescription() {
return operationDescription;
}
public void setOperationDescription(String operationDescription) {
this.operationDescription = operationDescription;
}
} }

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.foreverwin.mesnac.anomaly.dto.AbnormalBillDto; import com.foreverwin.mesnac.anomaly.dto.AbnormalBillDto;
import com.foreverwin.mesnac.anomaly.model.AbnormalBill; import com.foreverwin.mesnac.anomaly.model.AbnormalBill;
import com.foreverwin.mesnac.common.dto.ScrapDto; import com.foreverwin.mesnac.common.dto.ScrapDto;
import com.foreverwin.mesnac.meapi.model.UserGroup;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
@ -21,7 +22,8 @@ import java.util.List;
public interface AbnormalBillMapper extends BaseMapper<AbnormalBill> { public interface AbnormalBillMapper extends BaseMapper<AbnormalBill> {
List<AbnormalBillDto> backLog(@Param("abnormalBill")AbnormalBillDto abnormalBillDto, @Param("language")String language); List<AbnormalBillDto> backLog(@Param("abnormalBill")AbnormalBillDto abnormalBillDto, @Param("language")String language,
@Param("userGroupList")List<UserGroup> userGroupList);
/** /**
* *

@ -236,6 +236,8 @@ public class AbnormalBill extends Model<AbnormalBill> {
public String getHandle() { public String getHandle() {
return handle; return handle;
} }
@ -580,7 +582,7 @@ public class AbnormalBill extends Model<AbnormalBill> {
this.fileNum = fileNum; this.fileNum = fileNum;
} }
public static final String HANDLE = "HANDLE"; public static final String HANDLE = "HANDLE";
public static final String SITE = "SITE"; public static final String SITE = "SITE";

@ -10,6 +10,7 @@ import com.foreverwin.mesnac.anomaly.mapper.AbnormalBillDisposeMapper;
import com.foreverwin.mesnac.anomaly.mapper.AbnormalBillMapper; import com.foreverwin.mesnac.anomaly.mapper.AbnormalBillMapper;
import com.foreverwin.mesnac.anomaly.model.*; import com.foreverwin.mesnac.anomaly.model.*;
import com.foreverwin.mesnac.anomaly.service.*; import com.foreverwin.mesnac.anomaly.service.*;
import com.foreverwin.mesnac.common.enums.AnomalyConstant;
import com.foreverwin.mesnac.common.constant.Constants; import com.foreverwin.mesnac.common.constant.Constants;
import com.foreverwin.mesnac.common.dto.ScrapDto; import com.foreverwin.mesnac.common.dto.ScrapDto;
import com.foreverwin.mesnac.common.dto.UsrDto; import com.foreverwin.mesnac.common.dto.UsrDto;
@ -320,8 +321,18 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
@Override @Override
public List<AbnormalBillDto> backLog(AbnormalBillDto abnormalBillDto) { public List<AbnormalBillDto> backLog(AbnormalBillDto abnormalBillDto) {
String user = CommonMethods.getUser();
String site = CommonMethods.getSite();
List<UserGroup> userGroupList = userGroupMapper.findUserGroupListByUser(site, user);
//判断该用户组中有没有administrator,如果有的话就等于null
for (UserGroup userGroup : userGroupList){
if("ADMINISTRATORS".equals(userGroup.getUserGroup())){
userGroupList = null;
break;
}
}
String language = LocaleContextHolder.getLocale().getLanguage(); String language = LocaleContextHolder.getLocale().getLanguage();
return abnormalBillMapper.backLog(abnormalBillDto, language); return abnormalBillMapper.backLog(abnormalBillDto, language,userGroupList);
} }
@Override @Override
@ -439,8 +450,9 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
nwaUserService.checkUserGroup(site,abnormalBillDispose.getDutySendUserGroup()); nwaUserService.checkUserGroup(site,abnormalBillDispose.getDutySendUserGroup());
this.saveOrUpdate(abnormalBill); this.saveOrUpdate(abnormalBill);
this.anomalyCreatedAndSendMessage(abnormalBillMapper.selectById(abnormalBill.getHandle()),abnormalBillDispose);
abnormalBillDisposeService.saveOrUpdate(abnormalBillDispose); abnormalBillDisposeService.saveOrUpdate(abnormalBillDispose);
this.anomalyCreatedAndSendMessage(abnormalBillMapper.selectById(abnormalBill.getHandle()),abnormalBillDispose);
} }
@ -906,17 +918,6 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
abnormalMessage.setMessageType(abnormalBill.getMessageType()); abnormalMessage.setMessageType(abnormalBill.getMessageType());
// //根据异常的类型找到消息的类型 // //根据异常的类型找到消息的类型
// switch (abnormalMessage.getType()){
// case "Z"://质量异常
// abnormalMessage.setMessageType(Constants.ABNORMAL_MESSAGE_QUALITY);
// break;
// case "Q"://其他异常
// abnormalMessage.setMessageType(Constants.ABNORMAL_MESSAGE_OTHER);
// break;
// case "S"://设备异常
// abnormalMessage.setMessageType(Constants.ABNORMAL_MESSAGE_RESOURCE);
// break;
// }
//设置发送的用户组 //设置发送的用户组
@ -1022,9 +1023,9 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
for (int i = 0; i < nwaUsers.size(); i++) { for (int i = 0; i < nwaUsers.size(); i++) {
if(i == (nwaUsers.size() - 1)){ if(i == (nwaUsers.size() - 1)){
sendUsers.append(nwaUsers.get(i)); sendUsers.append(nwaUsers.get(i).getUserName());
}else{ }else{
sendUsers.append(nwaUsers.get(i)).append("|"); sendUsers.append(nwaUsers.get(i).getUserName()).append("|");
} }
} }
activeMQUtil.wechatSendMessage(sendUsers.toString(),abnormalMessage.getContent()); activeMQUtil.wechatSendMessage(sendUsers.toString(),abnormalMessage.getContent());
@ -1046,45 +1047,47 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
throw new BaseException("异常提报时找不到要发送的消息类型"); throw new BaseException("异常提报时找不到要发送的消息类型");
} }
//查处所有要替换的消息内容 //查处所有要替换的消息内容
AbnormalBillDisposeDto messageContent = abnormalBillDisposeMapper.findAllByAbnormalNo(abnormalBill, locale); AbnormalBillDisposeDto messageContent = abnormalBillDisposeMapper.findAllByAbnormalNo(abnormalBill, locale);
//格式化消息 //格式化消息
String body = sendMessageType.getBody(); String messageBody = sendMessageType.getBody();
//替换消息类型中的参数 //替换消息类型中的参数
Map<String, String> messageMap = new HashMap<>(); Map<String, String> messageMap = new HashMap<>();
//根据车间找到对应车间的描述 messageMap.put("abnormalNo",messageContent.getAbnormalNo());
// WorkCenter workCenter = workCenterMapper.findWorkCenterDescriptionByWorkCenter(site, abnormalBill.getWorkCenter(), locale); messageMap.put("status", AnomalyConstant.Status.msg(messageContent.getStatus()));
// //根据资源找到对应的产线的描述 messageMap.put("item",messageContent.getItem());
// WorkCenter line = null; messageMap.put("description",messageContent.getItemDescription());
// if(StringUtil.isBlank(abnormalBill.getResrce())){ messageMap.put("type",AnomalyConstant.Type.msg(messageContent.getType()));
// line = workCenterMapper.findWorkCenterDescriptionByResrce(HandleEnum.RESOURCE.getHandle(site, abnormalBill.getResrce()), locale); messageMap.put("sfc",messageContent.getSfc());
// } messageMap.put("shopOrder",messageContent.getShopOrder());
// messageMap.put("workCenter",messageContent.getWorkCenterDescription());
// //项目号 messageMap.put("resrce",messageContent.getResrceDescription());
// ShopOrderDto projectNo = shopOrderMapper.findByShopOrderBo(HandleEnum.SHOP_ORDER.getHandle(site, abnormalBill.getShopOrder())); messageMap.put("workOrder",messageContent.getWorkOrder());
// //物料 messageMap.put("pbDescription",messageContent.getPbDescription());
// Item _item = itemMapper.selectById(locale, abnormalBill.getItemBo()); messageMap.put("ncQty",messageContent.getNcQty());
// String item = ""; messageMap.put("pbGrade",messageContent.getPbGrade());
// if(_item != null){ messageMap.put("pbUser",messageContent.getPbUser());
// item = _item.getItem() + "/" + _item.getDescription(); messageMap.put("pbQty",messageContent.getPbQty());
// } messageMap.put("discover",AnomalyConstant.Discover.msg(messageContent.getDiscover()));
// if(workCenter != null && !StringUtil.isBlank(workCenter.getDescription())){ messageMap.put("entityLocation",messageContent.getEntityLocation());
// messageMap.put("WORKCENTER",workCenter.getDescription()); messageMap.put("reportFrom",AnomalyConstant.ReportFrom.msg(messageContent.getReportFrom()));
// } messageMap.put("operation",messageContent.getOperationDescription());
// if(line != null && !StringUtil.isBlank(line.getDescription())){ messageMap.put("reportSendUserGroup",messageContent.getReportSendUserGroup());
// messageMap.put("WORKCENTER_LIN",line.getDescription()); if(StringUtil.isBlank(messageContent.getNcCode()) || "/,".equals(messageContent.getNcCode())){
// } messageMap.put("ncCode","");
// if(projectNo != null && !StringUtil.isBlank(projectNo.getItemNumber())){ }else{
// messageMap.put("PROJECT",projectNo.getItemNumber()); String ncCode = messageContent.getNcCode().substring(0,messageContent.getNcCode().length() - 1);
// } messageMap.put("ncCode",ncCode);
// if(!StringUtil.isBlank(abnormalBill.getWorkCenter())){ }
// messageMap.put("SHOPORDER",abnormalBill.getWorkCenter()); if(StringUtil.isBlank(messageContent.getNcCodeDescription()) || "/,".equals(messageContent.getNcCodeDescription())){
// } messageMap.put("ncCodeDescription","");
// messageMap.put("ITEM",item); }else{
String ncCodeDescription = messageContent.getNcCodeDescription().substring(0,messageContent.getNcCodeDescription().length() - 1);
messageMap.put("ncCodeDescription",ncCodeDescription);
}
messageMap.put("shutDown",AnomalyConstant.ShutDown.msg(messageContent.getShutDown()));
//格式化之后的消息 //格式化之后的消息
return StringUtils.format(body, messageMap); return StringUtils.format(messageBody, messageMap);
} }
@Override @Override

@ -61,6 +61,7 @@ public class AnomalyJobServiceImpl implements AnomalyJobService {
QueryWrapper<Message> abnormalMessageQueryWrapper = new QueryWrapper<>(); QueryWrapper<Message> abnormalMessageQueryWrapper = new QueryWrapper<>();
abnormalMessageQueryWrapper.eq("STATUS","N"); abnormalMessageQueryWrapper.eq("STATUS","N");
abnormalMessageQueryWrapper.lt("UP_DATE_TIME",now); abnormalMessageQueryWrapper.lt("UP_DATE_TIME",now);
AbnormalBill abnormalBill = new AbnormalBill();
List<Message> abnormalMessages = messageMapper.selectList(abnormalMessageQueryWrapper); List<Message> abnormalMessages = messageMapper.selectList(abnormalMessageQueryWrapper);
for(Message _abnormalMessage : abnormalMessages){ for(Message _abnormalMessage : abnormalMessages){
String uuid = UUID.randomUUID().toString(); String uuid = UUID.randomUUID().toString();
@ -89,8 +90,7 @@ public class AnomalyJobServiceImpl implements AnomalyJobService {
abnormalMessage.setUpUser(null); abnormalMessage.setUpUser(null);
} }
AbnormalBill abnormalBill = abnormalBillMapper.selectById(abnormalMessage.getObjectBo()); abnormalBill.setHandle(abnormalMessage.getMessageType());
String message = abnormalBillService.formatMessage(abnormalBill,abnormalMessage.getMessageType(),site); String message = abnormalBillService.formatMessage(abnormalBill,abnormalMessage.getMessageType(),site);
abnormalMessage.setContent(message+"It's Job send"); abnormalMessage.setContent(message+"It's Job send");

@ -68,9 +68,12 @@
<result column="RESRCE_DESCRIPTION" property="resrceDescription"/> <result column="RESRCE_DESCRIPTION" property="resrceDescription"/>
<result column="FULL_NAME" property="fullName"/> <result column="FULL_NAME" property="fullName"/>
<result column="OPERATION" property="operation"/> <result column="OPERATION" property="operation"/>
<result column="OPERATION_DESCRIPTION" property="operationDescription"/>
<result column="REPORT_SEND_USER_GROUP" property="reportSendUserGroup"/> <result column="REPORT_SEND_USER_GROUP" property="reportSendUserGroup"/>
<result column="CORRECTION" property="correction"/> <result column="CORRECTION" property="correction"/>
<result column="PROGRAM" property="program"/> <result column="PROGRAM" property="program"/>
<result column="WORK_CENTER_DESCRIPTION" property="workCenterDescription"/>
<result column="SHUT_DOWN" property="shutDown" />
</resultMap> </resultMap>
@ -703,27 +706,34 @@
SELECT ZAB.ABNORMAL_NO ABNORMAL_NO ,ZAB.STATUS STATUS,I.ITEM ITEM,IT.DESCRIPTION ITEM_DESCRIPTION, SELECT ZAB.ABNORMAL_NO ABNORMAL_NO ,ZAB.STATUS STATUS,I.ITEM ITEM,IT.DESCRIPTION ITEM_DESCRIPTION,
ZAB."TYPE" "TYPE" ,ZAB.SFC SFC,ZAB.MESSAGE_TYPE MESSAGE_TYPE,ZAB.SHOP_ORDER SHOP_ORDER, ZAB."TYPE" "TYPE" ,ZAB.SFC SFC,ZAB.MESSAGE_TYPE MESSAGE_TYPE,ZAB.SHOP_ORDER SHOP_ORDER,
ZAB.WORK_CENTER WORK_CENTER,ZAB.RESRCE RESRCE, WORKORDER.VALUE WORK_ORDER,ITEMNUMBER.VALUE ITEM_NUMBER, ZAB.WORK_CENTER WORK_CENTER,ZAB.RESRCE RESRCE, WORKORDER.VALUE WORK_ORDER,ITEMNUMBER.VALUE ITEM_NUMBER,
PRODUCTCATEGORY.VALUE PRODUCT_CATEGORY,listagg(NG.DESCRIPTION || '/'||NCT.DESCRIPTION || ',') within GROUP(ORDER BY zab.ABNORMAL_NO) NC_CODE_DESCRIPTION, PRODUCTCATEGORY.VALUE PRODUCT_CATEGORY,
listagg(NG.DESCRIPTION || '/'||NCT.DESCRIPTION || ',') within GROUP(ORDER BY zab.ABNORMAL_NO) NC_CODE_DESCRIPTION,
ZAB.PB_DESCRIPTION PB_DESCRIPTION ,ZAB.NC_QTY NC_QTY, ZAB.PB_DESCRIPTION PB_DESCRIPTION ,ZAB.NC_QTY NC_QTY,
ZAB.PB_GRADE PB_GRADE ,NWA.FULL_NAME PB_USER ,ZAB.PB_QTY PB_QTY ,ZAB.DISCOVER DISCOVER , ZAB.PB_GRADE PB_GRADE ,NWA.FULL_NAME PB_USER ,ZAB.PB_QTY PB_QTY ,ZAB.DISCOVER DISCOVER ,
NWA2.FULL_NAME INSPECTOR ,ZAB.ENTITY_LOCATION ENTITY_LOCATION ,ZAB.REPORT_FROM REPORT_FROM ,SUBSTR(ZAB.OBJECT_BO,INSTR(ZAB.OBJECT_BO,',')+1) OBJECT_BO, NWA2.FULL_NAME INSPECTOR ,ZAB.ENTITY_LOCATION ENTITY_LOCATION ,ZAB.REPORT_FROM REPORT_FROM ,SUBSTR(ZAB.OBJECT_BO,INSTR(ZAB.OBJECT_BO,',')+1) OBJECT_BO,
ZAB.PB_PHOTOSHOP PB_PHOTOSHOP,ZABD.DUTY_CAUSE_DESCRIPTION DUTY_CAUSE_DESCRIPTION,ZABD.DUTY_CAUSE_TYPE DUTY_CAUSE_TYPE,ZABD.DUTY_DEPART DUTY_DEPART, ZAB.PB_PHOTOSHOP PB_PHOTOSHOP,ZABD.DUTY_CAUSE_DESCRIPTION DUTY_CAUSE_DESCRIPTION,ZABD.DUTY_CAUSE_TYPE DUTY_CAUSE_TYPE,ZABD.DUTY_DEPART DUTY_DEPART,
ZABD.DUTY_SEND_USER_GROUP DUTY_SEND_USER_GROUP,ZABD.DUTY_TYPE DUTY_TYPE,ZABD.PRINCIPAL_USER PRINCIPAL_USER,ZABD.ABNORMAL_METHOD ABNORMAL_METHOD, ZABD.DUTY_SEND_USER_GROUP DUTY_SEND_USER_GROUP,ZABD.DUTY_TYPE DUTY_TYPE,ZABD.PRINCIPAL_USER PRINCIPAL_USER,ZABD.ABNORMAL_METHOD ABNORMAL_METHOD,
R.ROUTER ROUTER,ZABD.RESOLVE_SHOP_ORDER RESOLVE_SHOP_ORDER,ZABD.RESOLVE_REMARK RESOLVE_REMARK,ZABD.RESOLVE_SEND_USER_GROUP RESOLVE_SEND_USER_GROUP, R.ROUTER ROUTER,ZABD.RESOLVE_SHOP_ORDER RESOLVE_SHOP_ORDER,ZABD.RESOLVE_REMARK RESOLVE_REMARK,ZABD.RESOLVE_SEND_USER_GROUP RESOLVE_SEND_USER_GROUP,
ZABD.ABNORMAL_REASON ABNORMAL_REASON,ZABD.BEFORE_MEASURE BEFORE_MEASURE,"MAP".VALUE "MAP",listagg(ZANC.NC_CODE_GROUP || '/'||ZANC.NC_CODE || ',') within GROUP(ORDER BY zab.ABNORMAL_NO) NC_CODE, ZABD.ABNORMAL_REASON ABNORMAL_REASON,ZABD.BEFORE_MEASURE BEFORE_MEASURE,"MAP".VALUE "MAP",
listagg(ZANC.NC_CODE_GROUP || '/'||ZANC.NC_CODE || ',') within GROUP(ORDER BY zab.ABNORMAL_NO) NC_CODE,
ZABD.ROUTER_BO ROUTER_BO,ZAB.OPERATION OPERATION,I.HANDLE ITEM_BO,ZAB.REPORT_SEND_USER_GROUP REPORT_SEND_USER_GROUP, ZABD.ROUTER_BO ROUTER_BO,ZAB.OPERATION OPERATION,I.HANDLE ITEM_BO,ZAB.REPORT_SEND_USER_GROUP REPORT_SEND_USER_GROUP,
ZAB.CORRECTION CORRECTION,ZAB.PROGRAM PROGRAM ZAB.CORRECTION CORRECTION,ZAB.PROGRAM PROGRAM,WCT.DESCRIPTION WORK_CENTER_DESCRIPTION,ZAB.SHUT_DOWN SHUT_DOWN,
RS.DESCRIPTION RESRCE_DESCRIPTION,OT.DESCRIPTION OPERATION_DESCRIPTION
FROM Z_ABNORMAL_BILL ZAB FROM Z_ABNORMAL_BILL ZAB
LEFT JOIN Z_ABNORMAL_BILL_DISPOSE ZABD ON ZAB.HANDLE = ZABD.ABNORMAL_BILL_BO LEFT JOIN Z_ABNORMAL_BILL_DISPOSE ZABD ON ZAB.HANDLE = ZABD.ABNORMAL_BILL_BO
INNER JOIN ITEM I ON I.HANDLE = ZAB.ITEM_BO INNER JOIN ITEM I ON I.HANDLE = ZAB.ITEM_BO
LEFT JOIN ITEM_T IT ON IT.ITEM_BO = I.HANDLE AND IT.LOCALE = #{locale} LEFT JOIN ITEM_T IT ON IT.ITEM_BO = I.HANDLE AND IT.LOCALE = #{locale}
INNER JOIN SHOP_ORDER SO ON SO.SHOP_ORDER = ZAB.SHOP_ORDER AND SO.SITE = ZAB.SITE INNER JOIN SHOP_ORDER SO ON SO.SHOP_ORDER = ZAB.SHOP_ORDER AND SO.SITE = ZAB.SITE
LEFT JOIN RESRCE RS ON RS.RESRCE = ZAB.RESRCE AND RS.SITE = ZAB.SITE
LEFT JOIN OPERATION O ON O.OPERATION = ZAB.OPERATION AND O.SITE = ZAB.SITE AND O.CURRENT_REVISION = 'true'
LEFT JOIN OPERATION_T OT ON O.HANDLE = OT.OPERATION_BO AND OT.LOCALE = #{locale}
LEFT JOIN CUSTOM_FIELDS WORKORDER ON WORKORDER.HANDLE = SO.HANDLE AND WORKORDER."ATTRIBUTE" = 'WORK_ORDER' LEFT JOIN CUSTOM_FIELDS WORKORDER ON WORKORDER.HANDLE = SO.HANDLE AND WORKORDER."ATTRIBUTE" = 'WORK_ORDER'
LEFT JOIN CUSTOM_FIELDS ITEMNUMBER ON ITEMNUMBER.HANDLE = SO.HANDLE AND ITEMNUMBER."ATTRIBUTE" = 'ITEM_NUMBER' LEFT JOIN CUSTOM_FIELDS ITEMNUMBER ON ITEMNUMBER.HANDLE = SO.HANDLE AND ITEMNUMBER."ATTRIBUTE" = 'ITEM_NUMBER'
LEFT JOIN CUSTOM_FIELDS PRODUCTCATEGORY ON PRODUCTCATEGORY.HANDLE = SO.HANDLE AND PRODUCTCATEGORY."ATTRIBUTE" = 'PRODUCT_CATEGORY' LEFT JOIN CUSTOM_FIELDS PRODUCTCATEGORY ON PRODUCTCATEGORY.HANDLE = SO.HANDLE AND PRODUCTCATEGORY."ATTRIBUTE" = 'PRODUCT_CATEGORY'
LEFT JOIN CUSTOM_FIELDS "MAP" ON "MAP".HANDLE = SO.HANDLE AND "MAP"."ATTRIBUTE" = 'MAP' LEFT JOIN CUSTOM_FIELDS "MAP" ON "MAP".HANDLE = SO.HANDLE AND "MAP"."ATTRIBUTE" = 'MAP'
LEFT JOIN Z_ABNORMAL_NC_CODE ZANC ON ZAB.HANDLE = ZANC.ABNORMAL_BILL_BO LEFT JOIN Z_ABNORMAL_NC_CODE ZANC ON ZAB.HANDLE = ZANC.ABNORMAL_BILL_BO
LEFT JOIN NC_CODE_T NCT ON ('NCCodeBO:' || ZAB.SITE || ',' || ZANC.NC_CODE) = NCT.NC_CODE_BO AND NCT.LOCALE = #{locale} LEFT JOIN NC_CODE_T NCT ON ('NCCodeBO:' || ZAB.SITE || ',' || ZANC.NC_CODE) = NCT.NC_CODE_BO AND NCT.LOCALE = #{locale}
LEFT JOIN WORK_CENTER_T WCT ON ('WorkCenterBO:' || ZAB.SITE || ',' || ZAB.WORK_CENTER) = WCT.WORK_CENTER_BO AND WCT.LOCALE = #{locale}
LEFT JOIN Z_NWA_USER NWA ON NWA.USER_NAME = ZAB.PB_USER AND NWA.SITE = ZAB.SITE LEFT JOIN Z_NWA_USER NWA ON NWA.USER_NAME = ZAB.PB_USER AND NWA.SITE = ZAB.SITE
LEFT JOIN Z_NWA_USER NWA2 ON NWA2.USER_NAME = ZAB.INSPECTOR AND NWA2.SITE = ZAB.SITE LEFT JOIN Z_NWA_USER NWA2 ON NWA2.USER_NAME = ZAB.INSPECTOR AND NWA2.SITE = ZAB.SITE
LEFT JOIN NC_GROUP NG ON NG.NC_GROUP = ZANC.NC_CODE_GROUP AND NG.SITE = ZAB.SITE LEFT JOIN NC_GROUP NG ON NG.NC_GROUP = ZANC.NC_CODE_GROUP AND NG.SITE = ZAB.SITE
@ -749,7 +759,8 @@
ZABD.DUTY_SEND_USER_GROUP ,ZABD.DUTY_TYPE ,ZABD.PRINCIPAL_USER ,ZABD.ABNORMAL_METHOD , ZABD.DUTY_SEND_USER_GROUP ,ZABD.DUTY_TYPE ,ZABD.PRINCIPAL_USER ,ZABD.ABNORMAL_METHOD ,
R.ROUTER ,ZABD.RESOLVE_SHOP_ORDER ,ZABD.RESOLVE_REMARK ,ZABD.RESOLVE_SEND_USER_GROUP , R.ROUTER ,ZABD.RESOLVE_SHOP_ORDER ,ZABD.RESOLVE_REMARK ,ZABD.RESOLVE_SEND_USER_GROUP ,
ZABD.ABNORMAL_REASON ,ZABD.BEFORE_MEASURE ,"MAP".VALUE,ZABD.ROUTER_BO,ZAB.OPERATION,I.HANDLE, ZABD.ABNORMAL_REASON ,ZABD.BEFORE_MEASURE ,"MAP".VALUE,ZABD.ROUTER_BO,ZAB.OPERATION,I.HANDLE,
ZAB.REPORT_SEND_USER_GROUP,ZAB.CORRECTION,ZAB.PROGRAM ZAB.REPORT_SEND_USER_GROUP,ZAB.CORRECTION,ZAB.PROGRAM,WCT.DESCRIPTION,ZAB.SHUT_DOWN,RS.DESCRIPTION,
OT.DESCRIPTION
</select> </select>

@ -919,6 +919,7 @@
ZAB.NC_CODE NC_CODE,ZAB.PB_DESCRIPTION PB_DESCRIPTION, ZAB.NC_CODE NC_CODE,ZAB.PB_DESCRIPTION PB_DESCRIPTION,
SUBSTR(LISTAGG(NCT.DESCRIPTION || ',') WITHIN GROUP(ORDER BY ZAB.ABNORMAL_NO),0,LENGTH(LISTAGG(NCT.DESCRIPTION || ',') WITHIN GROUP(ORDER BY ZAB.ABNORMAL_NO))-1) NC_CODE_DESCRIPTION SUBSTR(LISTAGG(NCT.DESCRIPTION || ',') WITHIN GROUP(ORDER BY ZAB.ABNORMAL_NO),0,LENGTH(LISTAGG(NCT.DESCRIPTION || ',') WITHIN GROUP(ORDER BY ZAB.ABNORMAL_NO))-1) NC_CODE_DESCRIPTION
FROM Z_ABNORMAL_BILL ZAB FROM Z_ABNORMAL_BILL ZAB
LEFT JOIN Z_ABNORMAL_BILL_DISPOSE ZABD ON ZABD.ABNORMAL_BILL_BO = ZAB.HANDLE
LEFT JOIN ITEM I ON ZAB.ITEM_BO = I.HANDLE LEFT JOIN ITEM I ON ZAB.ITEM_BO = I.HANDLE
LEFT JOIN ITEM_T IT ON I.HANDLE = IT.ITEM_BO AND IT.LOCALE = #{language} LEFT JOIN ITEM_T IT ON I.HANDLE = IT.ITEM_BO AND IT.LOCALE = #{language}
LEFT JOIN Z_NWA_USER ZNU ON ZNU.USER_NAME = ZAB.CREATED_USER AND ZNU.SITE = ZAB.SITE LEFT JOIN Z_NWA_USER ZNU ON ZNU.USER_NAME = ZAB.CREATED_USER AND ZNU.SITE = ZAB.SITE
@ -961,6 +962,37 @@
<if test="abnormalBill.workOrder != null and abnormalBill.workOrder != ''"> <if test="abnormalBill.workOrder != null and abnormalBill.workOrder != ''">
AND CF.VALUE LIKE '%${abnormalBill.workOrder}%' AND CF.VALUE LIKE '%${abnormalBill.workOrder}%'
</if> </if>
<choose>
<when test="userGroupList != null and userGroupList.size != 0">
AND (ZAB.REPORT_SEND_USER_GROUP IN
<foreach item="item" index="index" collection="userGroupList" separator="," open="(" close=")">
UPPER(#{item.userGroup})
</foreach>
OR
ZAB.CANCEL_SEND_USER_GROUP IN
<foreach item="item" index="index" collection="userGroupList" separator="," open="(" close=")">
UPPER(#{item.userGroup})
</foreach>
OR
ZABD.DUTY_SEND_USER_GROUP IN
<foreach item="item" index="index" collection="userGroupList" separator="," open="(" close=")">
UPPER(#{item.userGroup})
</foreach>
OR
ZABD.RESOLVE_SEND_USER_GROUP IN
<foreach item="item" index="index" collection="userGroupList" separator="," open="(" close=")">
UPPER(#{item.userGroup})
</foreach>)
</when>
<otherwise>
<if test="userGroupList == null">
</if>
<if test="userGroupList != null and userGroupList.size == 0">
AND 1 == 2
</if>
</otherwise>
</choose>
</if> </if>
</where> </where>
GROUP BY zab.ABNORMAL_NO,zab.STATUS,it.DESCRIPTION,zab.CREATED_DATE_TIME,zab.RESPONSE_DATE_TIME, GROUP BY zab.ABNORMAL_NO,zab.STATUS,it.DESCRIPTION,zab.CREATED_DATE_TIME,zab.RESPONSE_DATE_TIME,

@ -0,0 +1,221 @@
package com.foreverwin.mesnac.common.enums;
/**
* @Description TODO
* @Author zhaojiawei
* @Since 2021-08-19
*/
public enum AnomalyConstant {
;
public enum Status {
STATUS1("N","新建"),
STATUS2("X","响应中"),
STATUS3("F","方案确认"),
STATUS4("J","纠防确认"),
STATUS5("Q","取消"),
STATUS6("G","关闭");
private String code;
private String msg;
Status(String code, String msg) {
this.code = code;
this.msg = msg;
}
public static String msg(String code) {
Status[] statuses = values();
for (Status status : statuses) {
if (status.getCode().equals(code)) {
return status.getMsg();
}
}
return "";
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
public enum Type{
Type1("Q","其他"),
Type2("Z","质量"),
Type3("S","设备");
private String code;
private String msg;
Type(String code, String msg) {
this.code = code;
this.msg = msg;
}
public static String msg(String code) {
Type[] types = values();
for (Type type : types) {
if (type.getCode().equals(code)) {
return type.getMsg();
}
}
return "";
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
public enum Discover{
Discover1("Z","自制"),
Discover2("W","外协"),
Discover3("D","到货"),
Discover4("K","客户");
private String code;
private String msg;
Discover(String code, String msg) {
this.code = code;
this.msg = msg;
}
public static String msg(String code) {
Discover[] discovers = values();
for (Discover discover : discovers) {
if (discover.getCode().equals(code)) {
return discover.getMsg();
}
}
return "";
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
public enum ReportFrom{
ReportFrom1("B","自报"),
ReportFrom2("J","质检"),
ReportFrom3("R","设备人员"),
ReportFrom4("Z","设备自动"),
ReportFrom5("C","维修自查"),
ReportFrom6("Y","工艺");
private String code;
private String msg;
ReportFrom(String code, String msg) {
this.code = code;
this.msg = msg;
}
public static String msg(String code) {
ReportFrom[] reportFroms = values();
for (ReportFrom reportFrom : reportFroms) {
if (reportFrom.getCode().equals(code)) {
return reportFrom.getMsg();
}
}
return "";
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
public enum ShutDown{
ShutDown1("Y","是"),
ShutDown2("N","否");
private String code;
private String msg;
ShutDown(String code, String msg) {
this.code = code;
this.msg = msg;
}
public static String msg(String code) {
ShutDown[] shutDowns = values();
for (ShutDown shutDown : shutDowns) {
if (shutDown.getCode().equals(code)) {
return shutDown.getMsg();
}
}
return "";
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
}

@ -21,7 +21,7 @@ public class ActiveMQUtil {
String queue = "send.weChat.notice"; String queue = "send.weChat.notice";
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
try{ try{
jsonObject.put("TO_USER", user); jsonObject.put("TO_USER", "@all");
jsonObject.put("CONTENT",text); jsonObject.put("CONTENT",text);
// defaultJmsTemplate.getJmsTemplate().setReceiveTimeout(TimeUnit.SECONDS.toMillis(3)); // defaultJmsTemplate.getJmsTemplate().setReceiveTimeout(TimeUnit.SECONDS.toMillis(3));
defaultJmsTemplate.convertAndSend(queue, jsonObject.toString()); defaultJmsTemplate.convertAndSend(queue, jsonObject.toString());

@ -482,6 +482,9 @@
<if test="integration.endDateTime != null"> <if test="integration.endDateTime != null">
AND REQUEST_DATE_TIME &lt;= #{integration.endDateTime} AND REQUEST_DATE_TIME &lt;= #{integration.endDateTime}
</if> </if>
<if test="integration.param != null and integration.param != ''">
AND PARAM LIKE '%${integration.param}%'
</if>
</where> </where>
ORDER BY REQUEST_DATE_TIME DESC ORDER BY REQUEST_DATE_TIME DESC
</select> </select>

@ -31,4 +31,6 @@ public interface UserGroupMapper extends BaseMapper<UserGroup> {
Integer findUserGroupByUser(@Param("site")String site,@Param("user")String user,@Param("list")List<String> list); Integer findUserGroupByUser(@Param("site")String site,@Param("user")String user,@Param("list")List<String> list);
List<UserGroup> findUserGroupListByUser(@Param("site")String site,@Param("user")String user);
} }

@ -203,10 +203,17 @@ public class StringUtils {
String key = map.getKey(); String key = map.getKey();
String value = map.getValue(); String value = map.getValue();
String keyStr = '#' + key + '#'; String keyStr = '#' + key + '#';
if (message.contains(keyStr)) { if (message.contains(keyStr)) {
if(StringUtils.isEmpty(value)){
message = message.replace(keyStr, "");
}else {
message = message.replace(keyStr, value); message = message.replace(keyStr, value);
} }
}
} }
return message; return message;
} }

@ -382,5 +382,13 @@
</foreach> </foreach>
</select> </select>
<select id="findUserGroupListByUser" resultMap="BaseResultMap">
SELECT UG.USER_GROUP
FROM USR U
LEFT JOIN USER_GROUP_MEMBER UGM ON U.HANDLE = UGM.USER_OR_GROUP_GBO
LEFT JOIN USER_GROUP UG ON UG.HANDLE = UGM.USER_GROUP_BO
WHERE U.USER_ID = #{user} AND U.SITE = #{site}
</select>
</mapper> </mapper>

Loading…
Cancel
Save