42602 发运后,客退品返工,生成并打印新条码

42582 线边库存报表
tags/yfai-mes-ext-v1.6
jun 9 months ago
parent 8bf1738bcf
commit 2b70084c7c

@ -16,4 +16,7 @@ public interface IMesProduceSnService extends IBaseMesService<MesProduceSn> {
@ApiOperation(value = "根据条码查询产品条码表")
List<MesProduceSn> findMesProduceSn(String organizeCode, String sn);
@ApiOperation(value = "查询条码信息")
List<MesProduceSn> findMesProduceSnList(String organizeCode, List<String> snList);
}

@ -3,6 +3,7 @@ package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord;
import cn.estsh.i3plus.pojo.mes.model.MesProductionRecordModel;
import io.swagger.annotations.ApiOperation;
import java.util.List;
@ -20,4 +21,7 @@ public interface IMesProductionRecordService extends IBaseMesService<MesProducti
List<MesProductionRecord> findMesProductionRecord(String organizeCode, String sn);
ListPager queryRecordGroupByPartNoWorkCellCode(MesProductionRecord mesProductionRecord, Pager pager);
@ApiOperation(value = "线边库存报表")
ListPager<MesProductionRecordModel> queryMesProductionOffLine(MesProductionRecordModel mesProductionRecordModel,Pager pager);
}

@ -4,6 +4,9 @@ import cn.estsh.i3plus.ext.mes.pojo.model.MesShippingOrderManagementDetailModel;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* @Description:
@ -15,4 +18,9 @@ public interface IMesShippingOrderManagementDetailService extends IBaseMesServic
public ListPager<MesShippingOrderManagementDetailModel> queryDetailGroupByPartNo(MesShippingOrderManagementDetail bean, Pager pager);
@ApiOperation("查询发运单明细")
ListPager<MesShippingOrderManagementDetailModel> queryMesShippingDetailsByPager(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel, Pager pager);
@ApiOperation("发运退回")
void doShippingBack(Long[] idList,String organizeCode,String userName);
}

