装箱单信息查询排序

This commit is contained in:
2023-12-20 15:03:52 +08:00
parent 9f78bbe8c3
commit 259970a317
28 changed files with 1541 additions and 559 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
@@ -127,4 +128,11 @@ public class PrintModelController {
return new Result<String>().ok(code);
}
@GetMapping("getByLineBody/{lineBody}")
@ApiOperation("依据line_body 查询is_enable==1 && type==2 limit 1的数据")
public Result<PrintModelDTO> getByLineBody(@PathVariable("lineBody") Integer lineBody){
PrintModelDTO dto = printModelService.getByLineBody(lineBody);
return new Result<PrintModelDTO>().ok(dto);
}
}

View File

@@ -0,0 +1,125 @@
package com.cnbm.packing.controller;
import com.cnbm.admin.annotation.LogOperation;
import com.cnbm.common.constant.Constant;
import com.cnbm.common.page.PageData;
import com.cnbm.common.utils.ExcelUtils;
import com.cnbm.common.utils.Result;
import com.cnbm.common.validator.AssertUtils;
import com.cnbm.common.validator.ValidatorUtils;
import com.cnbm.common.validator.group.AddGroup;
import com.cnbm.common.validator.group.DefaultGroup;
import com.cnbm.common.validator.group.UpdateGroup;
import com.cnbm.packing.dto.WorkingTimeDTO;
import com.cnbm.packing.excel.WorkingTimeExcel;
import com.cnbm.packing.service.WorkingTimeServiceBiz;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
/**
* 班次时间段 表 前端控制器
*
* @author packingGenerator
* @since 2023-12-19
*/
@RestController
@RequestMapping("/packing/workingTime")
@Api(tags="班次时间段 表")
public class WorkingTimeController {
@Autowired
private WorkingTimeServiceBiz workingTimeService;
@GetMapping("page")
@ApiOperation("分页")
@ApiImplicitParams({
@ApiImplicitParam(name = Constant.PAGE, value = "当前页码从1开始", paramType = "query", required = true, dataTypeClass=Integer.class) ,
@ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query",required = true, dataTypeClass=Integer.class) ,
@ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataTypeClass=String.class) ,
@ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataTypeClass=String.class)
})
@PreAuthorize("@ex.hasAuthority('packing:workingTime:page')")
public Result<PageData<WorkingTimeDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params){
PageData<WorkingTimeDTO> page = workingTimeService.page(params);
return new Result<PageData<WorkingTimeDTO>>().ok(page);
}
@GetMapping("{id}")
@ApiOperation("信息")
@PreAuthorize("@ex.hasAuthority('packing:workingTime:info')")
public Result<WorkingTimeDTO> get(@PathVariable("id") Long id){
WorkingTimeDTO data = workingTimeService.get(id);
return new Result<WorkingTimeDTO>().ok(data);
}
@PostMapping
@ApiOperation("保存")
@LogOperation("保存")
@PreAuthorize("@ex.hasAuthority('packing:workingTime:save')")
public Result<Long> save(@RequestBody WorkingTimeDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
workingTimeService.save(dto);
return new Result<Long>().ok(dto.getId());
}
@PutMapping
@ApiOperation("修改")
@LogOperation("修改")
@PreAuthorize("@ex.hasAuthority('packing:workingTime:update')")
public Result<Long> update(@RequestBody WorkingTimeDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
workingTimeService.update(dto);
return new Result<Long>().ok(dto.getId());
}
@DeleteMapping
@ApiOperation("删除")
@LogOperation("删除")
@PreAuthorize("@ex.hasAuthority('packing:workingTime:delete')")
public Result delete(@RequestBody Long[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
workingTimeService.delete(ids);
return new Result();
}
@GetMapping("export")
@ApiOperation("导出")
@LogOperation("导出")
@PreAuthorize("@ex.hasAuthority('packing:workingTime:export')")
public void export(@ApiIgnore @RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<WorkingTimeDTO> list = workingTimeService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, WorkingTimeExcel.class);
}
@GetMapping("getOrderName")
@ApiOperation("查询时间匹配的班次名称")
public Result<String> getOrderName(@RequestBody LocalDateTime time){
String orderName = workingTimeService.getOrderName(time);
return new Result<String>().ok(orderName);
}
}

View File

@@ -80,4 +80,10 @@ public class PrintModelDTO implements Serializable {
@ApiModelProperty(value = "是否启用0 停用1 启用")
private Integer isEnable;
@ApiModelProperty(value = "场景前端传字符串过来目前固定这几个DZ BIPV")
private String scenes;
@ApiModelProperty(value = "产品等级,目前固定这几个 : A1 A2 A3 A4 NK")
private String productGrade;
}

View File

