同步旧MES镀层厚度逻辑

master
maxiangong 1 day ago
parent 5f7db5221a
commit 3520a82706
  1. 3
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/vo/StatementVO.java
  2. 27
      blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.java
  3. 19
      blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.xml
  4. 11
      blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/IOemStatementService.java
  5. 67
      blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java

@ -87,4 +87,7 @@ public class StatementVO extends OemStatementEntity {
@Schema(description = "计量单位") @Schema(description = "计量单位")
private String unitName; private String unitName;
@Schema(description = "镀种编号")
private String plateCode;
} }

@ -1,15 +1,15 @@
package org.springblade.desk.oem.mapper; package org.springblade.desk.oem.mapper;
import org.springblade.desk.oem.pojo.entity.OemStatementEntity;
import org.springblade.desk.oem.pojo.excel.OemStatementExcel;
import org.springblade.desk.oem.pojo.request.StatementQuery;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springblade.desk.oem.pojo.entity.OemStatementEntity;
import org.springblade.desk.oem.pojo.excel.OemStatementExcel;
import org.springblade.desk.oem.pojo.request.StatementQuery;
import org.springblade.desk.oem.pojo.vo.StatementVO; import org.springblade.desk.oem.pojo.vo.StatementVO;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 外协结算单 Mapper 接口 * 外协结算单 Mapper 接口
@ -83,4 +83,23 @@ public interface OemStatementMapper extends BaseMapper<OemStatementEntity> {
* @return * @return
*/ */
List<StatementVO> selectUnsettledByMjMes(StatementQuery query); List<StatementVO> selectUnsettledByMjMes(StatementQuery query);
/**
* 查询旧MES配置
*
* @param bcTag
* @param bcName
* @return
*/
List<Map<String, Object>> getBusConfigByMjMes(@Param("bcTag") String bcTag, @Param("bcName") String bcName);
/**
* 查询旧MES镀层信息
*
* @param plateCode
* @param pqCode
* @param special
* @return
*/
List<Map<String, Object>> getThicknessByMjMes(@Param("plateCode") String plateCode, @Param("pqCode") String pqCode, @Param("special") Boolean special);
} }

@ -104,6 +104,7 @@
<result column="CARD_NO" property="cardNo"/> <result column="CARD_NO" property="cardNo"/>
<result column="YP_CODE" property="ypCode"/> <result column="YP_CODE" property="ypCode"/>
<result column="UNIT_NAME" property="unitName"/> <result column="UNIT_NAME" property="unitName"/>
<result column="plate_code" property="plateCode"/>
</resultMap> </resultMap>
<resultMap id="statementExcelResultMap" type="org.springblade.desk.oem.pojo.excel.OemStatementExcel"> <resultMap id="statementExcelResultMap" type="org.springblade.desk.oem.pojo.excel.OemStatementExcel">
@ -598,7 +599,8 @@
i.ca_name, i.ca_name,
g.STATEMENT_CATEGORY_ID, g.STATEMENT_CATEGORY_ID,
j.STATEMENT_CATEGORY, j.STATEMENT_CATEGORY,
d.CARD_NO d.CARD_NO,
p.plate_code
FROM FROM
MJMES.rb_pr_work_plan a MJMES.rb_pr_work_plan a
INNER JOIN MJMES.bs_procedure_set b on a.pps_id = b.pps_id INNER JOIN MJMES.bs_procedure_set b on a.pps_id = b.pps_id
@ -627,4 +629,19 @@
</if> </if>
</where> </where>
</select> </select>
<select id="getBusConfigByMjMes" resultType="java.util.Map">
SELECT * FROM MJMES.bs_bus_config
WHERE bc_tag = #{bcTag}
and bc_name = #{bcName}
</select>
<select id="getThicknessByMjMes" resultType="java.util.Map">
SELECT a.* FROM MJMES.ds_thickness a
inner join MJMES.bs_procedure_qua b on a.pq_id = b.pq_id
WHERE a.plate_code = #{plateCode}
and b.pq_code = #{pqCode}
and a.special = #{special}
</select>
</mapper> </mapper>

@ -160,4 +160,15 @@ public interface IOemStatementService extends BaseService<OemStatementEntity> {
* @return * @return
*/ */
R generateSettlementByMjMes(StatementQuery mesOemStatement); R generateSettlementByMjMes(StatementQuery mesOemStatement);
/**
* 查询旧MES镀层厚度
*
* @param partCode
* @param plateThickness
* @param plateCode
* @param prodIdent
* @return
*/
String getThicknessByMjMes(String partCode, String plateThickness, String plateCode, String prodIdent);
} }

