| | |
| | | ADD COLUMN `value_mode` tinyint DEFAULT '1' COMMENT '弿¨¡å¼(1åå¼ 2åºé´)', |
| | | ADD COLUMN `unit` varchar(50) DEFAULT NULL COMMENT 'åä½', |
| | | ADD COLUMN `remark` varchar(255) DEFAULT NULL COMMENT '夿³¨'; |
| | | |
| | | ALTER TABLE process_route_item_param |
| | | DROP COLUMN param_id; |
| | | |
| | | ALTER TABLE process_route_item_param |
| | | ADD COLUMN `param_key` varchar(100) DEFAULT NULL COMMENT 'åæ°å¯ä¸æ è¯', |
| | | ADD COLUMN `param_name` varchar(100) NOT NULL COMMENT 'åæ°åç§°', |
| | | ADD COLUMN `param_type` tinyint NOT NULL COMMENT 'åæ°ç±»å(1æ°å 2ææ¬ 3䏿鿩 4æ¶é´)', |
| | | ADD COLUMN `param_format` varchar(255) DEFAULT NULL COMMENT 'åæ°æ ¼å¼', |
| | | ADD COLUMN `value_mode` tinyint DEFAULT '1' COMMENT '弿¨¡å¼(1åå¼ 2åºé´)', |
| | | ADD COLUMN `unit` varchar(50) DEFAULT NULL COMMENT 'åä½', |
| | | ADD COLUMN `remark` varchar(255) DEFAULT NULL COMMENT '夿³¨'; |
| | |
| | | import com.ruoyi.appendix.pojo.ProcessRouteItemParamInstance; |
| | | import com.ruoyi.appendix.pojo.ProductStructureInstance; |
| | | import com.ruoyi.appendix.service.*; |
| | | import com.ruoyi.basic.pojo.BaseParam; |
| | | import com.ruoyi.basic.service.BaseParamService; |
| | | import com.ruoyi.common.exception.ServiceException; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | |
| | | if (list == null || list.isEmpty()) { |
| | | return; |
| | | } |
| | | // æ¹éæ¥è¯¢ base_param |
| | | List<Long> paramIds = list.stream().map(ProcessRouteItemParam::getParamId) |
| | | .filter(id -> id != null).distinct().collect(Collectors.toList()); |
| | | Map<Long, BaseParam> baseParamMap = new HashMap<>(); |
| | | if (!paramIds.isEmpty()) { |
| | | baseParamService.listByIds(paramIds).forEach(bp -> baseParamMap.put(bp.getId(), bp)); |
| | | } |
| | | List<ProcessRouteItemParamInstance> instances = list.stream().map(item -> { |
| | | ProcessRouteItemParamInstance instance = new ProcessRouteItemParamInstance(); |
| | | BeanUtils.copyProperties(item, instance, "id"); |
| | | instance.setOrderId(orderId); |
| | | instance.setRouteItemId(newRouteItemInstanceId); |
| | | // ä» base_param å¡«å
åºç¡å段 |
| | | BaseParam bp = baseParamMap.get(item.getParamId()); |
| | | if (bp != null) { |
| | | instance.setParamKey(bp.getParamKey()); |
| | | instance.setParamName(bp.getParamName()); |
| | | instance.setParamType(bp.getParamType()); |
| | | instance.setParamFormat(bp.getParamFormat()); |
| | | instance.setValueMode(bp.getValueMode()); |
| | | instance.setUnit(bp.getUnit()); |
| | | instance.setRemark(bp.getRemark()); |
| | | } |
| | | return instance; |
| | | }).collect(Collectors.toList()); |
| | | processRouteItemParamInstanceService.saveBatch(instances); |
| | |
| | | import com.ruoyi.appendix.pojo.ProcessRouteItemParamInstance; |
| | | import com.ruoyi.appendix.service.ProcessRouteItemInstanceService; |
| | | import com.ruoyi.appendix.service.ProcessRouteItemParamInstanceService; |
| | | import com.ruoyi.basic.pojo.BaseParam; |
| | | import com.ruoyi.basic.service.BaseParamService; |
| | | import com.ruoyi.common.exception.ServiceException; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.production.pojo.ProcessRouteItemParam; |
| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.time.LocalDateTime; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | |
| | | @Resource |
| | | private ProcessRouteItemParamService processRouteItemParamService; |
| | | |
| | | @Resource |
| | | private BaseParamService baseParamService; |
| | | |
| | | @Override |
| | | public List<ProcessRouteItemInstanceDto> getProcessItem(Long orderId) { |
| | |
| | | List<ProcessRouteItemParam> routeItemParams = processRouteItemParamService.list( |
| | | new LambdaQueryWrapper<ProcessRouteItemParam>().eq(ProcessRouteItemParam::getRouteItemId, old.getId())); |
| | | if (!routeItemParams.isEmpty()) { |
| | | // æ¹éæ¥è¯¢ base_param |
| | | List<Long> paramIds = routeItemParams.stream().map(ProcessRouteItemParam::getParamId) |
| | | .filter(id -> id != null).distinct().collect(Collectors.toList()); |
| | | Map<Long, BaseParam> baseParamMap = new HashMap<>(); |
| | | if (!paramIds.isEmpty()) { |
| | | baseParamService.listByIds(paramIds).forEach(bp -> baseParamMap.put(bp.getId(), bp)); |
| | | } |
| | | List<ProcessRouteItemParamInstance> newInstances = routeItemParams.stream().map(p -> { |
| | | ProcessRouteItemParamInstance instance = new ProcessRouteItemParamInstance(); |
| | | BeanUtils.copyProperties(p, instance, "id"); |
| | | instance.setOrderId(old.getOrderId()); |
| | | BaseParam bp = baseParamMap.get(p.getParamId()); |
| | | if (bp != null) { |
| | | instance.setParamKey(bp.getParamKey()); |
| | | instance.setParamName(bp.getParamName()); |
| | | instance.setParamType(bp.getParamType()); |
| | | instance.setParamFormat(bp.getParamFormat()); |
| | | instance.setValueMode(bp.getValueMode()); |
| | | instance.setUnit(bp.getUnit()); |
| | | instance.setRemark(bp.getRemark()); |
| | | } |
| | | return instance; |
| | | }).collect(Collectors.toList()); |
| | | processRouteItemParamInstanceService.saveBatch(newInstances); |
| | |
| | | @ApiModelProperty("å
³èå·¥èºè·¯çº¿æç»ID (process_route_item.id)") |
| | | private Long routeItemId; |
| | | |
| | | @ApiModelProperty("å
³èåºç¡åæ°å®ä¹ID (base_param.id)") |
| | | private Long paramId; |
| | | @ApiModelProperty("åæ°å¯ä¸æ è¯") |
| | | private String paramKey; |
| | | |
| | | @ApiModelProperty("åæ°åç§°") |
| | | private String paramName; |
| | | |
| | | @ApiModelProperty("åæ°ç±»å(1æ°å 2ææ¬ 3䏿鿩 4æ¶é´)") |
| | | private Integer paramType; |
| | | |
| | | @ApiModelProperty("åæ°æ ¼å¼") |
| | | private String paramFormat; |
| | | |
| | | @ApiModelProperty("弿¨¡å¼(1åå¼ 2åºé´)") |
| | | private Integer valueMode; |
| | | |
| | | @ApiModelProperty("åä½") |
| | | private String unit; |
| | | |
| | | @ApiModelProperty("夿³¨") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty("æ¥æºå·¥åºåæ°ID") |
| | | private Long processParamId; |
| | |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.basic.pojo.BaseParam; |
| | | import com.ruoyi.basic.service.BaseParamService; |
| | | import com.ruoyi.common.exception.ServiceException; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.production.dto.ProcessRouteItemParamDto; |
| | |
| | | import com.ruoyi.production.pojo.ProcessRouteItemParam; |
| | | import com.ruoyi.production.service.ProcessRouteItemParamService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | |
| | | @Slf4j |
| | | @Service |
| | | public class ProcessRouteItemParamServiceImpl extends ServiceImpl<ProcessRouteItemParamMapper, ProcessRouteItemParam> implements ProcessRouteItemParamService { |
| | | |
| | | @Autowired |
| | | private BaseParamService baseParamService; |
| | | |
| | | @Override |
| | | public IPage<ProcessRouteItemParamDto> pageList(Page<ProcessRouteItemParam> page, ProcessRouteItemParam param) { |
| | |
| | | if (param == null) { |
| | | throw new ServiceException("æ°å¢å¤±è´¥,åæ°ä¸è½ä¸ºç©º"); |
| | | } |
| | | if (param.getRouteItemId() == null || param.getParamId() == null) { |
| | | throw new ServiceException("å
³èå·¥åºIDå忰项IDä¸è½ä¸ºç©º"); |
| | | if (param.getRouteItemId() == null || param.getParamKey() == null) { |
| | | throw new ServiceException("å
³èå·¥åºIDååæ°æ è¯ä¸è½ä¸ºç©º"); |
| | | } |
| | | |
| | | Long tenantId = SecurityUtils.getLoginUser().getTenantId(); |
| | | Long count = baseMapper.selectCount(Wrappers.<ProcessRouteItemParam>lambdaQuery() |
| | | .eq(ProcessRouteItemParam::getRouteItemId, param.getRouteItemId()) |
| | | .eq(ProcessRouteItemParam::getParamId, param.getParamId()) |
| | | .eq(ProcessRouteItemParam::getParamKey, param.getParamKey()) |
| | | .eq(ProcessRouteItemParam::getTenantId, tenantId)); |
| | | if (count > 0) { |
| | | throw new ServiceException("该工åºå·²å卿¤åæ°é¡¹ï¼è¯·å¿é夿·»å "); |
| | | } |
| | | |
| | | BaseParam baseParam = baseParamService.getById(param.getParamId()); |
| | | if (baseParam == null) { |
| | | throw new ServiceException("æ°å¢å¤±è´¥,该åºç¡åæ°ä¸åå¨"); |
| | | throw new ServiceException("该工åºå·²åå¨åæ°é¡¹ï¼è¯·å¿é夿·»å "); |
| | | } |
| | | |
| | | Integer maxSort = baseMapper.selectMaxSortByRouteItemId(param.getRouteItemId()); |
| | |
| | | <resultMap id="ProcessRouteItemParamResultMap" type="com.ruoyi.production.pojo.ProcessRouteItemParam"> |
| | | <id property="id" column="id"/> |
| | | <result property="routeItemId" column="route_item_id"/> |
| | | <result property="paramId" column="param_id"/> |
| | | <result property="processParamId" column="process_param_id"/> |
| | | <result property="standardValue" column="standard_value"/> |
| | | <result property="minValue" column="min_value"/> |
| | |
| | | <result property="tenantId" column="tenant_id"/> |
| | | <result property="createTime" column="create_time"/> |
| | | <result property="updateTime" column="update_time"/> |
| | | <result property="paramKey" column="param_key"/> |
| | | <result property="paramName" column="param_name"/> |
| | | <result property="paramType" column="param_type"/> |
| | | <result property="paramFormat" column="param_format"/> |
| | | <result property="valueMode" column="value_mode"/> |
| | | <result property="unit" column="unit"/> |
| | | <result property="remark" column="remark"/> |
| | | </resultMap> |
| | | |
| | | <insert id="insertFromProcessTemplate"> |
| | | INSERT INTO process_route_item_param (route_item_id, param_id, process_param_id, |
| | | standard_value, min_value, max_value, |
| | | is_required, sort, tenant_id, create_time) |
| | | SELECT #{routeItemId}, |
| | | param_id, |
| | | id, |
| | | INSERT INTO process_route_item_param (route_item_id, |
| | | process_param_id, |
| | | standard_value, |
| | | min_value, |
| | | max_value, |
| | | is_required, |
| | | sort, |
| | | tenant_id, |
| | | create_time, |
| | | param_key, |
| | | param_name, |
| | | param_type, |
| | | param_format, |
| | | value_mode, |
| | | unit, |
| | | remark) |
| | | SELECT #{routeItemId}, |
| | | ppp.id, |
| | | ppp.standard_value, |
| | | ppp.min_value, |
| | | ppp.max_value, |
| | | ppp.is_required, |
| | | ppp.sort, |
| | | #{tenantId}, |
| | | NOW() |
| | | FROM product_process_param |
| | | WHERE process_id = #{processId} |
| | | NOW(), |
| | | ppp.param_key, |
| | | ppp.param_name, |
| | | ppp.param_type, |
| | | ppp.param_format, |
| | | ppp.value_mode, |
| | | ppp.unit, |
| | | ppp.remark |
| | | FROM product_process_param ppp |
| | | WHERE ppp.process_id = #{processId} |
| | | </insert> |
| | | |
| | | <select id="selectParamPage" resultType="com.ruoyi.production.dto.ProcessRouteItemParamDto"> |
| | | select |
| | | prip.*, |
| | | bp.param_name, |
| | | bp.param_key, |
| | | bp.unit, |
| | | bp.param_type, |
| | | bp.param_format, |
| | | bp.value_mode |
| | | prip.* |
| | | from process_route_item_param prip |
| | | left join base_param bp on prip.param_id = bp.id |
| | | <where> |
| | | <if test="p.routeItemId != null"> |
| | | and prip.route_item_id = #{p.routeItemId} |