@@ -0,0 +1,63 @@
package com.cnbm.packing.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 班次时间段 表
*
* @author codeGenerator
* @since 2023-12-19
*/
@Data
@ApiModel(value = "班次时间段 表DTO对象")
public class WorkingTimeDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "ID")
private Long id;
@ApiModelProperty(value = "班次名 ,A/B/C...")
private String orderName;
@ApiModelProperty(value = "班次开始时间, 0点 - 24点")
private LocalDateTime beginTime;
@ApiModelProperty(value = "班次结束时间, 0点 - 24点")
private LocalDateTime endTime;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "删除标志,是否有效:1 可用 0不可用")
private Integer valid;
@ApiModelProperty(value = "创建人")
private Long creatorId;
@ApiModelProperty(value = "创建人姓名")
private String creatorName;
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
@ApiModelProperty(value = "更新人")
private Long updaterId;
@ApiModelProperty(value = "更新人姓名")
private String updaterName;
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
@ApiModelProperty(value = "版本号")
private Integer version;
}

View File

@@ -81,6 +81,12 @@ public class PrintModel implements Serializable {
@ApiModelProperty("是否启用0 停用1 启用")
private Integer isEnable;
@ApiModelProperty("场景前端传字符串过来目前固定这几个DZ BIPV")
private String scenes;
@ApiModelProperty("产品等级,目前固定这几个 : A1 A2 A3 A4 NK")
private String productGrade;
public static final String ID = "ID";
@@ -120,4 +126,8 @@ public class PrintModel implements Serializable {
public static final String IS_ENABLE = "is_enable";
public static final String SCENES = "scenes";
public static final String PRODUCT_GRADE = "product_grade";
}

View File

@@ -0,0 +1,94 @@
package com.cnbm.packing.entity;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 班次时间段 表
* </p>
*
* @author codeGenerator
* @since 2023-12-19
*/
@Data
@TableName("t_working_time")
@ApiModel(value = "WorkingTime对象", description = "班次时间段 表")
public class WorkingTime implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("ID")
private Long id;
@ApiModelProperty("班次名 ,A/B/C...")
private String orderName;
@ApiModelProperty("班次开始时间, 0点 - 24点")
private LocalDateTime beginTime;
@ApiModelProperty("班次结束时间, 0点 - 24点")
private LocalDateTime endTime;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("删除标志,是否有效:1 可用 0不可用")
@TableLogic
private Integer valid;
@ApiModelProperty("创建人")
private Long creatorId;
@ApiModelProperty("创建人姓名")
private String creatorName;
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@ApiModelProperty("更新人")
private Long updaterId;
@ApiModelProperty("更新人姓名")
private String updaterName;
@ApiModelProperty("更新时间")
private LocalDateTime updateTime;
@ApiModelProperty("版本号")
private Integer version;
public static final String ID = "id";
public static final String ORDER_NAME = "order_name";
public static final String BEGIN_TIME = "begin_time";
public static final String END_TIME = "end_time";
public static final String REMARK = "remark";
public static final String VALID = "valid";
public static final String CREATOR_ID = "creator_id";
public static final String CREATOR_NAME = "creator_name";
public static final String CREATE_TIME = "create_time";
public static final String UPDATER_ID = "updater_id";
public static final String UPDATER_NAME = "updater_name";
public static final String UPDATE_TIME = "update_time";
public static final String VERSION = "version";
}

View File

@@ -0,0 +1,43 @@
package com.cnbm.packing.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 班次时间段 表
*
* @author codeGenerator
* @since 2023-12-19
*/
@Data
public class WorkingTimeExcel {
@Excel(name = "ID")
private Long id;
@Excel(name = "班次名 ,A/B/C...")
private String orderName;
@Excel(name = "班次开始时间, 0点 - 24点")
private LocalDateTime beginTime;
@Excel(name = "班次结束时间, 0点 - 24点")
private LocalDateTime endTime;
@Excel(name = "备注")
private String remark;
@Excel(name = "删除标志,是否有效:1 可用 0不可用")
private Integer valid;
@Excel(name = "创建人")
private Long creatorId;
@Excel(name = "创建人姓名")
private String creatorName;
@Excel(name = "创建时间")
private LocalDateTime createTime;
@Excel(name = "更新人")
private Long updaterId;
@Excel(name = "更新人姓名")
private String updaterName;
@Excel(name = "更新时间")
private LocalDateTime updateTime;
@Excel(name = "版本号")
private Integer version;
}

View File

@@ -0,0 +1,23 @@
package com.cnbm.packing.mapper;
import com.cnbm.common.dao.BaseDao;
import com.cnbm.packing.dto.WoPowerLevelDTO;
import com.cnbm.packing.dto.WorkingTimeDTO;
import com.cnbm.packing.entity.WorkingTime;
import org.apache.ibatis.annotations.Mapper;
import java.time.LocalDateTime;
import java.util.List;
/**
* 打印标签模板表
*
* @author codeGenerator
* @since 2023-02-15
*/
@Mapper
public interface WorkingTimeMapper extends BaseDao<WorkingTime> {
List<WorkingTimeDTO> list();
}

View File

