大批量配置

master
张乾翔 3 days ago
parent d18f7af65c
commit 3068a2b4fe
  1. 14
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/entity/BatConfig.java
  2. 1
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/pojo/vo/BatConfigVO.java
  3. 27
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/BatConfigMapper.xml
  4. 20
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/BatConfigServiceImpl.java
  5. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/OemServiceImpl.java
  6. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/WorkCenterServiceImpl.java

@ -3,6 +3,8 @@
*/
package org.springblade.desk.basic.pojo.entity;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@ -10,6 +12,7 @@ import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import java.io.Serial;
import java.math.BigDecimal;
/**
* [批量配置] 实体类
@ -95,12 +98,14 @@ public class BatConfig extends BaseEntity {
* 面积
*/
@Schema(description = "面积")
private Long area;
@TableField(updateStrategy = FieldStrategy.ALWAYS)
private BigDecimal area;
/**
* 单件面积
*/
@Schema(description = "单件面积")
private Long singletonArea;
@TableField(updateStrategy = FieldStrategy.ALWAYS)
private BigDecimal singletonArea;
/**
* [零件]id
*/
@ -126,4 +131,9 @@ public class BatConfig extends BaseEntity {
*/
@Schema(description = "备注")
private String remark;
@TableField(exist = false)
private String caCode;
@TableField(exist = false)
private String caName;
}

@ -20,5 +20,6 @@ import java.io.Serial;
public class BatConfigVO extends BatConfig {
@Serial
private static final long serialVersionUID = 1L;
private String updateUserName;
}

@ -4,7 +4,8 @@
<mapper namespace="org.springblade.desk.basic.mapper.BatConfigMapper">
<!-- 通用查询映射结果 -->
<resultMap id="batConfigResultMap" type="org.springblade.desk.basic.pojo.entity.BatConfig">
<resultMap id="batConfigResultMap" type="org.springblade.desk.basic.pojo.vo.BatConfigVO">
<result column="ID" property="id"/>
<result column="CODE" property="code"/>
<result column="BAT_CONFIG_TYPE" property="batConfigType"/>
<result column="NAME" property="name"/>
@ -16,12 +17,32 @@
<result column="DESCRIBE" property="describe"/>
<result column="SORT" property="sort"/>
<result column="REMARK" property="remark"/>
<result column="UPDATE_USER" property="updateUser"/>
<result column="UPDATE_TIME" property="updateTime"/>
<result column="CA_CODE" property="caCode"/>
<result column="CA_NAME" property="caName"/>
</resultMap>
<select id="selectBatConfigPage" resultMap="batConfigResultMap">
SELECT *
SELECT BS_BAT_CONFIG.ID ,
BS_BAT_CONFIG.CODE ,
BS_BAT_CONFIG.BAT_CONFIG_TYPE ,
BS_BAT_CONFIG.NAME ,
BS_BAT_CONFIG.CA_ID ,
BS_BAT_CONFIG.AREA ,
BS_BAT_CONFIG.SINGLETON_AREA ,
BS_BAT_CONFIG.PART_ID ,
BS_BAT_CONFIG.PART_CODE ,
BS_BAT_CONFIG.DESCRIBE ,
BS_BAT_CONFIG.SORT ,
BS_BAT_CONFIG.REMARK,
BS_BAT_CONFIG.UPDATE_USER,
BS_BAT_CONFIG.UPDATE_TIME,
BS_CRAFT_ABILITY.CA_CODE,
BS_CRAFT_ABILITY.CA_NAME
FROM BS_BAT_CONFIG
WHERE is_deleted = 0
LEFT join BS_CRAFT_ABILITY on BS_BAT_CONFIG.CA_ID = BS_CRAFT_ABILITY.ID and BS_CRAFT_ABILITY.is_deleted = 0
WHERE BS_BAT_CONFIG.is_deleted = 0
</select>
<select id="exportBatConfig" resultType="org.springblade.desk.basic.excel.BatConfigExcel">

