feat:预炸
This commit is contained in:
@@ -168,4 +168,12 @@ public class CoolDateUtils {
|
|||||||
|
|
||||||
return lastMonthSameDay.format(getDateFormatter(DATE_FORMAT_DAY));
|
return lastMonthSameDay.format(getDateFormatter(DATE_FORMAT_DAY));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static long getMinutesBetween(Date startDate, Date endDate) {
|
||||||
|
Instant start = startDate.toInstant();
|
||||||
|
Instant end = endDate.toInstant();
|
||||||
|
Duration duration = Duration.between(start, end);
|
||||||
|
return duration.toMinutes();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.cool.store.constants.CommonConstants;
|
|||||||
import com.cool.store.dto.pre.fry.DailyFryCountDTO;
|
import com.cool.store.dto.pre.fry.DailyFryCountDTO;
|
||||||
import com.cool.store.dto.pre.fry.PreFryRecordQueryDTO;
|
import com.cool.store.dto.pre.fry.PreFryRecordQueryDTO;
|
||||||
import com.cool.store.dto.pre.fry.PreFryRecordsDTO;
|
import com.cool.store.dto.pre.fry.PreFryRecordsDTO;
|
||||||
|
import com.cool.store.dto.pre.fry.ViolationDTO;
|
||||||
import com.cool.store.entity.PreFryRecordsDO;
|
import com.cool.store.entity.PreFryRecordsDO;
|
||||||
import com.cool.store.mapper.PreFryRecordsMapper;
|
import com.cool.store.mapper.PreFryRecordsMapper;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
@@ -11,6 +12,7 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@@ -51,6 +53,13 @@ public class PreFryRecordsDAO {
|
|||||||
return preFryRecordsMapper.selectByPrimaryKey(id);
|
return preFryRecordsMapper.selectByPrimaryKey(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<PreFryRecordsDO> queryByIds(List<Long> ids) {
|
||||||
|
if (CollectionUtils.isEmpty(ids)) {
|
||||||
|
return new ArrayList<>();
|
||||||
|
}
|
||||||
|
return preFryRecordsMapper.selectByIds(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public int batchUpdateStageByIds( List<Long> ids,
|
public int batchUpdateStageByIds( List<Long> ids,
|
||||||
Integer currentStage){
|
Integer currentStage){
|
||||||
@@ -81,7 +90,12 @@ public class PreFryRecordsDAO {
|
|||||||
return preFryRecordsMapper.selectByQueryDTO(dto);
|
return preFryRecordsMapper.selectByQueryDTO(dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void batchUpdateViolation(List<ViolationDTO> violationList) {
|
||||||
|
if (CollectionUtils.isEmpty(violationList)){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
preFryRecordsMapper.batchUpdateViolation(violationList);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.cool.store.mapper;
|
|||||||
import com.cool.store.dto.pre.fry.DailyFryCountDTO;
|
import com.cool.store.dto.pre.fry.DailyFryCountDTO;
|
||||||
import com.cool.store.dto.pre.fry.PreFryRecordQueryDTO;
|
import com.cool.store.dto.pre.fry.PreFryRecordQueryDTO;
|
||||||
import com.cool.store.dto.pre.fry.PreFryRecordsDTO;
|
import com.cool.store.dto.pre.fry.PreFryRecordsDTO;
|
||||||
|
import com.cool.store.dto.pre.fry.ViolationDTO;
|
||||||
import com.cool.store.entity.PreFryRecordsDO;
|
import com.cool.store.entity.PreFryRecordsDO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import tk.mybatis.mapper.common.Mapper;
|
import tk.mybatis.mapper.common.Mapper;
|
||||||
@@ -17,6 +18,8 @@ public interface PreFryRecordsMapper extends Mapper<PreFryRecordsDO> {
|
|||||||
int batchUpdateStageByIds(@Param("ids") List<Long> ids,
|
int batchUpdateStageByIds(@Param("ids") List<Long> ids,
|
||||||
@Param("currentStage") Integer currentStage);
|
@Param("currentStage") Integer currentStage);
|
||||||
|
|
||||||
|
List<PreFryRecordsDO> selectByIds(@Param("ids") List<Long> ids);
|
||||||
|
|
||||||
List<PreFryRecordsDO> selectByStoreAndDateStage(
|
List<PreFryRecordsDO> selectByStoreAndDateStage(
|
||||||
@Param("storeCode") String storeCode,
|
@Param("storeCode") String storeCode,
|
||||||
@Param("yesterdayStageList") List<Integer> yesterdayStageList,
|
@Param("yesterdayStageList") List<Integer> yesterdayStageList,
|
||||||
@@ -29,6 +32,6 @@ public interface PreFryRecordsMapper extends Mapper<PreFryRecordsDO> {
|
|||||||
|
|
||||||
List<PreFryRecordsDTO> selectByQueryDTO(@Param("query") PreFryRecordQueryDTO dto);
|
List<PreFryRecordsDTO> selectByQueryDTO(@Param("query") PreFryRecordQueryDTO dto);
|
||||||
|
|
||||||
|
void batchUpdateViolation(@Param("list") List<ViolationDTO> violationList);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
<result column="current_stage" jdbcType="TINYINT" property="currentStage" />
|
<result column="current_stage" jdbcType="TINYINT" property="currentStage" />
|
||||||
<result column="current_apply_type" jdbcType="TINYINT" property="currentApplyType" />
|
<result column="current_apply_type" jdbcType="TINYINT" property="currentApplyType" />
|
||||||
<result column="violation_flag" jdbcType="TINYINT" property="violationFlag" />
|
<result column="violation_flag" jdbcType="TINYINT" property="violationFlag" />
|
||||||
<result column="violation_reason" jdbcType="TINYINT" property="violationReason" />
|
<result column="violation_reason" jdbcType="VARCHAR" property="violationReason" />
|
||||||
<result column="created_time" jdbcType="TIMESTAMP" property="createdTime" />
|
<result column="created_time" jdbcType="TIMESTAMP" property="createdTime" />
|
||||||
<result column="updated_time" jdbcType="TIMESTAMP" property="updatedTime" />
|
<result column="updated_time" jdbcType="TIMESTAMP" property="updatedTime" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
@@ -43,6 +43,16 @@
|
|||||||
</foreach>
|
</foreach>
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<select id="selectByIds" resultMap="BaseResultMap">
|
||||||
|
SELECT * FROM xfsg_pre_fry_records
|
||||||
|
WHERE id IN
|
||||||
|
<foreach collection="ids" item="id" open="(" separator="," close=")">
|
||||||
|
#{id}
|
||||||
|
</foreach>
|
||||||
|
ORDER BY created_time DESC
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<select id="selectByStoreAndDateStage" resultMap="BaseResultMap">
|
<select id="selectByStoreAndDateStage" resultMap="BaseResultMap">
|
||||||
SELECT * FROM xfsg_pre_fry_records
|
SELECT * FROM xfsg_pre_fry_records
|
||||||
WHERE store_code = #{storeCode}
|
WHERE store_code = #{storeCode}
|
||||||
@@ -110,12 +120,33 @@
|
|||||||
AND a.violation_flag = #{query.violationFlag}
|
AND a.violation_flag = #{query.violationFlag}
|
||||||
</if>
|
</if>
|
||||||
<if test="query.violationReason != null">
|
<if test="query.violationReason != null">
|
||||||
AND a.violation_reason = #{query.violationReason}
|
AND a.violation_reason LIKE CONCAT('%', #{query.violationReason}, '%')
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
ORDER BY a.fry_date DESC
|
ORDER BY a.fry_date DESC
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<update id="batchUpdateViolation">
|
||||||
|
UPDATE xfsg_pre_fry_records
|
||||||
|
SET
|
||||||
|
violation_flag = CASE id
|
||||||
|
<foreach collection="list" item="item">
|
||||||
|
WHEN #{item.id} THEN #{item.violationFlag}
|
||||||
|
</foreach>
|
||||||
|
ELSE violation_flag
|
||||||
|
END,
|
||||||
|
violation_reason = CASE id
|
||||||
|
<foreach collection="list" item="item">
|
||||||
|
WHEN #{item.id} THEN #{item.violationReason}
|
||||||
|
</foreach>
|
||||||
|
ELSE violation_reason
|
||||||
|
END,
|
||||||
|
updated_time = NOW()
|
||||||
|
WHERE id IN
|
||||||
|
<foreach collection="list" item="item" open="(" separator="," close=")">
|
||||||
|
#{item.id}
|
||||||
|
</foreach>
|
||||||
|
</update>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -32,6 +32,6 @@ public class PreFryRecordsDTO {
|
|||||||
@ApiModelProperty("是否违规")
|
@ApiModelProperty("是否违规")
|
||||||
private Integer violationFlag;
|
private Integer violationFlag;
|
||||||
@ApiModelProperty("违规原因")
|
@ApiModelProperty("违规原因")
|
||||||
private Integer violationReason;
|
private String violationReason;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ public class PreFryRecordsDetailDTO {
|
|||||||
|
|
||||||
@ApiModelProperty( "门店编码")
|
@ApiModelProperty( "门店编码")
|
||||||
private String storeCode;
|
private String storeCode;
|
||||||
|
@ApiModelProperty( "门店名称")
|
||||||
|
private String storeName;
|
||||||
|
|
||||||
@ApiModelProperty( "预炸产品编码")
|
@ApiModelProperty( "预炸产品编码")
|
||||||
private Long productId;
|
private Long productId;
|
||||||
@@ -43,6 +45,12 @@ public class PreFryRecordsDetailDTO {
|
|||||||
@ApiModelProperty( "申请类型")
|
@ApiModelProperty( "申请类型")
|
||||||
private Integer currentApplyType;
|
private Integer currentApplyType;
|
||||||
|
|
||||||
|
@ApiModelProperty("是否违规")
|
||||||
|
private Integer violationFlag;
|
||||||
|
|
||||||
|
@ApiModelProperty("违规原因")
|
||||||
|
private String violationReason;
|
||||||
|
|
||||||
@ApiModelProperty( "状态记录")
|
@ApiModelProperty( "状态记录")
|
||||||
private List<PreFryStageImagesDTO> stageHistory;
|
private List<PreFryStageImagesDTO> stageHistory;
|
||||||
|
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ public class PreFryRecordsDO {
|
|||||||
@Column(name = "updated_flag")
|
@Column(name = "updated_flag")
|
||||||
private Integer violationFlag;
|
private Integer violationFlag;
|
||||||
@Column(name = "violation_reason")
|
@Column(name = "violation_reason")
|
||||||
private Integer violationReason;
|
private String violationReason;
|
||||||
|
|
||||||
|
|
||||||
public Integer getViolationFlag() {
|
public Integer getViolationFlag() {
|
||||||
@@ -84,11 +84,11 @@ public class PreFryRecordsDO {
|
|||||||
this.violationFlag = violationFlag;
|
this.violationFlag = violationFlag;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Integer getViolationReason() {
|
public String getViolationReason() {
|
||||||
return violationReason;
|
return violationReason;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setViolationReason(Integer violationReason) {
|
public void setViolationReason(String violationReason) {
|
||||||
this.violationReason = violationReason;
|
this.violationReason = violationReason;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,17 +1,12 @@
|
|||||||
package com.cool.store.service.impl;
|
package com.cool.store.service.impl;
|
||||||
|
|
||||||
import com.cool.store.dao.PreFriedProductsDAO;
|
import com.cool.store.dao.*;
|
||||||
import com.cool.store.dao.PreFryQualificationApplyDAO;
|
|
||||||
import com.cool.store.dao.PreFryRecordsDAO;
|
|
||||||
import com.cool.store.dao.PreFryStageChangesDAO;
|
|
||||||
import com.cool.store.dto.pre.fry.*;
|
import com.cool.store.dto.pre.fry.*;
|
||||||
import com.cool.store.entity.PreFriedProductsDO;
|
import com.cool.store.entity.*;
|
||||||
import com.cool.store.entity.PreFryQualificationApplyDO;
|
|
||||||
import com.cool.store.entity.PreFryRecordsDO;
|
|
||||||
import com.cool.store.entity.PreFryStageChangesDO;
|
|
||||||
import com.cool.store.enums.ErrorCodeEnum;
|
import com.cool.store.enums.ErrorCodeEnum;
|
||||||
import com.cool.store.enums.PreFryApplyTypeEnum;
|
import com.cool.store.enums.PreFryApplyTypeEnum;
|
||||||
import com.cool.store.enums.PreFryStageEnum;
|
import com.cool.store.enums.PreFryStageEnum;
|
||||||
|
import com.cool.store.enums.ViolationEnum;
|
||||||
import com.cool.store.exception.ServiceException;
|
import com.cool.store.exception.ServiceException;
|
||||||
import com.cool.store.service.PreFryRecordsService;
|
import com.cool.store.service.PreFryRecordsService;
|
||||||
import com.cool.store.utils.CoolDateUtils;
|
import com.cool.store.utils.CoolDateUtils;
|
||||||
@@ -97,15 +92,72 @@ public class PreFryRecordsServiceImpl implements PreFryRecordsService {
|
|||||||
preFryStageChangesDO.setImage1(x.getImage1());
|
preFryStageChangesDO.setImage1(x.getImage1());
|
||||||
preFryStageChangesDO.setImage2(x.getImage2());
|
preFryStageChangesDO.setImage2(x.getImage2());
|
||||||
preFryStageChangesDO.setOperatorName(user.getUsername());
|
preFryStageChangesDO.setOperatorName(user.getUsername());
|
||||||
|
preFryStageChangesDO.setCreatedTime(new Date());
|
||||||
recordList.add(x.getRecordId());
|
recordList.add(x.getRecordId());
|
||||||
list.add(preFryStageChangesDO);
|
list.add(preFryStageChangesDO);
|
||||||
});
|
});
|
||||||
preFryRecordsDAO.batchUpdateStageByIds(recordList,addPreFryRecordsDTO.getCurrentStage());
|
preFryRecordsDAO.batchUpdateStageByIds(recordList,addPreFryRecordsDTO.getCurrentStage());
|
||||||
|
handleViolationFlag(recordList,addPreFryRecordsDTO.getApplyType(),addPreFryRecordsDTO.getCurrentStage(),list);
|
||||||
}
|
}
|
||||||
preFryStageChangesDAO.batchInsert(list);
|
preFryStageChangesDAO.batchInsert(list);
|
||||||
return Boolean.TRUE;
|
return Boolean.TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void handleViolationFlag(List<Long> recordList ,Integer applyType,Integer currentStage,List<PreFryStageChangesDO> list) {
|
||||||
|
//如果最高级优先级是冷藏展示柜 计算是否违规 冷却时间小于15分钟或者大于25分钟 违规 冰箱取出时间距离预炸完成时间超过24小时
|
||||||
|
if (PreFryApplyTypeEnum.HAS_REFRIGERATED_DISPLAY.getCode()==applyType&&
|
||||||
|
(STORED_IN_DISPLAY_CABINET.getCode()==currentStage||STORED_IN_FRIDGE.getCode()==currentStage)){
|
||||||
|
List<PreFryRecordsDO> records = preFryRecordsDAO.queryByIds(recordList);
|
||||||
|
Map<Long,PreFryRecordsDO> recordMap = records.stream().collect(Collectors.toMap(PreFryRecordsDO::getId, data->data));
|
||||||
|
//list 转为 map 记录id与创建时间
|
||||||
|
Map<Long,Date> listMap = list.stream().collect(Collectors.toMap(PreFryStageChangesDO::getRecordId, PreFryStageChangesDO::getCreatedTime));
|
||||||
|
List<ViolationDTO> violationList = new ArrayList<>();
|
||||||
|
if (STORED_IN_DISPLAY_CABINET.getCode()==currentStage){
|
||||||
|
recordList.forEach(x->{
|
||||||
|
PreFryRecordsDO preFryRecordsDO = recordMap.get(x);
|
||||||
|
Long time = getTime(preFryRecordsDO.getFryCompleteTime(), listMap.get(x));
|
||||||
|
if (time!=null&&(time<15||time>25)){
|
||||||
|
ViolationDTO violationDTO = new ViolationDTO();
|
||||||
|
violationDTO.setId(x);
|
||||||
|
violationDTO.setViolationFlag(ViolationEnum.COOLING_TIME_EXCEEDED.getCode());
|
||||||
|
violationDTO.setViolationReason(String.format(",%d,", ViolationEnum.COOLING_TIME_EXCEEDED.getCode()));
|
||||||
|
violationList.add(violationDTO);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}else if (STORED_IN_FRIDGE.getCode()==currentStage){
|
||||||
|
recordList.forEach(x->{
|
||||||
|
PreFryRecordsDO preFryRecordsDO = recordMap.get(x);
|
||||||
|
Long time = getTime(preFryRecordsDO.getFryCompleteTime(), listMap.get(x));
|
||||||
|
if (time!=null&&time>24*60){
|
||||||
|
ViolationDTO violationDTO = new ViolationDTO();
|
||||||
|
violationDTO.setId(x);
|
||||||
|
violationDTO.setViolationFlag(ViolationEnum.STORAGE_TIME_EXCEEDED.getCode());
|
||||||
|
if (StringUtils.isEmpty(preFryRecordsDO.getViolationReason())){
|
||||||
|
violationDTO.setViolationReason(String.format(",%d,", ViolationEnum.STORAGE_TIME_EXCEEDED.getCode()));
|
||||||
|
}else {
|
||||||
|
violationDTO.setViolationReason(preFryRecordsDO.getViolationReason()+String.format("%d,", ViolationEnum.STORAGE_TIME_EXCEEDED.getCode()));
|
||||||
|
}
|
||||||
|
violationList.add(violationDTO);
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (!violationList.isEmpty()) {
|
||||||
|
preFryRecordsDAO.batchUpdateViolation(violationList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private Long getTime(Date startTime,Date endTime){
|
||||||
|
if (startTime==null||endTime==null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return CoolDateUtils.getMinutesBetween(startTime,endTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageInfo<PreFryRecordsDetailDTO> ListByStoreCodeAndDate(FryRecordsQueryDTO dto) {
|
public PageInfo<PreFryRecordsDetailDTO> ListByStoreCodeAndDate(FryRecordsQueryDTO dto) {
|
||||||
PageHelper.startPage(dto.getPageNum(),dto.getPageSize());
|
PageHelper.startPage(dto.getPageNum(),dto.getPageSize());
|
||||||
@@ -146,6 +198,9 @@ public class PreFryRecordsServiceImpl implements PreFryRecordsService {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
StoreDao storeDao;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PreFryRecordsDetailDTO getById(Long id) {
|
public PreFryRecordsDetailDTO getById(Long id) {
|
||||||
PreFryRecordsDO preFryRecordsDO = preFryRecordsDAO.queryById(id);
|
PreFryRecordsDO preFryRecordsDO = preFryRecordsDAO.queryById(id);
|
||||||
@@ -154,21 +209,30 @@ public class PreFryRecordsServiceImpl implements PreFryRecordsService {
|
|||||||
}
|
}
|
||||||
List<PreFryStageImagesDTO> preFryStageImagesDTOS = preFryStageChangesDAO.selectByRecordId(id);
|
List<PreFryStageImagesDTO> preFryStageImagesDTOS = preFryStageChangesDAO.selectByRecordId(id);
|
||||||
PreFriedProductsDO preFriedProductsDO = preFriedProductsDAO.queryById(preFryRecordsDO.getProductId());
|
PreFriedProductsDO preFriedProductsDO = preFriedProductsDAO.queryById(preFryRecordsDO.getProductId());
|
||||||
|
StoreDO store = storeDao.getByStoreNum(preFryRecordsDO.getStoreCode());
|
||||||
PreFryRecordsDetailDTO preFryRecordsDetailDTO = new PreFryRecordsDetailDTO();
|
PreFryRecordsDetailDTO preFryRecordsDetailDTO = new PreFryRecordsDetailDTO();
|
||||||
|
if (store != null) {
|
||||||
|
preFryRecordsDetailDTO.setStoreName(store.getStoreName());
|
||||||
|
}
|
||||||
preFryRecordsDetailDTO.setId(preFryRecordsDO.getId());
|
preFryRecordsDetailDTO.setId(preFryRecordsDO.getId());
|
||||||
preFryRecordsDetailDTO.setStoreCode(preFryRecordsDO.getStoreCode());
|
preFryRecordsDetailDTO.setStoreCode(preFryRecordsDO.getStoreCode());
|
||||||
preFryRecordsDetailDTO.setProductId(preFryRecordsDO.getProductId());
|
preFryRecordsDetailDTO.setProductId(preFryRecordsDO.getProductId());
|
||||||
preFryRecordsDetailDTO.setRecordCode(preFryRecordsDO.getRecordCode());
|
preFryRecordsDetailDTO.setRecordCode(preFryRecordsDO.getRecordCode());
|
||||||
preFryRecordsDetailDTO.setProductName(preFriedProductsDO.getProductName());
|
if (preFriedProductsDO!=null){
|
||||||
preFryRecordsDetailDTO.setProductImageUrl(preFriedProductsDO.getProductImage());
|
preFryRecordsDetailDTO.setProductName(preFriedProductsDO.getProductName());
|
||||||
|
preFryRecordsDetailDTO.setProductImageUrl(preFriedProductsDO.getProductImage());
|
||||||
|
}
|
||||||
preFryRecordsDetailDTO.setFryCompleteTime(preFryRecordsDO.getFryCompleteTime());
|
preFryRecordsDetailDTO.setFryCompleteTime(preFryRecordsDO.getFryCompleteTime());
|
||||||
preFryRecordsDetailDTO.setLatestSaleTime(preFryRecordsDO.getLatestSaleTime());
|
preFryRecordsDetailDTO.setLatestSaleTime(preFryRecordsDO.getLatestSaleTime());
|
||||||
preFryRecordsDetailDTO.setCurrentStage(preFryRecordsDO.getCurrentStage());
|
preFryRecordsDetailDTO.setCurrentStage(preFryRecordsDO.getCurrentStage());
|
||||||
preFryRecordsDetailDTO.setCurrentApplyType(preFryRecordsDO.getCurrentApplyType());
|
preFryRecordsDetailDTO.setCurrentApplyType(preFryRecordsDO.getCurrentApplyType());
|
||||||
|
preFryRecordsDetailDTO.setViolationFlag(preFryRecordsDO.getViolationFlag());
|
||||||
|
preFryRecordsDetailDTO.setViolationReason(getViolationReasonChinese(preFryRecordsDO.getViolationReason()));
|
||||||
preFryRecordsDetailDTO.setStageHistory(preFryStageImagesDTOS);
|
preFryRecordsDetailDTO.setStageHistory(preFryStageImagesDTOS);
|
||||||
return preFryRecordsDetailDTO;
|
return preFryRecordsDetailDTO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DailyFryCountDTO> queryByStoreCode(String storeCode,Long time) {
|
public List<DailyFryCountDTO> queryByStoreCode(String storeCode,Long time) {
|
||||||
return preFryRecordsDAO.selectDailyFryCountInCurrentMonth(storeCode, time);
|
return preFryRecordsDAO.selectDailyFryCountInCurrentMonth(storeCode, time);
|
||||||
@@ -178,6 +242,9 @@ public class PreFryRecordsServiceImpl implements PreFryRecordsService {
|
|||||||
public PageInfo<PreFryRecordsDTO> queryByQueryDTO(PreFryRecordQueryDTO dto) {
|
public PageInfo<PreFryRecordsDTO> queryByQueryDTO(PreFryRecordQueryDTO dto) {
|
||||||
PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
|
PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
|
||||||
List<PreFryRecordsDTO> preFryRecordQueryDTOS = preFryRecordsDAO.selectByQueryDTO(dto);
|
List<PreFryRecordsDTO> preFryRecordQueryDTOS = preFryRecordsDAO.selectByQueryDTO(dto);
|
||||||
|
preFryRecordQueryDTOS.forEach(x->{
|
||||||
|
x.setViolationReason(getViolationReasonChinese(x.getViolationReason()));
|
||||||
|
});
|
||||||
PageInfo<PreFryRecordsDTO> preFryRecordQueryDTOPageInfo = new PageInfo<>(preFryRecordQueryDTOS);
|
PageInfo<PreFryRecordsDTO> preFryRecordQueryDTOPageInfo = new PageInfo<>(preFryRecordQueryDTOS);
|
||||||
return preFryRecordQueryDTOPageInfo;
|
return preFryRecordQueryDTOPageInfo;
|
||||||
}
|
}
|
||||||
@@ -213,5 +280,30 @@ public class PreFryRecordsServiceImpl implements PreFryRecordsService {
|
|||||||
return "14" + today + String.format("%04d", ThreadLocalRandom.current().nextInt(100000));
|
return "14" + today + String.format("%04d", ThreadLocalRandom.current().nextInt(100000));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据违规原因字符串获取中文描述
|
||||||
|
* @param violationReason 违规原因字符串,格式如 ",1,2,"、",1," 或 ",2,"
|
||||||
|
* @return 格式化后的中文违规原因,如 "冷却时间超标,存储时间超标"
|
||||||
|
*/
|
||||||
|
public String getViolationReasonChinese(String violationReason) {
|
||||||
|
if (StringUtils.isBlank(violationReason)) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
// 分割字符串并过滤有效数字
|
||||||
|
List<Integer> reasonCodes = Arrays.stream(violationReason.split(","))
|
||||||
|
.filter(StringUtils::isNotBlank)
|
||||||
|
.map(String::trim)
|
||||||
|
.map(Integer::valueOf)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 转换为中文描述
|
||||||
|
return reasonCodes.stream()
|
||||||
|
.map(code -> ViolationEnum.getByCode(code))
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.map(ViolationEnum::getDescription)
|
||||||
|
.collect(Collectors.joining(","));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,5 +37,12 @@ public class PCPreFryRecordsController {
|
|||||||
return ResponseResult.success(preFryRecordsService.queryByQueryDTO(dto));
|
return ResponseResult.success(preFryRecordsService.queryByQueryDTO(dto));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("预炸记录详情列表")
|
||||||
|
@GetMapping("/queryById")
|
||||||
|
public ResponseResult<PreFryRecordsDetailDTO> queryById(@RequestParam(required = true, value = "id") Long id) {
|
||||||
|
log.info("预炸记录详情:{}", JSONObject.toJSONString(id));
|
||||||
|
return ResponseResult.success(preFryRecordsService.getById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user