optimize mes import

plp
chenshuichuan 2 years ago
parent 10847d2b3f
commit c577935766

@ -1,33 +1,32 @@
package cn.iocoder.yudao.module.mes.controller.admin.bom;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import java.util.*;
import java.io.IOException;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.mes.controller.admin.bom.vo.*;
import cn.iocoder.yudao.module.mes.controller.admin.bom.vo.BomDetailRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.bom.vo.BomPageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.bom.vo.BomRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.bom.vo.BomSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.bom.BomDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.bom.BomDetailDO;
import cn.iocoder.yudao.module.mes.service.bom.BomService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 产品BOM")
@RestController
@ -84,12 +83,12 @@ public class BomController {
@PreAuthorize("@ss.hasPermission('mes:bom:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportBomExcel(@Valid BomPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BomRespVO> list = bomService.getBomPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "产品BOM.xls", "数据", BomRespVO.class,
list);
list);
}
// ==================== 子表产品BOM明细 ====================

@ -1,15 +1,14 @@
package cn.iocoder.yudao.module.mes.controller.admin.bom.vo;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import lombok.Data;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
@Schema(description = "管理后台 - 产品BOM明细 Response VO")
@Data

@ -1,11 +1,13 @@
package cn.iocoder.yudao.module.mes.controller.admin.bom.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,13 +1,13 @@
package cn.iocoder.yudao.module.mes.controller.admin.bom.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import cn.iocoder.yudao.module.mes.dal.dataobject.bom.BomDetailDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
@Schema(description = "管理后台 - 产品BOM新增/修改 Request VO")
@Data

