增加查询条件

tags/yfai-mes-ext-v1.0
LML丶 1 year ago
parent d4471fc18f
commit 0b8b5d0b73

@ -0,0 +1,13 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesLoadingVehiclesOrderDetail;
/**
* @Description:
* @CreateDate 2024/04/16
* @Author mingliang.li
*/
public interface IMesLoadingVehiclesOrderDetailService extends IBaseMesService<MesLoadingVehiclesOrderDetail> {
}

@ -0,0 +1,13 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesLoadingVehiclesOrder;
/**
* @Description:
* @CreateDate 2024/04/16
* @Author mingliang.li
*/
public interface IMesLoadingVehiclesOrderService extends IBaseMesService<MesLoadingVehiclesOrder> {
}

@ -0,0 +1,14 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesShippingOrderManagement;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderLog;
/**
* @Description:
* @CreateDate 2024/04/16
* @Author mingliang.li
*/
public interface IMesWorkOrderLogService extends IBaseMesService<MesWorkOrderLog> {
}

@ -0,0 +1,14 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderLog;
/**
* @Description:
* @CreateDate 2024/04/16
* @Author mingliang.li
*/
public interface IMesWorkOrderService extends IBaseMesService<MesWorkOrder> {
}

@ -0,0 +1,17 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesLoadingVehiclesOrder;
import cn.estsh.i3plus.pojo.mes.bean.MesShippingOrderManagement;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(description = "装车单主页面")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesLoadingVehiclesOrder")
public class MesLoadingVehiclesOrderController extends BaseMesController<MesLoadingVehiclesOrder> {
}

@ -0,0 +1,16 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesLoadingVehiclesOrderDetail;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(description = "装车单主页面")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesLoadingVehiclesOrderDetail")
public class MesLoadingVehiclesOrderDetailController extends BaseMesController<MesLoadingVehiclesOrderDetail> {
}

@ -0,0 +1,17 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesLoadingVehiclesOrderDetail;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(description = "装车单主页面")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesWorkOrder")
public class MesWorkOrderController extends BaseMesController<MesWorkOrder> {
}

@ -0,0 +1,12 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesLoadingVehiclesOrderDetailService;
import cn.estsh.i3plus.pojo.mes.bean.MesLoadingVehiclesOrderDetail;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Service
@Slf4j
public class MesLoadingVehiclesOrderDetailService extends BaseMesService<MesLoadingVehiclesOrderDetail> implements IMesLoadingVehiclesOrderDetailService {
}

