异常消息发送和生产操作员面板pod

赵嘉伟 4 years ago
parent 26ef51836f
commit 69ec898a9d

@ -165,4 +165,9 @@ public class SfcController {
return R.ok(sfcService.findOperationBySfc(sfc)); return R.ok(sfcService.findOperationBySfc(sfc));
} }
@GetMapping("/findSfcByResrce")
public R findSfcByResrce(String resource,Sfc sfc){
return R.ok(sfcService.findSfcByResrce(resource,sfc));
}
} }

@ -15,6 +15,9 @@ public class SfcDto extends Sfc {
private String workCenter; private String workCenter;
private String dispatchNo; private String dispatchNo;
private String stepId; private String stepId;
private String plannedStartDate;
private String plannedCompDate;
private String workOrder;
public String getStepId() { public String getStepId() {
return stepId; return stepId;
@ -103,4 +106,28 @@ public class SfcDto extends Sfc {
public void setWorkCenter(String workCenter) { public void setWorkCenter(String workCenter) {
this.workCenter = workCenter; this.workCenter = workCenter;
} }
public String getPlannedStartDate() {
return plannedStartDate;
}
public void setPlannedStartDate(String plannedStartDate) {
this.plannedStartDate = plannedStartDate;
}
public String getPlannedCompDate() {
return plannedCompDate;
}
public void setPlannedCompDate(String plannedCompDate) {
this.plannedCompDate = plannedCompDate;
}
public String getWorkOrder() {
return workOrder;
}
public void setWorkOrder(String workOrder) {
this.workOrder = workOrder;
}
} }

@ -33,4 +33,6 @@ public interface SfcMapper extends BaseMapper<Sfc> {
IPage pageByResrce(Page<Sfc> pagePlus,@Param("ew") QueryWrapper<SfcDto> queryWrapper,@Param("locale")String locale); IPage pageByResrce(Page<Sfc> pagePlus,@Param("ew") QueryWrapper<SfcDto> queryWrapper,@Param("locale")String locale);
String findOperationBySfc(@Param("site")String site,@Param("sfc")String sfc); String findOperationBySfc(@Param("site")String site,@Param("sfc")String sfc);
String findSfcByResrce(@Param("site")String site,@Param("resource")String resource,@Param("sfc")Sfc sfc);
} }

@ -20,4 +20,10 @@ public interface UserGroupMapper extends BaseMapper<UserGroup> {
int checkUserGroup(@Param("site")String site, @Param("list")List<String> item); int checkUserGroup(@Param("site")String site, @Param("list")List<String> item);
//根据升级的用户组得到正确的用户组
List<UserGroup> getUserGroupListByGroups(@Param("site")String site,@Param("list")List<String> item);
UserGroup getCustomFieldByGroup(@Param("site")String site,
@Param("userGroup")String userGroup);
} }

@ -21,4 +21,11 @@ public interface WorkCenterMapper extends BaseMapper<WorkCenter> {
IPage workCenterlist(IPage page, @Param("site") String site, @Param("workCenter") String workCenter); IPage workCenterlist(IPage page, @Param("site") String site, @Param("workCenter") String workCenter);
List<WorkCenter> getWorkShopList(@Param("site")String site, @Param("locale")String locale); List<WorkCenter> getWorkShopList(@Param("site")String site, @Param("locale")String locale);
WorkCenter findWorkCenterDescriptionByResrce(@Param("resrceBo")String resourceBo,
@Param("locale")String locale);
WorkCenter findWorkCenterDescriptionByWorkCenter(@Param("site")String site,
@Param("workCenter")String workCenter,
@Param("locale")String locale);
} }

