forked from I3-YF/i3plus-mes-yfai
merge MES: 赛力斯6个报表开发
commit
dc3f83357e
@ -0,0 +1,31 @@
|
|||||||
|
package cn.estsh.i3plus.ext.mes.api.busi.report;
|
||||||
|
|
||||||
|
import cn.estsh.i3plus.pojo.base.bean.ListPager;
|
||||||
|
import cn.estsh.i3plus.pojo.base.common.Pager;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.bean.seres.MesCimSeresJisQueue;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.bean.seres.MesCimSeresJisVinOverPoint;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.bean.seres.MesCimSeresSrmRunSheetJis;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.report.DataTwoDimensionalModel;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.report.MesCimSeresJisQueueRequest;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.report.MesCimSeresJisQueueSummaryRequest;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.report.MesCimSeresJisQueueSummaryResponse;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface IMesCimSeresReportService {
|
||||||
|
ListPager<MesCimSeresSrmRunSheetJis> querySrmSunSheetJisLogByPager(Integer status, Pager pager);
|
||||||
|
|
||||||
|
void doSrmSunSheetJisNormal(List<Long> ids);
|
||||||
|
|
||||||
|
ListPager<MesCimSeresJisQueue> queryJisQueueLogByPager(Integer checkStatus, Pager pager);
|
||||||
|
|
||||||
|
void doJisQueueNormal(List<Long> ids);
|
||||||
|
|
||||||
|
ListPager<MesCimSeresJisVinOverPoint> queryJisVinOverPointByPager(MesCimSeresJisVinOverPoint request, Pager pager);
|
||||||
|
|
||||||
|
ListPager<MesCimSeresJisQueue> queryJisQueueByPager(MesCimSeresJisQueueRequest request, Pager pager);
|
||||||
|
|
||||||
|
ListPager<MesCimSeresJisQueueSummaryResponse> queryJisQueueSummaryByPager(MesCimSeresJisQueueSummaryRequest request, Pager pager);
|
||||||
|
|
||||||
|
ListPager<DataTwoDimensionalModel> queryTwoDimensionalByPager(DataTwoDimensionalModel request, Pager pager);
|
||||||
|
}
|
@ -0,0 +1,139 @@
|
|||||||
|
package cn.estsh.i3plus.ext.mes.apiservice.controller.report;
|
||||||
|
|
||||||
|
import cn.estsh.i3plus.ext.mes.api.busi.report.IMesCimSeresReportService;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
|
||||||
|
import cn.estsh.i3plus.pojo.base.bean.ListPager;
|
||||||
|
import cn.estsh.i3plus.pojo.base.common.Pager;
|
||||||
|
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.bean.seres.MesCimSeresJisQueue;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.bean.seres.MesCimSeresJisVinOverPoint;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.bean.seres.MesCimSeresSrmRunSheetJis;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.report.*;
|
||||||
|
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
|
||||||
|
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
|
||||||
|
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.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description :赛力斯报表
|
||||||
|
* @Reference :
|
||||||
|
* @Author : jason.niu
|
||||||
|
* @CreateDate : 2025/03/04 09:59
|
||||||
|
* @Modify:
|
||||||
|
**/
|
||||||
|
@Api(tags = "赛力斯报表")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesCimSeresReport")
|
||||||
|
public class MesCimSeresReportController {
|
||||||
|
@Autowired
|
||||||
|
private IMesCimSeresReportService mesCimSeresReportService;
|
||||||
|
|
||||||
|
@ApiOperation(value = "赛力斯JIS单接收日志", notes = "赛力斯JIS单接收日志")
|
||||||
|
@GetMapping("/query-srm-sun-sheet-jis-log")
|
||||||
|
public ResultBean querySrmSunSheetJisLogByPager(Integer status, Pager pager){
|
||||||
|
try {
|
||||||
|
ListPager<MesCimSeresSrmRunSheetJis> queryResultListPager = mesCimSeresReportService.querySrmSunSheetJisLogByPager(status, pager);
|
||||||
|
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(queryResultListPager);
|
||||||
|
} catch (ImppBusiException e) {
|
||||||
|
return ResultBean.fail(e);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "赛力斯JIS单转正常", notes = "赛力斯JIS单转正常")
|
||||||
|
@PostMapping("/srm-sun-sheet-jis-normal")
|
||||||
|
public ResultBean doSrmSunSheetJisNormal(@RequestBody List<Long> ids) {
|
||||||
|
try {
|
||||||
|
mesCimSeresReportService.doSrmSunSheetJisNormal(ids);
|
||||||
|
return ResultBean.success("执行成功");
|
||||||
|
} catch (ImppBusiException e) {
|
||||||
|
return ResultBean.fail(e);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "赛力斯JIS队列接收日志", notes = "赛力斯JIS队列接收日志")
|
||||||
|
@GetMapping("/query-jis-queue-log")
|
||||||
|
public ResultBean queryJisQueueLogByPager(Integer checkStatus, Pager pager){
|
||||||
|
try {
|
||||||
|
ListPager<MesCimSeresJisQueue> queryResultListPager = mesCimSeresReportService.queryJisQueueLogByPager(checkStatus, pager);
|
||||||
|
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(queryResultListPager);
|
||||||
|
} catch (ImppBusiException e) {
|
||||||
|
return ResultBean.fail(e);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "赛力斯JIS队列转正常", notes = "赛力斯JIS队列转正常")
|
||||||
|
@PostMapping("/jis-queue-normal")
|
||||||
|
public ResultBean doJisQueueNormal(@RequestBody List<Long> ids) {
|
||||||
|
try {
|
||||||
|
mesCimSeresReportService.doJisQueueNormal(ids);
|
||||||
|
return ResultBean.success("执行成功");
|
||||||
|
} catch (ImppBusiException e) {
|
||||||
|
return ResultBean.fail(e);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "赛力斯过点信息查询", notes = "赛力斯过点信息查询")
|
||||||
|
@GetMapping("/query-jis-vin-over-point")
|
||||||
|
public ResultBean queryJisVinOverPointByPager(MesCimSeresJisVinOverPoint request, Pager pager){
|
||||||
|
try {
|
||||||
|
ListPager<MesCimSeresJisVinOverPoint> queryResultListPager = mesCimSeresReportService.queryJisVinOverPointByPager(request, pager);
|
||||||
|
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(queryResultListPager);
|
||||||
|
} catch (ImppBusiException e) {
|
||||||
|
return ResultBean.fail(e);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "赛力斯排序信息查询", notes = "赛力斯排序信息查询")
|
||||||
|
@GetMapping("/query-jis-queue")
|
||||||
|
public ResultBean queryJisQueueByPager(MesCimSeresJisQueueRequest request, Pager pager){
|
||||||
|
try {
|
||||||
|
ListPager<MesCimSeresJisQueue> queryResultListPager = mesCimSeresReportService.queryJisQueueByPager(request, pager);
|
||||||
|
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(queryResultListPager);
|
||||||
|
} catch (ImppBusiException e) {
|
||||||
|
return ResultBean.fail(e);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "赛力斯排序信息汇总", notes = "赛力斯排序信息汇总")
|
||||||
|
@GetMapping("/query-jis-queue-summary")
|
||||||
|
public ResultBean queryJisQueueSummaryByPager(MesCimSeresJisQueueSummaryRequest request, Pager pager){
|
||||||
|
try {
|
||||||
|
ListPager<MesCimSeresJisQueueSummaryResponse> queryResultListPager = mesCimSeresReportService.queryJisQueueSummaryByPager(request, pager);
|
||||||
|
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(queryResultListPager);
|
||||||
|
} catch (ImppBusiException e) {
|
||||||
|
return ResultBean.fail(e);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "数据二维报表", notes = "数据二维报表")
|
||||||
|
@GetMapping("/query-data-two-dimensional")
|
||||||
|
public ResultBean queryTwoDimensionalByPager(DataTwoDimensionalModel request, Pager pager){
|
||||||
|
try {
|
||||||
|
ListPager<DataTwoDimensionalModel> queryResultListPager = mesCimSeresReportService.queryTwoDimensionalByPager(request, pager);
|
||||||
|
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(queryResultListPager);
|
||||||
|
} catch (ImppBusiException e) {
|
||||||
|
return ResultBean.fail(e);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,336 @@
|
|||||||
|
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.report;
|
||||||
|
|
||||||
|
import cn.estsh.i3plus.ext.mes.api.base.IMesConfigService;
|
||||||
|
import cn.estsh.i3plus.ext.mes.api.busi.report.IMesCimSeresReportService;
|
||||||
|
import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException;
|
||||||
|
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
|
||||||
|
import cn.estsh.i3plus.platform.common.tool.TimeTool;
|
||||||
|
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.MesConfig;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.bean.seres.MesCimSeresJisQueue;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.bean.seres.MesCimSeresJisVinOverPoint;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.bean.seres.MesCimSeresSrmRunSheetJis;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.report.DataTwoDimensionalModel;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.report.MesCimSeresJisQueueRequest;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.report.MesCimSeresJisQueueSummaryRequest;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.model.report.MesCimSeresJisQueueSummaryResponse;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.repository.seres.IMesCimSeresJisQueueRepository;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.repository.seres.IMesCimSeresJisVinOverPointRepository;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.repository.seres.IMesCimSeresSrmRunSheetJisRepository;
|
||||||
|
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
|
||||||
|
import cn.estsh.impp.framework.boot.auth.AuthUtil;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
import javax.persistence.EntityManager;
|
||||||
|
import javax.persistence.Query;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class MesCimSeresReportServiceImpl implements IMesCimSeresReportService {
|
||||||
|
@Autowired
|
||||||
|
private EntityManager entityManager;
|
||||||
|
@Autowired
|
||||||
|
private IMesCimSeresSrmRunSheetJisRepository runSheetJisRDao;
|
||||||
|
@Autowired
|
||||||
|
private IMesCimSeresJisQueueRepository queueJisRDao;
|
||||||
|
@Autowired
|
||||||
|
private IMesCimSeresJisVinOverPointRepository overPointJisRDao;
|
||||||
|
@Autowired
|
||||||
|
private IMesConfigService mesConfigService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ListPager<MesCimSeresSrmRunSheetJis> querySrmSunSheetJisLogByPager(Integer status, Pager pager) {
|
||||||
|
final String organizeCode = AuthUtil.getOrganize().getOrganizeCode();
|
||||||
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||||
|
DdlPreparedPack.getNumEqualPack(status, "status", packBean);
|
||||||
|
|
||||||
|
pager = PagerHelper.getPager(pager, runSheetJisRDao.findByHqlWhereCount(packBean));
|
||||||
|
List<MesCimSeresSrmRunSheetJis> list = runSheetJisRDao.findByHqlWherePage(packBean, pager);
|
||||||
|
return new ListPager<>(list, pager);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void doSrmSunSheetJisNormal(List<Long> ids) {
|
||||||
|
final String organizeCode = AuthUtil.getOrganize().getOrganizeCode();
|
||||||
|
final String username = AuthUtil.getSessionUser().getUserName();
|
||||||
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||||
|
DdlPreparedPack.getInPackList(ids, "id", packBean);
|
||||||
|
|
||||||
|
runSheetJisRDao.updateByProperties(new String[]{"status","modifyUser","modifyDatetime"},new Object[]{MesExtEnumUtil.CIM_SERES_JIS_STATUS.WAIT_CHECK.getValue(), username, TimeTool.getNowTime(true)}, packBean);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ListPager<MesCimSeresJisQueue> queryJisQueueLogByPager(Integer checkStatus, Pager pager) {
|
||||||
|
final String organizeCode = AuthUtil.getOrganize().getOrganizeCode();
|
||||||
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||||
|
DdlPreparedPack.getNumEqualPack(checkStatus, "checkStatus", packBean);
|
||||||
|
|
||||||
|
pager = PagerHelper.getPager(pager, queueJisRDao.findByHqlWhereCount(packBean));
|
||||||
|
List<MesCimSeresJisQueue> list = queueJisRDao.findByHqlWherePage(packBean, pager);
|
||||||
|
return new ListPager<>(list, pager);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void doJisQueueNormal(List<Long> ids) {
|
||||||
|
final String organizeCode = AuthUtil.getOrganize().getOrganizeCode();
|
||||||
|
final String username = AuthUtil.getSessionUser().getUserName();
|
||||||
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||||
|
DdlPreparedPack.getInPackList(ids, "id", packBean);
|
||||||
|
|
||||||
|
queueJisRDao.updateByProperties(new String[]{"checkStatus","modifyUser","modifyDatetime"},new Object[]{MesExtEnumUtil.CIM_SERES_JIS_STATUS.WAIT_CHECK.getValue(), username, TimeTool.getNowTime(true)}, packBean);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ListPager<MesCimSeresJisVinOverPoint> queryJisVinOverPointByPager(MesCimSeresJisVinOverPoint request, Pager pager) {
|
||||||
|
final String organizeCode = AuthUtil.getOrganize().getOrganizeCode();
|
||||||
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||||
|
DdlPreparedPack.getStringBiggerPack(request.getCreateDateTimeStart(), "overPointTime", packBean);
|
||||||
|
DdlPreparedPack.getStringSmallerPack(request.getCreateDateTimeEnd(), "overPointTime", packBean);
|
||||||
|
DdlPreparedPack.getStringLikerPack(request.getOverPoint(), "overPoint", packBean);
|
||||||
|
DdlPreparedPack.getStringLikerPack(request.getVin(), "vin", packBean);
|
||||||
|
|
||||||
|
pager = PagerHelper.getPager(pager, overPointJisRDao.findByHqlWhereCount(packBean));
|
||||||
|
List<MesCimSeresJisVinOverPoint> list = overPointJisRDao.findByHqlWherePage(packBean, pager);
|
||||||
|
return new ListPager<>(list, pager);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ListPager<MesCimSeresJisQueue> queryJisQueueByPager(MesCimSeresJisQueueRequest request, Pager pager) {
|
||||||
|
final String organizeCode = AuthUtil.getOrganize().getOrganizeCode();
|
||||||
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||||
|
DdlPreparedPack.getStringBiggerPack(request.getOverPointTimeStart(), "overPointTime", packBean);
|
||||||
|
DdlPreparedPack.getStringSmallerPack(request.getOverPointTimeEnd(), "overPointTime", packBean);
|
||||||
|
DdlPreparedPack.getStringLikerPack(request.getVin(), "vin", packBean);
|
||||||
|
DdlPreparedPack.getNumberBiggerEqualPack(request.getSerialNumberStart(), "serialNumber", packBean);
|
||||||
|
DdlPreparedPack.getNumberSmallerEqualPack(request.getSerialNumberEnd(), "serialNumber", packBean);
|
||||||
|
DdlPreparedPack.getStringLikerPack(request.getPartClassCode(), "partClassCode", packBean);
|
||||||
|
DdlPreparedPack.getNumEqualPack(request.getSortInfoStatus(), "sortInfoStatus", packBean);
|
||||||
|
DdlPreparedPack.getNumEqualPack(request.getShippingOrderStatus(), "shippingOrderStatus", packBean);
|
||||||
|
|
||||||
|
pager = PagerHelper.getPager(pager, queueJisRDao.findByHqlWhereCount(packBean));
|
||||||
|
List<MesCimSeresJisQueue> list = queueJisRDao.findByHqlWherePage(packBean, pager);
|
||||||
|
return new ListPager<>(list, pager);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ListPager<MesCimSeresJisQueueSummaryResponse> queryJisQueueSummaryByPager(MesCimSeresJisQueueSummaryRequest request, Pager pager) {
|
||||||
|
final String organizeCode = AuthUtil.getOrganize().getOrganizeCode();
|
||||||
|
|
||||||
|
StringBuilder hql = new StringBuilder();
|
||||||
|
hql.append(" from (");
|
||||||
|
hql.append(" select b.cust_organize_code, c.shipping_group_name, a.part_no, a.part_name, a.cust_part_no, a.cust_info_seq, a.create_date_time, materiel_code, a.vin, part_class_code, part_class_name, d.part_number from mes_shipping_detail a join mes_shipping b on b.id = a.pid");
|
||||||
|
hql.append(" and a.organize_code=:organizeCode and a.is_deleted=:isDeleted and a.is_valid=:isValid and b.organize_code = :organizeCode and b.is_deleted=:isDeleted and b.is_valid=:isValid");
|
||||||
|
hql.append(" join mes_part_shipping_group c on b.shipping_group_code = c.shipping_group_code");
|
||||||
|
hql.append(" and c.organize_code=:organizeCode and c.is_deleted=:isDeleted and c.is_valid=:isValid");
|
||||||
|
hql.append(" join mes_cim_seres_jis_queue d on a.vin=d.vin and a.cust_part_no=d.materiel_code");
|
||||||
|
hql.append(" and d.organize_code=:organizeCode and d.is_deleted=:isDeleted and d.is_valid=:isValid");
|
||||||
|
hql.append(" join mes_part e on a.part_no=e.part_no");
|
||||||
|
hql.append(" and e.organize_code=:organizeCode and e.is_deleted=:isDeleted and e.is_valid=:isValid");
|
||||||
|
hql.append(" ) s");
|
||||||
|
hql.append(" where 1=1");
|
||||||
|
if (!StringUtils.isEmpty(request.getCustOrganizeCode())){
|
||||||
|
hql.append(" and cust_organize_code like :custOrganizeCode");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(request.getShippingGroupName())){
|
||||||
|
hql.append(" and shipping_group_name like :shippingGroupName");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(request.getPartClassCode())){
|
||||||
|
hql.append(" and part_class_code like :partClassCode");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(request.getPartNo())){
|
||||||
|
hql.append(" and part_no like :partNo");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(request.getMaterielCode())){
|
||||||
|
hql.append(" and materiel_code like :materielCode");
|
||||||
|
}
|
||||||
|
if (request.getSerialNumberStart() != null){
|
||||||
|
hql.append(" and cust_info_seq >= :serialNumberStart");
|
||||||
|
}
|
||||||
|
if (request.getSerialNumberEnd() != null){
|
||||||
|
hql.append(" and cust_info_seq <= :serialNumberEnd");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(request.getCreateDateTimeStart())){
|
||||||
|
hql.append(" and create_date_time >= :createDateTimeStart");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(request.getCreateDateTimeEnd())){
|
||||||
|
hql.append(" and create_date_time <= :createDateTimeEnd");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(request.getPartNumber())){
|
||||||
|
hql.append(" and part_number like :partNumber");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(request.getVin())){
|
||||||
|
hql.append(" and vin like :vin");
|
||||||
|
}
|
||||||
|
hql.append(" group by cust_organize_code, shipping_group_name, part_class_code, part_class_name, part_no, part_name, materiel_code");
|
||||||
|
|
||||||
|
StringBuilder countQueryHql= new StringBuilder();
|
||||||
|
countQueryHql.append("select count(1) ");
|
||||||
|
Query countQuery = entityManager.createNativeQuery(countQueryHql.append(hql).toString());
|
||||||
|
packJisQueueSummary(countQuery, request, organizeCode);
|
||||||
|
//本次查询满足条件的总数
|
||||||
|
int count = countQuery.getResultList().size();
|
||||||
|
if (count <= 0) {
|
||||||
|
return new ListPager(new ArrayList<MesCimSeresJisQueueSummaryResponse>(), pager);
|
||||||
|
}
|
||||||
|
|
||||||
|
StringBuilder dataQueryHql = new StringBuilder();
|
||||||
|
dataQueryHql.append(" select cust_organize_code, shipping_group_Name, part_class_code, part_class_name, part_no, part_name, materiel_code, COUNT(1)");
|
||||||
|
Query dataQuery = entityManager.createNativeQuery(dataQueryHql.append(hql).toString());
|
||||||
|
packJisQueueSummary(dataQuery, request, organizeCode);
|
||||||
|
|
||||||
|
pager = PagerHelper.getPager(pager, count);
|
||||||
|
//查询本页数据
|
||||||
|
dataQuery.setMaxResults(pager.getPageSize());
|
||||||
|
dataQuery.setFirstResult(pager.getCurrentPage() * pager.getPageSize() - pager.getPageSize());
|
||||||
|
List list = dataQuery.getResultList();
|
||||||
|
List<MesCimSeresJisQueueSummaryResponse> modelList = new ArrayList<>();
|
||||||
|
for (Object result : list) {
|
||||||
|
Object[] cells = (Object[]) result;
|
||||||
|
MesCimSeresJisQueueSummaryResponse model = new MesCimSeresJisQueueSummaryResponse();
|
||||||
|
String custOrganizeCode = String.valueOf(cells[0]);
|
||||||
|
String shippingGroupName = String.valueOf(cells[1]);
|
||||||
|
String partClassCode = String.valueOf(cells[2]);
|
||||||
|
String partClassName = String.valueOf(cells[3]);
|
||||||
|
String partNo = String.valueOf(cells[4]);
|
||||||
|
String partName = String.valueOf(cells[5]);
|
||||||
|
String materielCode = String.valueOf(cells[6]);
|
||||||
|
String seqCount = String.valueOf(cells[7]);
|
||||||
|
model.setCustOrganizeCode(custOrganizeCode);
|
||||||
|
model.setShippingGroupName(shippingGroupName);
|
||||||
|
model.setPartClassCode(partClassCode);
|
||||||
|
model.setPartClassName(partClassName);
|
||||||
|
model.setPartNo(partNo);
|
||||||
|
model.setPartName(partName);
|
||||||
|
model.setMaterielCode(materielCode);
|
||||||
|
model.setCount(Integer.parseInt(seqCount));
|
||||||
|
modelList.add(model);
|
||||||
|
}
|
||||||
|
|
||||||
|
return new ListPager<>(modelList, pager);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void packJisQueueSummary(Query query, MesCimSeresJisQueueSummaryRequest request, String organizeCode) {
|
||||||
|
query.setParameter("organizeCode", organizeCode)
|
||||||
|
.setParameter("isValid", CommonEnumUtil.VALID)
|
||||||
|
.setParameter("isDeleted", CommonEnumUtil.FALSE);
|
||||||
|
if (!StringUtils.isEmpty(request.getCustOrganizeCode())){
|
||||||
|
query.setParameter("custOrganizeCode", request.getCustOrganizeCode());
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(request.getShippingGroupName())){
|
||||||
|
query.setParameter("shippingGroupName", request.getShippingGroupName());
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(request.getPartClassCode())){
|
||||||
|
query.setParameter("partClassCode", request.getPartClassCode());
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(request.getPartNo())){
|
||||||
|
query.setParameter("partNo", request.getPartNo());
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(request.getMaterielCode())){
|
||||||
|
query.setParameter("materielCode", request.getMaterielCode());
|
||||||
|
}
|
||||||
|
if (request.getSerialNumberStart() != null){
|
||||||
|
query.setParameter("serialNumberStart", request.getSerialNumberStart());
|
||||||
|
}
|
||||||
|
if (request.getSerialNumberEnd() != null){
|
||||||
|
query.setParameter("serialNumberEnd", request.getSerialNumberEnd());
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(request.getCreateDateTimeStart())){
|
||||||
|
query.setParameter("createDateTimeStart", request.getCreateDateTimeStart());
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(request.getCreateDateTimeEnd())){
|
||||||
|
query.setParameter("createDateTimeEnd", request.getCreateDateTimeEnd());
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(request.getPartNumber())){
|
||||||
|
query.setParameter("partNumber", request.getPartNumber());
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(request.getVin())){
|
||||||
|
query.setParameter("vin", request.getVin());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ListPager<DataTwoDimensionalModel> queryTwoDimensionalByPager(DataTwoDimensionalModel request, Pager pager) {
|
||||||
|
final String organizeCode = AuthUtil.getOrganize().getOrganizeCode();
|
||||||
|
MesConfig shippingGroupConfig = mesConfigService.getCfgValueByCode(organizeCode, MesExtConstWords.TWO_DIMENSIONAL_SHIPPING_GROUP_CODE);
|
||||||
|
if (shippingGroupConfig == null || StringUtils.isEmpty(shippingGroupConfig.getCfgValue())){
|
||||||
|
MesException.throwMesBusiException("未维护赛力斯数据二维表发运组编码【TWO_DIMENSIONAL_SHIPPING_GROUP_CODE】");
|
||||||
|
}
|
||||||
|
|
||||||
|
StringBuilder hql = new StringBuilder();
|
||||||
|
hql.append(" from mes_cim_seres_jis_rfid AA join (");
|
||||||
|
hql.append(" select A.shipping_code, B.cust_info_seq, B.vin as vin, A.create_date_time from mes_shipping as A join mes_shipping_detail as B on A.id = B.pid");
|
||||||
|
hql.append(" where A.organize_code = :organizeCode and A.is_deleted=:isDeleted and A.is_valid=:isValid and B.organize_code = :organizeCode and B.is_deleted=:isDeleted and B.is_valid=:isValid");
|
||||||
|
hql.append(" and A.shipping_group_code = :shippingGroupCode) BB on AA.vin = BB.vin");
|
||||||
|
if (!StringUtils.isEmpty(request.getShippingCode())) {
|
||||||
|
hql.append(" and BB.shipping_code like :shippingCode");
|
||||||
|
}
|
||||||
|
if (request.getCustInfoSeq() != null){
|
||||||
|
hql.append(" and BB.cust_info_seq = :custInfoSeq");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(request.getVin())){
|
||||||
|
hql.append(" and BB.vin like :vin");
|
||||||
|
}
|
||||||
|
|
||||||
|
StringBuilder countQueryHql= new StringBuilder();
|
||||||
|
countQueryHql.append("select count(1) ");
|
||||||
|
Query countQuery = entityManager.createNativeQuery(countQueryHql.append(hql).toString());
|
||||||
|
packTwoDimensional(countQuery, request, shippingGroupConfig.getCfgValue(), organizeCode);
|
||||||
|
//本次查询满足条件的总数
|
||||||
|
int count = Integer.parseInt(String.valueOf(countQuery.getSingleResult()));
|
||||||
|
|
||||||
|
StringBuilder dataQueryHql = new StringBuilder();
|
||||||
|
dataQueryHql.append(" select BB.shipping_code, BB.cust_info_seq, BB.vin, csn, CONCAT(LEFT(rfid,114), UPPER('326312JSG1DJ05')) as rfid, AA.create_date_time");
|
||||||
|
Query dataQuery = entityManager.createNativeQuery(dataQueryHql.append(hql).toString());
|
||||||
|
packTwoDimensional(dataQuery, request, shippingGroupConfig.getCfgValue(), organizeCode);
|
||||||
|
|
||||||
|
pager = PagerHelper.getPager(pager, count);
|
||||||
|
//查询本页数据
|
||||||
|
dataQuery.setMaxResults(pager.getPageSize());
|
||||||
|
dataQuery.setFirstResult(pager.getCurrentPage() * pager.getPageSize() - pager.getPageSize());
|
||||||
|
List list = dataQuery.getResultList();
|
||||||
|
List<DataTwoDimensionalModel> modelList = new ArrayList<>();
|
||||||
|
for (Object result : list) {
|
||||||
|
Object[] cells = (Object[]) result;
|
||||||
|
DataTwoDimensionalModel model = new DataTwoDimensionalModel();
|
||||||
|
String shippingCode = String.valueOf(cells[0]);
|
||||||
|
String custInfoSeq = String.valueOf(cells[1]);
|
||||||
|
String vin = String.valueOf(cells[2]);
|
||||||
|
String csn = String.valueOf(cells[3]);
|
||||||
|
String rfid = String.valueOf(cells[4]);
|
||||||
|
String createDateTime = String.valueOf(cells[5]);
|
||||||
|
model.setShippingCode(shippingCode);
|
||||||
|
model.setCustInfoSeq(Long.parseLong(custInfoSeq));
|
||||||
|
model.setVin(vin);
|
||||||
|
model.setCsn(csn);
|
||||||
|
model.setRfid(rfid);
|
||||||
|
model.setCreateDatetime(createDateTime);
|
||||||
|
modelList.add(model);
|
||||||
|
}
|
||||||
|
|
||||||
|
return new ListPager<>(modelList, pager);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void packTwoDimensional(Query query, DataTwoDimensionalModel request, String shippingGroupCode, String organizeCode) {
|
||||||
|
query.setParameter("organizeCode", organizeCode)
|
||||||
|
.setParameter("isValid", CommonEnumUtil.VALID)
|
||||||
|
.setParameter("isDeleted", CommonEnumUtil.FALSE);
|
||||||
|
query.setParameter("shippingGroupCode", shippingGroupCode);
|
||||||
|
if (!StringUtils.isEmpty(request.getShippingCode())){
|
||||||
|
query.setParameter("shippingCode", "%" + request.getShippingCode() + "%");
|
||||||
|
}
|
||||||
|
if (request.getCustInfoSeq() != null){
|
||||||
|
query.setParameter("custInfoSeq", request.getCustInfoSeq());
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(request.getVin())){
|
||||||
|
query.setParameter("vin", "%" + request.getVin() + "%");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue