Browse Source

工艺路线管理功能修复 保存图形后数据重复问题;

master_hella_20240701
zhousq 1 year ago
parent
commit
151f5e306f
  1. 14
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/processroute/ProcessrouteController.java
  2. 25
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/processroute/vo/ProcessrouteUpdateGraphReqVO.java
  3. 8
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/dal/mysql/processroutenodedetail/ProcessrouteNodeDetailMapper.java
  4. 2
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/processroute/ProcessrouteServiceImpl.java
  5. 2
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/processroutenodedetail/ProcessrouteNodeDetailService.java
  6. 5
      win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/processroutenodedetail/ProcessrouteNodeDetailServiceImpl.java
  7. 5
      win-module-mes/win-module-mes-biz/src/main/resources/mapper/processroutenodedetail/ProcessrouteNodeDetailMapper.xml
  8. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itembasic/ItembasicServiceImpl.java

14
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/processroute/ProcessrouteController.java

@ -61,10 +61,10 @@ public class ProcessrouteController {
int result = processrouteService.updateProcessroute(updateReqVO); int result = processrouteService.updateProcessroute(updateReqVO);
return success(result > 0); return success(result > 0);
} }
@Value("${win.mes.start-process-code}") //@Value("${win.mes.start-process-code}")
private String startProcessCode; private String startProcessCode="startNode";
@Value("${win.mes.end-process-code}") //@Value("${win.mes.end-process-code}")
private String endProcesscode; private String endProcesscode="endNode";
@PostMapping("/updategraph") @PostMapping("/updategraph")
@Operation(summary = "更新工艺路线的图形定义") @Operation(summary = "更新工艺路线的图形定义")
// @PreAuthorize("@ss.hasPermission('mes:processroute:update')") // @PreAuthorize("@ss.hasPermission('mes:processroute:update')")
@ -75,14 +75,14 @@ public class ProcessrouteController {
* 如果紧后工序为endProcesscode表示该工序为结束工工序 * 如果紧后工序为endProcesscode表示该工序为结束工工序
* */ * */
//logger.info(startProcessCode+"----------------"+endProcesscode); //logger.info(startProcessCode+"----------------"+endProcesscode);
List<ProcessrouteNodeDetailCreateReqVO> processConfigFromJsonByCells = graphVo.getProcessConfigFromJsonByCells(graphVo.getGraphJson(),graphVo.getProcessrouteCode()); List<ProcessrouteNodeDetailCreateReqVO> processConfigFromJsonByCells = graphVo.getProcessConfigFromJsonByCells(graphVo.getGraphJson(),graphVo.getProcessrouteCode(),startProcessCode,endProcesscode);
ProcessrouteDO processroute=new ProcessrouteDO(); ProcessrouteDO processroute=new ProcessrouteDO();
processroute.setId(graphVo.getProcessrouteId()); processroute.setId(graphVo.getProcessrouteId());
processroute.setProcessrouteCode(graphVo.getProcessrouteCode()); processroute.setProcessrouteCode(graphVo.getProcessrouteCode());
processroute.setGraphJson(graphVo.getGraphJson().toJSONString()); processroute.setGraphJson(graphVo.getGraphJson().toJSONString());
processrouteService.updateProcessrouteGraph(processroute,ProcessrouteNodeDetailConvert.INSTANCE.convertListDetail(processConfigFromJsonByCells)); int ret=processrouteService.updateProcessrouteGraph(processroute,ProcessrouteNodeDetailConvert.INSTANCE.convertListDetail(processConfigFromJsonByCells));
//logger.info(graphVo.getGraphJson().toJSONString()); //logger.info(graphVo.getGraphJson().toJSONString());
return success(true); return success(ret>0);
} }

25
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/controller/processroute/vo/ProcessrouteUpdateGraphReqVO.java

@ -28,8 +28,9 @@ public class ProcessrouteUpdateGraphReqVO {
private JSONObject graphJson; private JSONObject graphJson;
//从图形配置数据中进行转换出配置 通过Cells 数组方式 //从图形配置数据中进行转换出配置 通过Cells 数组方式
/**参考格式*/ /**参考格式*/
public List<ProcessrouteNodeDetailCreateReqVO> getProcessConfigFromJsonByCells(JSONObject json,String processrouteCode) { public List<ProcessrouteNodeDetailCreateReqVO> getProcessConfigFromJsonByCells(JSONObject json,String processrouteCode,String startCode,String endCode) {
Optional<JSONObject> data = Optional.ofNullable(json); Optional<JSONObject> data = Optional.ofNullable(json);
Map<String, ProcessrouteNodeDetailCreateReqVO> nodesMap=new HashMap<>();//节点数据 Map<String, ProcessrouteNodeDetailCreateReqVO> nodesMap=new HashMap<>();//节点数据
Map<String,JSONObject> edgesMap=new HashMap<>();//边数据 Map<String,JSONObject> edgesMap=new HashMap<>();//边数据
@ -49,16 +50,18 @@ public class ProcessrouteUpdateGraphReqVO {
}else{ }else{
String nodeId = cell.getString("id"); String nodeId = cell.getString("id");
if(nodesMap.get(nodeId)==null){ if(nodesMap.get(nodeId)==null){
vo=new ProcessrouteNodeDetailCreateReqVO(); if(!(nodeId.equalsIgnoreCase(startCode) || nodeId.equalsIgnoreCase(endCode))){
//vo.setGraphX(cell.getInteger("x")); vo=new ProcessrouteNodeDetailCreateReqVO();
//vo.setGraphY(cell.getInteger("y")); //vo.setGraphX(cell.getInteger("x"));
vo.setGraphPro(cell.getString("attrs")); //vo.setGraphY(cell.getInteger("y"));
vo.setNextCode(""); vo.setGraphPro(cell.getString("attrs"));
vo.setPreCode(""); vo.setNextCode("");
vo.setProcessCode(nodeId); vo.setPreCode("");
//vo.setNodeName(cell.getString()) vo.setProcessCode(nodeId);
vo.setProcessrouteCode(processrouteCode); //vo.setNodeName(cell.getString())
nodesMap.put(nodeId,vo); vo.setProcessrouteCode(processrouteCode);
nodesMap.put(nodeId,vo);
}
} }
} }
} }

