Browse Source

add:提交mes下发接口

master2
DESKTOP-5DIJMF9\admin 5 months ago
parent
commit
df8bf461fd
  1. 362
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/controller/MesController.java
  2. 24
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/Head.java
  3. 4
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES060Request.java
  4. 38
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES060RequestBody.java
  5. 21
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES060ResponseBody.java
  6. 6
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES062Request.java
  7. 38
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES062RequestBody.java
  8. 12
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES062Response.java
  9. 48
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES062ResponseBody.java
  10. 8
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES064Request.java
  11. 33
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES064RequestBody.java
  12. 55
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES065RequestBody.java
  13. 12
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES065Response.java
  14. 48
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES065ResponseBody.java
  15. 15
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES066Request.java
  16. 22
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES066RequestBody.java
  17. 6
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES068Request.java
  18. 29
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES068RequestBody.java
  19. 20
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES070Request.java
  20. 24
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES070RequestBody.java
  21. 52
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES098RequestBody.java
  22. 29
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES098RequestBodyItem1.java
  23. 37
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES098RequestBodyItem2.java
  24. 14
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES098Response.java
  25. 47
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES098ResponseBody.java
  26. 17
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES118Response.java
  27. 35
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES118ResponseBody.java
  28. 17
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES155Data.java
  29. 25
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES155RequestBody.java
  30. 18
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES155Response.java
  31. 48
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES155ResponseBody.java
  32. 6
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMESResponse.java
  33. 15
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMESResponseBody.java
  34. 2
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/dao/PdmBdWorkorderDetail.java
  35. 80
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/Material.java
  36. 54
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/MesInMaterial.java
  37. 49
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/MesMoveMaterial.java
  38. 49
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/MesOutMaterial.java
  39. 17
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/mapper/MaterialMapper.java
  40. 12
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/mapper/MesInMaterialMapper.java
  41. 12
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/mapper/MesMoveMaterialMapper.java
  42. 12
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/mapper/MesOutMaterialMapper.java
  43. 30
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java
  44. 20
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java
  45. 1
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/mapper/PointMapper.java
  46. 4
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/workorder/service/dao/Workorder.java
  47. 2
      lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml

362
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/controller/MesController.java

