根据勾选的发运单同步WMS,根据发运单关联对应的装车单;

发运单、装车单增加备注的筛选条件,文本框,支持模糊输入;
tags/yfai-mes-ext-v2.0
jun 8 months ago
parent b9ea5084fe
commit b77d89ecbf

@ -4,6 +4,7 @@ import cn.estsh.i3plus.ext.mes.pojo.model.MesLoadingListDetailModel;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingListDetail;
import io.swagger.annotations.ApiOperation;
/**
* @Description:
@ -14,4 +15,7 @@ public interface IMesLoadingListDetailService extends IBaseMesService<MesLoading
ListPager<MesLoadingListDetailModel> queryLoadingListDetail(MesLoadingListDetail detail, Pager pager);
@ApiOperation("根据发运单号查询装车单明细信息")
MesLoadingListDetail getMesLoadingListDetail(String organizeCode,String shippingCode);
}

@ -1,6 +1,7 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingList;
import io.swagger.annotations.ApiOperation;
/**
* @Description:
@ -9,5 +10,7 @@ import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingList;
*/
public interface IMesLoadingListService extends IBaseMesService<MesLoadingList> {
@ApiOperation("根据发运单号查询装车单信息")
MesLoadingList getMesLoadingListByShippingCode(String organizeCode, String shippingCode);
}

@ -38,17 +38,13 @@ public class MesShippingOrderManagementController extends BaseMesController<MesS
public ResultBean<MesShippingOrderManagement> saveShipping(@RequestBody List<MesShippingOrderManagement> beanList) {
try {
List<String> orderNoList =
beanList.stream().filter(k -> k.getStatus() != MesExtEnumUtil.SHIPPING_ORDER_STATUS.CREATE.getValue() &&
k.getStatus() != MesExtEnumUtil.SHIPPING_ORDER_STATUS.PUBLISHED.getValue()).map(k -> k.getShippingCode()).collect(Collectors.toList());
List<String> orderNoList = beanList.stream().filter(k -> k.getStatus() != MesExtEnumUtil.SHIPPING_ORDER_STATUS.PUBLISHED.getValue()).map(MesShippingOrderManagement::getShippingCode).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(orderNoList)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】发运单状态不是【%s】或【%s】请选择状态为【%s】或【%s】的数据", orderNoList, MesExtEnumUtil.SHIPPING_ORDER_STATUS.CREATE.getDescription(),
MesExtEnumUtil.SHIPPING_ORDER_STATUS.PUBLISHED.getDescription(), MesExtEnumUtil.SHIPPING_ORDER_STATUS.CREATE.getDescription(),
MesExtEnumUtil.SHIPPING_ORDER_STATUS.PUBLISHED.getDescription())
.setErrorDetail("【%s】发运单状态不是【%s】状态", orderNoList, MesExtEnumUtil.SHIPPING_ORDER_STATUS.PUBLISHED.getDescription())
.build();
}
//新增初始化

@ -19,6 +19,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
@ -157,8 +158,8 @@ public class MesEquipmentSpotCheckDetailService extends BaseMesService<MesEquipm
String organizeCode = AuthUtilExt.getOrganizeCode();
List<String> addressList = new ArrayList<>();
//查询设备变量信息
List<String> realAddress = beanList.stream().map(MesEquipmentSpotCheckDetail::getRealValueAddress).distinct().collect(Collectors.toList());
List<String> setAddress = beanList.stream().map(MesEquipmentSpotCheckDetail::getSetValueAddress).distinct().collect(Collectors.toList());
List<String> realAddress = beanList.stream().map(MesEquipmentSpotCheckDetail::getRealValueAddress).filter(t-> !StringUtils.isEmpty(t)).distinct().collect(Collectors.toList());
List<String> setAddress = beanList.stream().map(MesEquipmentSpotCheckDetail::getSetValueAddress).filter(t-> !StringUtils.isEmpty(t)).distinct().collect(Collectors.toList());
if (!CollectionUtils.isEmpty(realAddress)) addressList.addAll(realAddress);
if (!CollectionUtils.isEmpty(setAddress)) addressList.addAll(setAddress);
if (CollectionUtils.isEmpty(addressList)) return null;

@ -3,13 +3,16 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesLoadingListDetailService;
import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesLoadingListDetailDao;
import cn.estsh.i3plus.ext.mes.pojo.model.MesLoadingListDetailModel;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingListDetail;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.List;
@ -27,4 +30,14 @@ public class MesLoadingListDetailService extends BaseMesService<MesLoadingListDe
List<MesLoadingListDetailModel> list = detailDao.queryLoadingListDetailModel(detail, pager);
return new ListPager<>(list, pager);
}
@Override
public MesLoadingListDetail getMesLoadingListDetail(String organizeCode, String shippingCode) {
if(StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(shippingCode)){
return null;
}
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(shippingCode,"shippingCode",packBean);
return baseRDao.getByProperty(packBean);
}
}

@ -30,6 +30,7 @@ import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@Service
@Slf4j
@ -230,5 +231,17 @@ public class MesLoadingListService extends BaseMesService<MesLoadingList> implem
DdlPreparedPack.getStringEqualPack(bean.getCustCode(), "custCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getCustOrganizeCode(), "custOrganizeCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getTruckNo(), "truckNo", packBean);
DdlPreparedPack.getStringLikerPack(bean.getRemark(), "remark", packBean);
}
@Override
public MesLoadingList getMesLoadingListByShippingCode(String organizeCode, String shippingCode) {
MesLoadingListDetail mesLoadingListDetail = detailService.getMesLoadingListDetail(organizeCode,shippingCode);
if(Objects.isNull(mesLoadingListDetail)){
return null;
}
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(mesLoadingListDetail.getPid(),"id",packBean);
return baseRDao.getByProperty(packBean);
}
}

@ -1,9 +1,7 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesConfigService;
import cn.estsh.i3plus.ext.mes.api.base.IMesPartSapService;
import cn.estsh.i3plus.ext.mes.api.base.IMesPartShippingGroupService;
import cn.estsh.i3plus.ext.mes.api.base.IMesShippingOrderManagementService;
import cn.estsh.i3plus.ext.mes.api.base.*;
import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
@ -12,6 +10,7 @@ import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingList;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail;
import cn.estsh.i3plus.pojo.mes.repository.*;
@ -26,10 +25,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.*;
import java.util.stream.Collectors;
@Service
@ -65,12 +61,16 @@ public class MesShippingOrderManagementService extends BaseMesService<MesShippin
@Autowired
private IMesPartShippingGroupService mesPartShippingGroupService;
@Autowired
private IMesLoadingListService mesLoadingListService;
protected void setPackQueryBean(MesShippingOrderManagement bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getShippingCode(), "shippingCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getOrderCode(), "orderCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getShippingGroupCode(), "shippingGroupCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getCustCode(), "custCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getCustOrganizeCode(), "custOrganizeCode", packBean);
DdlPreparedPack.getStringLikerPack(bean.getRemark(), "remark", packBean);
DdlPreparedPack.getNumEqualPack(bean.getStatus(), "status", packBean);
DdlPreparedPack.getInPackArray(bean.getStatusArray(), "status", packBean);
if (!StringUtils.isEmpty(bean.getReleaseTimeStart()) || !StringUtils.isEmpty(bean.getReleaseTimeEnd())) {
@ -291,11 +291,19 @@ public class MesShippingOrderManagementService extends BaseMesService<MesShippin
DdlPackBean detailPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
DdlPreparedPack.getNumEqualPack(originBean.getId(), "pid", detailPackBean);
List<MesShippingOrderManagementDetail> detailDeleteList = detailService.findAll(detailPackBean);
if(CollectionUtils.isEmpty(detailDeleteList)){
MesException.throwMesBusiException("发运单【%s】明细信息不存在",originBean.getShippingCode());
}
Map<String, List<MesShippingOrderManagementDetail>> detailMap = detailDeleteList.stream().collect(Collectors.groupingBy(MesShippingOrderManagementDetail::getPartNo));
Map<String, List<MesShippingOrderManagementDetail>> detailMap = detailDeleteList.stream().collect(Collectors.groupingBy(k -> k.getPartNo()));
//查询装车单
MesLoadingList loadingList = mesLoadingListService.getMesLoadingListByShippingCode(originBean.getOrganizeCode(), originBean.getShippingCode());
List<MesJisShipping> jisShippingList = new ArrayList<>();
MesPartShippingGroup mesPartShippingGroup = mesPartShippingGroupService.getMesPartShippingGroup(bean.getOrganizeCode(), originBean.getShippingGroupCode());
String erpWarerhouse = mesPartShippingGroup == null || StringUtils.isEmpty(mesPartShippingGroup.getSrcWarerhouse()) ? configService.getCfgValue(bean.getOrganizeCode(), "ERP_WARERHOUSE") : mesPartShippingGroup.getSrcWarerhouse();
String erpWarehous = configService.getCfgValue(bean.getOrganizeCode(), "ERP_WAREHOUS");
detailMap.forEach((k, v) -> {
MesPartSap part = partService.getMesPartSapByPartNo(v.get(0).getPartNo(), bean.getOrganizeCode());
@ -307,10 +315,10 @@ public class MesShippingOrderManagementService extends BaseMesService<MesShippin
jisShipping.setCusCode(originBean.getCustCode());
jisShipping.setShippingTime(TimeTool.getNowTime(true));
jisShipping.setDock(originBean.getSendDockCode());
jisShipping.setErpWarerhouse(mesPartShippingGroup == null || StringUtils.isEmpty(mesPartShippingGroup.getSrcWarerhouse()) ? configService.getCfgValue(bean.getOrganizeCode(), "ERP_WARERHOUSE") : mesPartShippingGroup.getSrcWarerhouse());
jisShipping.setErpWarehous(configService.getCfgValue(bean.getOrganizeCode(), "ERP_WAREHOUS"));
jisShipping.setErpWarerhouse(erpWarerhouse);
jisShipping.setErpWarehous(erpWarehous);
jisShipping.setCusDock(originBean.getCustDockCode());
jisShipping.setCustOrderNo(v.get(0).getCustOrderNo());
jisShipping.setCustOrderNo(Objects.isNull(loadingList) ? "" : loadingList.getOrderCode());
jisShipping.setSerialNumber(v.get(0).getBarcode());
jisShipping.setQuantityPerCar(v.size());
jisShipping.setShippingOrderCode(originBean.getShippingCode());

Loading…
Cancel
Save