@ -1,4 +1,6 @@
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack
import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroup
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingList
import cn.estsh.i3plus.pojo.mes.dbinterface.MesInterfaceDataMapper
@ -29,23 +31,20 @@ class MesToPiscesMesLoadingListDetail {
if (srcData == null || srcData.size() == 0) {
return srcData
}
Map<Long, MesShippingOrderManagement> mesProductionRecordMap = new HashMap<>();
String organizeCode = mapper.getOrganizeCode();
Map<String, MesShippingOrderManagement> mesProductionRecordMap = new HashMap<>();
Map<Long, MesLoadingList> mesLoadingListMap = new HashMap<>();
for (Map<String, Object> rowMap : srcData) {
//
if (!StringUtils.isEmpty(rowMap.get("shipping_id"))) {
long shippingId = Long.parseLong(String.valueOf(rowMap.get("shipping_id")));
if (Objects.isNull(mesProductionRecordMap) || !mesProductionRecordMap.containsKey(shippingId)) {
mesProductionRecordMap.put(shippingId, mesShippingRepository.getById(shippingId))
}
MesShippingOrderManagement mesProductionRecord = mesProductionRecordMap.get(shippingId)
if (!Objects.isNull(mesProductionRecord)) {
rowMap.put("SHIPPING_FID", mesProductionRecord.getFid())
if (!StringUtils.isEmpty(rowMap.get("shipping_code"))) {
MesShippingOrderManagement mesShippingOrderManagement = getShippingCode(organizeCode,String.valueOf(rowMap.get("shipping_code")),mesProductionRecordMap)
if (!Objects.isNull(mesShippingOrderManagement)) {
rowMap.put("SHIPPING_FID", mesShippingOrderManagement.getFid())
} else {
rowMap.put("SHIPPING_FID", null)
LOGGER.info("发运单id{},信息不存在", String.valueOf(rowMap.get(rowMap.get("shipping_id"))))
LOGGER.info("发运单shipping_code{},信息不存在", String.valueOf(rowMap.get("shipping_code")))
}
}else{
rowMap.put("SHIPPING_FID", null)
@ -61,7 +60,7 @@ class MesToPiscesMesLoadingListDetail {
rowMap.put("LOADING_LIST_FID", mesLoadingList.getFid())
} else {
rowMap.put("LOADING_LIST_FID", null)
LOGGER.info("装车id{},信息不存在", String.valueOf(rowMap.get(rowMap.get("pid"))))
LOGGER.info("装车id{},信息不存在", String.valueOf(rowMap.get("pid")))
}
}else{
rowMap.put("LOADING_LIST_FID", null)
@ -70,4 +69,14 @@ class MesToPiscesMesLoadingListDetail {
return srcData;
}
private MesShippingOrderManagement getShippingCode(String organizeCode, String shippingCode, Map<String, MesShippingOrderManagement> mesShippingOrderManagementMap) {
if (Objects.isNull(mesShippingOrderManagementMap) || !mesShippingOrderManagementMap.containsKey(shippingCode)) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(shippingCode, "shippingCode", ddlPackBean);
mesShippingOrderManagementMap.put(shippingCode, mesShippingRepository.getByProperty(ddlPackBean))
}
return mesShippingOrderManagementMap.get(shippingCode);
}
}

@ -58,7 +58,7 @@ class MesToPiscesMesShippingDetail {
rowMap.put("SHIPPING_FID", mesProductionRecord.getFid())
} else {
rowMap.put("SHIPPING_FID", null)
LOGGER.info("发运单id{},信息不存在", String.valueOf(rowMap.get(rowMap.get("pid"))))
LOGGER.info("发运单id{},信息不存在", String.valueOf(rowMap.get("pid")))
}
}else{
rowMap.put("SHIPPING_FID", null)

@ -73,7 +73,7 @@ class MesToPiscesProductionAssembly {
if (!Objects.isNull(mesProductionRecord)) {
rowMap.put("PRODUCTION_LOG_FID", mesProductionRecord.getFid())
} else {
LOGGER.info("原材料容器id{},信息不存在", String.valueOf(rowMap.get(rowMap.get("production_record_id"))))
LOGGER.info("原材料容器id{},信息不存在", String.valueOf(rowMap.get("production_record_id")))
}
}else{
rowMap.put("PRODUCTION_LOG_FID", null)

@ -1,9 +1,11 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesEnumExtService;
import cn.estsh.i3plus.ext.mes.api.base.IMesShippingOrderManagementDetailService;
import cn.estsh.i3plus.ext.mes.api.busi.report.IMesYfReportService;
import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.ext.mes.pojo.model.MesShippingOrderManagementDetailModel;
import cn.estsh.i3plus.platform.common.tool.ExcelTool;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
@ -53,6 +55,9 @@ public class BaseExtDataController extends MesBaseController {
private IMesYfReportService mesYfReportService;
@Autowired
private IMesShippingOrderManagementDetailService mesShippingOrderManagementDetailService;
@Autowired
private EntityManager entityManager;
@GetMapping(value = "/enumlist")
@ -124,6 +129,10 @@ public class BaseExtDataController extends MesBaseController {
mesClass = MesProductionRecord.class;
//查询数据
listPager = mesYfReportService.queryMesProductionRecord(JSON.parseObject(exportDataModel.getSelectWhere(), MesProductionRecord.class),null);break;
case MES_SHIPPING_DETAIL_DATA_EXPORT:
mesClass = MesShippingOrderManagementDetailModel.class;
//查询数据
listPager = mesShippingOrderManagementDetailService.queryMesShippingDetailsByPager(JSON.parseObject(exportDataModel.getSelectWhere(), MesShippingOrderManagementDetailModel.class),null);break;
default:
break;
}

@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesShippingOrderManagementDetailService;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.ext.mes.pojo.model.MesShippingOrderManagementDetailModel;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail;
@ -12,9 +13,9 @@ import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Api("发运单管理明细")
@RestController
@ -40,4 +41,30 @@ public class MesShippingOrderManagementDetailController extends BaseMesControlle
}
}
@ApiOperation(value = "发运单明细", notes = "发运单明细")
@GetMapping("/master/query")
public ResultBean queryMesShippingDetailsByPager(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel, Pager pager) {
try {
return ResultBean.success("查询成功").setListPager(shippingOrderManagementDetailService.queryMesShippingDetailsByPager(mesShippingOrderManagementDetailModel,pager));
} catch (ImppBusiException e) {
return ResultBean.fail(e);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@ApiOperation(value = "发运退回", notes = "发运退回")
@PutMapping("/doShippingBack")
public ResultBean doShippingBack(Long[] idList) {
try {
shippingOrderManagementDetailService.doShippingBack(idList,AuthUtil.getOrganizeCode(),AuthUtil.getSessionUser().getUserName());
return ResultBean.success("退回成功");
} catch (ImppBusiException e) {
return ResultBean.fail(e);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -1,11 +1,13 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.report;
import cn.estsh.i3plus.ext.mes.api.base.IMesProductionRecordService;
import cn.estsh.i3plus.ext.mes.api.busi.report.IMesYfReportService;
import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord;
import cn.estsh.i3plus.pojo.mes.model.MesProductionRecordModel;
import cn.estsh.impp.framework.base.controller.MesBaseController;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
@ -33,6 +35,9 @@ public class MesBusiReportController extends MesBaseController {
@Autowired
private IMesYfReportService mesYfReportService;
@Autowired
private IMesProductionRecordService mesProductionRecordService;
@ApiOperation(value = "查询追溯报表", notes = "查询追溯报表")
@GetMapping("/traceability/find")
public ResultBean findTraceabilityReport(MesProduceSn mesProduceSn) {
@ -72,4 +77,22 @@ public class MesBusiReportController extends MesBaseController {
}
}
@ApiOperation(value = "线边库存报表", notes = "线边库存报表")
@GetMapping("/mesProductionOffLine/query")
public ResultBean queryMesProductionOffLine(MesProductionRecordModel mesProductionRecordModel, Pager pager) {
try {
ValidatorBean.beginValid(mesProductionRecordModel)
.notNull("partNo", mesProductionRecordModel.getPartNo())
.notNull("organizeCode", mesProductionRecordModel.getOrganizeCode())
.notNull("onLineWorkCellCode",mesProductionRecordModel.getOnLineWorkCellCode())
.notNull("offLineWorkCellCode",mesProductionRecordModel.getOffLineWorkCellCode())
.notNull("createDateTimeStart",mesProductionRecordModel.getCreateDateTimeStart())
.notNull("createDateTimeEnd",mesProductionRecordModel.getCreateDateTimeEnd());
return ResultBean.success("查询成功").setListPager(mesProductionRecordService.queryMesProductionOffLine(mesProductionRecordModel,pager));
} catch (ImppBusiException e) {
return ResultBean.fail(e);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -9,4 +9,6 @@ public interface IMesProdRuleNosortCfgDao {
List<MesProdRuleNosortCfg> findMesProdRuleNosortCfgByWorkCenterCode(String workCenterCode, String partNo, String organizeCode);
List<MesProdRuleNosortCfg> findMesProdRuleNosortCfgByWorkCellCode(String workCellCode, String partNo, String organizeCode);
}

@ -1,8 +1,10 @@
package cn.estsh.i3plus.ext.mes.apiservice.dao;
import cn.estsh.i3plus.ext.mes.pojo.model.MesShippingOrderManagementDetailModel;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail;
import io.swagger.annotations.ApiOperation;
import java.util.List;
@ -18,4 +20,8 @@ public interface IMesShippingOrderManagementDetailDao {
int queryOrderDetailGroupByPartCount(MesShippingOrderManagementDetail detail);
List<MesShippingOrderManagementDetailModel> queryOrderDetailGroupByPartInfo(MesShippingOrderManagementDetail detail, Pager pager);
@ApiOperation("查询发运单明细")
ListPager<MesShippingOrderManagementDetailModel> queryMesShippingDetailsByPager(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel, Pager pager);
}

@ -20,7 +20,7 @@ import java.util.List;
@Service
@Slf4j
public class MesDaoImpl implements IMesBomDao {
public class MesBomDaoImpl implements IMesBomDao {
@Autowired
private EntityManager entityManager;

@ -41,8 +41,8 @@ public class MesLoadingListDetailDaoImpl implements IMesLoadingListDetailDao {
hql.append(" from mes_loading_list as mll");
hql.append(" inner join mes_loading_list_detail as mlld on mll.id = mlld.pid");
hql.append(" and mll.organize_code = mlld.organize_code and mll.is_deleted = mlld.is_deleted and mll.is_valid = mlld.is_valid ");
hql.append(" inner join mes_shipping as ms on mlld.shipping_id = ms.id ");
hql.append(" and mlld.organize_code = ms.organize_code and mlld.is_deleted = ms.is_deleted and mlld.is_valid = ms.is_valid ");
hql.append(" left join mes_shipping as ms on mlld.shipping_code = ms.shipping_code ");
hql.append(" and ((mlld.organize_code = ms.organize_code and mlld.is_deleted = ms.is_deleted and mlld.is_valid = ms.is_valid) or (ms.id is null)) ");
hql.append(" where mll.organize_code = :organizeCode ");
hql.append(" and mll.is_deleted = :isDeleted ");
hql.append(" and mll.is_valid = :isValid ");
@ -109,8 +109,8 @@ public class MesLoadingListDetailDaoImpl implements IMesLoadingListDetailDao {
hql.append(" from mes_loading_list as mll");
hql.append(" inner join mes_loading_list_detail as mlld on mll.id = mlld.pid");
hql.append(" and mll.organize_code = mlld.organize_code and mll.is_deleted = mlld.is_deleted and mll.is_valid = mlld.is_valid ");
hql.append(" inner join mes_shipping as ms on mlld.shipping_id = ms.id ");
hql.append(" and mlld.organize_code = ms.organize_code and mlld.is_deleted = ms.is_deleted and mlld.is_valid = ms.is_valid ");
hql.append(" left join mes_shipping as ms on mlld.shipping_code = ms.shipping_code ");
hql.append(" and ((mlld.organize_code = ms.organize_code and mlld.is_deleted = ms.is_deleted and mlld.is_valid = ms.is_valid) or (ms.id is null)) ");
hql.append(" where mll.organize_code = :organizeCode ");
hql.append(" and mll.is_deleted = :isDeleted ");
hql.append(" and mll.is_valid = :isValid ");

@ -35,4 +35,22 @@ public class MesProdRuleNosortCfgDaoImpl implements IMesProdRuleNosortCfgDao {
return query.getResultList();
}
@Override
public List<MesProdRuleNosortCfg> findMesProdRuleNosortCfgByWorkCellCode(String workCellCode, String partNo, String organizeCode) {
StringBuffer hql = new StringBuffer("select ns from MesProdRuleNosortCfg ns" +
" left join MesWcEquipment we on ns.equipmentCode = we.equipmentCode " +
" where ns.isDeleted=:isDeleted and ns.isValid = :isValid and ns.organizeCode = :organizeCode " +
" and we.isDeleted=:isDeleted and we.isValid = :isValid and we.organizeCode = :organizeCode " +
" and we.workCellCode = :workCellCode and ns.inPartNo = :inPartNo order by ns.createDatetime desc");
Query query = entityManager.createQuery(hql.toString(), MesProdRuleNosortCfg.class);
query.setParameter("organizeCode", organizeCode);
query.setParameter("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
query.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
query.setParameter("workCellCode", workCellCode);
query.setParameter("inPartNo", partNo);
return query.getResultList();
}
}

@ -2,9 +2,13 @@ package cn.estsh.i3plus.ext.mes.apiservice.daoimpl;
import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesShippingOrderManagementDetailDao;
import cn.estsh.i3plus.ext.mes.pojo.model.MesShippingOrderManagementDetailModel;
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.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -15,6 +19,7 @@ import javax.persistence.EntityManager;
import javax.persistence.Query;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* @Description :SAP
@ -98,4 +103,88 @@ public class MesShippingOrderManagementDetailDaoImpl implements IMesShippingOrde
return modelList;
}
@Override
public ListPager<MesShippingOrderManagementDetailModel> queryMesShippingDetailsByPager(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel, Pager pager) {
StringBuilder dataHql = new StringBuilder();
dataHql.append(" select new ").append(MesShippingOrderManagementDetailModel.class.getName()).append("(m,d)");
//共用HQL
String commonHql = getCommonHql(mesShippingOrderManagementDetailModel);
//行数
Query countQuery = entityManager.createQuery("select count(1) " + commonHql);
setParameter(mesShippingOrderManagementDetailModel, countQuery);
//数据
Query dataQuery = entityManager.createQuery(dataHql.append(commonHql).append(getOrderBy(mesShippingOrderManagementDetailModel)).toString(), MesShippingOrderManagementDetailModel.class);
setParameter(mesShippingOrderManagementDetailModel, dataQuery);
if (Objects.isNull(pager)) return new ListPager<>(dataQuery.getResultList(), pager);
int count = Integer.parseInt(String.valueOf(countQuery.getSingleResult()));
if (count <= 0) return new ListPager<>(new ArrayList<>(), pager);
pager = PagerHelper.getPager(pager, count);
dataQuery.setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize());
return new ListPager<>(dataQuery.getResultList(), pager);
}
private void setParameter(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel, Query query) {
query.setParameter("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
query.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
query.setParameter("organizeCode", mesShippingOrderManagementDetailModel.getOrganizeCode());
query.setParameter("status", MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue());
if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getShippingType()))
query.setParameter("shippingType", mesShippingOrderManagementDetailModel.getShippingType());
if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getStartScanTimeStart()))
query.setParameter("startScanTimeStart", mesShippingOrderManagementDetailModel.getStartScanTimeStart());
if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getStartScanTimeEnd()))
query.setParameter("startScanTimeEnd", mesShippingOrderManagementDetailModel.getStartScanTimeEnd());
if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getEndScanTimeStart()))
query.setParameter("endScanTimeStart", mesShippingOrderManagementDetailModel.getEndScanTimeStart());
if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getEndScanTimeEnd()))
query.setParameter("endScanTimeEnd", mesShippingOrderManagementDetailModel.getEndScanTimeEnd());
if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getPublishTimeStart()))
query.setParameter("publishTimeStart", mesShippingOrderManagementDetailModel.getPublishTimeStart());
if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getPublishTimeEnd()))
query.setParameter("publishTimeEnd", mesShippingOrderManagementDetailModel.getPublishTimeEnd());
}
private String getOrderBy(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel) {
StringBuilder orderBy = new StringBuilder();
if (StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getOrderByParam()) || StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getAscOrDesc())) {
mesShippingOrderManagementDetailModel.setOrderByParam("createDatetime");
mesShippingOrderManagementDetailModel.setAscOrDesc(CommonEnumUtil.ASC_OR_DESC.DESC.getValue());
}
return orderBy.append(" order by d.").append(mesShippingOrderManagementDetailModel.getOrderByParam()).append(" ").append(CommonEnumUtil.ASC_OR_DESC.DESC.getValue() == mesShippingOrderManagementDetailModel.getAscOrDesc() ? "desc" : "asc").toString();
}
private String getCommonHql(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel) {
StringBuilder commonHql = new StringBuilder();
commonHql.append(" from MesShippingOrderManagement m left join MesShippingOrderManagementDetail d on m.id = d.pid");
commonHql.append(" where m.isDeleted=:isDeleted and m.isValid = :isValid and m.organizeCode = :organizeCode ");
commonHql.append(" and d.isDeleted=:isDeleted and d.isValid = :isValid and d.organizeCode = :organizeCode ");
commonHql.append(" and d.status = :status ");
if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getShippingCode()))
commonHql.append(" and m.shippingCode like '%").append(mesShippingOrderManagementDetailModel.getShippingCode()).append("%' ");
if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getBarcode()))
commonHql.append(" and d.barcode like '%").append(mesShippingOrderManagementDetailModel.getBarcode()).append("%' ");
if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getPartNo()))
commonHql.append(" and d.partNo like '%").append(mesShippingOrderManagementDetailModel.getPartNo()).append("%' ");
if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getCustPartNo()))
commonHql.append(" and d.custPartNo like '%").append(mesShippingOrderManagementDetailModel.getCustPartNo()).append("%' ");
if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getShippingType()))
commonHql.append(" and m.shippingType = :shippingType ");
if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getCustCode()))
commonHql.append(" and m.custCode like '%").append(mesShippingOrderManagementDetailModel.getCustCode()).append("%' ");
if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getStartScanTimeStart()))
commonHql.append(" and m.startScanTime >= :startScanTimeStart ");
if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getStartScanTimeEnd()))
commonHql.append(" and m.startScanTime <= :startScanTimeEnd ");
if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getEndScanTimeStart()))
commonHql.append(" and m.endScanTime >= :endScanTimeStart ");
if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getEndScanTimeEnd()))
commonHql.append(" and m.endScanTime <= :endScanTimeEnd ");
if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getPublishTimeStart()))
commonHql.append(" and m.publishTime >= :publishTimeStart ");
if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getPublishTimeEnd()))
commonHql.append(" and m.publishTime <= :publishTimeEnd ");
return commonHql.toString();
}
}