@@ -30,4 +30,6 @@ public interface PrintModelServiceBiz extends CrudService<PrintModel, PrintModel
List<PrintModelDTO> list();
String getCode();
PrintModelDTO getByLineBody(Integer lineBody);
}

View File

@@ -0,0 +1,34 @@
package com.cnbm.packing.service;
import com.cnbm.common.page.PageData;
import com.cnbm.common.service.CrudService;
import com.cnbm.packing.dto.WorkingTimeDTO;
import com.cnbm.packing.dto.WorkingTimeDTO;
import com.cnbm.packing.entity.WorkingTime;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
/**
* 班次时间段 表
*
* @author codeGenerator
* @since 2023-12-19
*/
public interface WorkingTimeServiceBiz extends CrudService<WorkingTime, WorkingTimeDTO> {
PageData<WorkingTimeDTO> page (Map<String, Object> params);
WorkingTimeDTO get(Long id);
void save(WorkingTimeDTO dto);
void update(WorkingTimeDTO dto);
void delete(Long[] ids);
List<WorkingTimeDTO> list();
String getOrderName(LocalDateTime time);
}

View File

@@ -107,5 +107,18 @@ public class PrintModelServiceBizImpl extends CrudServiceImpl<PrintModelMapper,
return CodeGeneratorHelper.getPrintModelCode();
}
@Override
public PrintModelDTO getByLineBody(Integer lineBody){
QueryWrapper<PrintModel> wrapper = new QueryWrapper<>();
wrapper.eq(ObjectUtils.isNotNull(lineBody), PrintModel.LINE_BODY, lineBody);
wrapper.eq(PrintModel.IS_ENABLE,1);
wrapper.eq(PrintModel.TYPE,2);
List<PrintModel> list = mapper.selectList(wrapper);
PrintModel entity = new PrintModel();
if(list.size()>0){
entity = list.get(0);
}
return ConvertUtils.sourceToTarget(entity, PrintModelDTO.class);
}
}

View File

@@ -0,0 +1,122 @@
package com.cnbm.packing.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cnbm.admin.utils.BaseSupportUtils;
import com.cnbm.common.page.PageData;
import com.cnbm.common.service.impl.CrudServiceImpl;
import com.cnbm.common.utils.ConvertUtils;
import com.cnbm.packing.dto.WorkingTimeDTO;
import com.cnbm.packing.entity.WorkingTime;
import com.cnbm.packing.mapper.WorkingTimeMapper;
import com.cnbm.packing.service.WorkingTimeServiceBiz;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 班次时间段 表
*
* @author codeGenerator
* @since 2023-12-19
*/
@Service
public class WorkingTimeServiceBizImpl extends CrudServiceImpl<WorkingTimeMapper, WorkingTime, WorkingTimeDTO> implements WorkingTimeServiceBiz {
@Autowired
private WorkingTimeMapper mapper;
@Override
public QueryWrapper<WorkingTime> getWrapper(Map<String, Object> params){
String id = (String)params.get("id");
QueryWrapper<WorkingTime> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), "id", id);
return wrapper;
}
@Override
public PageData<WorkingTimeDTO> page (Map<String, Object> params){
IPage<WorkingTime> page = baseDao.selectPage(
getPage(params, WorkingTime.CREATE_TIME, false),
getWrapper(params)
);
return getPageData(page, WorkingTimeDTO.class);
}
@Override
public WorkingTimeDTO get(Long id) {
WorkingTime entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, WorkingTimeDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(WorkingTimeDTO dto) {
WorkingTime entity = ConvertUtils.sourceToTarget(dto, WorkingTime.class);
BaseSupportUtils.setCommonField(entity);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(WorkingTimeDTO dto) {
WorkingTime entity = ConvertUtils.sourceToTarget(dto, WorkingTime.class);
BaseSupportUtils.setUpdateCommonField(entity);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(Long[] ids) {
//删除
deleteBatchIds(Arrays.asList(ids));
}
@Override
@Transactional(rollbackFor = Exception.class)
public List<WorkingTimeDTO> list() {
List<WorkingTimeDTO> list = mapper.list();
return list;
}
@Override
public String getOrderName(LocalDateTime time) {
LocalTime localTime = time.toLocalTime();
List<WorkingTimeDTO> resultList = new ArrayList<>();
List<WorkingTimeDTO> listAll = mapper.list();
for(WorkingTimeDTO dto : listAll){
LocalTime beginTime = dto.getBeginTime().toLocalTime();
LocalTime endTime = dto.getEndTime().toLocalTime();
if(beginTime.isBefore(endTime)) {
if (localTime.isBefore(endTime) && localTime.isAfter(beginTime)) {
resultList.add(dto);
}
}
else if(localTime.isAfter(endTime)||localTime.isBefore(beginTime)){
resultList.add(dto);
}
}
String orderName = null;
if(resultList.size()>0){
orderName = resultList.get(0).getOrderName();
}
return orderName;
}
}