Merge remote-tracking branch 'origin/main'

This commit is contained in:
liuzhaotian
2024-07-17 10:22:05 +08:00
26 changed files with 618 additions and 304 deletions
@@ -153,6 +153,14 @@ public class OrderController {
List<OrderBodyRespVO> orderBodyMap = orderService.getOrderBody(orderId);
return success(orderBodyMap);
}
@GetMapping("/get-roomToString")
@Operation(summary = "生产单详情-房间和柜体id(toString)")
@Parameter(name = "orderId", description = "生产单编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('production:manager-list:detail')")
public CommonResult<String> getRoomToString(@RequestParam("orderId") Long orderId) {
String orderBodyMap = orderService.getOrderBodyToString(orderId);
return success(orderBodyMap);
}
@GetMapping("/get-room-and-body")
@Operation(summary = "获取柜体和房间信息")
@@ -191,7 +199,29 @@ public class OrderController {
List<OrderPlatesDetailReqVO> moduleDOList = orderService.getPlatesDetail(orderId, roomId, bodyId, groupId, groupName);
return success(moduleDOList);
}
@GetMapping("/get-platesDetailsPage")
@Operation(summary = "生产单详情-板材详细信息(分页)")
@Parameters({
@Parameter(name = "orderId", description = "生产单编号", example = "1024"),
@Parameter(name = "roomId", description = "房间编号", example = "1024"),
@Parameter(name = "bodyId", description = "柜体编号", example = "1024"),
@Parameter(name = "groupId", description = "加工组编号", example = "1024"),
@Parameter(name = "groupName", description = "加工组名称", example = "弧形"),
@Parameter(name = "pageNo", description = "第几页", example = "1"),
@Parameter(name = "pageSize", description = "条数", example = "10")
})
@PreAuthorize("@ss.hasPermission('production:manager-list:detail')")
public CommonResult<PageResult<OrderPlatesDetailReqVO>> platesDetails(@RequestParam("orderId") Long orderId,
@RequestParam(value = "roomId", required = false) Long roomId,
@RequestParam(value = "bodyId", required = false) Long bodyId,
@RequestParam(value = "groupId", required = false) Long groupId,
@RequestParam(value = "groupName", required = false) String groupName,
@RequestParam(value = "pageNo") Integer pageNo,
@RequestParam(value = "pageSize") Integer pageSize) {
PageResult<OrderPlatesDetailReqVO> moduleDOList = orderService.getPlatesDetail(orderId, roomId, bodyId, groupId, groupName, pageNo, pageSize);
return success(moduleDOList);
}
@GetMapping("/get-partsDetails")
@Operation(summary = "生产单详情-配件详细信息")
@Parameters({
@@ -208,7 +238,26 @@ public class OrderController {
List<OrderPartsRespVO> moduleDOList = orderService.getPartsDetail(orderId, roomId, bodyId, name);
return success(moduleDOList);
}
@GetMapping("/get-partsDetailsPage")
@Operation(summary = "生产单详情-配件详细信息(分页)")
@Parameters({
@Parameter(name = "orderId", description = "生产单编号", example = "1024"),
@Parameter(name = "roomId", description = "房间编号", example = "1024"),
@Parameter(name = "bodyId", description = "柜体编号", example = "1024"),
@Parameter(name = "name", description = "配件名称", example = "1024"),
@Parameter(name = "pageNo", description = "第几页", example = "1"),
@Parameter(name = "pageSize", description = "条数", example = "10")
})
@PreAuthorize("@ss.hasPermission('production:manager-list:detail')")
public CommonResult<PageResult<OrderPartsRespVO>> partsDetails(@RequestParam("orderId") Long orderId,
@RequestParam(value = "roomId", required = false) Long roomId,
@RequestParam(value = "bodyId", required = false) Long bodyId,
@RequestParam(value = "name", required = false) String name,
@RequestParam(value = "pageNo") Integer pageNo,
@RequestParam(value = "pageSize") Integer pageSize) {
PageResult<OrderPartsRespVO> moduleDOList = orderService.getPartsDetail(orderId, roomId, bodyId, name, pageNo, pageSize);
return success(moduleDOList);
}
// 柜体数据获取,需要加上柜体的属性
@GetMapping("/get-body")
@Operation(summary = "生产单柜体数据获取")
@@ -366,6 +415,8 @@ public class OrderController {
return success(orderService.getApiOrderList(orderList));
}
// 统计
// 生产单状态分组统计返回
@GetMapping("/getOrderStatusCount")
@Operation(summary = "生产单状态分组统计返回")
@@ -383,12 +434,68 @@ public class OrderController {
return success(orderService.getOrderPlateAnalysisCount());
}
// 生产单超期告警
// 生产单超期/到期告警 (工作台)
@GetMapping("/getOrderWarn")
@Operation(summary = "生产单警告")
@Parameter(name = "startTerm", description = "时间段选择", required = false, example = "1,3,7")
@PreAuthorize("@ss.hasPermission('productManager:List')")
public CommonResult<Map<String,List<OrderOverdueRespVO>>> getOrderOverdue(@RequestParam(value = "startTerm", required = false) Integer startTerm) {
return success(orderService.getOrderWarn(startTerm));
public CommonResult<Map<String,List<OrderOverdueRespVO>>> getOrderOverdue() {
return success(orderService.getOrderWarn());
}
// 生产单总数
@GetMapping("/orderCount")
@Operation(summary = "生产单总数")
@PreAuthorize("@ss.hasPermission('productManager:List')")
public CommonResult<Integer> getOrderCount() {
return success(orderService.orderCount());
}
// 今日新增生产单总数
@GetMapping("/orderCountToday")
@Operation(summary = "今日新增生产单总数")
@PreAuthorize("@ss.hasPermission('productManager:List')")
public CommonResult<Integer> getOrderCountToday() {
return success(orderService.orderCountToday());
}
// 今日生产单完成总数
@GetMapping("/orderCountTodayFinish")
@Operation(summary = "今日生产单完成总数")
@PreAuthorize("@ss.hasPermission('productManager:List')")
public CommonResult<Integer> getOrderCountTodayFinish() {
return success(orderService.orderCountTodayFinish());
}
// 生产中生产单总数
@GetMapping("/orderCountProduce")
@Operation(summary = "生产中生产单总数")
@PreAuthorize("@ss.hasPermission('productManager:List')")
public CommonResult<Integer> getOrderCountProduce() {
return success(orderService.orderCountProduce());
}
// 生产中生产平方数
@GetMapping("/orderSquareProduce")
@Operation(summary = "生产中生产平方数")
@PreAuthorize("@ss.hasPermission('productManager:List')")
public CommonResult<Integer> getOrderSquareProduce() {
return success(orderService.orderSquareProduce());
}
// 小板数量
@GetMapping("/getPlateCount")
@Operation(summary = "小板数量")
@Parameters({
@Parameter(name = "startTime", description = "开始时间", required = false),
@Parameter(name = "endTime", description = "结束时间", required = false),
@Parameter(name = "goodsId", description = "材料id", required = true),
@Parameter(name = "organId", description = "组织id", required = false, example = "1")
})
@PreAuthorize("@ss.hasPermission('productManager:List')")
public CommonResult<Integer> getPlateCount(@RequestParam(value = "startTime", required = false) String startTime,
@RequestParam(value = "endTime", required = false) String endTime,
@RequestParam(value = "goodsId", required = false) Set<String> goodsId,
@RequestParam("orderId") Long organId) {
return success(orderService.plateCount());
}
}
@@ -0,0 +1,15 @@
package com.cf.imes.module.executor.controller.admin.order.vo.order;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
@Schema(description = "分析页 - 小板数量")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ToString(callSuper = true)
public class OrderPlateCountVO {
@Schema(description = "订单id")
private Long orderId;
}
@@ -61,7 +61,7 @@ public class OrderPlatesDetailReqVO {
private Boolean isSculpt;
@Schema(description = "是否排孔", requiredMode = Schema.RequiredMode.REQUIRED)
private Boolean isHole;
private Boolean isRowHole;
@Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对")
@ExcelProperty("备注")
@@ -1,5 +1,6 @@
package com.cf.imes.module.executor.controller.admin.plate.vo;
import com.cf.imes.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
@@ -15,7 +16,7 @@ import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 生产单板件 Response VO")
@Data
@ExcelIgnoreUnannotated
public class PlateRespVO {
public class PlateRespVO extends PageParam {
@Schema(description = "板件 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32523")
@ExcelProperty("板件 ID")
@@ -165,6 +166,9 @@ public class PlateRespVO {
@ExcelProperty("是否作废")
private Boolean isCancel;
@Schema(description = "是否排孔", requiredMode = Schema.RequiredMode.REQUIRED)
private Boolean isRowHole;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@@ -49,6 +49,10 @@ public class OrderDO extends BaseDO {
* 交付日期
*/
private LocalDateTime deliveryDate;
/**
* 生产单的完成时间
*/
private LocalDateTime finishTime;
/**
* 生产单类型,1主单 2子单
*/
@@ -9,12 +9,14 @@ import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.framework.mybatis.core.query.QueryWrapperX;
import com.cf.imes.framework.organ.core.aop.OrganIgnore;
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderOverdueRespVO;
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderPageReqVO;
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderStatusRespVO;
import com.cf.imes.module.executor.controller.admin.plan.bo.OrderIds;
import com.cf.imes.module.executor.controller.admin.plan.vo.OrderRespVOCopy;
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
import com.cf.imes.module.executor.enums.OrderStatusEnum;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -145,4 +147,62 @@ public interface OrderMapper extends BaseMapperX<OrderDO> {
// 生产单逾期统计
List<OrderOverdueRespVO> selectOrderOverdue(@Param("today") LocalDateTime today, @Param("organId") Long organId);
// 生产单数量统计
default Integer selectOrderCount(Long organId){
return Math.toIntExact(selectCount(new LambdaQueryWrapper<OrderDO>()
.eq(OrderDO::getOrganId, organId)
.eq(OrderDO::getDeleted, 0)));
}
@OrganIgnore
default Integer selectOrderCount(){
return Math.toIntExact(selectCount(new LambdaQueryWrapper<OrderDO>()
.eq(OrderDO::getDeleted, 0)));
}
// 今日新增生产单总数统计
default Integer selectOrderCountToday(Long organId){
return Math.toIntExact(selectCount(new LambdaQueryWrapper<OrderDO>()
.eq(OrderDO::getOrganId, organId)
.eq(OrderDO::getDeleted, 0)
.between(OrderDO::getCreateTime, LocalDateTime.now().withHour(0).withMinute(0).withSecond(0), LocalDateTime.now().withHour(23).withMinute(59).withSecond(59))));
}
@OrganIgnore
default Integer selectOrderCountToday(){
return Math.toIntExact(selectCount(new LambdaQueryWrapper<OrderDO>()
.eq(OrderDO::getDeleted, 0)
.between(OrderDO::getCreateTime, LocalDateTime.now().withHour(0).withMinute(0).withSecond(0), LocalDateTime.now().withHour(23).withMinute(59).withSecond(59))));
}
// 今日新增生产单总数统计
default Integer selectOrderCountTodayFinish(Long organId){
return Math.toIntExact(selectCount(new LambdaQueryWrapper<OrderDO>()
.eq(OrderDO::getOrganId, organId)
.eq(OrderDO::getDeleted, 0)
.between(OrderDO::getFinishTime, LocalDateTime.now().withHour(0).withMinute(0).withSecond(0), LocalDateTime.now().withHour(23).withMinute(59).withSecond(59))));
}
@OrganIgnore
default Integer selectOrderCountTodayFinish(){
return Math.toIntExact(selectCount(new LambdaQueryWrapper<OrderDO>()
.eq(OrderDO::getDeleted, 0)
.between(OrderDO::getFinishTime, LocalDateTime.now().withHour(0).withMinute(0).withSecond(0), LocalDateTime.now().withHour(23).withMinute(59).withSecond(59))));
}
// 今日新增生产单总数统计
default Integer selectOrderCountProduce(Long organId){
return Math.toIntExact(selectCount(new LambdaQueryWrapper<OrderDO>()
.eq(OrderDO::getOrganId, organId)
.eq(OrderDO::getDeleted, 0)
.eq(OrderDO::getStatus, OrderStatusEnum.IN_PRODUCTION.getStatus())));
}
@OrganIgnore
default Integer selectOrderCountProduce(){
return Math.toIntExact(selectCount(new LambdaQueryWrapper<OrderDO>()
.eq(OrderDO::getDeleted, 0)
.eq(OrderDO::getStatus, OrderStatusEnum.IN_PRODUCTION.getStatus())));
}
// 生产中生产平方数
@OrganIgnore
Integer selectOrderSquareProduce(@Param("organId") Long organId);
}
@@ -1,5 +1,8 @@
package com.cf.imes.module.executor.dal.mysql.orderItem;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderModuleRespVO;
@@ -10,6 +13,7 @@ import com.cf.imes.module.executor.controller.admin.plan.saveOptimize.PrintOrder
import com.cf.imes.module.executor.controller.admin.plate.vo.PlateDetailReqVO;
import com.cf.imes.module.executor.controller.admin.plate.vo.PlateDetailRespVO;
import com.cf.imes.module.executor.controller.admin.plate.vo.PlateRespVO;
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO;
import com.cf.imes.module.executor.dal.dataobject.orderModuleExtra.OrderModuleExtraDO;
import com.cf.imes.module.executor.dal.dataobject.remainplaten.RemainPlateDO;
@@ -31,10 +35,17 @@ public interface OrderItemMapper extends BaseMapperX<OrderItemDO> {
@Param("bodyId") Long bodyId, @Param("groupId") Long groupId,
@Param("groupName") String groupName, @Param("organId") Long organId,
@Param("deleted") Integer deleted);
IPage<PlateRespVO> selectPlatesDetailByOrderId(@Param("page") IPage page, @Param("orderId") Long orderId, @Param("roomId") Long roomId,
@Param("bodyId") Long bodyId, @Param("groupId") Long groupId,
@Param("groupName") String groupName, @Param("organId") Long organId,
@Param("deleted") Integer deleted);
List<OrderPartsRespVO> selectPartsDetailByOrderId(@Param("orderId") Long orderId, @Param("roomId") Long roomId,
@Param("bodyId") Long bodyId, @Param("name") String name,
@Param("organId") Long organId, @Param("deleted") Integer deleted);
IPage<OrderPartsRespVO> selectPartsDetailByOrderId(@Param("page") IPage page,@Param("orderId") Long orderId, @Param("roomId") Long roomId,
@Param("bodyId") Long bodyId, @Param("name") String name,
@Param("organId") Long organId, @Param("deleted") Integer deleted);
List<OrderPlatesDetailRespVO> selectPartsByOrderId(@Param("orderId") Long orderId,
@@ -96,6 +96,7 @@ public interface OrderService {
* 需要修改返回值
*/
List<OrderPlatesDetailReqVO> getPlatesDetail(Long orderId, Long roomId , Long bodyId , Long groupId, String groupName);
PageResult<OrderPlatesDetailReqVO> getPlatesDetail(Long orderId, Long roomId, Long bodyId, Long groupId, String groupName, Integer pageNo, Integer pageSize);
/**
* @param orderId: 生产单id
@@ -105,6 +106,7 @@ public interface OrderService {
* 需要修改返回值
*/
List<OrderPartsRespVO> getPartsDetail(Long orderId, Long roomId , Long bodyId , String name);
PageResult<OrderPartsRespVO> getPartsDetail(Long orderId, Long roomId , Long bodyId , String name, Integer pageNo, Integer pageSize);
/**
* 删除柜体
@@ -185,5 +187,42 @@ public interface OrderService {
/**
* 生产单超期告警分析统计
*/
Map<String,List<OrderOverdueRespVO>> getOrderWarn(Integer startTerm);
Map<String,List<OrderOverdueRespVO>> getOrderWarn();
/**
* 今日要完成生产单数
*/
List<OrderRespVO> getOrderOverdue();
String getOrderBodyToString(Long orderId);
/**
* 生产单总数统计
*/
Integer orderCount();
/**
* 今日新增生产单总数统计
*/
Integer orderCountToday();
/**
* 今日生产单完成总数
*/
Integer orderCountTodayFinish();
/**
* 今日生产单完成总数
*/
Integer orderCountProduce();
/**
* 今日生产单完成总数
*/
Integer orderSquareProduce();
/**
* 小板数量
*/
Integer plateCount();
}
@@ -1,19 +1,25 @@
package com.cf.imes.module.executor.service.order;
import cn.smallbun.screw.core.util.CollectionUtils;
import co.elastic.clients.elasticsearch.nodes.Ingest;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
import com.cf.imes.framework.common.util.json.JsonUtils;
import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator;
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
import com.cf.imes.framework.security.core.LoginUser;
import com.cf.imes.module.executor.controller.admin.order.vo.order.*;
import com.cf.imes.framework.datapermission.core.util.DataPermissionUtils;
import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderBodyRespVO;
import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderRoomBodyRespVO;
import com.cf.imes.module.executor.controller.admin.orderParts.vo.OrderPartsRemark;
import com.cf.imes.module.executor.controller.admin.orderParts.vo.OrderPartsRespVO;
import com.cf.imes.module.executor.controller.admin.plan.vo.OrderRespVOCopy;
import com.cf.imes.module.executor.controller.admin.plate.vo.PlateGoodsIdVO;
import com.cf.imes.module.executor.controller.admin.plate.vo.PlateRespVO;
import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO;
@@ -279,6 +285,78 @@ public class OrderServiceImpl implements OrderService {
orderBodyMapper.selectList(orderId, deleted, SecurityFrameworkUtils.getLoginUser().getOrganId()), OrderBodyRespVO.class);
return orderBodyRespVOList;
}
@Override
public String getOrderBodyToString(Long orderId) {
// 判断生产单是否删除
Integer deleted = getOrderDeleted(orderId);
List<OrderBodyRespVO> orderBodyRespVOList = BeanUtils.toBean(
orderBodyMapper.selectList(orderId, deleted, SecurityFrameworkUtils.getLoginUser().getOrganId()), OrderBodyRespVO.class);
String orderBodyToString = JSON.toJSONString(orderBodyRespVOList);
return JsonUtils.zipString(orderBodyToString);
}
@Override
public Integer orderCount() {
// 角色判断
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
System.out.println("loginUser " + loginUser);
// 数据查询
if (loginUser.getIsSupAdmin()){
return orderMapper.selectOrderCount();
}
return orderMapper.selectOrderCount(getUserOrganId());
}
@Override
public Integer orderCountToday() {
// 角色判断
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
// 数据查询
if (loginUser.getIsSupAdmin()){
return orderMapper.selectOrderCountToday();
}
return orderMapper.selectOrderCountToday(getUserOrganId());
}
@Override
public Integer orderCountTodayFinish() {
// 角色判断
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
// 数据查询
if (loginUser.getIsSupAdmin()){
return orderMapper.selectOrderCountTodayFinish();
}
return orderMapper.selectOrderCountTodayFinish(getUserOrganId());
}
@Override
public Integer orderCountProduce() {
// 角色判断
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
// 数据查询
if (loginUser.getIsSupAdmin()){
return orderMapper.selectOrderCountProduce();
}
return orderMapper.selectOrderCountProduce(getUserOrganId());
}
@Override
public Integer orderSquareProduce() {
// 角色判断
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
// 数据查询
if (loginUser.getIsSupAdmin()){
return orderMapper.selectOrderSquareProduce(null);
}
return orderMapper.selectOrderSquareProduce(getUserOrganId());
}
@Override
public Integer plateCount() {
return null;
}
@Override
public List<OrderRoomBodyRespVO> getRoomAndBody(Long planId) {
@@ -317,14 +395,26 @@ public class OrderServiceImpl implements OrderService {
List<OrderPlatesDetailReqVO> platesDetailReqVOS = new ArrayList<>();
orderDetail.forEach(orderPlatesDetailRespVO -> {
OrderPlatesDetailReqVO orderPlatesDetailReqVO = BeanUtils.toBean(orderPlatesDetailRespVO, OrderPlatesDetailReqVO.class)
.setIsHole(false);
.setIsRowHole(false);
if (orderPlatesDetailRespVO.getUnregularPointCount() > 0 || orderPlatesDetailRespVO.getFrontHoleCount() > 0
|| orderPlatesDetailRespVO.getBackHoleCount() > 0 || orderPlatesDetailRespVO.getSideHoleCount() > 0)
orderPlatesDetailReqVO.setIsHole(true);
orderPlatesDetailReqVO.setIsRowHole(true);
platesDetailReqVOS.add(orderPlatesDetailReqVO);
});
return platesDetailReqVOS;
}
@Override
public PageResult<OrderPlatesDetailReqVO> getPlatesDetail(Long orderId, Long roomId, Long bodyId, Long groupId, String groupName, Integer pageNo, Integer pageSize) {
PageDTO<OrderRespVOCopy> page = new PageDTO<>(pageNo, pageSize);
// 判断生产单是否删除 (包含判断存在)
Integer deleted = getOrderDeleted(orderId);
IPage<PlateRespVO> plateRespVOPage = orderItemMapper.selectPlatesDetailByOrderId(page,orderId, roomId, bodyId, groupId,
groupName, SecurityFrameworkUtils.getLoginUser().getOrganId(), deleted);
List<PlateRespVO> orderDetail = plateRespVOPage.getRecords();
List<OrderPlatesDetailReqVO> platesDetailReqVOS = BeanUtils.toBean(orderDetail, OrderPlatesDetailReqVO.class);
PageResult<OrderPlatesDetailReqVO> pageResult = new PageResult(platesDetailReqVOS, plateRespVOPage.getTotal());
return pageResult;
}
@Override
public List<OrderPartsRespVO> getPartsDetail(Long orderId, Long roomId, Long bodyId, String name) {
@@ -334,6 +424,16 @@ public class OrderServiceImpl implements OrderService {
SecurityFrameworkUtils.getLoginUser().getOrganId(), deleted);
return orderDetail;
}
@Override
public PageResult<OrderPartsRespVO> getPartsDetail(Long orderId, Long roomId, Long bodyId, String name, Integer pageNo, Integer pageSize) {
PageDTO<OrderRespVOCopy> page = new PageDTO<>(pageNo, pageSize);
// 判断生产单是否删除 (包含判断存在)
Integer deleted = getOrderDeleted(orderId);
IPage<OrderPartsRespVO> orderDetail = orderItemMapper.selectPartsDetailByOrderId(page, orderId, roomId, bodyId, name,
SecurityFrameworkUtils.getLoginUser().getOrganId(), deleted);
PageResult<OrderPartsRespVO> pageResult = new PageResult(orderDetail.getRecords(), orderDetail.getTotal());
return pageResult;
}
@Override
@Transactional(rollbackFor = Exception.class)
@@ -607,34 +707,28 @@ public class OrderServiceImpl implements OrderService {
}
@Override
public Map<String,List<OrderOverdueRespVO>> getOrderWarn(Integer startTerm) {
public Map<String,List<OrderOverdueRespVO>> getOrderWarn() {
Map<String,List<OrderOverdueRespVO>> map = new HashMap<>();
LocalDateTime today = LocalDateTime.now();
// 根据开始条件选择
LocalDateTime orderDate = null;
LocalDateTime yesterdayDay = LocalDateTime.now().minus(1, ChronoUnit.DAYS).withHour(23).withMinute(59).withSecond(59);
switch (startTerm) {
case 3:
orderDate = LocalDateTime.now().minus(3, ChronoUnit.DAYS);
break;
case 7:
orderDate = LocalDateTime.now().minus(7, ChronoUnit.DAYS);
break;
default:
orderDate = LocalDateTime.now().minus(1, ChronoUnit.DAYS);
break;
LocalDateTime today = LocalDateTime.now().withHour(0).withMinute(0).withSecond(0);
LocalDateTime tomorrowDay = LocalDateTime.now().plus(1, ChronoUnit.DAYS).withHour(23).withMinute(59).withSecond(59);
}
// 查询预警单
List<OrderOverdueRespVO> orderNearVOS = orderMapper.selectOrderNear(today, orderDate, OrganContextHolder.getOrganId());
List<OrderOverdueRespVO> orderNearVOS = orderMapper.selectOrderNear(today, tomorrowDay, OrganContextHolder.getOrganId());
map.put("orderNearVOS",orderNearVOS);
// 查询超时单
List<OrderOverdueRespVO> orderOverdueVOS = orderMapper.selectOrderOverdue(today, OrganContextHolder.getOrganId());
List<OrderOverdueRespVO> orderOverdueVOS = orderMapper.selectOrderOverdue(yesterdayDay, OrganContextHolder.getOrganId());
map.put("orderOverdueVOS",orderOverdueVOS);
return map;
}
@Override
public List<OrderRespVO> getOrderOverdue() {
return null;
}
// 判断是否已经导入
private Boolean validateOrderNoExists(String orderNo, Long organId) {
if (orderMapper.selectCount(new LambdaQueryWrapper<OrderDO>()
@@ -122,6 +122,7 @@
from orders o
where o.organ_id = #{organId}
and o.deleted = 0
and o.status != 4
and o.delivery_date between #{orderDate} and #{today}
</select>
@@ -155,6 +156,17 @@
from orders o
where o.organ_id = #{organId}
and o.deleted = 0
and o.status != 4
and #{today} > DATE(o.delivery_date)
</select>
<select id="selectOrderSquareProduce" resultType="java.lang.Integer">
SELECT SUM(op.area) as area FROM orders o
LEFT JOIN order_plate op on op.order_id = o.id
WHERE o.deleted = 0
<if test="organId != null">
AND o.organ_id = #{organId}
</if>
</select>
</mapper>
@@ -6,7 +6,7 @@
<select id="selectPlatesDetailByOrderId" resultType="com.cf.imes.module.executor.controller.admin.plate.vo.PlateRespVO">
SELECT DISTINCT i.order_id, p.id, p.plate_no, g.material, p.name, p.area, p.seal_left, p.seal_down,
p.seal_right, p.seal_up, p.texture, p.is_special_shaped, p.is_sculpt, p.unregular_point_count, p.front_hole_count,
p.back_hole_count, p.side_hole_count,p.width,p.height,p.thickness,p.remark,g.color
p.back_hole_count, p.side_hole_count,p.width,p.height,p.thickness,p.remark,g.color,p.is_row_hole
FROM order_item i
RIGHT JOIN `order_plate` p ON i.plate_id = p.id
LEFT JOIN `order_goods` g ON g.id = p.goods_id