@ -22,9 +22,14 @@ import org.springblade.desk.basic.pojo.entity.BatConfig;
import org.springblade.desk.basic.pojo.vo.BatConfigVO;
import org.springblade.desk.basic.service.IBatConfigService;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* [批量配置] 服务实现类
@ -44,7 +49,18 @@ public class BatConfigServiceImpl extends BaseServiceImpl<BatConfigMapper, BatCo
@Override
public IPage<BatConfigVO> selectBatConfigPage(IPage<BatConfigVO> page, BatConfigVO batConfig) {
return page.setRecords(baseMapper.selectBatConfigPage(page, batConfig));
List<BatConfigVO> batConfigVOS = baseMapper.selectBatConfigPage(page, batConfig);
String s = batConfigVOS
.stream()
.map(bc -> Objects.nonNull(bc.getUpdateUser()) ? String.valueOf(bc.getUpdateUser()) : "")
.distinct()
.collect(Collectors.joining(","));
List<User> teams = userClient.userListByIds(s);
Map<Long, String> userMap = teams.stream().collect(Collectors.toMap(User::getId, User::getRealName));
batConfigVOS.forEach(b ->
b.setUpdateUserName(userMap.get(b.getUpdateUser()))
);
return page.setRecords(batConfigVOS);
}
@Override
@ -68,7 +84,7 @@ public class BatConfigServiceImpl extends BaseServiceImpl<BatConfigMapper, BatCo
.eq(BatConfig::getIsDeleted, CommonConstant.DELETE_FALSE)
.eq(BatConfig::getCaId, hostCaId)
.eq(partIsNotBlank, BatConfig::getPartCode, part)
.le(partIsNotBlank, BatConfig::getSingletonArea, singletonArea)
.le(partIsNotBlank, BatConfig::getSingletonArea, BigDecimal.valueOf(singletonArea))
.orderByDesc(BatConfig::getSingletonArea);
List<BatConfig> batConfigList = baseMapper.selectList(wrapper);

@ -32,6 +32,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.function.Function;
import java.util.stream.Collectors;
@ -123,7 +124,8 @@ public class OemServiceImpl extends BaseServiceImpl<OemMapper, Oem> implements I
//如果没有设置大批量配置,则外协商全部装起来
if (cs != null) {
//如果单批面积大于等于设定面积,则为大批量,反之为小批量
if (area >= cs.getArea()) {
Double csArea = Objects.isNull(cs.getArea()) ? 0.0 : cs.getArea().doubleValue();
if (area >= csArea) {
if (CommonConstant.BOOLEAN_FALSE.equals(ability.getIsBatch())) {
continue;
}

@ -25,6 +25,7 @@ import org.springframework.stereotype.Service;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
* [作业中心] 服务实现类
@ -87,7 +88,9 @@ public class WorkCenterServiceImpl extends BaseServiceImpl<WorkCenterMapper, Wor
//如果零件xxx-xxx匹配到了设置,且单件面积不为null
if (StringUtils.isNotBlank(cs.getPartCode()) && cs.getSingletonArea() != null) {
//单批面积大于等于设定的单批面积并且单件面积大于等于设定的单件面积,则代表是大批量
if (area >= cs.getArea() && ypArea >= cs.getSingletonArea()) {
Double csArea = Objects.isNull(cs.getArea()) ? 0.0 : cs.getArea().doubleValue();
Double csSingletonArea = Objects.isNull(cs.getSingletonArea()) ? 0.0 : cs.getSingletonArea().doubleValue();
if (area >= csArea && ypArea >= csSingletonArea) {
if (workCenter.getBigBatch() == 0) {
continue;
}
@ -98,7 +101,8 @@ public class WorkCenterServiceImpl extends BaseServiceImpl<WorkCenterMapper, Wor
}
//如果单批面积大于等于设定面积或者单件面积大于等于0.07,则为大批量,反之为小批量
} else {
if (area >= cs.getArea() || ypArea >= 0.06) {
Double csArea = Objects.isNull(cs.getArea()) ? 0.0 : cs.getArea().doubleValue();
if (area >= csArea || ypArea >= 0.06) {
if (workCenter.getBigBatch() == 0) {
continue;
}

Loading…
Cancel
Save