@ -1,47 +1,47 @@
package cn.iocoder.yudao.module.mes.controller.admin.feedingplan;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductUnitDO;
import cn.iocoder.yudao.module.erp.service.product.ErpProductService;
import cn.iocoder.yudao.module.erp.service.product.ErpProductUnitService;
import cn.iocoder.yudao.module.mes.controller.admin.feedingplan.vo.FeedingRecordPlanPageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.feedingplan.vo.FeedingRecordPlanRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.feedingplan.vo.FeedingRecordPlanSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.feedingplan.FeedingRecordPlanDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.feedingrecord.FeedingRecordDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.plan.PlanDO;
import cn.iocoder.yudao.module.mes.service.feedingplan.FeedingRecordPlanService;
import cn.iocoder.yudao.module.mes.service.feedingrecord.FeedingRecordService;
import cn.iocoder.yudao.module.mes.service.plan.PlanService;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
import cn.iocoder.yudao.module.mes.controller.admin.feedingplan.vo.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.feedingplan.FeedingRecordPlanDO;
import cn.iocoder.yudao.module.mes.service.feedingplan.FeedingRecordPlanService;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
@Tag(name = "管理后台 - 投料分配计划")
@RestController
@RequestMapping("/mes/feeding-record-plan")
@ -100,7 +100,7 @@ public class FeedingRecordPlanController {
public CommonResult<PageResult<FeedingRecordPlanRespVO>> getFeedingRecordPlanPage(@Valid FeedingRecordPlanPageReqVO pageReqVO) {
PageResult<FeedingRecordPlanDO> pageResult = feedingRecordPlanService.getFeedingRecordPlanPage(pageReqVO);
PageResult<FeedingRecordPlanRespVO> pageResult1 = new PageResult<>(buildVOList(pageResult.getList()), pageResult.getTotal());
PageResult<FeedingRecordPlanRespVO> pageResult1 = new PageResult<>(buildVOList(pageResult.getList()), pageResult.getTotal());
return success(pageResult1);
}
@ -109,14 +109,15 @@ public class FeedingRecordPlanController {
@PreAuthorize("@ss.hasPermission('mes:feeding-record-plan:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportFeedingRecordPlanExcel(@Valid FeedingRecordPlanPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<FeedingRecordPlanDO> list = feedingRecordPlanService.getFeedingRecordPlanPage(pageReqVO).getList();
List<FeedingRecordPlanRespVO> list1 = buildVOList(list);
// 导出 Excel
ExcelUtils.write(response, "投料分配计划.xls", "数据", FeedingRecordPlanRespVO.class,
list1);
list1);
}
private List<FeedingRecordPlanRespVO> buildVOList(List<FeedingRecordPlanDO> list) {
if (CollUtil.isEmpty(list)) {
return Collections.emptyList();

@ -1,11 +1,13 @@
package cn.iocoder.yudao.module.mes.controller.admin.feedingplan.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,13 +1,12 @@
package cn.iocoder.yudao.module.mes.controller.admin.feedingplan.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import lombok.Data;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 投料分配计划 Response VO")
@Data

@ -1,9 +1,9 @@
package cn.iocoder.yudao.module.mes.controller.admin.feedingplan.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.Data;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 投料分配计划新增/修改 Request VO")

@ -1,52 +1,47 @@
package cn.iocoder.yudao.module.mes.controller.admin.feedingrecord;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.module.mes.controller.admin.feedingrecord.vo.*;
import cn.iocoder.yudao.module.mes.controller.admin.itemrequisition.vo.ItemRequisitionDetailRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.plan.vo.PlanStatusEnum;
import cn.iocoder.yudao.module.mes.controller.admin.stockworkshop.vo.StockWorkShopTypeEnum;
import cn.iocoder.yudao.module.mes.dal.dataobject.feedingplan.FeedingRecordPlanDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.feedingrecord.FeedingRecordDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.feedingrecord.FeedingRecordDetailDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.itemrequisition.ItemRequisitionDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.plan.PlanDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.stockworkshop.StockWorkshopDO;
import cn.iocoder.yudao.module.mes.dal.mysql.feedingrecord.FeedingRecordMapper;
import cn.iocoder.yudao.module.mes.dal.mysql.itemrequisition.ItemRequisitionMapper;
import cn.iocoder.yudao.module.mes.service.feedingrecord.FeedingRecordService;
import cn.iocoder.yudao.module.mes.service.itemrequisition.ItemRequisitionService;
import cn.iocoder.yudao.module.mes.service.plan.PlanService;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.FEEDING_RECORD_NOT_EXISTS;
import cn.iocoder.yudao.module.mes.controller.admin.feedingrecord.vo.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.feedingrecord.FeedingRecordDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.feedingrecord.FeedingRecordDetailDO;
import cn.iocoder.yudao.module.mes.service.feedingrecord.FeedingRecordService;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
@Tag(name = "管理后台 - 投料记录")
@RestController
@RequestMapping("/mes/feeding-record")
@ -102,12 +97,12 @@ public class FeedingRecordController {
@PreAuthorize("@ss.hasPermission('mes:feeding-record:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportFeedingRecordExcel(@Valid FeedingRecordPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<FeedingRecordDO> list = feedingRecordService.getFeedingRecordPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "投料记录.xls", "数据", FeedingRecordRespVO.class,
BeanUtils.toBean(list, FeedingRecordRespVO.class));
BeanUtils.toBean(list, FeedingRecordRespVO.class));
}
// ==================== 子表(投料记录明细) ====================
@ -117,9 +112,10 @@ public class FeedingRecordController {
@Parameter(name = "recordId", description = "记录id")
@PreAuthorize("@ss.hasPermission('mes:feeding-record:query')")
public CommonResult<List<FeedingRecordDetailRespVO>> getFeedingRecordDetailListByRecordId(@RequestParam("recordId") Long recordId) {
List< FeedingRecordDetailDO> detailDOList = feedingRecordService.getFeedingRecordDetailListByRecordId(recordId);
List<FeedingRecordDetailDO> detailDOList = feedingRecordService.getFeedingRecordDetailListByRecordId(recordId);
return success(feedingRecordService.buildVOList(detailDOList));
}
@Resource
private FeedingRecordMapper feedingRecordMapper;
@Resource
@ -130,19 +126,19 @@ public class FeedingRecordController {
@PutMapping("/update-status")
@Operation(summary = "提交状态")
public CommonResult<Boolean> updateStatus(@RequestParam("id") Long id,
@RequestParam("status") String status) {
@RequestParam("status") String status) {
LoginUser user = SecurityFrameworkUtils.getLoginUser();
if(user!=null){
if (user != null) {
FeedingRecordDO recordDO = feedingRecordMapper.selectById(id);
if(recordDO==null) throw exception(FEEDING_RECORD_NOT_EXISTS);
if (recordDO == null) throw exception(FEEDING_RECORD_NOT_EXISTS);
//后续步骤只处理领料投料的投料单,湿废品和干废品投料暂不处理
//计划及计划物料需求
List<Integer> statusList = new ArrayList<>();
statusList.add(PlanStatusEnum..getValue());
//获取正在开工的计划,按照计划完工时间从小到大排序,优先分配给最近计划完工的计划。
List<PlanDO> planDOList = planService.getPlanByStatusAndPipeline(statusList,recordDO.getFeedingPipeline());
List<PlanDO> planDOList = planService.getPlanByStatusAndPipeline(statusList, recordDO.getFeedingPipeline());
if(recordDO.getFeedingType().equals(FeedingTypeEnum..getValue())) {
if (recordDO.getFeedingType().equals(FeedingTypeEnum..getValue())) {
List<FeedingRecordDetailDO> detailDOList = feedingRecordService.getFeedingRecordDetailListByRecordId(id);
Map<Long, List<ItemRequisitionDetailRespVO>> planItemListMap = new HashMap<>();
Map<String, ItemRequisitionDetailRespVO> planItemMap = new HashMap<>();
@ -152,35 +148,34 @@ public class FeedingRecordController {
List<ItemRequisitionDetailRespVO> list = itemRequisitionService.getItemRequisitionList(planDOList.get(i).getId());
planItemListMap.put(planDOList.get(i).getId(), list);
for (ItemRequisitionDetailRespVO respVO: list ) {
for (ItemRequisitionDetailRespVO respVO : list) {
String key = getMapKey(planDOList.get(i).getId(), respVO.getProductId());
planItemMap.put(key, respVO);
}
}
Map<String, FeedingRecordPlanDO> recordPlanDOMap = feedingRecordService.updateStatus(recordDO,detailDOList, status , user.getId(),planDOList,
Map<String, FeedingRecordPlanDO> recordPlanDOMap = feedingRecordService.updateStatus(recordDO, detailDOList, status, user.getId(), planDOList,
planItemListMap, planItemMap);
//更新计划对应的领料单投料时间
Map<Long,Long> map = new HashMap<>();
Map<Long, Long> map = new HashMap<>();
for (String key : recordPlanDOMap.keySet()) {
FeedingRecordPlanDO item = recordPlanDOMap.get(key);
if(!map.containsKey(item.getPlanId())){
FeedingRecordPlanDO item = recordPlanDOMap.get(key);
if (!map.containsKey(item.getPlanId())) {
ItemRequisitionDO itemRequisitionDO = itemRequisitionService.getItemRequisitionByPlanId(item.getPlanId());
if(itemRequisitionDO!=null && itemRequisitionDO.getDeliveryDate()==null){
if (itemRequisitionDO != null && itemRequisitionDO.getDeliveryDate() == null) {
itemRequisitionDO.setDeliveryDate(LocalDate.now());
map.put(item.getPlanId(),item.getPlanId());
map.put(item.getPlanId(), item.getPlanId());
}
}
}
}
else {
} else {
recordDO.setRecordStatus(FeedingStatusEnum..getValue());
feedingRecordMapper.updateById(recordDO);
}
return success(true);
}
else return CommonResult.error(500,"无法获取操作用户!请检查!");
} else return CommonResult.error(500, "无法获取操作用户!请检查!");
}
private String getMapKey(Long planId, Long itemId){
private String getMapKey(Long planId, Long itemId) {
return planId + "-" + itemId;
}
}

@ -1,13 +1,12 @@
package cn.iocoder.yudao.module.mes.controller.admin.feedingrecord.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import lombok.Data;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 投料记录明细 Response VO")
@Data

@ -1,11 +1,13 @@
package cn.iocoder.yudao.module.mes.controller.admin.feedingrecord.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,15 +1,14 @@
package cn.iocoder.yudao.module.mes.controller.admin.feedingrecord.vo;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import lombok.Data;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
@Schema(description = "管理后台 - 投料记录 Response VO")
@Data

@ -1,12 +1,12 @@
package cn.iocoder.yudao.module.mes.controller.admin.feedingrecord.vo;
import cn.iocoder.yudao.module.mes.dal.dataobject.feedingrecord.FeedingRecordDetailDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import lombok.Data;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import cn.iocoder.yudao.module.mes.dal.dataobject.feedingrecord.FeedingRecordDetailDO;
import java.util.List;
@Schema(description = "管理后台 - 投料记录新增/修改 Request VO")
@Data

@ -17,7 +17,7 @@ public enum FeedingStatusEnum {
// 一个可选的方法,用于根据整数值获取对应的枚举实例
public static FeedingStatusEnum fromValue(String value) {
for (FeedingStatusEnum status : FeedingStatusEnum.values()) {
if (status.getValue() .equals(value) ) {
if (status.getValue().equals(value)) {
return status;
}
}

@ -7,18 +7,19 @@ import lombok.Getter;
@AllArgsConstructor
public enum FeedingTypeEnum {
("org",0L),
湿("wet",11L),
("dry",10L);
("org", 0L),
湿("wet", 11L),
("dry", 10L);
private final String value;
//干湿品在原料表中记录id
private final Long table_id;
// 一个可选的方法,用于根据整数值获取对应的枚举实例
public static FeedingTypeEnum fromValue(String value) {
for (FeedingTypeEnum status : FeedingTypeEnum.values()) {
if (status.getValue() .equals(value)) {
if (status.getValue().equals(value)) {
return status;
}
}

@ -1,40 +1,41 @@
package cn.iocoder.yudao.module.mes.controller.admin.itemrequisition;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.mes.controller.admin.itemrequisition.vo.ItemRequisitionDetailRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.itemrequisition.vo.ItemRequisitionPageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.itemrequisition.vo.ItemRequisitionRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.itemrequisition.vo.ItemRequisitionSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.itemrequisition.ItemRequisitionDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.itemrequisition.ItemRequisitionDetailDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.plan.PlanDO;
import cn.iocoder.yudao.module.mes.service.itemrequisition.ItemRequisitionService;
import cn.iocoder.yudao.module.mes.service.plan.PlanService;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.*;
import java.io.IOException;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
import cn.iocoder.yudao.module.mes.controller.admin.itemrequisition.vo.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.itemrequisition.ItemRequisitionDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.itemrequisition.ItemRequisitionDetailDO;
import cn.iocoder.yudao.module.mes.service.itemrequisition.ItemRequisitionService;
@Tag(name = "管理后台 - 生产领料")
@RestController
@RequestMapping("/mes/item-requisition")
@ -87,6 +88,7 @@ public class ItemRequisitionController {
PageResult<ItemRequisitionDO> pageResult = itemRequisitionService.getItemRequisitionPage(pageReqVO);
return success(new PageResult<>(buildVOList(pageResult.getList()), pageResult.getTotal()));
}
private List<ItemRequisitionRespVO> buildVOList(List<ItemRequisitionDO> list) {
if (CollUtil.isEmpty(list)) {
return Collections.emptyList();
@ -98,18 +100,19 @@ public class ItemRequisitionController {
plan -> item.setPlanCode(plan.getCode()));
});
}
@GetMapping("/export-excel")
@Operation(summary = "导出生产领料 Excel")
@PreAuthorize("@ss.hasPermission('mes:item-requisition:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportItemRequisitionExcel(@Valid ItemRequisitionPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<ItemRequisitionDO> list = itemRequisitionService.getItemRequisitionPage(pageReqVO).getList();
List<ItemRequisitionRespVO> list1 = buildVOList(list);
// 导出 Excel
ExcelUtils.write(response, "生产领料.xls", "数据", ItemRequisitionRespVO.class,
list1);
list1);
}
// ==================== 子表(领料明细) ====================
@ -119,7 +122,7 @@ public class ItemRequisitionController {
@Parameter(name = "itemRequisitionId", description = "领料单ID")
@PreAuthorize("@ss.hasPermission('mes:item-requisition:query')")
public CommonResult<List<ItemRequisitionDetailRespVO>> getItemRequisitionDetailListByItemRequisitionId(@RequestParam("itemRequisitionId") Long itemRequisitionId) {
List<ItemRequisitionDetailDO>list = itemRequisitionService.getItemRequisitionDetailListByItemRequisitionId(itemRequisitionId);
List<ItemRequisitionDetailDO> list = itemRequisitionService.getItemRequisitionDetailListByItemRequisitionId(itemRequisitionId);
ItemRequisitionDO requisitionDO = itemRequisitionService.getItemRequisition(itemRequisitionId);
return success(itemRequisitionService.buildDetailVOList(list, requisitionDO.getPlanId()));
}

@ -1,8 +1,11 @@
package cn.iocoder.yudao.module.mes.controller.admin.itemrequisition.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.Data;
import java.math.BigDecimal;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 领料明细 Response VO")
@Data
@ -31,7 +34,7 @@ public class ItemRequisitionDetailRespVO {
@Schema(description = "数量")
@ExcelProperty("数量")
private BigDecimal number;
@Schema(description = "数量")
@ExcelProperty("投料完成数量")
private BigDecimal finishNumber;

@ -1,12 +1,12 @@
package cn.iocoder.yudao.module.mes.controller.admin.itemrequisition.vo;
import lombok.*;
import java.time.LocalDate;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
@ -48,7 +48,7 @@ public class ItemRequisitionPageReqVO extends PageParam {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "领料人ID",example = "15546")
@Schema(description = "领料人ID", example = "15546")
private Long workerId;
@Schema(description = "制浆线")

@ -1,14 +1,11 @@
package cn.iocoder.yudao.module.mes.controller.admin.itemrequisition.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.Data;
import java.time.LocalDate;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 生产领料 Response VO")
@Data
@ -57,7 +54,7 @@ public class ItemRequisitionRespVO {
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "领料人ID",example = "15546")
@Schema(description = "领料人ID", example = "15546")
private Long workerId;
@Schema(description = "制浆线")

@ -1,15 +1,11 @@
package cn.iocoder.yudao.module.mes.controller.admin.itemrequisition.vo;
import cn.iocoder.yudao.module.mes.dal.dataobject.itemrequisition.ItemRequisitionDetailDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.itemrequisition.ItemRequisitionDetailDO;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
@Schema(description = "管理后台 - 生产领料新增/修改 Request VO")
@Data
@ -33,7 +29,7 @@ public class ItemRequisitionSaveReqVO {
@Schema(description = "流程实例的编号", example = "1634")
private String processInstanceId;
@Schema(description = "计划ID",example = "15546")
@Schema(description = "计划ID", example = "15546")
private Long planId;
@Schema(description = "备注", example = "随便")
@ -45,7 +41,7 @@ public class ItemRequisitionSaveReqVO {
@Schema(description = "领料明细列表")
private List<ItemRequisitionDetailDO> itemRequisitionDetails;
@Schema(description = "领料人ID",example = "15546")
@Schema(description = "领料人ID", example = "15546")
private Long workerId;
@Schema(description = "制浆线")
private String feedingPipeline;

@ -1,33 +1,30 @@
package cn.iocoder.yudao.module.mes.controller.admin.machine;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.mes.controller.admin.machine.vo.MachineComponentListReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.machine.vo.MachineComponentRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.machine.vo.MachineComponentSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.machine.MachineComponentDO;
import cn.iocoder.yudao.module.mes.service.machine.MachineComponentService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.*;
import java.io.IOException;
import java.util.List;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.mes.controller.admin.machine.vo.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.machine.MachineComponentDO;
import cn.iocoder.yudao.module.mes.service.machine.MachineComponentService;
@Tag(name = "管理后台 - 机台")
@RestController
@RequestMapping("/mes/machine-component")
@ -83,11 +80,11 @@ public class MachineComponentController {
@PreAuthorize("@ss.hasPermission('mes:machine-component:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportMachineComponentExcel(@Valid MachineComponentListReqVO listReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
List<MachineComponentDO> list = machineComponentService.getMachineComponentList(listReqVO);
// 导出 Excel
ExcelUtils.write(response, "机台.xls", "数据", MachineComponentRespVO.class,
BeanUtils.toBean(list, MachineComponentRespVO.class));
BeanUtils.toBean(list, MachineComponentRespVO.class));
}
}

@ -1,12 +1,11 @@
package cn.iocoder.yudao.module.mes.controller.admin.machine.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.time.LocalDateTime;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 机台列表 Request VO")

@ -1,14 +1,13 @@
package cn.iocoder.yudao.module.mes.controller.admin.machine.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 机台 Response VO")
@Data

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.mes.controller.admin.machine.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

@ -1,33 +1,29 @@
package cn.iocoder.yudao.module.mes.controller.admin.organization;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import java.util.*;
import java.io.IOException;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.mes.controller.admin.organization.vo.*;
import cn.iocoder.yudao.module.mes.controller.admin.organization.vo.OrganizationListReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.organization.vo.OrganizationRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.organization.vo.OrganizationSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.organization.OrganizationDO;
import cn.iocoder.yudao.module.mes.service.organization.OrganizationService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 产线工位")
@RestController
@ -84,11 +80,11 @@ public class OrganizationController {
@PreAuthorize("@ss.hasPermission('mes:organization:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportOrganizationExcel(@Valid OrganizationListReqVO listReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
List<OrganizationDO> list = organizationService.getOrganizationList(listReqVO);
// 导出 Excel
ExcelUtils.write(response, "产线工位.xls", "数据", OrganizationRespVO.class,
BeanUtils.toBean(list, OrganizationRespVO.class));
BeanUtils.toBean(list, OrganizationRespVO.class));
}
}

@ -1,12 +1,11 @@
package cn.iocoder.yudao.module.mes.controller.admin.organization.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.time.LocalDateTime;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 产线工位列表 Request VO")

@ -1,14 +1,13 @@
package cn.iocoder.yudao.module.mes.controller.admin.organization.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 产线工位 Response VO")
@Data

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.mes.controller.admin.organization.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

@ -1,40 +1,35 @@
package cn.iocoder.yudao.module.mes.controller.admin.plan;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.mes.controller.admin.itemrequisition.vo.ItemRequisitionSaveReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.plan.vo.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.plan.PlanDO;
import cn.iocoder.yudao.module.mes.dal.mysql.plan.PlanMapper;
import cn.iocoder.yudao.module.mes.service.itemrequisition.ItemAnalysisService;
import cn.iocoder.yudao.module.mes.service.itemrequisition.ItemRequisitionService;
import cn.iocoder.yudao.module.mes.service.itemrequisition.entity.ItemRequisitionAndStock;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import cn.iocoder.yudao.module.mes.service.plan.PlanService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.*;
import java.io.IOException;
import java.util.List;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.error;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.mes.controller.admin.plan.vo.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.plan.PlanDO;
import cn.iocoder.yudao.module.mes.service.plan.PlanService;
@Tag(name = "管理后台 - 生产计划")
@RestController
@RequestMapping("/mes/plan")
@ -93,17 +88,18 @@ public class PlanController {
@PreAuthorize("@ss.hasPermission('mes:plan:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportPlanExcel(@Valid PlanPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<PlanRespVO> list = planService.getPlanPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "生产计划.xls", "数据", PlanRespVO.class, list);
}
@PostMapping("/saveBatchPlan")
@Operation(summary = "批量新增计划")
public CommonResult<Boolean> saveBatchPlan(@RequestBody List<PlanDO> planDOList) {
Boolean result = planService.saveBatchPlan(planDOList);
if(result)
if (result)
return success(result);
else
return error(500, "insert error");
@ -111,6 +107,7 @@ public class PlanController {
@Resource
private ItemAnalysisService analysisService;
@PutMapping("/paigong")
@Operation(summary = "计划派工")
@PreAuthorize("@ss.hasPermission('mes:plan:update')")
@ -128,15 +125,15 @@ public class PlanController {
System.out.println(statusUpdateVO);
PlanDO planDO = planMapper.selectById(statusUpdateVO.getId());
//开工
if("start".equals(statusUpdateVO.getCode())){
if ("start".equals(statusUpdateVO.getCode())) {
planDO.setStatus(PlanStatusEnum..getValue());
}
//暂停
else if("pause".equals(statusUpdateVO.getCode())){
else if ("pause".equals(statusUpdateVO.getCode())) {
planDO.setStatus(PlanStatusEnum..getValue());
}
//完工
else if("end".equals(statusUpdateVO.getCode())){
else if ("end".equals(statusUpdateVO.getCode())) {
planDO.setStatus(PlanStatusEnum..getValue());
}
planMapper.updateById(planDO);

@ -1,10 +1,12 @@
package cn.iocoder.yudao.module.mes.controller.admin.plan.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.mes.controller.admin.plan.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.mes.controller.admin.plan.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;

@ -1,33 +1,33 @@
package cn.iocoder.yudao.module.mes.controller.admin.producereport;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import java.util.*;
import java.io.IOException;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.*;
import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.ProduceReportPageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.ProduceReportRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.ProduceReportSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.producereport.ProduceReportDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.producereport.ProduceReportDetailDO;
import cn.iocoder.yudao.module.mes.service.producereport.ProduceReportService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 生产报工单")
@RestController
@RequestMapping("/mes/produce-report")
@ -83,12 +83,12 @@ public class ProduceReportController {
@PreAuthorize("@ss.hasPermission('mes:produce-report:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportProduceReportExcel(@Valid ProduceReportPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<ProduceReportDO> list = produceReportService.getProduceReportPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "生产报工单.xls", "数据", ProduceReportRespVO.class,
BeanUtils.toBean(list, ProduceReportRespVO.class));
BeanUtils.toBean(list, ProduceReportRespVO.class));
}
// ==================== 子表(生产报工明细) ====================
@ -98,7 +98,7 @@ public class ProduceReportController {
@Parameter(name = "reportId", description = "报工单id")
@PreAuthorize("@ss.hasPermission('mes:produce-report:query')")
public CommonResult<PageResult<ProduceReportDetailDO>> getProduceReportDetailPage(PageParam pageReqVO,
@RequestParam("reportId") Long reportId) {
@RequestParam("reportId") Long reportId) {
return success(produceReportService.getProduceReportDetailPage(pageReqVO, reportId));
}
@ -126,12 +126,12 @@ public class ProduceReportController {
return success(true);
}
@GetMapping("/produce-report-detail/get")
@Operation(summary = "获得生产报工明细")
@Parameter(name = "id", description = "编号", required = true)
@GetMapping("/produce-report-detail/get")
@Operation(summary = "获得生产报工明细")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('mes:produce-report:query')")
public CommonResult<ProduceReportDetailDO> getProduceReportDetail(@RequestParam("id") Long id) {
return success(produceReportService.getProduceReportDetail(id));
}
public CommonResult<ProduceReportDetailDO> getProduceReportDetail(@RequestParam("id") Long id) {
return success(produceReportService.getProduceReportDetail(id));
}
}

@ -1,33 +1,32 @@
package cn.iocoder.yudao.module.mes.controller.admin.producereport;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.ProduceReportDetailPageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.ProduceReportDetailRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.ProduceReportDetailSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.producereport.ProduceReportDetailDO;
import cn.iocoder.yudao.module.mes.service.producereport.ProduceReportDetailService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.*;
import java.io.IOException;
import java.util.List;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.producereport.ProduceReportDetailDO;
import cn.iocoder.yudao.module.mes.service.producereport.ProduceReportDetailService;
@Tag(name = "管理后台 - 生产报工明细")
@RestController
@RequestMapping("/mes/produce-report-detail")
@ -83,12 +82,12 @@ public class ProduceReportDetailController {
@PreAuthorize("@ss.hasPermission('mes:produce-report-detail:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportProduceReportDetailExcel(@Valid ProduceReportDetailPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<ProduceReportDetailDO> list = produceReportDetailService.getProduceReportDetailPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "生产报工明细.xls", "数据", ProduceReportDetailRespVO.class,
BeanUtils.toBean(list, ProduceReportDetailRespVO.class));
BeanUtils.toBean(list, ProduceReportDetailRespVO.class));
}
}

@ -1,12 +1,13 @@
package cn.iocoder.yudao.module.mes.controller.admin.producereport.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,15 +1,14 @@
package cn.iocoder.yudao.module.mes.controller.admin.producereport.vo;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import lombok.Data;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
@Schema(description = "管理后台 - 生产报工明细 Response VO")
@Data

@ -1,12 +1,10 @@
package cn.iocoder.yudao.module.mes.controller.admin.producereport.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 生产报工明细新增/修改 Request VO")

@ -1,10 +1,12 @@
package cn.iocoder.yudao.module.mes.controller.admin.producereport.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,14 +1,13 @@
package cn.iocoder.yudao.module.mes.controller.admin.producereport.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 生产报工单 Response VO")
@Data

@ -1,33 +1,31 @@
package cn.iocoder.yudao.module.mes.controller.admin.record;
import cn.iocoder.yudao.module.mes.dal.dataobject.record.*;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import java.util.*;
import java.io.IOException;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.mes.controller.admin.record.vo.*;
import cn.iocoder.yudao.module.mes.controller.admin.record.vo.RecordTemplatePageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.record.vo.RecordTemplateRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.record.vo.RecordTemplateSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.record.*;
import cn.iocoder.yudao.module.mes.service.record.RecordTemplateService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 记录表")
@RestController
@ -84,12 +82,12 @@ public class RecordTemplateController {
@PreAuthorize("@ss.hasPermission('mes:record-template:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportRecordTemplateExcel(@Valid RecordTemplatePageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<RecordTemplateDO> list = recordTemplateService.getRecordTemplatePage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "记录表.xls", "数据", RecordTemplateRespVO.class,
BeanUtils.toBean(list, RecordTemplateRespVO.class));
BeanUtils.toBean(list, RecordTemplateRespVO.class));
}
// ==================== 子表(碎浆记录) ====================
@ -141,7 +139,7 @@ public class RecordTemplateController {
@Parameter(name = "recordId", description = "记录id")
@PreAuthorize("@ss.hasPermission('mes:record-template:query')")
public CommonResult<PageResult<RecordChengxingDO>> getRecordChengxingPage(PageParam pageReqVO,
@RequestParam("recordId") Long recordId) {
@RequestParam("recordId") Long recordId) {
return success(recordTemplateService.getRecordChengxingPage(pageReqVO, recordId));
}
@ -169,13 +167,13 @@ public class RecordTemplateController {
return success(true);
}
@GetMapping("/record-chengxing/get")
@Operation(summary = "获得成型记录")
@Parameter(name = "id", description = "编号", required = true)
@GetMapping("/record-chengxing/get")
@Operation(summary = "获得成型记录")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('mes:record-template:query')")
public CommonResult<RecordChengxingDO> getRecordChengxing(@RequestParam("id") Long id) {
return success(recordTemplateService.getRecordChengxing(id));
}
public CommonResult<RecordChengxingDO> getRecordChengxing(@RequestParam("id") Long id) {
return success(recordTemplateService.getRecordChengxing(id));
}
// ==================== 子表(热压记录) ====================

@ -1,10 +1,12 @@
package cn.iocoder.yudao.module.mes.controller.admin.record.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,14 +1,13 @@
package cn.iocoder.yudao.module.mes.controller.admin.record.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 记录表 Response VO")
@Data

@ -1,11 +1,11 @@
package cn.iocoder.yudao.module.mes.controller.admin.record.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 记录表新增/修改 Request VO")
@Data

@ -1,34 +1,32 @@
package cn.iocoder.yudao.module.mes.controller.admin.saleorder;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import java.util.*;
import java.io.IOException;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.mes.controller.admin.saleorder.vo.*;
import cn.iocoder.yudao.module.mes.controller.admin.saleorder.vo.SaleOrderItemsRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.saleorder.vo.SaleOrderPageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.saleorder.vo.SaleOrderRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.saleorder.vo.SaleOrderSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.saleorder.SaleOrderDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.saleorder.SaleOrderItemsDO;
import cn.iocoder.yudao.module.mes.service.saleorder.SaleOrderService2;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 销售订单")
@RestController
@ -79,12 +77,12 @@ public class SaleOrderController {
@Operation(summary = "导出销售订单 Excel")
@ApiAccessLog(operateType = EXPORT)
public void exportSaleOrderExcel(@Valid SaleOrderPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<SaleOrderRespVO> list = saleOrderService.getSaleOrderPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "销售订单.xls", "数据", SaleOrderRespVO.class,
list);
list);
}
// ==================== 子表(销售订单项) ====================
@ -93,7 +91,7 @@ public class SaleOrderController {
@Operation(summary = "获得销售订单项分页")
@Parameter(name = "orderId", description = "销售订单编号")
public CommonResult<PageResult<SaleOrderItemsRespVO>> getSaleOrderItemsPage(PageParam pageReqVO,
@RequestParam("orderId") Long orderId) {
@RequestParam("orderId") Long orderId) {
return success(saleOrderService.getSaleOrderItemsPage(pageReqVO, orderId));
}
@ -118,12 +116,13 @@ public class SaleOrderController {
return success(true);
}
@GetMapping("/sale-order-items/get")
@Operation(summary = "获得销售订单项")
@Parameter(name = "id", description = "编号", required = true)
public CommonResult<SaleOrderItemsDO> getSaleOrderItems(@RequestParam("id") Long id) {
return success(saleOrderService.getSaleOrderItems(id));
}
@GetMapping("/sale-order-items/get")
@Operation(summary = "获得销售订单项")
@Parameter(name = "id", description = "编号", required = true)
public CommonResult<SaleOrderItemsDO> getSaleOrderItems(@RequestParam("id") Long id) {
return success(saleOrderService.getSaleOrderItems(id));
}
@GetMapping("/sale-order-items/getByOrderId")
@Operation(summary = "获得销售订单项")
@Parameter(name = "orderId", description = "订单编号", required = true)

@ -1,13 +1,12 @@
package cn.iocoder.yudao.module.mes.controller.admin.saleorder.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import lombok.Data;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - ERP 销售订单项 Response VO")
@Data

@ -1,11 +1,13 @@
package cn.iocoder.yudao.module.mes.controller.admin.saleorder.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,15 +1,14 @@
package cn.iocoder.yudao.module.mes.controller.admin.saleorder.vo;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import lombok.Data;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
@Schema(description = "管理后台 - 销售订单 Response VO")
@Data

@ -1,14 +1,12 @@
package cn.iocoder.yudao.module.mes.controller.admin.saleorder.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import cn.iocoder.yudao.module.mes.dal.dataobject.saleorder.SaleOrderItemsDO;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 销售订单新增/修改 Request VO")
@Data

@ -1,48 +1,20 @@
package cn.iocoder.yudao.module.mes.controller.admin.stockworkshop;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.erp.controller.admin.product.vo.product.ErpProductRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.out.ErpStockOutPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.out.ErpStockOutRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.out.ErpStockOutSaveReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.out.StockOutTypeEnum;
import cn.iocoder.yudao.module.erp.dal.dataobject.sale.ErpCustomerDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.stock.ErpStockDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.stock.ErpStockOutDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.stock.ErpStockOutItemDO;
import cn.iocoder.yudao.module.erp.service.product.ErpProductService;
import cn.iocoder.yudao.module.erp.service.sale.ErpCustomerService;
import cn.iocoder.yudao.module.erp.service.stock.ErpStockOutService;
import cn.iocoder.yudao.module.erp.service.stock.ErpStockService;
import cn.iocoder.yudao.module.mes.service.stockworkshop.MesStockOutService;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMultiMap;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
@Tag(name = "管理后台 - ERP 其它出库单")
@RestController
@ -61,7 +33,7 @@ public class MesStockOutController {
@Operation(summary = "更新其它出库单的状态")
//@PreAuthorize("@ss.hasPermission('erp:stock-out:update-status')")
public CommonResult<Boolean> updateMesStockOutStatus(@RequestParam("id") Long id,
@RequestParam("status") Integer status) {
@RequestParam("status") Integer status) {
mesStockOutService.updateMesStockOutStatus(id, status);
return success(true);
}

@ -1,34 +1,32 @@
package cn.iocoder.yudao.module.mes.controller.admin.stockworkshop;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.mes.controller.admin.stockworkshop.vo.StockWorkshopPageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.stockworkshop.vo.StockWorkshopRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.stockworkshop.vo.StockWorkshopSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.stockworkshop.StockWorkshopDO;
import cn.iocoder.yudao.module.mes.service.stockworkshop.StockWorkshopService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.*;
import java.io.IOException;
import java.util.List;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.mes.controller.admin.stockworkshop.vo.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.stockworkshop.StockWorkshopDO;
import cn.iocoder.yudao.module.mes.service.stockworkshop.StockWorkshopService;
@Tag(name = "管理后台 - 车间仓库存")
@RestController
@RequestMapping("/mes/stock-workshop")
@ -85,14 +83,14 @@ public class StockWorkshopController {
@PreAuthorize("@ss.hasPermission('mes:stock-workshop:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportStockWorkshopExcel(@Valid StockWorkshopPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<StockWorkshopDO> list = stockWorkshopService.getStockWorkshopPage(pageReqVO).getList();
List<StockWorkshopRespVO> list1 = stockWorkshopService.buildVOList(list);
// 导出 Excel
ExcelUtils.write(response, "车间仓库存.xls", "数据", StockWorkshopRespVO.class,
list1);
list1);
}
}

@ -1,34 +1,32 @@
package cn.iocoder.yudao.module.mes.controller.admin.stockworkshop;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.mes.controller.admin.stockworkshop.vo.StockWorkshopDetailPageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.stockworkshop.vo.StockWorkshopDetailRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.stockworkshop.vo.StockWorkshopDetailSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.stockworkshop.StockWorkshopDetailDO;
import cn.iocoder.yudao.module.mes.service.stockworkshop.StockWorkshopDetailService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.*;
import java.io.IOException;
import java.util.List;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.mes.controller.admin.stockworkshop.vo.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.stockworkshop.StockWorkshopDetailDO;
import cn.iocoder.yudao.module.mes.service.stockworkshop.StockWorkshopDetailService;
@Tag(name = "管理后台 - 车间仓明细")
@RestController
@RequestMapping("/mes/stock-workshop-detail")
@ -85,14 +83,14 @@ public class StockWorkshopDetailController {
@PreAuthorize("@ss.hasPermission('mes:stock-workshop-detail:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportStockWorkshopDetailExcel(@Valid StockWorkshopDetailPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<StockWorkshopDetailDO> list = stockWorkshopDetailService.getStockWorkshopDetailPage(pageReqVO).getList();
List<StockWorkshopDetailRespVO> list1 = stockWorkshopDetailService.buildVOList(list);
// 导出 Excel
ExcelUtils.write(response, "车间仓明细.xls", "数据", StockWorkshopDetailRespVO.class,
list1);
list1);
}
}

@ -1,11 +1,13 @@
package cn.iocoder.yudao.module.mes.controller.admin.stockworkshop.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,11 +1,10 @@
package cn.iocoder.yudao.module.mes.controller.admin.stockworkshop.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 车间仓明细新增/修改 Request VO")

@ -1,11 +1,13 @@
package cn.iocoder.yudao.module.mes.controller.admin.stockworkshop.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,13 +1,12 @@
package cn.iocoder.yudao.module.mes.controller.admin.stockworkshop.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import lombok.Data;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 车间仓库存 Response VO")
@Data

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.mes.controller.admin.stockworkshop.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

@ -1,35 +1,32 @@
package cn.iocoder.yudao.module.mes.controller.admin.task;
import cn.iocoder.yudao.module.mes.dal.dataobject.task.ViewTaskProductSummary;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import java.util.*;
import java.io.IOException;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.mes.controller.admin.task.vo.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.task.TaskDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.task.TaskDetailDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.task.ViewTaskProductSummary;
import cn.iocoder.yudao.module.mes.service.task.TaskService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 生产任务单")
@RestController
@ -72,6 +69,7 @@ public class TaskController {
TaskDO task = taskService.getTask(id);
return success(BeanUtils.toBean(task, TaskRespVO.class));
}
@GetMapping("/getTaskList")
@Operation(summary = "获得可查询计划的生产任务单列表")
public CommonResult<List<TaskDO>> getTaskList() {
@ -85,6 +83,7 @@ public class TaskController {
return success(taskDOList);
}
@GetMapping("/getPlanTaskList")
@Operation(summary = "获得可做计划的生产任务单列表")
public CommonResult<List<TaskDO>> getPlanTaskList() {
@ -96,6 +95,7 @@ public class TaskController {
return success(taskDOList);
}
@GetMapping("/pagePlanTask")
@Operation(summary = "获得可安排计划的任务单分页")
@PreAuthorize("@ss.hasPermission('mes:task:query')")
@ -103,6 +103,7 @@ public class TaskController {
PageResult<TaskDO> pageResult = taskService.getTaskPage2(pageReqVO);
return success(BeanUtils.toBean(pageResult, TaskRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得生产任务单分页")
@PreAuthorize("@ss.hasPermission('mes:task:query')")
@ -116,12 +117,12 @@ public class TaskController {
@PreAuthorize("@ss.hasPermission('mes:task:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportTaskExcel(@Valid TaskPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<TaskDO> list = taskService.getTaskPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "生产任务单.xls", "数据", TaskRespVO.class,
BeanUtils.toBean(list, TaskRespVO.class));
BeanUtils.toBean(list, TaskRespVO.class));
}
// ==================== 子表(生产任务单明细) ====================
@ -140,7 +141,7 @@ public class TaskController {
@Parameter(name = "taskId", description = "task ID")
@PreAuthorize("@ss.hasPermission('mes:task:query')")
public CommonResult<PageResult<TaskDetailRespVO>> getTaskDetailPage(PageParam pageReqVO,
@RequestParam("taskId") Long taskId) {
@RequestParam("taskId") Long taskId) {
return success(taskService.getTaskDetailPage(pageReqVO, taskId));
}
@ -175,6 +176,7 @@ public class TaskController {
public CommonResult<TaskDetailDO> getTaskDetail(@RequestParam("id") Long id) {
return success(taskService.getTaskDetail(id));
}
@GetMapping("/task-detail/summary")
@Operation(summary = "获得生产任务单汇总明细")
@Parameter(name = "taskId", description = "task ID")

@ -1,21 +1,11 @@
package cn.iocoder.yudao.module.mes.controller.admin.task;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.erp.service.product.ErpProductService;
import cn.iocoder.yudao.module.mes.controller.admin.bom.vo.BomSaveReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.plan.vo.PlanRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.task.vo.*;
import cn.iocoder.yudao.module.mes.controller.admin.task.vo.TaskPlanParam;
import cn.iocoder.yudao.module.mes.dal.dataobject.plan.PlanDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.task.TaskDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.task.TaskDetailDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.task.ViewTaskProductSummary;
import cn.iocoder.yudao.module.mes.service.bom.BomService;
import cn.iocoder.yudao.module.mes.service.itemrequisition.ItemAnalysisService;
import cn.iocoder.yudao.module.mes.service.itemrequisition.entity.ItemRequisitionAndStock;
@ -24,20 +14,19 @@ import cn.iocoder.yudao.module.mes.service.task.TaskService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 生产任务单")
@ -73,55 +62,57 @@ public class TaskItemNeedController {
List<ItemRequisitionAndStock> list = itemAnalysisService.getItemAnalysis(task);
return success(list);
}
@GetMapping("/item-need/plan")
@Operation(summary = "获得生产计划所需物料")
@Parameter(name = "planId", description = "计划编号", required = true)
public CommonResult< List<ItemRequisitionAndStock>> getPlanItemNeed(@RequestParam("planId") Long planId) {
public CommonResult<List<ItemRequisitionAndStock>> getPlanItemNeed(@RequestParam("planId") Long planId) {
PlanDO plan = planService.getPlan(planId);
List<ItemRequisitionAndStock> list = itemAnalysisService.getItemAnalysis(plan);
return success(list);
}
@GetMapping("/item-need/product")
@Operation(summary = "获得某产品数量所需物料数量")
@Parameter(name = "productId", description = "任务编号", required = true)
public CommonResult<List<ItemRequisitionAndStock>> getProductItemNeed(@RequestParam("productId") Long productId,
@RequestParam("number") Long number) {
List<ItemRequisitionAndStock> list = itemAnalysisService.getItemAnalysis(productId,number);
@RequestParam("number") Long number) {
List<ItemRequisitionAndStock> list = itemAnalysisService.getItemAnalysis(productId, number);
return success(list);
}
/**
* ,ProductsOfPlan
*
* **/
**/
@GetMapping("/generate-plan/byTask")
@Operation(summary = "对生产任务单进行计划")
public CommonResult<List<PlanRespVO>> generatePlanByTask(@Valid TaskPlanParam planParam) {
System.out.println("planParam:"+planParam.toString());
int sizeOfPlan = planParam.getPlanDate()!=null? planParam.getPlanDate().length : 0;
System.out.println("planParam:" + planParam.toString());
int sizeOfPlan = planParam.getPlanDate() != null ? planParam.getPlanDate().length : 0;
Map<Long, List<PlanDO>> planMap = taskService.generatePlan(planParam.getTaskId(), sizeOfPlan, planParam.getProductsOfPlan());
List<PlanDO> list = new ArrayList<>();
//拿到已经存在的计划排最后面的未完成的计划看planMap有无同类产品该产品就排最前
PlanDO planDO = planService.selectLastOne();
Long lastProductId = planDO!=null? planDO.getProductId() : 0;
PlanDO planDO = planService.selectLastOne();
Long lastProductId = planDO != null ? planDO.getProductId() : 0;
int dateCount = 0;
if(lastProductId>0 && planMap.containsKey(lastProductId)){
if (lastProductId > 0 && planMap.containsKey(lastProductId)) {
List<PlanDO> planDOList = planMap.get(lastProductId);
for (int i = 0; i< planDOList.size(); i++){
planDOList.get(i).setPlanEndTime(getNextDate(dateCount, planParam.getPlanDate()) );
planDOList.get(i).setPlanStartTime(getNextDate(dateCount, planParam.getPlanDate()) );
for (int i = 0; i < planDOList.size(); i++) {
planDOList.get(i).setPlanEndTime(getNextDate(dateCount, planParam.getPlanDate()));
planDOList.get(i).setPlanStartTime(getNextDate(dateCount, planParam.getPlanDate()));
dateCount++;
}
list.addAll(planDOList);
}
//遍历剩下的产品
for (Long productId: planMap.keySet()) {
if(lastProductId>0 && productId.equals(lastProductId))continue;
for (Long productId : planMap.keySet()) {
if (lastProductId > 0 && productId.equals(lastProductId)) continue;
List<PlanDO> planDOList = planMap.get(productId);
for (int i = 0; i< planDOList.size(); i++){
planDOList.get(i).setPlanEndTime(getNextDate(dateCount, planParam.getPlanDate()) );
planDOList.get(i).setPlanStartTime(getNextDate(dateCount, planParam.getPlanDate()) );
for (int i = 0; i < planDOList.size(); i++) {
planDOList.get(i).setPlanEndTime(getNextDate(dateCount, planParam.getPlanDate()));
planDOList.get(i).setPlanStartTime(getNextDate(dateCount, planParam.getPlanDate()));
dateCount++;
}
list.addAll(planDOList);
@ -129,10 +120,11 @@ public class TaskItemNeedController {
return success(planService.buildVOList(list));
}
//根据下标取值返回日期天数,如果下标超出则返回最后一天,如果不给定日期,则默认从今天开始
private LocalDateTime getNextDate(int index, LocalDateTime[] dateTimes){
if(dateTimes == null)return LocalDateTime.now().plusDays(index);
else if(index >= dateTimes.length) return dateTimes[dateTimes.length-1];
private LocalDateTime getNextDate(int index, LocalDateTime[] dateTimes) {
if (dateTimes == null) return LocalDateTime.now().plusDays(index);
else if (index >= dateTimes.length) return dateTimes[dateTimes.length - 1];
else return dateTimes[index];
}

@ -1,12 +1,11 @@
package cn.iocoder.yudao.module.mes.controller.admin.task.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import lombok.Data;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 生产任务单明细 Response VO")
@Data

@ -1,17 +1,12 @@
package cn.iocoder.yudao.module.mes.controller.admin.task.vo;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.module.mes.dal.dataobject.plan.PlanDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import java.util.List;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "生产任务单做计划 VO")

@ -1,16 +1,13 @@
package cn.iocoder.yudao.module.mes.controller.admin.task.vo;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.Data;
import java.time.LocalDate;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
@Schema(description = "管理后台 - 生产任务单 Response VO")
@Data

@ -1,16 +1,14 @@
package cn.iocoder.yudao.module.mes.controller.admin.task.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.task.TaskDetailDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.List;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,6 +1,5 @@
package cn.iocoder.yudao.module.mes.controller.admin.task.vo;
import cn.hutool.core.util.ObjUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;

@ -1,34 +1,32 @@
package cn.iocoder.yudao.module.mes.controller.admin.workteam;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import java.util.*;
import java.io.IOException;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.mes.controller.admin.workteam.vo.*;
import cn.iocoder.yudao.module.mes.controller.admin.workteam.vo.WorkTeamPageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.workteam.vo.WorkTeamRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.workteam.vo.WorkTeamSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.workteam.WorkTeamDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.workteam.WorkTeamDetailDO;
import cn.iocoder.yudao.module.mes.service.workteam.WorkTeamService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.util.List;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 生产班组")
@RestController
@ -85,12 +83,12 @@ public class WorkTeamController {
@PreAuthorize("@ss.hasPermission('mes:work-team:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportWorkTeamExcel(@Valid WorkTeamPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<WorkTeamDO> list = workTeamService.getWorkTeamPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "生产班组.xls", "数据", WorkTeamRespVO.class,
BeanUtils.toBean(list, WorkTeamRespVO.class));
BeanUtils.toBean(list, WorkTeamRespVO.class));
}
// ==================== 子表(班组成员) ====================
@ -100,7 +98,7 @@ public class WorkTeamController {
@Parameter(name = "workTeamId", description = "班组id")
@PreAuthorize("@ss.hasPermission('mes:work-team:query')")
public CommonResult<PageResult<WorkTeamDetailDO>> getWorkTeamDetailPage(PageParam pageReqVO,
@RequestParam("workTeamId") Long workTeamId) {
@RequestParam("workTeamId") Long workTeamId) {
return success(workTeamService.getWorkTeamDetailPage(pageReqVO, workTeamId));
}
@ -128,12 +126,12 @@ public class WorkTeamController {
return success(true);
}
@GetMapping("/work-team-detail/get")
@Operation(summary = "获得班组成员")
@Parameter(name = "id", description = "编号", required = true)
@GetMapping("/work-team-detail/get")
@Operation(summary = "获得班组成员")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('mes:work-team:query')")
public CommonResult<WorkTeamDetailDO> getWorkTeamDetail(@RequestParam("id") Long id) {
return success(workTeamService.getWorkTeamDetail(id));
}
public CommonResult<WorkTeamDetailDO> getWorkTeamDetail(@RequestParam("id") Long id) {
return success(workTeamService.getWorkTeamDetail(id));
}
}

@ -1,10 +1,12 @@
package cn.iocoder.yudao.module.mes.controller.admin.workteam.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ -1,14 +1,13 @@
package cn.iocoder.yudao.module.mes.controller.admin.workteam.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 生产班组 Response VO")
@Data

@ -1,7 +1,7 @@
package cn.iocoder.yudao.module.mes.controller.admin.workteam.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.Data;
import javax.validation.constraints.NotNull;

@ -1,7 +1,7 @@
/**
* report
* 1. URL /jmreport jimu_
*
* <p>
*
* 1. Controller URL /report/ Module
* 2. DataObject report_ 便

Loading…
Cancel
Save