@ -0,0 +1,113 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesLoadingVehiclesOrderService;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtEnumUtil;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
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.MesLoadingVehiclesOrder;
import cn.estsh.i3plus.pojo.mes.bean.MesLoadingVehiclesOrderDetail;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
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;
@Service
@Slf4j
public class MesLoadingVehiclesOrderService extends BaseMesService<MesLoadingVehiclesOrder> implements IMesLoadingVehiclesOrderService {
@Autowired
private MesLoadingVehiclesOrderDetailService detailService;
@Override
public MesLoadingVehiclesOrder insert(MesLoadingVehiclesOrder bean) {
//插入前构造并校验数据
onInsertBean(bean);
List<MesLoadingVehiclesOrderDetail> detailList = new ArrayList<>();
MesLoadingVehiclesOrder finalBean = bean;
bean.getShippingOrderNoList().forEach(k -> {
MesLoadingVehiclesOrderDetail detail = new MesLoadingVehiclesOrderDetail();
BeanUtils.copyProperties(k, detail, "id");
detail.setShippingOrderNo(finalBean.getLoadingOrderNo());
detail.setWeatherCondition(finalBean.getWeatherCondition());
detailList.add(detail);
});
String customerCode = bean.getShippingOrderNoList().get(0).getCustomerCode();
String customerName = bean.getShippingOrderNoList().get(0).getCustomerName();
String customerOrganizeCode = bean.getShippingOrderNoList().get(0).getCustomerOrganizeCode();
String customerOrganizeName = bean.getShippingOrderNoList().get(0).getCustomerOrganizeName();
bean.setCustomerCode(customerCode);
bean.setCustomerName(customerName);
bean.setCustomerOrganizeCode(customerOrganizeCode);
bean.setCustomerOrganizeName(customerOrganizeName);
//TODO 状态待确定
// bean.setStatus(MesExtEnumUtil.);
detailService.insertBatch(detailList);
bean = baseRDao.insert(bean);
return bean;
}
@Override
public void deleteWeaklyByIds(Long[] ids, String userName) {
for (Long id : ids) {
MesLoadingVehiclesOrder bean = baseRDao.getById(id);
if (StringUtils.isEmpty(bean)) continue;
DdlPackBean detailPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(bean.getLoadingOrderNo(), "loadingOrderNo", detailPackBean);
List<MesLoadingVehiclesOrderDetail> detailDeleteList = detailService.findAll(detailPackBean);
detailDeleteList.forEach(k -> {
k.setIsDeleted(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
ConvertBean.serviceModelUpdate(k, AuthUtil.getSessionUser().getUserName());
});
bean.setIsDeleted(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
ConvertBean.serviceModelUpdate(bean, AuthUtil.getSessionUser().getUserName());
baseRDao.update(bean);
detailService.updates(detailDeleteList);
}
}
protected void onInsertBean(MesLoadingVehiclesOrder item) {
List<String> shippingOrderNoList = new ArrayList<>();
// 数据校验
ValidatorBean.checkNotNull(item.getLoadingOrderNo(), "装车单号不能为空");
ValidatorBean.checkNotNull(item.getWeatherCondition(), "天气不能为空");
ValidatorBean.checkNotNull(item.getShippingOrderNoList(), "发运单不能为空");
item.getShippingOrderNoList().forEach(k -> {
if (k.getStatus() != MesExtEnumUtil.SHIPPING_ORDER_STATUS.CREATE.getValue() || k.getStatus() != MesExtEnumUtil.SHIPPING_ORDER_STATUS.PUBLISHED.getValue()) {
shippingOrderNoList.add(k.getShippingOrderNo());
}
});
if (!CollectionUtils.isEmpty(shippingOrderNoList)) {
throw ImppExceptionBuilder.newInstance()
.setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode())
.setErrorDetail(String.format("发运单【%s】状态不是【%s】或【%s】,请重新选择数据", shippingOrderNoList, MesExtEnumUtil.SHIPPING_ORDER_STATUS.CREATE.getValue(),
MesExtEnumUtil.SHIPPING_ORDER_STATUS.PUBLISHED.getValue()))
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.build();
}
}
protected void setPackQueryBean(MesLoadingVehiclesOrder bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getLoadingOrderNo(), "loadingOrderNo", packBean);
DdlPreparedPack.getStringEqualPack(bean.getCustomerCode(), "customerCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getCustomerOrganizeCode(), "customerOrganizeCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getCarNo(), "carNo", packBean);
}
}