@ -1,20 +1,13 @@
package com.foreverwin.mesnac.meapi.model; package com.foreverwin.mesnac.meapi.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType;
/** /**
* <p> * <p>
@ -47,6 +40,10 @@ public class UserGroup extends Model<UserGroup> {
private LocalDateTime createdDateTime; private LocalDateTime createdDateTime;
@TableField("MODIFIED_DATE_TIME") @TableField("MODIFIED_DATE_TIME")
private LocalDateTime modifiedDateTime; private LocalDateTime modifiedDateTime;
@TableField(exist = false)
private String messageNoticeLevel;
@TableField(exist = false)
private String messageNoticeTime;
public String getHandle() { public String getHandle() {
@ -113,6 +110,22 @@ public class UserGroup extends Model<UserGroup> {
this.modifiedDateTime = modifiedDateTime; this.modifiedDateTime = modifiedDateTime;
} }
public String getMessageNoticeLevel() {
return messageNoticeLevel;
}
public void setMessageNoticeLevel(String messageNoticeLevel) {
this.messageNoticeLevel = messageNoticeLevel;
}
public String getMessageNoticeTime() {
return messageNoticeTime;
}
public void setMessageNoticeTime(String messageNoticeTime) {
this.messageNoticeTime = messageNoticeTime;
}
public static final String HANDLE = "HANDLE"; public static final String HANDLE = "HANDLE";
public static final String CHANGE_STAMP = "CHANGE_STAMP"; public static final String CHANGE_STAMP = "CHANGE_STAMP";

@ -52,4 +52,6 @@ public interface SfcService extends IService<Sfc> {
String findOperationBySfc(String sfc); String findOperationBySfc(String sfc);
List<Sfc> findSfcByResrce(String resource,Sfc sfc);
} }

@ -78,4 +78,11 @@ public class SfcServiceImpl extends ServiceImpl<SfcMapper, Sfc> implements SfcSe
String site = CommonMethods.getSite(); String site = CommonMethods.getSite();
return sfcMapper.findOperationBySfc(site,sfc); return sfcMapper.findOperationBySfc(site,sfc);
} }
@Override
public List<Sfc> findSfcByResrce(String resource,Sfc sfc) {
String site = CommonMethods.getSite();
sfcMapper.findSfcByResrce(site,resource,sfc);
return null;
}
} }

@ -684,4 +684,9 @@
WHERE (SS.QTY_IN_QUEUE > 0 OR SS.QTY_IN_WORK > 0) WHERE (SS.QTY_IN_QUEUE > 0 OR SS.QTY_IN_WORK > 0)
AND S.SFC = #{sfc} AND S.SITE = #{site} AND S.SFC = #{sfc} AND S.SITE = #{site}
</select> </select>
<select id="findSfcByResrce" resultMap="BaseResultMap">
</select>
</mapper> </mapper>

@ -12,6 +12,8 @@
<result column="WORKSTATION_BO" property="workstationBo" /> <result column="WORKSTATION_BO" property="workstationBo" />
<result column="CREATED_DATE_TIME" property="createdDateTime" /> <result column="CREATED_DATE_TIME" property="createdDateTime" />
<result column="MODIFIED_DATE_TIME" property="modifiedDateTime" /> <result column="MODIFIED_DATE_TIME" property="modifiedDateTime" />
<result column="MESSAGE_NOTICE_LEVEL" property="messageNoticeLevel"/>
<result column="MESSAGE_NOTICE_TIME" property="messageNoticeTime"/>
</resultMap> </resultMap>
<!-- 通用查询结果列 --> <!-- 通用查询结果列 -->
@ -338,4 +340,22 @@
</foreach>) </foreach>)
</if> </if>
</select> </select>
<select id="getUserGroupListByGroups" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"></include>
FROM USER_GROUP
WHERE SITE=#{site}
<if test="list != null and !list.isEmpty">
AND USER_GROUP IN (
<foreach item="item" index="index" collection="list" separator=",">UPPER(#{item})
</foreach>)
</if>
</select>
<select id="getCustomFieldByGroup" resultMap="BaseResultMap">
SELECT CF.VALUE MESSAGE_NOTICE_LEVEL, CF2.VALUE MESSAGE_NOTICE_TIME
FROM USER_GROUP UG
LEFT JOIN CUSTOM_FIELDS CF ON CF.HANDLE = UG.HANDLE AND CF."ATTRIBUTE" = 'MESSAGE_NOTICE_LEVEL'
LEFT JOIN CUSTOM_FIELDS CF2 ON CF2.HANDLE = UG.HANDLE AND CF2."ATTRIBUTE" = 'MESSAGE_NOTICE_TIME'
WHERE UG.USER_GROUP = #{userGroup} AND UG.SITE = #{site}
</select>
</mapper> </mapper>

@ -486,4 +486,18 @@
INNER JOIN WORK_CENTER_T CT ON CT.WORK_CENTER_BO = WC.HANDLE AND CT.LOCALE = #{locale} INNER JOIN WORK_CENTER_T CT ON CT.WORK_CENTER_BO = WC.HANDLE AND CT.LOCALE = #{locale}
WHERE WC.WC_CATEGORY = 'LEVEL4' AND WC.SITE = #{site} WHERE WC.WC_CATEGORY = 'LEVEL4' AND WC.SITE = #{site}
</select> </select>
<select id="findWorkCenterDescriptionByResrce" resultMap="BaseResultMap">
SELECT WCT.DESCRIPTION DESCRIPTION,SUBSTR(WCM.WORK_CENTER_BO,INSTR(WCM.WORK_CENTER_BO,',',-1)+1) WORK_CENTER
FROM WORK_CENTER_MEMBER WCM
INNER JOIN WORK_CENTER_T WCT ON WCM.WORK_CENTER_BO = WCT.WORK_CENTER_BO AND WCT.LOCALE = #{locale}
WHERE WCM.WORK_CENTER_OR_RESOURCE_GBO = #{resrceBo}
</select>
<select id="findWorkCenterDescriptionByWorkCenter" resultMap="BaseResultMap">
SELECT WC.WORK_CENTER WORK_CENTER,WCT.DESCRIPTION DESCRIPTION
FROM WORK_CENTER WC
LEFT JOIN WORK_CENTER_T WCT ON WC.HANDLE = WCT.WORK_CENTER_BO AND WCT.LOCALE = #{locale}
WHERE WC.WORK_CENTER = #{workCenter} AND WC.SITE = #{site}
</select>
</mapper> </mapper>

@ -2,6 +2,7 @@ package com.foreverwin.mesnac.production.controller;
import com.foreverwin.mesnac.meapi.dto.SfcDto; import com.foreverwin.mesnac.meapi.dto.SfcDto;
import com.foreverwin.mesnac.meapi.dto.WorkCenterDto; import com.foreverwin.mesnac.meapi.dto.WorkCenterDto;
import com.foreverwin.mesnac.meapi.model.Sfc;
import com.foreverwin.mesnac.production.service.PodTemplateService; import com.foreverwin.mesnac.production.service.PodTemplateService;
import com.foreverwin.modular.core.util.R; import com.foreverwin.modular.core.util.R;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -73,4 +74,13 @@ public class PodTemplateController {
public R getSfcInfo(SfcDto sfcDto) { public R getSfcInfo(SfcDto sfcDto) {
return R.ok(podTemplateService.getSfcInfo(sfcDto)); return R.ok(podTemplateService.getSfcInfo(sfcDto));
} }
/**
*
*/
@ResponseBody
@GetMapping("/getInfoBySfc")
public R getSfcInfo(Sfc sfc) {
return R.ok(podTemplateService.getInfoBySfc(sfc));
}
} }