@ -2,6 +2,8 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesProduceSnService;
import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.ext.mes.pojo.util.OverwriteStringJoin;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
@ -11,6 +13,7 @@ import org.springframework.util.CollectionUtils;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@ -34,4 +37,15 @@ public class MesProduceSnServiceImpl extends BaseMesService<MesProduceSn> implem
}
return produceSnList.stream().filter(o -> null != o).sorted(Comparator.comparing(MesProduceSn::getCreateDatetime).reversed()).collect(Collectors.toList());
}
@Override
public List<MesProduceSn> findMesProduceSnList(String organizeCode, List<String> snList) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getInPackList(snList, "productSn", packBean);
List<MesProduceSn> produceSnList = baseRDao.findByHqlWhere(packBean);
if (CollectionUtils.isEmpty(produceSnList)) {
MesException.throwMesBusiException("条码【%s】信息不存在", OverwriteStringJoin.join(MesExtConstWords.COMMA, snList));
}
return produceSnList.stream().filter(Objects::nonNull).sorted(Comparator.comparing(MesProduceSn::getCreateDatetime).reversed()).collect(Collectors.toList());
}
}

@ -1,9 +1,12 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesProdRuleNosortCfgService;
import cn.estsh.i3plus.ext.mes.api.base.IMesProductionRecordService;
import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesProdRuleNosortCfgDao;
import cn.estsh.i3plus.ext.mes.apiservice.utils.BeanUtil;
import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException;
import cn.estsh.i3plus.ext.mes.pojo.util.OverwriteStringJoin;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
@ -11,10 +14,16 @@ import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.base.util.StringUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesPart;
import cn.estsh.i3plus.pojo.mes.bean.MesProdRuleNosortCfg;
import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord;
import cn.estsh.i3plus.pojo.mes.model.MesProductionRecordModel;
import cn.estsh.i3plus.pojo.mes.repository.MesProdRuleNoSortCfgRepository;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import lombok.extern.slf4j.Slf4j;
import org.hibernate.SQLQuery;
import org.hibernate.transform.Transformers;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@ -38,6 +47,9 @@ public class MesProductionRecordServiceImpl extends BaseMesService<MesProduction
@Autowired
private EntityManager entityManager;
@Autowired
private IMesProdRuleNosortCfgDao mesProdRuleNosortCfgDao;
@Override
public List<MesProductionRecord> findMesProductionRecord(String organizeCode, String sn) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
@ -56,6 +68,29 @@ public class MesProductionRecordServiceImpl extends BaseMesService<MesProduction
return queryERPMaterialStockHqlPager(mesProductionRecord, pager);
}
@Override
public ListPager<MesProductionRecordModel> queryMesProductionOffLine(MesProductionRecordModel mesProductionRecordModel, Pager pager) {
List<MesProdRuleNosortCfg> mesProdRuleNosortCfgs = mesProdRuleNosortCfgDao.findMesProdRuleNosortCfgByWorkCellCode(mesProductionRecordModel.getOnLineWorkCellCode(), mesProductionRecordModel.getPartNo(), mesProductionRecordModel.getOrganizeCode());
if(CollectionUtils.isEmpty(mesProdRuleNosortCfgs) || StringUtil.isEmpty(mesProdRuleNosortCfgs.iterator().next().getOutPartNo())) return new ListPager<>(new ArrayList<>(),pager);
DdlPackBean packBean = DdlPackBean.getDdlPackBean(mesProductionRecordModel.getOrganizeCode());
DdlPreparedPack.getInPackArray(new Object[]{mesProdRuleNosortCfgs.iterator().next().getOutPartNo(),mesProductionRecordModel.getPartNo()},"partNo",packBean);
DdlPreparedPack.getInPackArray(new Object[]{mesProductionRecordModel.getOffLineWorkCellCode(),mesProductionRecordModel.getOnLineWorkCellCode()},"workCellCode",packBean);
DdlPreparedPack.getStringBiggerPack(mesProductionRecordModel.getCreateDateTimeStart(),"createDatetime",packBean);
DdlPreparedPack.getStringSmallerPack(mesProductionRecordModel.getCreateDateTimeEnd(),"createDatetime",packBean);
DdlPreparedPack.getNumEqualPack( MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_10.getValue(),"reportStatus",packBean);
pager = PagerHelper.getPager(pager, baseRDao.findByHqlWhereCount(packBean));
List<MesProductionRecord> productionRecordList = baseRDao.findByHqlWherePage(packBean,pager);
if(CollectionUtils.isEmpty(productionRecordList)) return new ListPager<>(new ArrayList<>(),pager);
List<MesProductionRecordModel> mesProductionRecordModelList = new ArrayList<>();
MesProductionRecordModel model;
for (MesProductionRecord mesProductionRecord : productionRecordList) {
model = new MesProductionRecordModel();
BeanUtils.copyProperties(mesProductionRecord,model);
model.setOffLineWorkCellCode(mesProductionRecord.getWorkCellCode());
}
return new ListPager<>(mesProductionRecordModelList, pager);
}
private ListPager<MesProductionRecord> queryERPMaterialStockHqlPager(MesProductionRecord mesProductionRecord, Pager pager) {
String org = mesProductionRecord.getOrganizeCode();
String startTime = mesProductionRecord.getCompleteDateTimeStart();

@ -1,20 +1,32 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesProduceSnService;
import cn.estsh.i3plus.ext.mes.api.base.IMesShippingOrderManagementDetailService;
import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesShippingOrderManagementDetailDao;
import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException;
import cn.estsh.i3plus.ext.mes.pojo.model.MesShippingOrderManagementDetailModel;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
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.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail;
import cn.estsh.i3plus.pojo.mes.repository.MesProduceSnRepository;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
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;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
@Service
@Slf4j
@ -23,6 +35,12 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
@Autowired
private IMesShippingOrderManagementDetailDao shippingOrderManagementDetailDao;
@Autowired
private IMesProduceSnService mesProduceSnService;
@Autowired
private MesProduceSnRepository mesProduceSnRepository;
protected void setPackQueryBean(MesShippingOrderManagementDetail bean, DdlPackBean packBean) {
DdlPreparedPack.getNumEqualPack(bean.getPid(), "pid", packBean);
DdlPreparedPack.getStringLikerPack(bean.getPartNo(), "partNo", packBean);
@ -41,4 +59,51 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
return new ListPager<>(modelList, pager);
}
@Override
public ListPager<MesShippingOrderManagementDetailModel> queryMesShippingDetailsByPager(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel, Pager pager) {
return shippingOrderManagementDetailDao.queryMesShippingDetailsByPager(mesShippingOrderManagementDetailModel, pager);
}
@Override
public void doShippingBack(Long[] idList, String organizeCode, String userName) {
List<MesShippingOrderManagementDetail> detailList = getManagementDetails(idList, organizeCode, userName);
if (CollectionUtils.isEmpty(detailList)) return;
Map<String, List<MesProduceSn>> mesProduceSnMap = getMesProduceSnMap(organizeCode, detailList);
List<MesProduceSn> updateMesProduceSn = new ArrayList<>();
for (MesShippingOrderManagementDetail detail : detailList) {
if (!mesProduceSnMap.containsKey(detail.getBarcode()))
MesException.throwMesBusiException("发运单条码[%s]信息不存在", detail.getBarcode());
//更新条码状态为完成
MesProduceSn mesProduceSn = mesProduceSnMap.get(detail.getBarcode()).iterator().next();
mesProduceSn.setSnStatus(MesExtEnumUtil.PRODUCE_SN_STATUS.OFFLINE.getValue());
mesProduceSn.setSystemSyncStatus(CommonEnumUtil.FALSE);
ConvertBean.serviceModelUpdate(mesProduceSn, userName);
updateMesProduceSn.add(mesProduceSn);
//软删明细
detail.setIsDeleted(CommonEnumUtil.VALID);
detail.setSystemSyncStatus(CommonEnumUtil.FALSE);
ConvertBean.serviceModelUpdate(detail, userName);
}
baseRDao.saveAll(detailList);
if (!updateMesProduceSn.isEmpty()) {
mesProduceSnRepository.saveAll(updateMesProduceSn);
}
}
private Map<String, List<MesProduceSn>> getMesProduceSnMap(String organizeCode, List<MesShippingOrderManagementDetail> detailList) {
List<String> snList = detailList.stream().map(MesShippingOrderManagementDetail::getBarcode).filter(StringUtils::isEmpty).collect(Collectors.toList());
if (CollectionUtils.isEmpty(snList)) MesException.throwMesBusiException("发运单条码信息不存在");
List<MesProduceSn> mesProduceSnList = mesProduceSnService.findMesProduceSnList(organizeCode, snList);
return mesProduceSnList.stream().collect(Collectors.groupingBy(MesProduceSn::getProductSn));
}
private List<MesShippingOrderManagementDetail> getManagementDetails(Long[] idList, String organizeCode, String userName) {
if (Objects.isNull(idList) || StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(userName)) return null;
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getInPackArray(idList, "id", packBean);
List<MesShippingOrderManagementDetail> detailList = baseRDao.findByHqlWhere(packBean);
if (CollectionUtils.isEmpty(detailList) || detailList.size() <= 0)
MesException.throwMesBusiException("选择数据不存在,请检查数据");
return detailList;
}
}

