src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java
@@ -1,10 +1,14 @@ package org.jeecg.modules.mes.controller; import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -17,6 +21,7 @@ import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.TranslateDictTextUtils; import org.jeecg.modules.mes.dto.MesProductionWorkOrderRepublishRequest; import org.jeecg.modules.mes.dto.MesProductionWorkScheduleRequest; import org.jeecg.modules.mes.entity.MesProductionWorkOrder; @@ -44,6 +49,10 @@ public class MesProductionWorkOrderController extends JeecgController<MesProductionWorkOrder, IMesProductionWorkOrderService> { @Autowired private IMesProductionWorkOrderService mesProductionWorkOrderService; @Autowired private ObjectMapper objectMapper; @Autowired private TranslateDictTextUtils translateDictTextUtils; /** * 分页列表查询 @@ -57,22 +66,14 @@ //@AutoLog(value = "排产工单-分页列表查询") @ApiOperation(value = "排产工单-分页列表查询", notes = "排产工单-分页列表查询") @GetMapping(value = "/list") public Result<IPage<MesProductionWorkOrder>> queryPageList(MesProductionWorkOrder mesProductionWorkOrder, public Result<IPage<?>> queryPageList(MesProductionWorkOrder mesProductionWorkOrder, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { Map<String, String[]> parameterMap = req.getParameterMap(); QueryWrapper<MesProductionWorkOrder> queryWrapper = QueryGenerator.initQueryWrapper(mesProductionWorkOrder, parameterMap); String[] startDates = parameterMap.get("startDate"); String[] endDates = parameterMap.get("endDate"); if (startDates != null && startDates.length > 0) { queryWrapper.ge("work_order_date", startDates[0]); } if (endDates != null && endDates.length > 0) { queryWrapper.le("work_order_date", endDates[0]); } Page<MesProductionWorkOrder> page = new Page<MesProductionWorkOrder>(pageNo, pageSize); IPage<MesProductionWorkOrder> pageList = mesProductionWorkOrderService.page(page, queryWrapper); IPage<MesProductionWorkOrder> pageList = mesProductionWorkOrderService.queryPageList(page, parameterMap); return Result.OK(pageList); } @@ -99,8 +100,12 @@ if (!validatePlan(mesProductionWorkOrderList)) { return Result.error("排产计划不合理,保存失败!"); } mesProductionWorkOrderList.forEach(item -> item.setWorkOrderStatus(ProductionWorkOrderStatus.NEW.name())); mesProductionWorkOrderService.saveBatch(mesProductionWorkOrderList); mesProductionWorkOrderList.forEach(item -> { if (Objects.isNull(item.getId())) { item.setWorkOrderStatus(ProductionWorkOrderStatus.NEW.name()); } }); mesProductionWorkOrderService.saveOrUpdateBatch(mesProductionWorkOrderList); return Result.OK("添加成功!"); } src/main/java/org/jeecg/modules/mes/mapper/MesProductionWorkOrderMapper.java
@@ -2,6 +2,11 @@ import java.util.List; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import org.jeecg.modules.mes.entity.MesProductionWorkOrder; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -14,4 +19,6 @@ */ public interface MesProductionWorkOrderMapper extends BaseMapper<MesProductionWorkOrder> { IPage<MesProductionWorkOrder> queryPageList(Page<MesProductionWorkOrder> page, @Param(Constants.WRAPPER) Wrapper<MesProductionWorkOrder> queryWrapper); } src/main/java/org/jeecg/modules/mes/mapper/xml/MesProductionWorkOrderMapper.xml
@@ -2,4 +2,14 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.jeecg.modules.mes.mapper.MesProductionWorkOrderMapper"> <select id="queryPageList" resultType="org.jeecg.modules.mes.entity.MesProductionWorkOrder"> SELECT t1.*, t2.factory_code factoryCode, t3.shift_code shiftCode FROM mes_production_work_order t1 LEFT JOIN base_factory t2 ON t1.factory_id = t2.id LEFT JOIN base_shift t3 ON t1.shift_id = t3.id ${ew.customSqlSegment} </select> </mapper> src/main/java/org/jeecg/modules/mes/service/IMesProductionWorkOrderService.java
@@ -1,10 +1,13 @@ package org.jeecg.modules.mes.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.mes.dto.MesProductionWorkScheduleRequest; import org.jeecg.modules.mes.entity.MesProductionWorkOrder; import java.util.List; import java.util.Map; /** * @Description: 排产工单 @@ -15,4 +18,6 @@ public interface IMesProductionWorkOrderService extends IService<MesProductionWorkOrder> { List<MesProductionWorkOrder> schedule(MesProductionWorkScheduleRequest request); IPage<MesProductionWorkOrder> queryPageList(Page<MesProductionWorkOrder> page, Map<String, String[]> parameterMap); } src/main/java/org/jeecg/modules/mes/service/impl/MesProductionWorkOrderServiceImpl.java
@@ -2,6 +2,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.common.constant.CommonConstant; import org.jeecg.modules.base.entity.Factory; @@ -99,4 +103,28 @@ } return newProductionWorkOrderList; } @Override public IPage<MesProductionWorkOrder> queryPageList(Page<MesProductionWorkOrder> page, Map<String, String[]> parameterMap) { QueryWrapper<MesProductionWorkOrder> queryWrapper = Wrappers.query(); String[] factoryIds = parameterMap.get("factoryId"); if (factoryIds != null && factoryIds.length > 0) { queryWrapper.eq("t1.factory_id", factoryIds[0]); } String[] startDates = parameterMap.get("startDate"); String[] endDates = parameterMap.get("endDate"); if (startDates != null && startDates.length > 0) { queryWrapper.ge("t1.work_order_date", startDates[0]); } if (endDates != null && endDates.length > 0) { queryWrapper.le("t1.work_order_date", endDates[0]); } String[] workOrderStatuses = parameterMap.get("workOrderStatus"); if (workOrderStatuses != null && workOrderStatuses.length > 0) { queryWrapper.eq("t1.work_order_status", workOrderStatuses[0]); } queryWrapper.eq("t1.del_flag", CommonConstant.DEL_FLAG_0); queryWrapper.orderByAsc("t1.work_order_date"); return this.baseMapper.queryPageList(page, queryWrapper); } }