@ -70,4 +70,6 @@ public interface SfcCrossMapper extends BaseMapper {
List<SfcDto> getSfcListByResrce(@Param("site") String site, @Param("resrce") String resrce,@Param("locale") String locale); List<SfcDto> getSfcListByResrce(@Param("site") String site, @Param("resrce") String resrce,@Param("locale") String locale);
Integer resourceCheck(@Param("resrceBO")String resrceBO, @Param("dateTime")LocalDateTime dateTime); Integer resourceCheck(@Param("resrceBO")String resrceBO, @Param("dateTime")LocalDateTime dateTime);
SfcDto getInfoBySfc(@Param("sfc")Sfc sfc);
} }

@ -2,6 +2,7 @@ package com.foreverwin.mesnac.production.service;
import com.foreverwin.mesnac.meapi.dto.SfcDto; import com.foreverwin.mesnac.meapi.dto.SfcDto;
import com.foreverwin.mesnac.meapi.dto.WorkCenterDto; import com.foreverwin.mesnac.meapi.dto.WorkCenterDto;
import com.foreverwin.mesnac.meapi.model.Sfc;
import java.util.Map; import java.util.Map;
@ -16,4 +17,6 @@ public interface PodTemplateService {
void sfcComplete(Map<String, Object> map); void sfcComplete(Map<String, Object> map);
SfcDto getInfoBySfc(Sfc sfc);
} }