@ -4,14 +4,12 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.nacos.common.utils.CollectionUtils; import com.alibaba.nacos.common.utils.CollectionUtils;
import com.alibaba.nacos.shaded.com.google.common.collect.Lists; import com.alibaba.nacos.shaded.com.google.common.collect.Lists;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.base.BaseServiceImpl;
@ -22,7 +20,6 @@ import org.springblade.desk.common.enums.MesApprovalRecordBizTypeEnum;
import org.springblade.desk.common.factory.MesApprovalDetailFactory; import org.springblade.desk.common.factory.MesApprovalDetailFactory;
import org.springblade.desk.common.feign.IMesApprovalRecordClient; import org.springblade.desk.common.feign.IMesApprovalRecordClient;
import org.springblade.desk.common.feign.IMesNotifyMessageClient; import org.springblade.desk.common.feign.IMesNotifyMessageClient;
import org.springblade.desk.common.pojo.dto.MesApprovalRecordFeignDTO;
import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity; import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity;
import org.springblade.desk.common.service.IMesApprovalRecordService; import org.springblade.desk.common.service.IMesApprovalRecordService;
import org.springblade.desk.oem.mapper.OemStatementMapper; import org.springblade.desk.oem.mapper.OemStatementMapper;
@ -57,6 +54,7 @@ import java.util.*;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
/** /**
* 外协结算单 服务实现类 * 外协结算单 服务实现类
@ -1550,9 +1548,10 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
return statementVOS; return statementVOS;
} }
private boolean isTsb(String psName){ private boolean isTsb(String psName) {
return "涂色标".equals(psName); return "涂色标".equals(psName);
} }
/** /**
* 获取报价单列表 * 获取报价单列表
* *
@ -2605,6 +2604,13 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
if (CollectionUtils.isEmpty(statementVOS)) { if (CollectionUtils.isEmpty(statementVOS)) {
return R.fail("没有需要结算的记录"); return R.fail("没有需要结算的记录");
} }
for(StatementVO vo : statementVOS){
if(StringUtils.isEmpty(vo.getPlateThickness())){
String thickness = this.getThicknessByMjMes(vo.getPartCode(), vo.getPlateThickness(), vo.getPlateCode(), vo.getProductIdent());
vo.setRosThickness(thickness);
vo.setPlateThickness(thickness);
}
}
// 处理重复镀后入库 // 处理重复镀后入库
statementVOS = duplicatePutStore(statementVOS, saves); statementVOS = duplicatePutStore(statementVOS, saves);
// 处理不结算数据 // 处理不结算数据
@ -2625,4 +2631,57 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
return R.status(this.saveOrUpdateBatch(saves)); return R.status(this.saveOrUpdateBatch(saves));
} }
@Override
public String getThicknessByMjMes(String partCode, String plateThickness, String plateCode, String prodIdent) {
if (StringUtils.isNotEmpty(plateThickness)) {
return plateThickness;
}
boolean special = false;
// 2025-07-23 线上迁移修改
if ("4.1.2.1".equals(plateCode) || "4.1.2.2".equals(plateCode) || "4.1.2.5".equals(plateCode) || "4.1.2.13".equals(plateCode)
|| "4.1.2.7".equals(plateCode) || "4.1.2.11".equals(plateCode) || "4.1.2.12".equals(plateCode) || "4.1.2.15".equals(plateCode)
|| "4.1.2.16".equals(plateCode) || "4.1.2.17".equals(plateCode)) {
//镀层质量等级标识
List<Map<String, Object>> bc = baseMapper.getBusConfigByMjMes("BC_TYPE_PROD_IDENT", "镀层质量等级标识");
String[] identList = new String[]{"JII", "JI", "JHT", "JIIR", "JIR", "JZ","JIX"};
if (!CollectionUtils.isEmpty(bc)) {
if(bc.get(0).get("bc_value") != null){
String bcValue = (String) bc.get(0).get("bc_value");
identList = bcValue.split("/");
}
}
//镀层零件标识
bc = baseMapper.getBusConfigByMjMes("PLATE_PART", "镀层零件标识");
String[] partList = new String[]{"21E8-210"};
if (!CollectionUtils.isEmpty(bc)) {
if(bc.get(0).get("bc_value") != null) {
String bcValue = (String) bc.get(0).get("bc_value");
partList = bcValue.split("/");
}
}
special = Stream.of(identList).anyMatch(item -> prodIdent.equals(item));
if (special) {
special = Stream.of(partList).anyMatch(item -> partCode.contains(item));
}
} else if ("4.1.2.6".equals(plateCode)) {
//镀层质量等级标识
String[] identList = new String[]{"JI", "JIR", "JHT", "JZ","J","JIX"};
//镀层零件标识
String[] partList = new String[]{"21E8-210"};
special = Stream.of(identList).anyMatch(item -> prodIdent.equals(item));
if (special) {
special = Stream.of(partList).anyMatch(item -> partCode.contains(item));
}
}
List<Map<String, Object>> thicknessList = baseMapper.getThicknessByMjMes(plateCode, prodIdent, special);
if (!CollectionUtils.isEmpty(thicknessList)) {
if(thicknessList.get(0).get("thickness") != null){
String thickness = (String) thicknessList.get(0).get("thickness");
return thickness;
}
}
return null;
}
} }

Loading…
Cancel
Save