@ -8,30 +8,23 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.logging.annotation.Log;
import org.nl.wms.mes.domain.*;
import org.nl.wms.pdm.service.IPdmBdWorkorderService;
import org.nl.wms.pdm.service.dao.PdmBdWorkorder;
import org.nl.wms.pdm.service.dao.PdmBdWorkorderDetail;
import org.nl.wms.sch.material.service.IMaterialService;
import org.nl.wms.sch.material.service.dao.Material;
import org.nl.wms.sch.material.service.dao.mapper.MaterialMapper;
import org.nl.wms.sch.task_manage.enums.GroupBindMaterialStatusEnum;
import org.nl.wms.sch.task_manage.task.tasks.mapper.PointMapper;
import org.nl.wms.sch.workorder.service.IWorkorderService;
import org.nl.wms.sch.workorder.service.dao.Workorder;
import org.nl.wms.sch.material.service.dao.MesInMaterial;
import org.nl.wms.sch.material.service.dao.MesMoveMaterial;
import org.nl.wms.sch.material.service.dao.MesOutMaterial;
import org.nl.wms.sch.material.service.dao.mapper.MesMoveMaterialMapper;
import org.nl.wms.sch.material.service.dao.mapper.MesInMaterialMapper;
import org.nl.wms.sch.material.service.dao.mapper.MesOutMaterialMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@ -44,235 +37,212 @@ import java.util.List;
public class MesController {
@Autowired
private PointMapper pointMapper;
@Autowired
private MaterialMapper materialMapper;
private MesMoveMaterialMapper mesMoveMaterialMapper;
@Autowired
private IMaterialService materialService;
private MesOutMaterialMapper mesOutMaterialMapper;
@Autowired
private IPdmBdWorkorderService pdmBdWorkorderService;
@Autowired
private IWorkorderService workorderService;
private MesInMaterialMapper mesInMaterialMapper;
/**
* MES调用LMS原材料入原材料库信息
* 调用时机货物到达在MES上录入信息然后推送到LMS
* MES调用LMS推送托盘物料组盘信息
* 调用时机WMS 中对已组盘的托盘物料入立库信息推送给 LMS
* @param notice
* @return
*/
@PostMapping("/QPMES060")
@Log(value = "QPMES060")
@ApiOperation("QPMES060")
@PostMapping("/qpmes060")
@Log(value = "qpmes060")
@ApiOperation("qpmes060")
@SaIgnore
public QPMES060Response QPMES060(@RequestBody JSONObject notice) {
public QPMESResponse qpmes060(@RequestBody JSONObject notice) {
log.info("QPMES060服务被调用,输入参数:" + notice.toString());
QPMES060Response qpmes060Response = new QPMES060Response();
QPMES060ResponseBody qpmes060ResponseBody = new QPMES060ResponseBody();
List<QPMES060ResponseBody> qpmes060ResponseBodyArrayList=new ArrayList<>();
QPMESResponse qpmes060Response = new QPMESResponse();
QPMESResponseBody qpmes060ResponseBody = new QPMESResponseBody();
List<QPMESResponseBody> qpmes060ResponseBodyArrayList=new ArrayList<>();
Head head=new Head();
head.setDEST_SYSTEM("WMS");
head.setINTF_ID("QPMES060");
head.setSRC_MSGID(IdUtil.simpleUUID());
head.setSRC_SYSTEM("AGV");
qpmes060Response.setHEAD(head);
head.setDest_system("wms");
head.setIntf_id("qpmes060");
head.setSrc_msgid(IdUtil.simpleUUID());
head.setSrc_system("lms");
qpmes060Response.setHead(head);
try {
for(QPMES060RequestBody QPMES060RequestBody:notice.toJavaObject(QPMES060Request.class).getBODY()) {
Material material = new Material();
for(QPMES060RequestBody QPMES060RequestBody:notice.toJavaObject(QPMES060Request.class).getBody()) {
MesInMaterial material = new MesInMaterial();
//实体类
material.copyFrom(QPMES060RequestBody);
String lotSN = material.getLotSN();
if(ObjectUtil.isNotEmpty(lotSN)){
Material entity = materialService.getOne(new LambdaQueryWrapper<Material>()
.eq(Material::getLotSN, lotSN));
if (ObjectUtil.isEmpty(entity)){
//新增
material.setGroup_bind_material_status(GroupBindMaterialStatusEnum.BOUND.getValue());
material.setReturn_status("0");
material.setCreate_time(DateUtil.now());
materialMapper.insert(material);
}else{
LambdaUpdateWrapper<Material> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(Material::getLotSN,lotSN);
//更新
material.setGroup_bind_material_status(entity.getGroup_bind_material_status());
material.setReturn_status(entity.getReturn_status());
material.setCreate_time(DateUtil.now());
materialService.update(material,updateWrapper);
}
String pallet_sn = material.getPallet_sn();
String product_name = material.getProduct_name();
String batch = material.getBatch();
LambdaQueryWrapper<MesInMaterial> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ObjectUtil.isNotEmpty(pallet_sn),MesInMaterial::getPallet_sn, pallet_sn);
queryWrapper.eq(ObjectUtil.isNotEmpty(product_name),MesInMaterial::getProduct_name, product_name);
queryWrapper.eq(ObjectUtil.isNotEmpty(batch),MesInMaterial::getBatch, batch);
MesInMaterial entity = mesInMaterialMapper.selectOne(queryWrapper);
if (ObjectUtil.isEmpty(entity)){
//新增
material.setReturn_status("0");
material.setCreate_time(DateUtil.now());
mesInMaterialMapper.insert(material);
}else{
log.error("原材料入库晶棒号为空,{}", material.toString());
LambdaUpdateWrapper<MesInMaterial> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(ObjectUtil.isNotEmpty(pallet_sn),MesInMaterial::getPallet_sn, pallet_sn);
updateWrapper.eq(ObjectUtil.isNotEmpty(product_name),MesInMaterial::getProduct_name, product_name);
updateWrapper.eq(ObjectUtil.isNotEmpty(batch),MesInMaterial::getBatch, batch);
//更新
material.setReturn_status(entity.getReturn_status());
material.setCreate_time(entity.getCreate_time());
material.setUpdate_time(DateUtil.now());
mesInMaterialMapper.update(material,updateWrapper);
}
}
qpmes060ResponseBody.setMESSAGE("原材料入库成功");
qpmes060ResponseBody.setSTATUS("S");
qpmes060ResponseBody.setMessage("接受托盘物料组盘信息成功");
qpmes060ResponseBody.setStatus("S");
qpmes060ResponseBodyArrayList.add(qpmes060ResponseBody);
qpmes060Response.setBODY(qpmes060ResponseBodyArrayList);
qpmes060Response.setBody(qpmes060ResponseBodyArrayList);
log.info("QPMES060服务被调用,返回参数:" + JSON.toJSONString(qpmes060Response));
return qpmes060Response;
}catch (Exception e){
qpmes060ResponseBody.setMESSAGE("原材料入库失败"+e.getMessage());
qpmes060ResponseBody.setSTATUS("E");
qpmes060ResponseBody.setMessage("接受托盘物料组盘信息失败:"+e.getMessage());
qpmes060ResponseBody.setStatus("E");
qpmes060ResponseBodyArrayList.add(qpmes060ResponseBody);
qpmes060Response.setBODY(qpmes060ResponseBodyArrayList);
qpmes060Response.setBody(qpmes060ResponseBodyArrayList);
log.error("QPMES060服务异常:"+ JSON.toJSONString(qpmes060Response));
return qpmes060Response;
}
}
/**
* 盐城二期粘棒工单:
* 调用时机随时
* MES调用LMS:下发出库任务信息
* 调用时机WMS 维护出库物料信息并指定出库对接区域下发 LMS 出库
* @param notice
* @return
*/
@PostMapping("/QPMES098")
@Log(value = "QPMES098")
@ApiOperation("QPMES098")
@PostMapping("/qpmes064")
@Log(value = "qpmes064")
@ApiOperation("qpmes064")
@SaIgnore
public QPMES098Response QPMES098(@RequestBody JSONObject notice) {
public QPMESResponse qpmes064(@RequestBody JSONObject notice) {
log.info("QPMES098服务被调用,输入参数:" + notice.toString());
QPMES098Request qpmes098Request=notice.toJavaObject(QPMES098Request.class);
QPMES098Response qpmes098Response=new QPMES098Response();
QPMES098ResponseBody qpmes098ResponseBody = new QPMES098ResponseBody();
List<QPMES098ResponseBody> qpmes098ResponseBodyArrayList=new ArrayList<>();
PdmBdWorkorder entity = new PdmBdWorkorder();
if("1".equals(qpmes098Request.getBODY().get(0).getZSTAT())) {
//先删除原来的工单信息,再新增,不然会出现重复的情况
pdmBdWorkorderService.updateState(qpmes098Request.getBODY().get(0).getAUFNR(),"2");
entity.setExt_data(JSONObject.toJSONString(qpmes098Request));
entity.setWorkorder_code(qpmes098Request.getBODY().get(0).getAUFNR());
entity.setPlan_qty(new BigDecimal((qpmes098Request.getBODY().get(0).getGAMNG())));
entity.setMaterial_id(qpmes098Request.getBODY().get(0).getPLNBEZ());
entity.setWorkorder_status(qpmes098Request.getBODY().get(0).getZSTAT());
entity.setMaterial_code(qpmes098Request.getBODY().get(0).getPLNBEZ());
entity.setMaterial_name(qpmes098Request.getBODY().get(0).getMAKTX());
//客户名称
entity.setExt_id(qpmes098Request.getBODY().get(0).getZKUNNR());
entity.setCreate_id("0");
entity.setCreate_name("MES");
entity.setCreate_time(DateUtil.now());
pdmBdWorkorderService.create(entity);
for(QPMES098RequestBodyItem2 qpmes098RequestBodyItem2:qpmes098Request.getBODY().get(0).getITEM2()){
PdmBdWorkorderDetail pdmBdWorkorderDetail=new PdmBdWorkorderDetail();
pdmBdWorkorderDetail.setReal_qty(BigDecimal.valueOf(0));
pdmBdWorkorderDetail.setWorkorder_code(entity.getWorkorder_code());
pdmBdWorkorderDetail.copyFrom(qpmes098RequestBodyItem2);
pdmBdWorkorderService.createDetail(pdmBdWorkorderDetail);
}
qpmes098ResponseBody.setMESSAGE("工单下发成功");
qpmes098ResponseBody.setSTATUS("S");
qpmes098ResponseBody.setFKEY_VALUE01(qpmes098Request.getBODY().get(0).getAUFNR());
}else{
entity=pdmBdWorkorderService.getOne(new LambdaQueryWrapper<PdmBdWorkorder>()
.eq(PdmBdWorkorder::getWorkorder_code, qpmes098Request.getBODY().get(0).getAUFNR()));
if (ObjectUtil.isEmpty(entity)){
qpmes098ResponseBody.setSTATUS("E");
qpmes098ResponseBody.setMESSAGE("生产订单号不存在,无法关闭或删除");
qpmes098ResponseBody.setFKEY_VALUE01(qpmes098Request.getBODY().get(0).getAUFNR());
log.info("QPMES098服务被调用,返回参数:" + qpmes098Response);
return qpmes098Response;
QPMESResponse qpmes064Response = new QPMESResponse();
QPMESResponseBody qpmes064ResponseBody = new QPMESResponseBody();
List<QPMESResponseBody> qpmes064ResponseBodyArrayList=new ArrayList<>();
Head head=new Head();
head.setDest_system("wms");
head.setIntf_id("qpmes064");
head.setSrc_msgid(IdUtil.simpleUUID());
head.setSrc_system("lms");
qpmes064Response.setHead(head);
try {
for(QPMES064RequestBody QPMES064RequestBody:notice.toJavaObject(QPMES064Request.class).getBody()) {
MesOutMaterial material = new MesOutMaterial();
//实体类
material.copyFrom(QPMES064RequestBody);
String product_name = material.getProduct_name();
String batch = material.getBatch();
String sect_code = material.getSect_code();
LambdaQueryWrapper<MesOutMaterial> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ObjectUtil.isNotEmpty(product_name),MesOutMaterial::getProduct_name, product_name);
queryWrapper.eq(ObjectUtil.isNotEmpty(batch),MesOutMaterial::getBatch, batch);
queryWrapper.eq(ObjectUtil.isNotEmpty(sect_code),MesOutMaterial::getSect_code, sect_code);
MesOutMaterial entity = mesOutMaterialMapper.selectOne(queryWrapper);
if (ObjectUtil.isEmpty(entity)){
//新增
material.setReturn_status("0");
material.setCreate_time(DateUtil.now());
mesOutMaterialMapper.insert(material);
}else{
LambdaUpdateWrapper<MesOutMaterial> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(ObjectUtil.isNotEmpty(sect_code),MesOutMaterial::getSect_code, sect_code);
updateWrapper.eq(ObjectUtil.isNotEmpty(product_name),MesOutMaterial::getProduct_name, product_name);
updateWrapper.eq(ObjectUtil.isNotEmpty(batch),MesOutMaterial::getBatch, batch);
//更新
material.setReturn_status(entity.getReturn_status());
material.setCreate_time(entity.getCreate_time());
material.setUpdate_time(DateUtil.now());
mesOutMaterialMapper.update(material,updateWrapper);
}
}
entity.setWorkorder_status(qpmes098Request.getBODY().get(0).getZSTAT());
pdmBdWorkorderService.update(entity);
qpmes064ResponseBody.setMessage("接受出库任务信息成功");
qpmes064ResponseBody.setStatus("S");
qpmes064ResponseBodyArrayList.add(qpmes064ResponseBody);
qpmes064Response.setBody(qpmes064ResponseBodyArrayList);
log.info("QPMES064服务被调用,返回参数:" + JSON.toJSONString(qpmes064Response));
return qpmes064Response;
}catch (Exception e){
qpmes064ResponseBody.setMessage("接受出库任务信息失败:"+e.getMessage());
qpmes064ResponseBody.setStatus("E");
qpmes064ResponseBodyArrayList.add(qpmes064ResponseBody);
qpmes064Response.setBody(qpmes064ResponseBodyArrayList);
log.error("QPMES064服务异常:"+ JSON.toJSONString(qpmes064Response));
return qpmes064Response;
}
Head head=new Head();
head.setDEST_SYSTEM("WMS");
head.setINTF_ID("QPMES098");
head.setSRC_MSGID(IdUtil.simpleUUID());
head.setSRC_SYSTEM("AGV");
qpmes098Response.setHEAD(head);
qpmes098ResponseBodyArrayList.add(qpmes098ResponseBody);
qpmes098Response.setBODY(qpmes098ResponseBodyArrayList);
log.info("QPMES098服务被调用,返回参数:" + qpmes098Response);
return qpmes098Response;
}
/**
* WMS同步AGV晶棒库存
* 调用时机随时
* 范围原材料库与回温库
* MES调用LMS:下发移库任务信息
* 调用时机WMS 上维护第二天需要用到的物料指定东西阁楼或主存区下层为移入备货区域
* @param notice
* @return
*/
@PostMapping("/QPMES118")
@Log(value = "QPMES118")
@ApiOperation("QPMES118")
@PostMapping("/qpmes068")
@Log(value = "qpmes068")
@ApiOperation("qpmes068")
@SaIgnore
public QPMES118Response QPMES118(@RequestBody JSONObject notice) {
log.info("QPMES118服务被调用,输入参数:" + notice.toString());
QPMES118Response qpmes118Response =new QPMES118Response();
List<QPMES118ResponseBody> body=pointMapper.queryByMes();
qpmes118Response.setBODY(body);
public QPMESResponse qpmes068(@RequestBody JSONObject notice) {
log.info("qpmes068服务被调用,输入参数:" + notice.toString());
QPMESResponse qpmes068Response = new QPMESResponse();
QPMESResponseBody qpmes068ResponseBody = new QPMESResponseBody();
List<QPMESResponseBody> qpmes068ResponseBodyArrayList=new ArrayList<>();
Head head=new Head();
head.setDEST_SYSTEM("WMS");
head.setINTF_ID("QPMES118");
head.setSRC_MSGID(IdUtil.simpleUUID());
head.setSRC_SYSTEM("AGV");
qpmes118Response.setHEAD(head);
log.info("QPMES118服务被调用{}",qpmes118Response.toString());
return qpmes118Response;
}
/**
* 以托盘维度进行从晶棒库到回温的出库
* MES告诉LMS需要出库的托盘信息
* 调用时机随时
* @param notice
* @return
*/
@PostMapping("/QPMES155")
@Log(value = "QPMES155")
@ApiOperation("QPMES155")
@SaIgnore
public QPMES155Response QPMES155(@RequestBody JSONObject notice) {
log.info("QPMES155服务被调用,输入参数:" + notice.toString());
QPMES155Response qpmes155Response =new QPMES155Response();
QPMES155Request qpmes155Request=notice.toJavaObject(QPMES155Request.class);
log.info(qpmes155Request.toString());
if(ObjectUtil.isNotEmpty(qpmes155Request)) {
for (QPMES155RequestBody temp : qpmes155Request.getBODY()) {
try {
Workorder workorder = new Workorder();
workorder.copyFrom(temp);
String lotSN = workorder.getLotSN();
if(ObjectUtil.isNotEmpty(lotSN)){
Workorder entity = workorderService.getOne(new LambdaQueryWrapper<Workorder>()
.eq(Workorder::getLotSN, lotSN));
if (ObjectUtil.isEmpty(entity)){
//新增
workorderService.create(workorder);
}else{
LambdaUpdateWrapper<Workorder> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(Workorder::getLotSN,lotSN);
//更新
workorder.setMode(entity.getMode());
workorder.setStatus(entity.getStatus());
workorderService.update(workorder,updateWrapper);
}
}else{
log.error("工单晶棒号为空,{}", workorder.toString());
}
} catch (Exception e) {
log.error("工单已存在导致新增失败,{}{}", e, e.getMessage());
head.setDest_system("wms");
head.setIntf_id("qpmes068");
head.setSrc_msgid(IdUtil.simpleUUID());
head.setSrc_system("lms");
qpmes068Response.setHead(head);
try {
for(QPMES068RequestBody QPMES068RequestBody:notice.toJavaObject(QPMES068Request.class).getBody()) {
MesMoveMaterial material = new MesMoveMaterial();
//实体类
material.copyFrom(QPMES068RequestBody);
String product_name = material.getProduct_name();
String batch = material.getBatch();
String sect_code = material.getSect_code();
LambdaQueryWrapper<MesMoveMaterial> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ObjectUtil.isNotEmpty(product_name),MesMoveMaterial::getProduct_name, product_name);
queryWrapper.eq(ObjectUtil.isNotEmpty(batch),MesMoveMaterial::getBatch, batch);
queryWrapper.eq(ObjectUtil.isNotEmpty(sect_code),MesMoveMaterial::getSect_code, sect_code);
MesMoveMaterial entity = mesMoveMaterialMapper.selectOne(queryWrapper);
if (ObjectUtil.isEmpty(entity)){
//新增
material.setReturn_status("0");
material.setCreate_time(DateUtil.now());
mesMoveMaterialMapper.insert(material);
}else{
LambdaUpdateWrapper<MesMoveMaterial> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(ObjectUtil.isNotEmpty(sect_code),MesMoveMaterial::getSect_code, sect_code);
updateWrapper.eq(ObjectUtil.isNotEmpty(product_name),MesMoveMaterial::getProduct_name, product_name);
updateWrapper.eq(ObjectUtil.isNotEmpty(batch),MesMoveMaterial::getBatch, batch);
//更新
material.setReturn_status(entity.getReturn_status());
material.setCreate_time(entity.getCreate_time());
material.setUpdate_time(DateUtil.now());
mesMoveMaterialMapper.update(material,updateWrapper);
}
}
qpmes068ResponseBody.setMessage("接受移库任务信息成功");
qpmes068ResponseBody.setStatus("S");
qpmes068ResponseBodyArrayList.add(qpmes068ResponseBody);
qpmes068Response.setBody(qpmes068ResponseBodyArrayList);
log.info("QPMES068服务被调用,返回参数:" + JSON.toJSONString(qpmes068Response));
return qpmes068Response;
}catch (Exception e){
qpmes068ResponseBody.setMessage("接受移库任务信息失败:"+e.getMessage());
qpmes068ResponseBody.setStatus("E");
qpmes068ResponseBodyArrayList.add(qpmes068ResponseBody);
qpmes068Response.setBody(qpmes068ResponseBodyArrayList);
log.error("QPMES068服务异常:"+ JSON.toJSONString(qpmes068Response));
return qpmes068Response;
}
Head head=new Head();
head.setDEST_SYSTEM("WMS");
head.setINTF_ID("QPMES155");
head.setSRC_MSGID(IdUtil.simpleUUID());
head.setSRC_SYSTEM("AGV");
QPMES155Data qpmes155Data=new QPMES155Data();
qpmes155Data.setHEAD(head);
qpmes155Response.setData(qpmes155Data);
qpmes155Response.setMsg("数据接收成功");
qpmes155Response.setCode("0");
log.info("QPMES155服务被调用{}",qpmes155Response.toString());
return qpmes155Response;
}
}

24
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/Head.java

@ -6,22 +6,22 @@ import lombok.Data;
@Data
public class Head {
// 接口名称
@JSONField(name = "INTF_ID")
private String INTF_ID;
@JSONField(name = "intf_id")
private String intf_id;
// 源系统
@JSONField(name = "SRC_SYSTEM")
private String SRC_SYSTEM;
@JSONField(name = "src_system")
private String src_system;
// 目标系统
@JSONField(name = "DEST_SYSTEM")
private String DEST_SYSTEM;
@JSONField(name = "dest_system")
private String dest_system;
// 消息ID
@JSONField(name = "SRC_MSGID")
private String SRC_MSGID;
@JSONField(name = "src_msgid")
private String src_msgid;
// 控制预留1
@JSONField(name = "BACKUP1")
private String BACKUP1;
@JSONField(name = "backup1")
private String backup1;
// 控制预留2
@JSONField(name = "BACKUP2")
private String BACKUP2;
@JSONField(name = "backup2")
private String backup2;
}

4
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES060Request.java

@ -17,7 +17,7 @@ import java.util.List;
@XmlRootElement
@Accessors(chain = true)
public class QPMES060Request {
private Head HEAD;
private List<QPMES060RequestBody> BODY;
private Head head;
private List<QPMES060RequestBody> body;
}

38
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES060RequestBody.java

@ -1,31 +1,27 @@
package org.nl.wms.mes.domain;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class QPMES060RequestBody {
private String SimtOrderNo;
private String locationCode;
private String simtType;
private String deliveryNo;
private String whlCode;
private String PalletSN;
private String lotSN;
private String productName;
private String productDescription;
private String supplierCode;
private String supplierName;
//入库单号
private String order_code;
//入库单类型
private String order_type;
//托盘号
private String pallet_sn;
//物料编码
private String product_name;
//物料名称
private String product_description;
//供应商编码
private String supplier_code;
//供应商名称
private String supplier_name;
//规格
private String specification;
//批次号
private String batch;
//数量
private double qty;
private double incomingLength;
private double incomingWeight;
private double incomingchipping;
private String planZBNum;
private String ingotBatch;
private String siliconGrade;
private String siliconPolarity;
private double weightCoefficientValue;
private String lineDiameter;
}

21
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES060ResponseBody.java

@ -1,21 +0,0 @@
package org.nl.wms.mes.domain;
import lombok.Data;
@Data
public class QPMES060ResponseBody {
// 消息状态
private String STATUS;
// 消息文本
private String MESSAGE;
// 预留主键1
private String KEY_VALUE01;
// 预留主键2
private String KEY_VALUE02;
// 预留主键3
private String KEY_VALUE03;
// 预留主键4
private String KEY_VALUE04;
// 预留主键5
private String KEY_VALUE05;
}

6
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES062Request.java

@ -19,9 +19,7 @@ import java.util.List;
@XmlRootElement
@Accessors(chain = true)
public class QPMES062Request{
@JSONField(name = "HEAD")
private Head HEAD;
@JSONField(name = "BODY")
private List<QPMES062RequestBody> BODY;
private Head head;
private List<QPMES062RequestBody> body;
}

38
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES062RequestBody.java

@ -9,28 +9,20 @@ import javax.xml.bind.annotation.XmlRootElement;
@Data
public class QPMES062RequestBody {
//入库单号
@JSONField(name = "SimtOrderNo")
private String SimtOrderNo;
//场地
@JSONField(name = "locationCode")
private String locationCode;
//入库类型
@JSONField(name = "simtType")
private String simtType;
//到货单号
@JSONField(name = "deliveryNo")
private String deliveryNo;
//扫描库位
@JSONField(name = "whlCode")
private String whlCode;
//物料条码号(托号)
@JSONField(name = "PalletSn")
private String PalletSn;
//用户编码
@JSONField(name = "userCode")
private String userCode;
//用户名称
@JSONField(name = "userName")
private String userName;
private String order_code;
//托盘号
private String pallet_sn;
//物料编码
private String product_name;
//物料名称
private String product_description;
//规格
private String specification;
//批次号
private String batch;
//数量
private double qty;
//入库库位
private String strcut_code;
}

12
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES062Response.java

@ -1,12 +0,0 @@
package org.nl.wms.mes.domain;
import lombok.Data;
import java.util.List;
@Data
public class QPMES062Response{
private Head HEAD;
private List<QPMES062ResponseBody> BODY;
}

48
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES062ResponseBody.java

@ -1,48 +0,0 @@
package org.nl.wms.mes.domain;
import lombok.Data;
@Data
public class QPMES062ResponseBody {
//消息状态
private String STATUS;
//消息文本
private String MESSAGE;
//预留主键1
private String KEY_VALUE01;
//预留主键2
private String KEY_VALUE02;
//预留主键3
private String KEY_VALUE03;
//预留主键4
private String KEY_VALUE04;
//预留主键5
private String KEY_VALUE05;
//预留主键6
private String KEY_VALUE06;
//预留主键7
private String KEY_VALUE07;
//预留主键8
private String KEY_VALUE08;
//预留主键9
private String KEY_VALUE09;
//预留反馈主键1
private String FKEY_VALUE01;
//预留反馈主键2
private String FKEY_VALUE02;
//预留反馈主键3
private String FKEY_VALUE03;
//预留反馈主键4
private String FKEY_VALUE04;
//预留反馈主键5
private String FKEY_VALUE05;
//预留反馈主键6
private String FKEY_VALUE06;
//预留反馈主键7
private String FKEY_VALUE07;
//预留反馈主键8
private String FKEY_VALUE08;
//预留反馈主键9
private String FKEY_VALUE09;
}

8
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES065Request.java → lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES064Request.java

@ -18,9 +18,7 @@ import java.util.List;
@AllArgsConstructor
@XmlRootElement
@Accessors(chain = true)
public class QPMES065Request {
@JSONField(name = "HEAD")
private Head HEAD;
@JSONField(name = "BODY")
private List<QPMES065RequestBody> BODY;
public class QPMES064Request {
private Head head;
private List<QPMES064RequestBody> body;
}

33
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES064RequestBody.java

@ -0,0 +1,33 @@
package org.nl.wms.mes.domain;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.*;
import lombok.experimental.Accessors;
import javax.xml.bind.annotation.XmlRootElement;
@Data
public class QPMES064RequestBody {
//出库订单号
private String order_code;
//订单类型
private String order_type;
//物料编码
private String product_name;
//物料名称
private String product_description;
//供应商编码
private String supplier_code;
//供应商名称
private String supplier_name;
//规格
private String specification;
//批次号
private String batch;
//数量
private double qty;
//出库对接区
private String sect_code;
}

55
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES065RequestBody.java

@ -1,55 +0,0 @@
package org.nl.wms.mes.domain;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.*;
import lombok.experimental.Accessors;
import javax.xml.bind.annotation.XmlRootElement;
@Data
public class QPMES065RequestBody {
//工单号
@JSONField(name = "moname")
private String moname;
//物料条码(托号)
@JSONField(name = "lotSN")
private String lotSN;
//领料数量
@JSONField(name = "qty")
private String qty;
//场地
@JSONField(name = "siteName")
private String siteName;
//预留字段1
@JSONField(name = "ZXXV01")
private String ZXXV01;
//预留字段2
@JSONField(name = "ZXXV02")
private String ZXXV02;
//预留字段3
@JSONField(name = "ZXXV03")
private String ZXXV03;
//预留字段4
@JSONField(name = "ZXXV04")
private String ZXXV04;
//预留字段5
@JSONField(name = "ZXXV05")
private String ZXXV05;
//预留字段6
@JSONField(name = "ZXXV06")
private String ZXXV06;
//预留字段7
@JSONField(name = "ZXXV07")
private String ZXXV07;
//预留字段8
@JSONField(name = "ZXXV08")
private String ZXXV08;
//预留字段9
@JSONField(name = "ZXXV09")
private String ZXXV09;
//预留字段10
@JSONField(name = "ZXXV10")
private String ZXXV10;
}

12
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES065Response.java

@ -1,12 +0,0 @@
package org.nl.wms.mes.domain;
import lombok.Data;
import java.util.List;
@Data
public class QPMES065Response{
private Head HEAD;
private List<QPMES065ResponseBody> BODY;
}

48
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES065ResponseBody.java

@ -1,48 +0,0 @@
package org.nl.wms.mes.domain;
import lombok.Data;
@Data
public class QPMES065ResponseBody {
//消息状态
private String STATUS;
//消息文本
private String MESSAGE;
//预留主键1
private String KEY_VALUE01;
//预留主键2
private String KEY_VALUE02;
//预留主键3
private String KEY_VALUE03;
//预留主键4
private String KEY_VALUE04;
//预留主键5
private String KEY_VALUE05;
//预留主键6
private String KEY_VALUE06;
//预留主键7
private String KEY_VALUE07;
//预留主键8
private String KEY_VALUE08;
//预留主键9
private String KEY_VALUE09;
//预留反馈主键1
private String FKEY_VALUE01;
//预留反馈主键2
private String FKEY_VALUE02;
//预留反馈主键3
private String FKEY_VALUE03;
//预留反馈主键4
private String FKEY_VALUE04;
//预留反馈主键5
private String FKEY_VALUE05;
//预留反馈主键6
private String FKEY_VALUE06;
//预留反馈主键7
private String FKEY_VALUE07;
//预留反馈主键8
private String FKEY_VALUE08;
//预留反馈主键9
private String FKEY_VALUE09;
}

15
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES098Request.java → lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES066Request.java

@ -1,10 +1,6 @@
package org.nl.wms.mes.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.*;
import lombok.experimental.Accessors;
import javax.xml.bind.annotation.XmlRootElement;
@ -17,7 +13,8 @@ import java.util.List;
@AllArgsConstructor
@XmlRootElement
@Accessors(chain = true)
public class QPMES098Request{
private Head HEAD;
private List<QPMES098RequestBody> BODY;
}
public class QPMES066Request {
private Head head;
private List<QPMES066RequestBody> body;
}

22
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES066RequestBody.java

@ -0,0 +1,22 @@
package org.nl.wms.mes.domain;
import lombok.Data;
@Data
public class QPMES066RequestBody {
//出库订单号
private String order_code;
//物料编码
private String product_name;
//物料名称
private String product_description;
//规格
private String specification;
//批次号
private String batch;
//数量
private double qty;
//入库库位
private String strcut_code;
}

6
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES155Request.java → lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES068Request.java

@ -13,7 +13,7 @@ import java.util.List;
@AllArgsConstructor
@XmlRootElement
@Accessors(chain = true)
public class QPMES155Request {
private Head HEAD;
private List<QPMES155RequestBody> BODY;
public class QPMES068Request {
private Head head;
private List<QPMES068RequestBody> body;
}

29
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES068RequestBody.java

@ -0,0 +1,29 @@
package org.nl.wms.mes.domain;
import lombok.Data;
import java.util.List;
@Data
public class QPMES068RequestBody {
//移库订单号
private String order_code;
//订单类型
private String order_type;
//物料编码
private String product_name;
//物料名称
private String product_description;
//供应商编码
private String supplier_code;
//供应商名称
private String supplier_name;
//规格
private String specification;
//批次号
private String batch;
//数量
private double qty;
//移库对接区
private String sect_code;
}

20
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES070Request.java

@ -0,0 +1,20 @@
package org.nl.wms.mes.domain;
import lombok.*;
import lombok.experimental.Accessors;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.List;
@Data
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@XmlRootElement
@Accessors(chain = true)
public class QPMES070Request {
private Head head;
private List<QPMES070RequestBody> body;
}

24
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES070RequestBody.java

@ -0,0 +1,24 @@
package org.nl.wms.mes.domain;
import lombok.Data;
@Data
public class QPMES070RequestBody {
//移库订单号
private String order_code;
//物料编码
private String product_name;
//物料名称
private String product_description;
//规格
private String specification;
//批次号
private String batch;
//数量
private double qty;
//移入库位
private String in_strcut_code;
//移出库位
private String out_strcut_code;
}

52
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES098RequestBody.java

@ -1,52 +0,0 @@
package org.nl.wms.mes.domain;
import lombok.Data;
import java.util.List;
@Data
public class QPMES098RequestBody {
private String AUFNR;
private String AUART;
private String WERKS;
private String PLNBEZ;
private String MAKTX;
private String GAMNG;
private String GSTRP;
private String GLTRP;
private String ERNAM;
private String ERDAT;
private String AENAM;
private String AEDAT;
private String RSNUM;
private String ZBBH;
private String ZWORK;
private String MATKL;
private String ZKUNNR;
private String ZMESGDLX;
private String ZMESDJLX;
private String ZGYID;
private String ZGZLXH;
private String ZJJ;
private String ZPH;
private String ZTDGD;
private String ZKTZKCR;
private String ZBZ;
private String ZGG;
private String ZGYTCL;
private String FXXDM;
/**
* 1代表下达
* 2代表关闭
* 3代表删除
*/
private String ZSTAT;
private String UEBTK;
private String ZRSV01;
private String ZRSV02;
private String ZRSV03;
private String ZRSV04;
private String ZRSV05;
private List<QPMES098RequestBodyItem1> ITEM1;
private List<QPMES098RequestBodyItem2> ITEM2;
}

29
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES098RequestBodyItem1.java

@ -1,29 +0,0 @@
package org.nl.wms.mes.domain;
import lombok.Data;
@Data
public class QPMES098RequestBodyItem1 {
private String VORNR;
private String XLOEK;
private String LTXA1;
private String STEUS;
private String BMSCH;
private String VGW01;
private String VGE01;
private String VGW02;
private String VGE02;
private String VGW03;
private String VGE03;
private String VGW04;
private String VGE04;
private String VGW05;
private String VGE05;
private String VGW06;
private String VGE06;
private String ZRSV06;
private String ZRSV07;
private String ZRSV08;
private String ZRSV09;
private String ZRSV10;
}

37
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES098RequestBodyItem2.java

@ -1,37 +0,0 @@
package org.nl.wms.mes.domain;
import lombok.Data;
@Data
public class QPMES098RequestBodyItem2 {
/** 订单行项目编号 **/
private String POSNR;
/** 预留行项目编号 **/
private String RSPOS;
/** 移动类型 **/
private String BWART;
/** 物料编码 **/
private String MATNR;
/** 物料名称 **/
private String MAKTX;
/** 产品类别 **/
private String MTYPE;
/** 产品类别描述 **/
private String MTYTXT;
/** 数量 **/
private String BDMNG;
/** 计量单位 **/
private String MEINS;
/** 物料供应标识 **/
private String BEIKZ;
/** 预留字段11 **/
private String ZRSV11;
/** 预留字段12 **/
private String ZRSV12;
/** 预留字段13 **/
private String ZRSV13;
/** 预留字段14 **/
private String ZRSV14;
/** 预留字段15 **/
private String ZRSV15;
}

14
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES098Response.java

@ -1,14 +0,0 @@
package org.nl.wms.mes.domain;
import lombok.Data;
import lombok.ToString;
import java.util.List;
@Data
@ToString
public class QPMES098Response{
private Head HEAD;
private List<QPMES098ResponseBody> BODY;
}

47
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES098ResponseBody.java

@ -1,47 +0,0 @@
package org.nl.wms.mes.domain;
import lombok.Data;
@Data
public class QPMES098ResponseBody {
//消息状态
private String STATUS;
//消息文本
private String MESSAGE;
//预留主键1
private String KEY_VALUE01;
//预留主键2
private String KEY_VALUE02;
//预留主键3
private String KEY_VALUE03;
//预留主键4
private String KEY_VALUE04;
//预留主键5
private String KEY_VALUE05;
//预留主键6
private String KEY_VALUE06;
//预留主键7
private String KEY_VALUE07;
//预留主键8
private String KEY_VALUE08;
//预留主键9
private String KEY_VALUE09;
//预留反馈主键1
private String FKEY_VALUE01;
//预留反馈主键2
private String FKEY_VALUE02;
//预留反馈主键3
private String FKEY_VALUE03;
//预留反馈主键4
private String FKEY_VALUE04;
//预留反馈主键5
private String FKEY_VALUE05;
//预留反馈主键6
private String FKEY_VALUE06;
//预留反馈主键7
private String FKEY_VALUE07;
//预留反馈主键8
private String FKEY_VALUE08;
//预留反馈主键9
private String FKEY_VALUE09;
}

17
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES118Response.java

@ -1,17 +0,0 @@
package org.nl.wms.mes.domain;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import lombok.ToString;
import java.util.List;
@Data
@ToString
public class QPMES118Response{
@JSONField(name = "HEAD")
private Head HEAD;
@JSONField(name = "BODY")
private List<QPMES118ResponseBody> BODY;
}

35
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES118ResponseBody.java

@ -1,35 +0,0 @@
package org.nl.wms.mes.domain;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import lombok.ToString;
@Data
@ToString
public class QPMES118ResponseBody{
//库区
@JSONField(name = "WhaCode")
private String WhaCode;
//库位
@JSONField(name = "WhlCode")
private String WhlCode;
//客户
@JSONField(name = "CustomerName")
private String CustomerName;
//母托号
@JSONField(name = "ParentPalletSN")
private String ParentPalletSN;
//子托号
@JSONField(name = "PalletSN")
private String PalletSN;
//物料编码
@JSONField(name = "ProductName")
private String ProductName;
//入库日期
@JSONField(name = "WorkDate")
private String WorkDate;
//重量
@JSONField(name = "Qty")
private String Qty;
}

17
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES155Data.java

@ -1,17 +0,0 @@
package org.nl.wms.mes.domain;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import lombok.ToString;
import java.util.List;
@Data
@ToString
public class QPMES155Data {
@JSONField(name = "HEAD")
private Head HEAD;
@JSONField(name = "BODY")
private List<QPMES155ResponseBody> BODY;
}

25
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES155RequestBody.java

@ -1,25 +0,0 @@
package org.nl.wms.mes.domain;
import lombok.Data;
import java.util.List;
@Data
public class QPMES155RequestBody {
//出库单号
private String somtOrderNo;
//生产工单
private String moname;
//托号
private String palletSN;
//晶棒号
private String lotSN;
//物料编码
private String productName;
//物料描述
private String productDescription;
//客户编码
private String supplierCode;
//客户名称
private String supplierName;
}

18
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES155Response.java

@ -1,18 +0,0 @@
package org.nl.wms.mes.domain;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import lombok.ToString;
import java.util.List;
@Data
@ToString
public class QPMES155Response {
private String code;
private String msg;
private QPMES155Data data;
}

48
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES155ResponseBody.java

@ -1,48 +0,0 @@
package org.nl.wms.mes.domain;
import lombok.Data;
@Data
public class QPMES155ResponseBody {
//消息状态
private String STATUS;
//消息文本
private String MESSAGE;
//预留主键1
private String KEY_VALUE01;
//预留主键2
private String KEY_VALUE02;
//预留主键3
private String KEY_VALUE03;
//预留主键4
private String KEY_VALUE04;
//预留主键5
private String KEY_VALUE05;
//预留主键6
private String KEY_VALUE06;
//预留主键7
private String KEY_VALUE07;
//预留主键8
private String KEY_VALUE08;
//预留主键9
private String KEY_VALUE09;
//预留反馈主键1
private String FKEY_VALUE01;
//预留反馈主键2
private String FKEY_VALUE02;
//预留反馈主键3
private String FKEY_VALUE03;
//预留反馈主键4
private String FKEY_VALUE04;
//预留反馈主键5
private String FKEY_VALUE05;
//预留反馈主键6
private String FKEY_VALUE06;
//预留反馈主键7
private String FKEY_VALUE07;
//预留反馈主键8
private String FKEY_VALUE08;
//预留反馈主键9
private String FKEY_VALUE09;
}

6
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMES060Response.java → lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMESResponse.java

@ -7,7 +7,7 @@ import java.util.List;
@Data
@ToString
public class QPMES060Response{
private Head HEAD;
private List<QPMES060ResponseBody> BODY;
public class QPMESResponse{
private Head head;
private List<QPMESResponseBody> body;
}

15
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/domain/QPMESResponseBody.java

@ -0,0 +1,15 @@
package org.nl.wms.mes.domain;
import lombok.Data;
@Data
public class QPMESResponseBody {
// 消息状态
private String status;
// 消息文本
private String message;
// 预留主键1
private String key_value01;
// 预留主键2
private String key_value02;
}

2
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/dao/PdmBdWorkorderDetail.java

@ -5,8 +5,6 @@ import cn.hutool.core.bean.copier.CopyOptions;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nl.wms.mes.domain.QPMES060RequestBody;
import org.nl.wms.mes.domain.QPMES098RequestBodyItem2;
import java.io.Serializable;
import java.math.BigDecimal;

80
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/Material.java

@ -1,80 +0,0 @@
package org.nl.wms.sch.material.service.dao;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nl.wms.mes.domain.QPMES060Request;
import org.nl.wms.mes.domain.QPMES060RequestBody;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sch_base_material")
public class Material implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "入库单号")
private String SimtOrderNo;
@ApiModelProperty(value = "场地")
private String locationCode;
@ApiModelProperty(value = "入库类型")
private String simtType;
@ApiModelProperty(value = "到货单号")
private String deliveryNo;
@ApiModelProperty(value = "扫描库位")
private String whlCode;
@ApiModelProperty(value = "托盘号")
private String PalletSN;
@ApiModelProperty(value = "物料条码号")
private String lotSN;
@ApiModelProperty(value = "物料编码")
private String productName;
@ApiModelProperty(value = "物料名称")
private String productDescription;
@ApiModelProperty(value = "供应商编码")
private String supplierCode;
@ApiModelProperty(value = "供应商名称")
private String supplierName;
@ApiModelProperty(value = "规格")
private String specification;
@ApiModelProperty(value = "批次号")
private String batch;
@ApiModelProperty(value = "数量")
private String qty;
@ApiModelProperty(value = "来料长度")
private String incomingLength;
@ApiModelProperty(value = "来料重量")
private String incomingWeight;
@ApiModelProperty(value = "来料缺陷长度")
private String incomingchipping;
@ApiModelProperty(value = "绑定状态")
private String group_bind_material_status;
@ApiModelProperty(value = "拼棒类型")
private String planZBNum;
@ApiModelProperty(value = "客户来料批次号")
private String ingotBatch;
@ApiModelProperty(value = "晶棒等级")
private String siliconGrade;
@ApiModelProperty(value = "极性")
private String siliconPolarity;
@ApiModelProperty(value = "重量折算系数")
private String weightCoefficientValue;
@ApiModelProperty(value = "线径")
private String lineDiameter;
@ApiModelProperty(value = "操作时间")
private String create_time;
@ApiModelProperty(value = "回传状态")
private String return_status;
public void copyFrom(QPMES060RequestBody source){
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
}
}

54
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/MesInMaterial.java

@ -0,0 +1,54 @@
package org.nl.wms.sch.material.service.dao;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nl.wms.mes.domain.QPMES060Request;
import org.nl.wms.mes.domain.QPMES060RequestBody;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("mes_in_material")
public class MesInMaterial implements Serializable {
private static final long serialVersionUID = 1L;
//入库单号
private String order_code;
//入库单类型
private String order_type;
//托盘号
private String pallet_sn;
//物料编码
private String product_name;
//物料名称
private String product_description;
//供应商编码
private String supplier_code;
//供应商名称
private String supplier_name;
//规格
private String specification;
//批次号
private String batch;
//数量
private double qty;
//导入时间
private String create_time;
//更新时间
private String update_time;
//回传状态
private String return_status;
public void copyFrom(QPMES060RequestBody source){
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
}
}

49
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/MesMoveMaterial.java

@ -0,0 +1,49 @@
package org.nl.wms.sch.material.service.dao;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nl.wms.mes.domain.QPMES064RequestBody;
import org.nl.wms.mes.domain.QPMES068RequestBody;
import java.io.Serializable;
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("mes_move_material")
public class MesMoveMaterial implements Serializable {
private static final long serialVersionUID = 1L;
//移库单号
private String order_code;
//移库单类型
private String order_type;
//物料编码
private String product_name;
//物料名称
private String product_description;
//供应商编码
private String supplier_code;
//供应商名称
private String supplier_name;
//规格
private String specification;
//批次号
private String batch;
//数量
private double qty;
//移库对接区
private String sect_code;
//导入时间
private String create_time;
//更新时间
private String update_time;
//回传状态
private String return_status;
public void copyFrom(QPMES068RequestBody source){
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
}
}

49
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/MesOutMaterial.java

@ -0,0 +1,49 @@
package org.nl.wms.sch.material.service.dao;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nl.wms.mes.domain.QPMES060RequestBody;
import org.nl.wms.mes.domain.QPMES064RequestBody;
import java.io.Serializable;
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("mes_out_material")
public class MesOutMaterial implements Serializable {
private static final long serialVersionUID = 1L;
//出库单号
private String order_code;
//出库单类型
private String order_type;
//物料编码
private String product_name;
//物料名称
private String product_description;
//供应商编码
private String supplier_code;
//供应商名称
private String supplier_name;
//规格
private String specification;
//批次号
private String batch;
//数量
private double qty;
//出库对接区
private String sect_code;
//导入时间
private String create_time;
//更新时间
private String update_time;
//回传状态
private String return_status;
public void copyFrom(QPMES064RequestBody source){
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
}
}

17
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/mapper/MaterialMapper.java

@ -1,17 +0,0 @@
package org.nl.wms.sch.material.service.dao.mapper;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
import org.nl.wms.sch.group.service.dto.SchBaseVehiclematerialgroupQuery;
import org.nl.wms.sch.material.service.dao.Material;
import org.nl.wms.sch.material.service.dto.MaterialQuery;
/**
* @author lyd
* @date 2023-05-16
**/
public interface MaterialMapper extends BaseMapper<Material> {
}

12
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/mapper/MesInMaterialMapper.java

@ -0,0 +1,12 @@
package org.nl.wms.sch.material.service.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nl.wms.sch.material.service.dao.MesInMaterial;
/**
* @author lyd
* @date 2023-05-16
**/
public interface MesInMaterialMapper extends BaseMapper<MesInMaterial> {
}

12
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/mapper/MesMoveMaterialMapper.java

@ -0,0 +1,12 @@
package org.nl.wms.sch.material.service.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nl.wms.sch.material.service.dao.MesMoveMaterial;
/**
* @author lyd
* @date 2023-05-16
**/
public interface MesMoveMaterialMapper extends BaseMapper<MesMoveMaterial> {
}

12
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/mapper/MesOutMaterialMapper.java

@ -0,0 +1,12 @@
package org.nl.wms.sch.material.service.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nl.wms.sch.material.service.dao.MesOutMaterial;
/**
* @author lyd
* @date 2023-05-16
**/
public interface MesOutMaterialMapper extends BaseMapper<MesOutMaterial> {
}

30
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java

@ -1,29 +1,17 @@
package org.nl.wms.sch.task_manage.task.tasks;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.exception.BadRequestException;
import org.nl.system.service.param.ISysParamService;
import org.nl.system.service.param.dao.Param;
import org.nl.wms.ext.service.dto.to.BaseResponse;
import org.nl.wms.mes.domain.Head;
import org.nl.wms.mes.domain.QPMES065Request;
import org.nl.wms.mes.domain.QPMES065RequestBody;
import org.nl.wms.sch.data.service.dao.mapper.MaterialDataMapper;
import org.nl.wms.sch.data.service.dto.MaterialDataDto;
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
import org.nl.wms.sch.material.service.dao.Material;
import org.nl.wms.sch.material.service.dao.mapper.MaterialMapper;
import org.nl.wms.sch.point.service.ISchBasePointService;
import org.nl.wms.sch.point.service.dao.SchBasePoint;
@ -41,13 +29,7 @@ import org.nl.wms.sch.workorder.service.IWorkorderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Author: psh
@ -292,12 +274,12 @@ public class YCLCKTask extends AbstractTask {
//pdm_bd_workorder_two任务完成时,status改为3
workorderService.update(vehicleCode2,"3");
List<Material> materialList = materialMapper.selectList(new LambdaQueryWrapper<Material>()
/* List<Material> materialList = materialMapper.selectList(new LambdaQueryWrapper<Material>()
.eq(Material::getPalletSN, taskObj.getVehicle_code2())
.le(Material::getReturn_status, "1")
.eq(Material::getGroup_bind_material_status, GroupBindMaterialStatusEnum.BOUND.getValue()));
.eq(Material::getGroup_bind_material_status, GroupBindMaterialStatusEnum.BOUND.getValue()));*/
try {
if (ObjectUtil.isNotEmpty(materialList)) {
/*if (ObjectUtil.isNotEmpty(materialList)) {
//自动化领料出库后经由AGV将出库信息同步至MES,从原材料库到回温库完成后自动调用
//String url = "http://192.168.9.124/sitAppWebApi/PDSToWMS/Api/QPMES065";
Param mes_url = paramService.findByCode(GeneralDefinition.MES_URL);
@ -338,12 +320,12 @@ public class YCLCKTask extends AbstractTask {
}
} else {
log.error("当前子托盘:" + taskObj.getVehicle_code2() + "不存在未解绑的物料信息,请确认!");
}
}*/
} catch (Exception e) {
log.error("原材料出库上报MES失败{}", e.getMessage(), e);
}
try{
Map<String, List<Material>> groupedBy = materialList.stream()
/* Map<String, List<Material>> groupedBy = materialList.stream()
.collect(Collectors.groupingBy(Material::getProductName));
if(ObjectUtil.isNotEmpty(groupedBy)) {
@ -372,7 +354,7 @@ public class YCLCKTask extends AbstractTask {
materialDataDto.setType(2);
materialDataMapper.insert(materialDataDto);
}
}
}*/
}catch (Exception e){
log.error("原材料入库暂存入库数据失败{}",e.getMessage(),e);
}

20
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java

@ -316,8 +316,8 @@ public class YCLRKTask extends AbstractTask {
// 要把数据存到组盘表 -> 改造公共方法,返回id
//组盘表需要关联外部mes晶棒数据,一对多
LambdaQueryWrapper<Material> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Material::getPalletSN,taskObj.getVehicle_code2());
wrapper.eq(Material::getGroup_bind_material_status,GroupBindMaterialStatusEnum.BOUND.getValue());
//wrapper.eq(Material::getPalletSN,taskObj.getVehicle_code2());
//wrapper.eq(Material::getGroup_bind_material_status,GroupBindMaterialStatusEnum.BOUND.getValue());
//回传状态为0的
wrapper.eq(Material::getReturn_status,"0");
List<Material> materialList= materialMapper.selectList(wrapper);
@ -326,8 +326,8 @@ public class YCLRKTask extends AbstractTask {
groupEntity.setVehicle_type("0");
groupEntity.setMaterial_weight(extGroupData.getBigDecimal("weight"));
if(ObjectUtil.isNotEmpty(materialList)) {
groupEntity.setRemark(materialList.get(0).getSupplierName());
groupEntity.setMaterial_id(materialList.get(0).getProductName());
// groupEntity.setRemark(materialList.get(0).getSupplierName());
//groupEntity.setMaterial_id(materialList.get(0).getProductName());
}
vehiclematerialgroupService.save(groupEntity);
@ -336,8 +336,8 @@ public class YCLRKTask extends AbstractTask {
groupEntity.setVehicle_type("1");
groupEntity.setMaterial_weight(extGroupData.getBigDecimal("weight"));
if(ObjectUtil.isNotEmpty(materialList)) {
groupEntity.setRemark(materialList.get(0).getSupplierName());
groupEntity.setMaterial_id(materialList.get(0).getProductName());
// groupEntity.setRemark(materialList.get(0).getSupplierName());
// groupEntity.setMaterial_id(materialList.get(0).getProductName());
}
vehiclematerialgroupService.save(groupEntity);
// 任务完成
@ -345,7 +345,7 @@ public class YCLRKTask extends AbstractTask {
taskObj.setGroup_id(ObjectUtil.isNotEmpty(groupEntity)?groupEntity.getGroup_id():null);
taskObj.setRemark("任务完成");
try {
//输送线到原材料库的任务完成,反馈MES接口。逻辑可以去掉。
/* //输送线到原材料库的任务完成,反馈MES接口。逻辑可以去掉。
if(ObjectUtil.isNotEmpty(materialList)) {
String url = "http://192.168.9.124/sitAppWebApi/PDSToWMS/Api/QPMES062";
QPMES062Request qpmes062Request = new QPMES062Request();
@ -388,11 +388,11 @@ public class YCLRKTask extends AbstractTask {
}
}else{
log.error("当前子托盘:"+taskObj.getVehicle_code2()+"不存在未解绑的物料信息,请确认!");
}
}*/
}catch (Exception e){
log.error("原材料入库上报MES失败{}",e.getMessage(),e);
}
try{
/* try{
Map<String, List<Material>> groupedBy = materialList.stream()
.collect(Collectors.groupingBy(Material::getProductName));
@ -423,7 +423,7 @@ public class YCLRKTask extends AbstractTask {
}
}catch (Exception e){
log.error("原材料入库暂存入库数据失败{}",e.getMessage(),e);
}
}*/
}
if (status.equals(TaskStatus.CANCELED)) { // 取消
// 终点解锁

1
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/mapper/PointMapper.java

@ -1,7 +1,6 @@
package org.nl.wms.sch.task_manage.task.tasks.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nl.wms.mes.domain.QPMES118ResponseBody;
import org.nl.wms.sch.point.service.dao.SchBasePoint;
import org.nl.wms.sch.point.service.dto.PointLeftDto;

4
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/workorder/service/dao/Workorder.java

@ -7,7 +7,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.nl.wms.mes.domain.QPMES155RequestBody;
import org.nl.wms.mes.domain.QPMES068RequestBody;
import java.io.Serializable;
import java.util.Date;
@ -41,7 +41,7 @@ public class Workorder implements Serializable {
@ApiModelProperty(value = "回温模式")
private String mode;
public void copyFrom(QPMES155RequestBody source){
public void copyFrom(QPMES068RequestBody source){
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
}
}

2
lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml

@ -6,7 +6,7 @@ spring:
druid:
db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:fj_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true
# url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:stand_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
username: ${DB_USER:root}
password: ${DB_PWD:root}

Loading…
Cancel
Save