@ -249,6 +249,8 @@ public class PodTemplateServiceImpl implements PodTemplateService {
}); });
} }
void senErp() throws RemoteException { void senErp() throws RemoteException {
String shopOrder = "SO20210714"; String shopOrder = "SO20210714";
String stepId = "OP001"; String stepId = "OP001";
@ -297,4 +299,11 @@ public class PodTemplateServiceImpl implements PodTemplateService {
String message = outHolder.value[1].getMsg(); String message = outHolder.value[1].getMsg();
System.out.println("ERP接口返回状态:" + status + ",消息:" + message); System.out.println("ERP接口返回状态:" + status + ",消息:" + message);
} }
@Override
public SfcDto getInfoBySfc(Sfc sfc) {
String site = CommonMethods.getSite();
sfc.setSite(site);
return sfcCrossMapper.getInfoBySfc(sfc);
}
} }

@ -162,4 +162,29 @@ WHERE sfc.site = #{site} and
<select id="resourceCheck" resultType="java.lang.Integer"> <select id="resourceCheck" resultType="java.lang.Integer">
SELECT count(HANDLE) FROM Z_RESOURCE_INSPECT_TASK zrit WHERE RESOURCE_BO=#{resrceBO} AND CATEGORY='DM' AND STATUS='COMPLETE' AND "RESULT"='OK' AND CREATED_DATE_TIME>=#{dateTime} SELECT count(HANDLE) FROM Z_RESOURCE_INSPECT_TASK zrit WHERE RESOURCE_BO=#{resrceBO} AND CATEGORY='DM' AND STATUS='COMPLETE' AND "RESULT"='OK' AND CREATED_DATE_TIME>=#{dateTime}
</select> </select>
<select id="getInfoBySfc" resultType="com.foreverwin.mesnac.meapi.dto.SfcDto">
SELECT DISTINCT S.SFC SFC, SO.SHOP_ORDER SHOP_ORDER,CF.VALUE WORK_ORDER,O.OPERATION OPERATION,
CASE WHEN SSTEP.QTY_IN_WORK > 0 THEN '工作中'
WHEN SSTEP.QTY_IN_QUEUE > 0 THEN '排队中'
ELSE '新建' END STATUS,SSTEP.STEP_ID STEP_ID,
WC.WORK_CENTER WORK_CENTER,SO.PLANNED_START_DATE PLANNED_START_DATE,SO.PLANNED_COMP_DATE PLANNED_COMP_DATE
FROM SFC S
LEFT JOIN Z_SFC_DISPATCH ZSD ON S.SFC = ZSD.SFC AND S.SITE = ZSD.SITE
INNER JOIN SFC_ROUTING SRI ON S.HANDLE=SRI.SFC_BO
INNER JOIN SFC_ROUTER SR ON SRI.HANDLE=SR.SFC_ROUTING_BO AND SR.IN_USE='true'
INNER JOIN ROUTER_STEP RS ON RS.ROUTER_BO=SR.ROUTER_BO
INNER JOIN SFC_STEP SSTEP ON SSTEP.SFC_ROUTER_BO=SR.HANDLE AND RS.STEP_ID= SSTEP.STEP_ID
AND (SSTEP.QTY_IN_QUEUE > 0 OR SSTEP.QTY_IN_WORK > 0)
INNER JOIN STATUS ST ON ST.HANDLE = S.STATUS_BO
LEFT JOIN OPERATION O ON O.OPERATION=SPLIT(SSTEP.OPERATION_BO,2) AND O.SITE=S.SITE AND O.CURRENT_REVISION = 'true'
LEFT JOIN SHOP_ORDER SO ON SO.SHOP_ORDER = ZSD.SHOP_ORDER AND SO.SITE = S.SITE
LEFT JOIN CUSTOM_FIELDS CF ON CF.HANDLE = SO.HANDLE AND CF."ATTRIBUTE" = 'WORK_ORDER'
LEFT JOIN WORK_CENTER WC ON WC.WORK_CENTER = ZSD.WORK_CENTER AND WC.SITE = S.SITE
<where>
<if test="sfc != null">
S.SITE = #{sfc.site} AND S.SFC = #{sfc.sfc}
</if>
</where>
</select>
</mapper> </mapper>

Loading…
Cancel
Save