Merge remote-tracking branch 'mesnac/master'

master
Leon
commit ae4aa1810b

@ -17,6 +17,6 @@ import org.springframework.stereotype.Repository;
public interface ResourceStatusReceiveMapper extends BaseMapper<ResourceStatusReceive> {
// 获取最新的记录
ResourceStatusReceive getOneByMaxCreateDateTime(@Param("site") String site);
ResourceStatusReceive getOneByMaxCreateDateTime(@Param("site") String site, @Param("resrce") String resrce);
}

@ -4,8 +4,11 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.mesnac.meapi.mapper.DcParameterMapper;
import com.foreverwin.mesnac.meapi.model.DcParameter;
import com.foreverwin.mesnac.meapi.model.Resrce;
import com.foreverwin.mesnac.meapi.service.ResrceService;
import com.foreverwin.modular.core.exception.BusinessException;
import com.foreverwin.modular.core.util.FrontPage;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -14,6 +17,8 @@ import com.foreverwin.mesnac.equip.model.EdcDataResource;
import com.foreverwin.mesnac.equip.mapper.EdcDataResourceMapper;
import com.foreverwin.mesnac.equip.service.EdcDataResourceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
@ -36,11 +41,14 @@ import java.util.UUID;
@Transactional(rollbackFor = Exception.class)
public class EdcDataResourceServiceImpl extends ServiceImpl<EdcDataResourceMapper, EdcDataResource> implements EdcDataResourceService {
private static Logger logger = LoggerFactory.getLogger(EdcDataResourceServiceImpl.class);
@Autowired
private EdcDataResourceMapper edcDataResourceMapper;
@Autowired
private DcParameterMapper dcParameterMapper;
@Autowired
private ResrceService resrceService;
@Override
public IPage<EdcDataResource> selectPage(FrontPage<EdcDataResource> frontPage, EdcDataResource edcDataResource) {
@ -64,6 +72,25 @@ public class EdcDataResourceServiceImpl extends ServiceImpl<EdcDataResourceMappe
String site = jsonObject.getString("SITE");
String resource = jsonObject.getString("RESOURCE");
String sendTime = jsonObject.getString("SEND_TIME");
if (StringUtil.isBlank(handle)) {
logger.error("唯一标识不能为空!");
throw BusinessException.build("唯一标识不能为空!");
}
if (StringUtil.isBlank(site)) {
logger.error("站点不能为空!");
throw BusinessException.build("站点不能为空!");
}
if (StringUtil.isBlank(resource)) {
logger.error("设备编号不能为空!");
throw BusinessException.build("设备编号不能为空!");
}
String resourceHandle = HandleEnum.RESOURCE.getHandle(site, resource);
Resrce resourceById = resrceService.getById(resourceHandle);
if (resourceById == null){
logger.error("未找到设备编号为" + resource + "的设备!");
throw BusinessException.build("未找到设备编号为" + resource + "的设备!");
}
// 参数列将参数存入MAP方便提取
String paramList = jsonObject.getString("PARAM_LIST");
JSONArray jsonArray = JSON.parseArray(paramList);
@ -80,6 +107,7 @@ public class EdcDataResourceServiceImpl extends ServiceImpl<EdcDataResourceMappe
if (dcGroupBo == null){
dcGroupBo = edcDataResourceMapper.getDcGroupBoByResourceBo2(resourceBo);
if (dcGroupBo == null){
logger.info("设备编号" + resource + "未找到数据收集组");
throw BusinessException.build("设备编号未找到数据收集组!");
}
}
@ -87,7 +115,8 @@ public class EdcDataResourceServiceImpl extends ServiceImpl<EdcDataResourceMappe
StringBuilder columnValSql = new StringBuilder();
StringBuilder columnSql = new StringBuilder();
List<DcParameter> getParamList = dcParameterMapper.getDcParameterByDcGroupBo(dcGroupBo);
if (getParamList.size()<1){
if (getParamList.size() < 1){
logger.info("数据收集组" + dcGroupBo + "未维护字段信息");
throw BusinessException.build("数据收集组" + dcGroupBo + "未维护字段信息");
}
for (DcParameter dcParam:getParamList) {

@ -3,7 +3,10 @@ package com.foreverwin.mesnac.equip.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.mesnac.meapi.model.Resrce;
import com.foreverwin.mesnac.meapi.service.ResrceService;
import com.foreverwin.modular.core.exception.BusinessException;
import com.foreverwin.modular.core.util.FrontPage;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -12,6 +15,8 @@ import com.foreverwin.mesnac.equip.model.ResourceFaultReceive;
import com.foreverwin.mesnac.equip.mapper.ResourceFaultReceiveMapper;
import com.foreverwin.mesnac.equip.service.ResourceFaultReceiveService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
@ -34,11 +39,12 @@ import java.util.UUID;
@Transactional(rollbackFor = Exception.class)
public class ResourceFaultReceiveServiceImpl extends ServiceImpl<ResourceFaultReceiveMapper, ResourceFaultReceive> implements ResourceFaultReceiveService {
private static Logger logger = LoggerFactory.getLogger(ResourceFaultReceiveServiceImpl.class);
@Autowired
private ResourceFaultReceiveMapper resourceFaultReceiveMapper;
@Autowired
private ResourceFaultReceiveService resourceFaultReceiveService;
@Autowired
private ResrceService resrceService;
@Override
public IPage<ResourceFaultReceive> selectPage(FrontPage<ResourceFaultReceive> frontPage, ResourceFaultReceive resourceFaultReceive) {
@ -68,14 +74,24 @@ public class ResourceFaultReceiveServiceImpl extends ServiceImpl<ResourceFaultRe
LocalDateTime sendDate = LocalDateTime.parse(sendTime, dataFormatter);
if (StringUtil.isBlank(handle)) {
logger.error("唯一标识不能为空!");
throw BusinessException.build("唯一标识不能为空!");
}
if (StringUtil.isBlank(site)) {
logger.error("站点不能为空!");
throw BusinessException.build("站点不能为空!");
}
if (StringUtil.isBlank(resource)) {
logger.error("设备编号不能为空!");
throw BusinessException.build("设备编号不能为空!");
}
String resourceHandle = HandleEnum.RESOURCE.getHandle(site, resource);
Resrce resourceById = resrceService.getById(resourceHandle);
if (resourceById == null){
logger.error("未找到设备编号为" + resource + "的设备!");
throw BusinessException.build("未找到设备编号为" + resource + "的设备!");
}
List<ResourceFaultReceive> list = new ArrayList<>();
// 故障编码及故障时间
JSONArray jsonArray = JSON.parseArray(faultList);

@ -6,6 +6,7 @@ import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.mesnac.meapi.model.Resrce;
import com.foreverwin.mesnac.meapi.service.ResrceService;
import com.foreverwin.modular.core.exception.BusinessException;
import com.foreverwin.modular.core.util.CommonMethods;
import com.foreverwin.modular.core.util.FrontPage;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -13,6 +14,8 @@ import com.foreverwin.mesnac.equip.model.ResourceStatusReceive;
import com.foreverwin.mesnac.equip.mapper.ResourceStatusReceiveMapper;
import com.foreverwin.mesnac.equip.service.ResourceStatusReceiveService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
@ -35,6 +38,7 @@ import java.util.UUID;
@Transactional(rollbackFor = Exception.class)
public class ResourceStatusReceiveServiceImpl extends ServiceImpl<ResourceStatusReceiveMapper, ResourceStatusReceive> implements ResourceStatusReceiveService {
private static Logger logger = LoggerFactory.getLogger(ResourceStatusReceiveServiceImpl.class);
@Autowired
private ResourceStatusReceiveMapper resourceStatusReceiveMapper;
@ -62,6 +66,7 @@ public class ResourceStatusReceiveServiceImpl extends ServiceImpl<ResourceStatus
*/
@Override
public String updateResourceStatusByMq(String text) {
String user = CommonMethods.getUser();
JSONObject jsonObject = JSONObject.parseObject(text);
// 传输数据的唯一标识HANDLE站点、设备编号、状态
String handle = jsonObject.getString("TRANID");
@ -74,18 +79,28 @@ public class ResourceStatusReceiveServiceImpl extends ServiceImpl<ResourceStatus
LocalDateTime dateTime = LocalDateTime.parse(sendTime,dataFormatter);
if (StringUtil.isBlank(handle)) {
logger.error("唯一标识不能为空!");
throw BusinessException.build("唯一标识不能为空!");
}
if (StringUtil.isBlank(site)) {
logger.error("站点不能为空!");
throw BusinessException.build("站点不能为空!");
}
if (StringUtil.isBlank(resource)) {
logger.error("设备编号不能为空!");
throw BusinessException.build("设备编号不能为空!");
}
String resourceHandle = HandleEnum.RESOURCE.getHandle(site, resource);
Resrce resourceById = resrceService.getById(resourceHandle);
if (resourceById == null){
logger.error("未找到设备编号为" + resource + "的设备!");
throw BusinessException.build("未找到设备编号为" + resource + "的设备!");
}
if (StringUtil.isBlank(sendStatus)) {
logger.error("设备状态不能为空!");
throw BusinessException.build("设备状态不能为空!");
}
LocalDateTime now = LocalDateTime.now();
String status = "301";
//设备状态转换
switch (sendStatus) {
@ -99,19 +114,26 @@ public class ResourceStatusReceiveServiceImpl extends ServiceImpl<ResourceStatus
status = "2"; break;
case "REPAIR" :
status = "4"; break;
default:
logger.info("发送的状态编码:" + sendStatus + ",未找到对应的状态!");
throw BusinessException.build("发送的状态编码:" + sendStatus + ",未找到对应的状态!");
}
// 获取最新数据
ResourceStatusReceive resourceStatus = resourceStatusReceiveMapper.getOneByMaxCreateDateTime(site);
LocalDateTime oldDate = resourceStatus.getDateTime();
resourceStatus.setChangeStatus(status);
resourceStatus.setChangeDateTime(dateTime);
Duration between = Duration.between(oldDate, dateTime);
Long intervalTime = between.toMinutes();
resourceStatus.setIntervalTime(intervalTime.doubleValue());
resourceStatus.setModifiedDateTime(LocalDateTime.now());
resourceStatus.setModifyUser("SITE_ADMIN");
resourceStatusReceiveMapper.updateById(resourceStatus);
ResourceStatusReceive resourceStatus = resourceStatusReceiveMapper.getOneByMaxCreateDateTime(site,resource);
if (resourceStatus != null){
LocalDateTime oldDate = resourceStatus.getDateTime();
resourceStatus.setChangeStatus(status);
resourceStatus.setChangeDateTime(dateTime);
Duration between = Duration.between(oldDate, dateTime);
Long intervalTime = between.toMinutes();
resourceStatus.setIntervalTime(intervalTime.doubleValue());
resourceStatus.setModifiedDateTime(now);
resourceStatus.setModifyUser(user);
resourceStatusReceiveMapper.updateById(resourceStatus);
}else{
logger.info("设备编号:" + resource + ",记录第一笔数据!");
}
// 数据库录入新数据
ResourceStatusReceive resourceStatusReceive = new ResourceStatusReceive();
resourceStatusReceive.setHandle(UUID.randomUUID().toString());
@ -119,14 +141,13 @@ public class ResourceStatusReceiveServiceImpl extends ServiceImpl<ResourceStatus
resourceStatusReceive.setResrce(resource);
resourceStatusReceive.setStatus(status);
resourceStatusReceive.setDateTime(dateTime);
resourceStatusReceive.setCreateUser("SITE_ADMIN");
resourceStatusReceive.setCreatedDateTime(LocalDateTime.now());
resourceStatusReceive.setCreateUser(user);
resourceStatusReceive.setCreatedDateTime(now);
resourceStatusReceiveMapper.insert(resourceStatusReceive);
// 修改设备状态
Resrce resrce = resrceService.getById(HandleEnum.RESOURCE.getHandle(site, resource));
resrce.setStatusBo(HandleEnum.STATUS.getHandle(site,status));
resrce.setModifiedDateTime(LocalDateTime.now());
resrceService.updateById(resrce);
resourceById.setStatusBo(HandleEnum.STATUS.getHandle(site,status));
resourceById.setModifiedDateTime(now);
resrceService.updateById(resourceById);
return handle;
}

@ -433,13 +433,14 @@
<!--自定义sql-->
<select id="getOneByMaxCreateDateTime" resultType="com.foreverwin.mesnac.equip.model.ResourceStatusReceive">
SELECT RSR.*
FROM
Z_RESOURCE_STATUS_RECEIVE RSR
WHERE
RSR.CREATED_DATE_TIME = (SELECT MAX(CREATED_DATE_TIME) FROM Z_RESOURCE_STATUS_RECEIVE )
AND RSR.SITE = #{site}
SELECT * FROM (
SELECT ROWNUM SEQ, RSR.*
FROM Z_RESOURCE_STATUS_RECEIVE RSR
WHERE RSR.CHANGE_STATUS IS NULL AND RSR.SITE = #{site} AND RSR.RESRCE = #{resrce}
ORDER BY RSR.CREATED_DATE_TIME DESC
) WHERE SEQ = 1
</select>
<!--自定义sql-->

@ -3,6 +3,7 @@ package com.foreverwin.mesnac.quality.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.foreverwin.mesnac.common.constant.Constants;
import com.foreverwin.mesnac.quality.mapper.SelfReportMapper;
import com.foreverwin.mesnac.quality.model.SelfReport;
import com.foreverwin.mesnac.quality.service.SelfReportService;
import com.foreverwin.modular.core.util.CommonMethods;
@ -26,6 +27,9 @@ public class SelfReportController {
@Autowired
public SelfReportService selfReportService;
@Autowired
public SelfReportMapper selfReportMapper;
/**
*
*
@ -148,4 +152,25 @@ public class SelfReportController {
public R removeByIds(List<String> ids){
return R.ok(selfReportService.removeByIds(ids));
}
/**
*
* @param
* @return
*/
@GetMapping("/selectResourceAndCheckUsr")
public R selectResourceAndCheckUsr() {
List<SelfReport> result;
try {
String site = CommonMethods.getSite();
result = selfReportMapper.selectResourceAndCheckUsr(site);
} catch (Exception e) {
return R.failed(e.getMessage());
}
return R.ok(result);
}
}

@ -22,4 +22,8 @@ import java.util.List;
public interface SelfReportMapper extends BaseMapper<SelfReport> {
List<SelfReport> selectListByCondition(@Param("ew") QueryWrapper<SelfReport> ew, @Param("locale") String locale, @Param("startTime") LocalDate startTime, @Param("endTime") LocalDate endTime, @Param("userGroupList")List<UserGroup> userGroupList);
/*查询设备和设备上的检验人员*/
List<SelfReport> selectResourceAndCheckUsr(@Param("site") String site);
}

@ -157,6 +157,17 @@ public class SelfReport extends Model<SelfReport> {
*/
@TableField(exist = false)
private String pbUser;
@TableField(exist = false)
private String checkUsr;
public String getCheckUsr() {
return checkUsr;
}
public void setCheckUsr(String checkUsr) {
this.checkUsr = checkUsr;
}
public String getProductCategory() {
return productCategory;

@ -559,13 +559,17 @@
</foreach>)
</delete>
<!-- BaseMapper标准查询/修改/删除 -->
<!--自定义sql-->
<select id="selectListByCondition" resultMap="BaseResultMap">
SELECT ZSR.HANDLE, ZSR.SITE, ZSR.TASK_NO, ZSR.WORK_CENTER,ZSR.NC_CODE_DESC, ZSR.SHOP_ORDER, ZSR.ITEM, ZSR.OP_STEP, ZSR.RESRCE, ZSR.SFC, ZSR.NC_CODE, ZSR.NC_QTY, ZSR.LOCATION, ZSR.STATE, ZSR.REMARK, B.FULL_NAME CREATE_USER,ZSR. CREATED_DATE_TIME,IT.DESCRIPTION,ZSR.CREATE_USER PB_USER FROM Z_SELF_REPORT ZSR
SELECT ZSR.HANDLE, ZSR.SITE, ZSR.TASK_NO, ZSR.WORK_CENTER,ZSR.NC_CODE_DESC, ZSR.SHOP_ORDER, ZSR.ITEM, ZSR.OP_STEP, ZSR.RESRCE, ZSR.SFC, ZSR.NC_CODE, ZSR.NC_QTY, ZSR.LOCATION, ZSR.STATE, ZSR.REMARK, B.FULL_NAME CREATE_USER,ZSR. CREATED_DATE_TIME,IT.DESCRIPTION,ZSR.CREATE_USER PB_USER,CF.VALUE CHECK_USR FROM Z_SELF_REPORT ZSR
JOIN ITEM I ON I.ITEM = ZSR.ITEM AND I.CURRENT_REVISION='true'
LEFT JOIN ITEM_T IT ON I.HANDLE = IT.ITEM_BO AND IT.LOCALE = #{locale}
LEFT JOIN Z_NWA_USER B ON ZSR.SITE = B.SITE AND ZSR.CREATE_USER = B.USER_NAME
JOIN SHOP_ORDER SO ON SO.shop_order=zsr.SHOP_order and so.site=zsr.site
LEFT JOIN CUSTOM_FIELDS PC ON PC.HANDLE = SO.HANDLE AND PC."ATTRIBUTE" = 'PRODUCT_CATEGORY'
LEFT JOIN RESRCE R ON R.RESRCE = ZSR.RESRCE AND R.SITE = ZSR.SITE
LEFT JOIN CUSTOM_FIELDS CF ON CF.HANDLE = R.HANDLE AND CF."ATTRIBUTE" = 'CHECK_USR'
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
@ -575,6 +579,7 @@
<if test="ew.entity.site!=null"> AND ZSR.SITE=#{ew.entity.site}</if>
<if test="ew.entity.taskNo!=null"> AND ZSR.TASK_NO=#{ew.entity.taskNo}</if>
<if test="ew.entity.workCenter!=null and ew.entity.workCenter!='' "> AND ZSR.WORK_CENTER=#{ew.entity.workCenter}</if>
<if test="ew.entity.checkUsr!=null and ew.entity.checkUsr!='' "> AND CF.VALUE=#{ew.entity.checkUsr}</if>
<if test="ew.entity.shopOrder!=null and ew.entity.shopOrder!=''"> AND ZSR.SHOP_ORDER=#{ew.entity.shopOrder}</if>
<if test="ew.entity.item!=null and ew.entity.item!=''"> AND ZSR.ITEM=#{ew.entity.item}</if>
<if test="ew.entity.opStep!=null and ew.entity.opStep!=''"> AND ZSR.OP_STEP=#{ew.entity.opStep}</if>
@ -613,4 +618,15 @@
${ew.sqlSegment}
</if>
</select>
<!--查询设备和设备上的检验人员-->
<select id="selectResourceAndCheckUsr" resultMap="BaseResultMap">
SELECT R.RESRCE ,R.DESCRIPTION ,CF.VALUE CHECK_USR FROM RESRCE R
LEFT JOIN CUSTOM_FIELDS CF ON CF.HANDLE = R.HANDLE AND CF."ATTRIBUTE" = 'CHECK_USR'
WHERE R.SITE = #{site}
</select>
<!--自定义sql-->
</mapper>

Loading…
Cancel
Save