@ -38,8 +38,10 @@ public class MesShippingOrderManagementService extends BaseMesService<MesShippin
DdlPreparedPack.getStringEqualPack(bean.getCustomerCode(), "customerCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getCustomerOrganizeCode(), "customerOrganizeCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getShippingGroupNo(), "shippingGroupNo", packBean);
if (!StringUtils.isEmpty(bean.getReleaseTimeStart()) || !StringUtils.isEmpty(bean.getReleaseTimeEnd())) {
DdlPreparedPack.timeBuilder(bean.getReleaseTimeStart(), bean.getReleaseTimeEnd(), "releaseTime", packBean, false);
}
}
@Override
public MesShippingOrderManagement insert(MesShippingOrderManagement bean) {

@ -0,0 +1,13 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderLogService;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderLog;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Service
@Slf4j
public class MesWorkOrderLogService extends BaseMesService<MesWorkOrderLog> implements IMesWorkOrderLogService {
}

@ -0,0 +1,99 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderService;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtEnumUtil;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderLog;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
@Slf4j
public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements IMesWorkOrderService {
@Autowired
private MesWorkOrderLogService workOrderLogService;
@Override
public MesWorkOrder insert(MesWorkOrder bean) {
//插入前构造数据
onInsertBean(bean);
//若工单类型为排序 则根据排序插入工单数量插入多行 工单数量为1
if (bean.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.SORT.getValue()) {
List<MesWorkOrder> sortWorkOrderList = new ArrayList<>();
List<MesWorkOrderLog> orderLogList = new ArrayList<>();
for (int i = 0; i < bean.getSortInsertOrderQty(); i++) {
MesWorkOrder copyMesWorkOrder = new MesWorkOrder();
BeanUtils.copyProperties(bean, copyMesWorkOrder);
copyMesWorkOrder.setQty(1D);
ConvertBean.serviceModelInitialize(copyMesWorkOrder, AuthUtil.getSessionUser().getUserName());
sortWorkOrderList.add(copyMesWorkOrder);
MesWorkOrderLog workOrderLog = new MesWorkOrderLog();
BeanUtils.copyProperties(copyMesWorkOrder, workOrderLog, "id");
orderLogList.add(workOrderLog);
}
insertBatch(sortWorkOrderList);
workOrderLogService.insertBatch(orderLogList);
}
bean.setQty(bean.getSortInsertOrderQty().doubleValue());
ConvertBean.serviceModelInitialize(bean, AuthUtil.getSessionUser().getUserName());
MesWorkOrderLog workOrderLog = new MesWorkOrderLog();
BeanUtils.copyProperties(bean, workOrderLog, "id");
workOrderLogService.insert(workOrderLog);
bean = baseRDao.insert(bean);
return bean;
}
@Override
public MesWorkOrder update(MesWorkOrder bean) {
//插入前构造数据
onInsertBean(bean);
//若工单类型为排序 则根据排序插入工单数量插入多行 工单数量为1
if (bean.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.SORT.getValue()) {
throw ImppExceptionBuilder.newInstance()
.setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode())
.setErrorDetail(String.format("工单类型为【%s】 不需要修改数量", MesExtEnumUtil.ORDER_TYPE.SORT.getValue()))
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.build();
}
bean.setQty(bean.getSortInsertOrderQty().doubleValue());
ConvertBean.serviceModelInitialize(bean, AuthUtil.getSessionUser().getUserName());
MesWorkOrderLog workOrderLog = new MesWorkOrderLog();
BeanUtils.copyProperties(bean, workOrderLog, "id");
workOrderLogService.insert(workOrderLog);
bean = baseRDao.insert(bean);
return bean;
}
protected void setPackQueryBean(MesWorkOrder bean, DdlPackBean packBean) {
}
protected void onInsertBean(MesWorkOrder item) {
}
protected void onUpdateBean(MesWorkOrder item) {
}
}

@ -1483,4 +1483,85 @@ public class MesExtEnumUtil {
}
}
/**
* -
*/
@JsonFormat(
shape = JsonFormat.Shape.OBJECT
)
public static enum LOADING_VEHICLES_ORDER_STATUS {
POSITION(10, "位置"),
TYPE(20, "类型"),
RESPONSIBILITY(30, "责任");
private int value;
private String description;
private LOADING_VEHICLES_ORDER_STATUS(int value, String description) {
this.value = value;
this.description = description;
}
public static String valueOfDescription(int val) {
String tmp = null;
for (int i = 0; i < values().length; ++i) {
if (values()[i].value == val) {
tmp = values()[i].description;
}
}
return tmp;
}
public int getValue() {
return this.value;
}
public String getDescription() {
return this.description;
}
}
/**
* -
*/
@JsonFormat(
shape = JsonFormat.Shape.OBJECT
)
public static enum LOADING_VEHICLES_ORDER_WEATHER_CONDITION {
SUNNY_WEATHER(10, "晴天"),
INDOOR_LOADING(20, "室内装车"),
RAIN(30, "雨天"),
SNOW(40, "下雪");
private int value;
private String description;
private LOADING_VEHICLES_ORDER_WEATHER_CONDITION(int value, String description) {
this.value = value;
this.description = description;
}
public static String valueOfDescription(int val) {
String tmp = null;
for (int i = 0; i < values().length; ++i) {
if (values()[i].value == val) {
tmp = values()[i].description;
}
}
return tmp;
}
public int getValue() {
return this.value;
}
public String getDescription() {
return this.description;
}
}
}

Loading…
Cancel
Save