8
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/dal/mysql/processroutenodedetail/ProcessrouteNodeDetailMapper.java

@ -9,6 +9,7 @@ import com.win.module.mes.controller.processroutenodedetail.vo.ProcessrouteNodeD
import com.win.module.mes.controller.processroutenodedetail.vo.ProcessrouteNodeDetailPageReqVO; import com.win.module.mes.controller.processroutenodedetail.vo.ProcessrouteNodeDetailPageReqVO;
import com.win.module.mes.dal.dataobject.processroutenodedetail.ProcessrouteNodeDetailDO; import com.win.module.mes.dal.dataobject.processroutenodedetail.ProcessrouteNodeDetailDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/** /**
* 工艺路由工序节点配置明细 Mapper * 工艺路由工序节点配置明细 Mapper
@ -56,9 +57,6 @@ public interface ProcessrouteNodeDetailMapper extends BaseMapperX<ProcessrouteNo
/*** /***
* *
*/ */
default Integer deleteByprocessRouteCode(String processRoutCode){ Integer deleteByprocessRouteCode(@Param("processCode") String processCode);
LambdaQueryWrapperX<ProcessrouteNodeDetailDO> lambdaQueryWrapperX = new LambdaQueryWrapperX<ProcessrouteNodeDetailDO>()
.eq(ProcessrouteNodeDetailDO::getProcessCode,processRoutCode);
return delete(lambdaQueryWrapperX);
}
} }

2
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/processroute/ProcessrouteServiceImpl.java

@ -130,7 +130,7 @@ public class ProcessrouteServiceImpl implements ProcessrouteService {
//queryWrapper.eq("processroute_code",); //queryWrapper.eq("processroute_code",);
processDetaiMapper.deleteByprocessRouteCode(dao.getProcessrouteCode()); processDetaiMapper.deleteByprocessRouteCode(dao.getProcessrouteCode());
processDetaiMapper.insertBatch(list); processDetaiMapper.insertBatch(list);
return 0;}catch (Exception e){ return 1;}catch (Exception e){
return -1; return -1;
} }
} }

2
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/processroutenodedetail/ProcessrouteNodeDetailService.java

@ -35,7 +35,7 @@ public interface ProcessrouteNodeDetailService {
* @param id 编号 * @param id 编号
*/ */
Integer deleteProcessrouteNodeDetail(Long id); Integer deleteProcessrouteNodeDetail(Long id);
Integer deleteByProcessrouteCode(String code);
/** /**
* 获得工艺路由工序节点配置明细 * 获得工艺路由工序节点配置明细
* *

5
win-module-mes/win-module-mes-biz/src/main/java/com/win/module/mes/service/processroutenodedetail/ProcessrouteNodeDetailServiceImpl.java

@ -58,7 +58,10 @@ public class ProcessrouteNodeDetailServiceImpl implements ProcessrouteNodeDetail
// 删除 // 删除
return processrouteNodeDetailMapper.deleteById(id); return processrouteNodeDetailMapper.deleteById(id);
} }
@Override
public Integer deleteByProcessrouteCode(String code){
return processrouteNodeDetailMapper.deleteByprocessRouteCode(code);
}
private void validateProcessrouteNodeDetailExists(Long id) { private void validateProcessrouteNodeDetailExists(Long id) {
if (processrouteNodeDetailMapper.selectById(id) == null) { if (processrouteNodeDetailMapper.selectById(id) == null) {
throw exception(PROCESSROUTE_NODE_DETAIL_NOT_EXISTS); throw exception(PROCESSROUTE_NODE_DETAIL_NOT_EXISTS);

5
win-module-mes/win-module-mes-biz/src/main/resources/mapper/processroutenodedetail/ProcessrouteNodeDetailMapper.xml

@ -8,5 +8,8 @@
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
--> -->
<delete id="deleteByprocessRouteCode" parameterType="java.lang.String">
delete from strategy_processroute_node_detail
where processroute_code = #{processCode}
</delete>
</mapper> </mapper>

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itembasic/ItembasicServiceImpl.java

@ -146,8 +146,8 @@ public class ItembasicServiceImpl implements ItembasicService {
/**add by zhousq*/ /**add by zhousq*/
@Override @Override
public ItembasicDO getItembasicBycode(String code){ public ItembasicDO getItembasicBycode(String code){
QueryWrapper<ItembasicDO> itembasicDOQueryWrapper = new QueryWrapper<>(); //QueryWrapper<ItembasicDO> itembasicDOQueryWrapper = new QueryWrapper<>();
itembasicDOQueryWrapper.eq("code","code"); //itembasicDOQueryWrapper.eq("code",code);
return itembasicMapper.selectByCode(code); return itembasicMapper.selectByCode(code);
} }
@Override @Override

Loading…
Cancel
Save