@ -898,8 +898,9 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
String sn = getStringList(mesWorkOrder);
//保存数据
List<MesProductOffLine> mesProductOffLineList = new ArrayList<>();
String nowTime = TimeTool.getNowTime(true);
for (MesBom mesBom : mesBoms) {
mesProductOffLineList.add(creatMesProductOffLine(mesWorkOrder, mesProductVersion, sn, mesBom, false));
mesProductOffLineList.add(creatMesProductOffLine(mesWorkOrder, mesProductVersion, sn, mesBom, false,nowTime));
}
mesProductOffLineService.insertBatch(mesProductOffLineList);
}
@ -992,8 +993,9 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
MesPartSap mesPartSap = mesPartSapService.getMesPartSapByPartNo(mesWorkOrder.getPartNo(), mesWorkOrder.getOrganizeCode());
//成品汇报
if (isReport) {
String nowTime = TimeTool.getNowTime(true);
for (MesBom mesBom : mesBoms) {
mesProductOffLineList.add(creatMesProductOffLine(mesWorkOrderNew, mesProductVersion, sn, mesBom, false));
mesProductOffLineList.add(creatMesProductOffLine(mesWorkOrderNew, mesProductVersion, sn, mesBom, false,nowTime));
}
}
//成品移库
@ -1006,8 +1008,9 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
} else if (MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue() == mesWorkOrder.getWorkOrderType()) {
MesProdRuleNosortCfg mesProdRuleNoSortCfg = mesProdRuleNosortCfgService.findMesProdRuleNosortCfgByWorkCenterCode(mesWorkOrder.getWorkCenterCode(), mesWorkOrder.getPartNo(), mesWorkOrder.getOrganizeCode());
if (MesExtEnumUtil.NOSORT_REPORT_TYPE.REPORT.getValue() == mesProdRuleNoSortCfg.getReportType()) {
String nowTime = TimeTool.getNowTime(true);
for (MesBom mesBom : mesBoms) {
mesProductOffLineList.add(creatMesProductOffLine(mesWorkOrderNew, mesProductVersion, sn, mesBom, false));
mesProductOffLineList.add(creatMesProductOffLine(mesWorkOrderNew, mesProductVersion, sn, mesBom, false,nowTime));
}
}
@ -1051,8 +1054,9 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
List<MesBom> mesBoms = mesBomService.findBomList(mesPart.getOrganizeCode(), mesPart, mesProductVersion.getAlternativePartList());
//保存数据
List<MesProductOffLine> mesProductOffLineList = new ArrayList<>();
String nowTime = TimeTool.getNowTime(true);
for (MesBom mesBom : mesBoms) {
mesProductOffLineList.add(getMesProductOffLine(model, mesPart, mesProductVersion, mesBom));
mesProductOffLineList.add(getMesProductOffLine(model, mesPart, mesProductVersion, mesBom,nowTime));
}
mesProductOffLineService.insertBatch(mesProductOffLineList);
}
@ -1100,7 +1104,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
workOrderLogService.saveMesWorkOrderLog(mesWorkOrder,type,qty);
}
private MesProductOffLine getMesProductOffLine(WmsProductModel model, MesPart mesPart, MesProductVersion mesProductVersion, MesBom mesBom) {
private MesProductOffLine getMesProductOffLine(WmsProductModel model, MesPart mesPart, MesProductVersion mesProductVersion, MesBom mesBom,String nowTime) {
MesProductOffLine newMesProductOffLine = new MesProductOffLine();
newMesProductOffLine.setReportPartNo(mesPart.getPartNo());
newMesProductOffLine.setReportPartNameRdd(mesPart.getPartName());
@ -1122,6 +1126,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
newMesProductOffLine.setOrderNo(model.getShipOrderNo());
newMesProductOffLine.setCustNo(model.getCustNo());
newMesProductOffLine.setCustOrder(model.getCustOrderNo());
newMesProductOffLine.setDescription(nowTime);
ConvertBean.serviceModelInitialize(newMesProductOffLine, model.getUserName());
return newMesProductOffLine;
@ -1170,7 +1175,8 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
}
//汇报
if (isItemReport) {
mesProductOffLineList.add(creatMesProductOffLine(mesWorkOrder, mesProductVersion, sn, mesBom, true));
String nowTime = TimeTool.getNowTime(true);
mesProductOffLineList.add(creatMesProductOffLine(mesWorkOrder, mesProductVersion, sn, mesBom, true,nowTime));
}
//移库
if (isItemMove) {
@ -1229,7 +1235,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
private MesProductOffLine creatMesProductOffLine(MesWorkOrder mesWorkOrder, MesProductVersion mesProductVersion,
String sn, MesBom mesBom, boolean isItemReport) {
String sn, MesBom mesBom, boolean isItemReport,String nowTime) {
MesProductOffLine newMesProductOffLine;
newMesProductOffLine = new MesProductOffLine();
if (!isItemReport) {
@ -1254,6 +1260,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
newMesProductOffLine.setReportType(mesWorkOrder.getReportType());
newMesProductOffLine.setSapWorkCenter(mesWorkOrder.getErpWorkCenter());
newMesProductOffLine.setOrganizeCode(mesWorkOrder.getOrganizeCode());
newMesProductOffLine.setDescription(nowTime);
ConvertBean.serviceModelInitialize(newMesProductOffLine, mesWorkOrder.getCreateUser());
return newMesProductOffLine;

@ -1,6 +1,10 @@
package cn.estsh.i3plus.ext.mes.pojo.model;
import cn.estsh.i3plus.pojo.base.annotation.AnnoOutputColumn;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import io.swagger.annotations.ApiParam;
import lombok.Data;
@ -25,4 +29,146 @@ public class MesShippingOrderManagementDetailModel {
@ApiParam("计量单位")
private String unit;
@ApiParam("工厂代码")
private String organizeCode;
@ApiParam("发运单")
private String shippingCode;
@ApiParam("状态")
@AnnoOutputColumn(refClass = MesExtEnumUtil.SHIPPING_ORDER_STATUS.class, refForeignKey = "value", value = "description")
private Integer status;
@ApiParam("客户排序信息序号")
private Long custInfoSeq;
@ApiParam("条码")
private String barcode;
@ApiParam("客户订单号")
private String custOrderNo;
@ApiParam("创建时间")
private String createDatetime;
@ApiParam("创建人")
private String createUser;
@ApiParam(value = "更新时间")
private String modifyDatetime;
@ApiParam(value = "更新人")
private String modifyUser;
@ApiParam("发运单类型")
@AnnoOutputColumn(refClass = MesExtEnumUtil.SHIPPING_ORDER_TYPE.class, refForeignKey = "value", value = "description")
private Integer shippingType;
@ApiParam("客户代码")
private String custCode;
@ApiParam("客户名称")
private String custName;
@ApiParam("客户工厂代码")
private String custOrganizeCode;
@ApiParam("客户工厂名称")
private String custOrganizeName;
@ApiParam("开始扫描时间")
private String startScanTime;
@ApiParam("开始扫描时间(开始)")
private String startScanTimeStart;
@ApiParam("开始扫描时间(结束)")
private String startScanTimeEnd;
@ApiParam("结束扫描时间")
private String endScanTime;
@ApiParam("结束扫描时间(开始)")
private String endScanTimeStart;
@ApiParam("结束扫描时间(结束)")
private String endScanTimeEnd;
@ApiParam("发布时间")
private String publishTime;
@ApiParam("发布时间(开始)")
private String publishTimeStart;
@ApiParam("发布时间(结束)")
private String publishTimeEnd;
@ApiParam("累计打印次数")
private Integer printCount;
@ApiParam("最后打印用户")
private String lastPrintUser;
@ApiParam("最后打印时间")
private String lastPrintTime;
@ApiParam("发运组代码")
private String shippingGroupCode;
@ApiParam("发运组名称")
private String shippingGroupName;
@ApiParam("车系代码")
private String carSerialCode;
@ApiParam(value = "排序属性")
public String orderByParam = "";
@ApiParam(value = "排序类型1 正序2 倒序",example = "1")
public Integer ascOrDesc;
@ApiParam("明细id")
private Long id;
@ApiParam("明细状态")
@AnnoOutputColumn(refClass = MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.class, refForeignKey = "value", value = "description")
private Integer detailsStatus;
public MesShippingOrderManagementDetailModel(){
}
public MesShippingOrderManagementDetailModel(MesShippingOrderManagement m, MesShippingOrderManagementDetail d){
this.shippingCode = m.getShippingCode();
this.status = m.getStatus();
this.detailsStatus = d.getStatus();
this.custInfoSeq = d.getCustInfoSeq();
this.partName = d.getPartName();
this.partNo = d.getPartNo();
this.barcode = d.getBarcode();
this.custPartNo = d.getCustPartNo();
this.planQty = d.getPlanQty();
this.actualQty = d.getActualQty();
this.unit = d.getUnit();
this.custOrderNo = m.getOrderCode();
this.createDatetime = d.getCreateDatetime();
this.createUser = d.getCreateUser();
this.modifyDatetime = d.getModifyDatetime();
this.modifyUser = d.getModifyUser();
this.shippingType = m.getShippingType();
this.custCode = m.getCustCode();
this.custName = m.getCustName();
this.custOrganizeCode = m.getCustOrganizeCode();
this.custOrganizeName = m.getCustOrganizeName();
this.startScanTime = m.getStartScanTime();
this.endScanTime = m.getEndScanTime();
this.publishTime = m.getPublishTime();
this.printCount = m.getPrintCount();
this.lastPrintTime = m.getLastPrintTime();
this.lastPrintUser = m.getLastPrintUser();
this.shippingGroupCode = m.getShippingGroupCode();
this.shippingGroupName = m.getShippingGroupName();
this.carSerialCode = d.getCarSerialCode();
this.id = d.getId();
}
}

@ -117,4 +117,9 @@ public class MesWorkCenterBoardResultModel {
this.partNo = partNo;
}
public MesWorkCenterBoardResultModel(String serialNumber, String createDateTime) {
this.serialNumber = serialNumber;
this.createDateTime = createDateTime;
}
}

Loading…
Cancel
Save