Merge remote-tracking branch 'origin/master'

liweidong
liuqingkun 4 weeks ago
commit 731ce49849
  1. 4
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/OemSettleAccountsApproval.java
  2. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/OemSettleAccountsSave.java
  3. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/request/StatementQuery.java
  4. 23
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/dto/ErpQueryRequest.java
  5. 14
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbPkpqryClient.java
  6. 13
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbPkpqryClientFallback.java
  7. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java
  8. 17
      blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemProcessController.java
  9. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemStatementController.java
  10. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.xml
  11. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/IOemStatementService.java
  12. 291
      blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java
  13. 19
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService2.java
  14. 31
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ReviewSheetServiceImpl.java
  15. 51
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/util/JobExtUtil.java
  16. 2
      blade-service/blade-desk/src/main/resources/application-dev.yml
  17. 22
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpMesRbPkpqryClient.java
  18. 6
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkpqryMapper.java
  19. 19
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpMesRbPkpqryMapper.xml

@ -15,9 +15,9 @@ public class OemSettleAccountsApproval {
/**
* 结算单IDList
*/
@Schema(description = "结算单IDList", required = true)
@Schema(description = "结算单IDStrList", required = true)
@NotNull(message = "结算单ID不能为空")
private List<Long> ids;
private String ids;
/**
* 审批意见
*/

@ -18,7 +18,7 @@ public class OemSettleAccountsSave {
@DateTimeFormat(pattern = "yyyy-MM-dd")
@Schema(description = "镀后入库时间")
@NotNull(message = "镀后入库时间不能为空")
// @NotNull(message = "镀后入库时间不能为空")
private LocalDate putStoreDate;
@Schema(description = "现执行价格")

@ -54,7 +54,7 @@ public class StatementQuery {
* 工序IDS
*/
@Schema(description = "工序IDs(传字符串1,2,3,4)")
private String ppsIds;
private String psCode;
/**
* 外协厂商IDS
*/

@ -0,0 +1,23 @@
package org.springblade.desk.quality.pojo.dto;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.Data;
import org.springblade.desk.quality.pojo.request.ReviewSheetErpSearch;
@Data
public class ErpQueryRequest {
/**
* 当前页
*/
private Integer current;
/**
* 每页大小
*/
private Integer size;
/**
* 搜索条件
*/
private ReviewSheetErpSearch search;
}

@ -1,13 +1,21 @@
package org.springblade.erpdata.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.common.constant.LauncherConstant;
import org.springblade.core.tool.api.R;
import org.springblade.desk.quality.pojo.dto.ErpQueryRequest;
import org.springblade.desk.quality.pojo.dto.PpmReportDetailDTO;
import org.springblade.desk.quality.pojo.request.ReviewSheetErpSearch;
import org.springblade.erpdata.pojo.dto.MesRbPkpqryDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* Feign接口类
*
@ -19,8 +27,9 @@ import org.springframework.web.bind.annotation.RequestParam;
)
public interface IErpMesRbPkpqryClient {
String API_PREFIX = "/feign/erpdata/mesRbPkpqry/";
String API_PREFIX = "/feign/client/mesRbPkpqry/";
String SELECT_PAGE = API_PREFIX + "selectPage";
String LIST_ERP = API_PREFIX + "listerp";
/**
* 查询配置结果
@ -40,4 +49,7 @@ public interface IErpMesRbPkpqryClient {
@RequestParam(value = "prtmdept", required = false) String prtmdept,
@RequestParam(value = "subpkdateStart", required = false) String subpkdateStart,
@RequestParam(value = "subpkdateEnd", required = false) String subpkdateEnd);
@PostMapping(LIST_ERP)
List<PpmReportDetailDTO> listErpNew(@RequestBody ErpQueryRequest erpQueryRequest);
}

@ -3,7 +3,13 @@ package org.springblade.erpdata.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.tool.api.R;
import org.springblade.desk.quality.pojo.dto.ErpQueryRequest;
import org.springblade.desk.quality.pojo.dto.PpmReportDetailDTO;
import org.springblade.desk.quality.pojo.request.ReviewSheetErpSearch;
import org.springblade.erpdata.pojo.dto.MesRbPkpqryDTO;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* Feign接口类
@ -16,4 +22,11 @@ public class IErpMesRbPkpqryClientFallback implements IErpMesRbPkpqryClient {
public R<IPage<MesRbPkpqryDTO>> selectPage(Integer current, Integer size, String pkno, String prtmdept, String subpkdateStart, String subpkdateEnd) {
return R.fail("获取数据失败");
}
@Override
public List<PpmReportDetailDTO> listErpNew(@RequestBody ErpQueryRequest erpQueryRequest) {
return List.of();
}
}

@ -1017,13 +1017,17 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
return stationR;
}
Station station = (Station) stationR.getData();
StationNameBoxBarcodeVO stationNameBoxBarcodeVO = new StationNameBoxBarcodeVO();
stationNameBoxBarcodeVO.setStation(station);
List<Task> taskList = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getStationId, station.getId()).orderByDesc(Task::getUpdateTime));
if (taskList==null||taskList.size()==0) {
return R.data(stationNameBoxBarcodeVO);
}
R boxbarcodeDetailsR = getBoxbarcodeDetails(taskList.get(0).getBoxBarcode());
if (!boxbarcodeDetailsR.isSuccess()) {
return boxbarcodeDetailsR;
}
StationNameBoxBarcodeVO stationNameBoxBarcodeVO = new StationNameBoxBarcodeVO();
stationNameBoxBarcodeVO.setStation(station);
stationNameBoxBarcodeVO.setBoxbarcodeDetailsVO((BoxbarcodeDetailsVO) boxbarcodeDetailsR.getData());
return R.data(stationNameBoxBarcodeVO);
}

@ -15,7 +15,10 @@ import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.pojo.entity.Oem;
import org.springblade.desk.basic.pojo.vo.OemVO;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.wrapper.OemWrapper;
import org.springblade.desk.device.pojo.entity.MeasurementRecordsEntity;
import org.springblade.desk.oem.pojo.excel.OemAndAbilityImport;
import org.springblade.desk.oem.pojo.excel.OemMeritsExcel;
@ -69,6 +72,20 @@ public class OemProcessController extends BladeController {
return R.data(OemProcessWrapper.build().entityVO(detail));
}
/**
* 外协工序下拉选择
*
* @return
*/
@GetMapping("/listForSelect")
@ApiOperationSupport(order = 2)
@Operation(summary = "list下拉选择", description = "")
public R<List<OemProcessVO>> listForSelect() {
List<OemProcessEntity> list = mesOemProcessService.list();
List<OemProcessVO> listVO = OemProcessWrapper.build().listVO(list);
return R.data(listVO);
}
/**
* 外协工序 自定义分页
*/

@ -123,8 +123,8 @@ public class OemStatementController extends BladeController {
@ApiOperationSupport(order = 8)
@Operation(summary = "外协手动结算", description = "")
@ApiLog("外协手动结算")
public R oemSettleAccounts(@Valid @RequestBody OemSettleAccountsSave oemSettleAccountsSave) {
return mesOemStatementService.oemSettleAccounts(oemSettleAccountsSave.getStatementList(), oemSettleAccountsSave.getPrice(), oemSettleAccountsSave.getPutStoreDate());
public R oemManualSettlement(@Valid @RequestBody OemSettleAccountsSave oemSettleAccountsSave) {
return mesOemStatementService.oemManualSettlement(oemSettleAccountsSave.getStatementList(), oemSettleAccountsSave.getPrice());
}
/**

@ -194,9 +194,9 @@
#{id}
</foreach>
</if>
<if test="query.ppsIds != null and query.ppsIds != ''">
AND g.ID IN
<foreach collection="query.ppsIds.split(',')" item="id"
<if test="query.psCode != null and query.psCode != ''">
AND g.oem_process_code IN
<foreach collection="query.psCode.split(',')" item="id"
open="(" separator="," close=")" index="index">
#{id}
</foreach>

@ -48,7 +48,7 @@ public interface IOemStatementService extends BaseService<OemStatementEntity> {
* @param putStoreDate 镀后入库时间
* @return
*/
R oemSettleAccounts(List<StatementVO> statementVOS, BigDecimal price, LocalDate putStoreDate);
R oemManualSettlement(List<StatementVO> statementVOS, BigDecimal price);
/**
* 外协自动结算

@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jakarta.annotation.Resource;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.oem.mapper.PlatingTypeRulesMapper;
import org.springblade.desk.oem.pojo.entity.OemStatementEntity;
import org.springblade.desk.oem.pojo.entity.PlatingTypeRulesEntity;
@ -68,6 +69,44 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
}
@Override
public R oemManualSettlement(List<StatementVO> statementVOS, BigDecimal price) {
// 初始化成功和失败计数器
AtomicInteger totalSuccess = new AtomicInteger(0);
AtomicInteger totalError = new AtomicInteger(0);
//按照镀后入库日期分组后,调用结算方法
Map<String, List<StatementVO>> groupedMap = statementVOS.stream()
.filter(vo -> vo.getPutStoreTime() != null && !vo.getPutStoreTime().trim().isEmpty())
.collect(Collectors.groupingBy(StatementVO::getPutStoreTime));
groupedMap.entrySet().forEach(stringListEntry -> {
R result = oemSettleAccounts(stringListEntry.getValue(), price, LocalDate.parse(stringListEntry.getKey()));
if (result != null && result.isSuccess()) {
Map<String, Object> data = (Map<String, Object>) result.getData();
if (data != null) {
Object successObj = data.get("success");
Object errorObj = data.get("error");
if (successObj instanceof Integer) {
totalSuccess.addAndGet((Integer) successObj);
} else if (successObj instanceof Number) {
totalSuccess.addAndGet(((Number) successObj).intValue());
}
if (errorObj instanceof Integer) {
totalError.addAndGet((Integer) errorObj);
} else if (errorObj instanceof Number) {
totalError.addAndGet(((Number) errorObj).intValue());
}
}
}
});
return R.data(Map.of(
"success", totalSuccess.get(),
"error", totalError.get()
));
}
public R oemSettleAccounts(List<StatementVO> statementVOS, BigDecimal price, LocalDate putStoreDate) {
// 定义计数器
AtomicInteger countSuccess = new AtomicInteger(0);
@ -110,7 +149,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
//【结算异常】
statementVOList.forEach(statementVO -> {
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】匹配无报价记录", oemName));
statementVO.setMemo(String.format("外协厂商【%s】-未找到报价", oemName));
});
} else {
//工序分组Map<工序, 报价列表>
@ -209,13 +248,83 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
//2.以外协名称查出的全部报价单
String oemName = listEntry.getKey();
List<PriceSheetVO> priceSheetAllList = getPriceSheets(oemName);
// List<PriceSheetVO> priceSheetAllList = getPriceSheets(oemName);
//假数据测试用
List<PriceSheetVO> priceSheetAllList = new ArrayList<>();
PriceSheetVO priceSheet1 = new PriceSheetVO();
priceSheet1.setPrice("60");
priceSheet1.setSplyname(oemName);
priceSheet1.setPrtum("件");
priceSheet1.setWono("WO-N2510424439-R002");
priceSheet1.setSeqid("GXJG-20250228018");
priceSheet1.setGxinfo("玻璃封接电化学抛光");
priceSheet1.setStartdat("2026-01-15");
priceSheetAllList.add(priceSheet1);
PriceSheetVO priceSheet2 = new PriceSheetVO();
priceSheet2.setPrice("26");
priceSheet2.setSplyname(oemName);
priceSheet2.setPrtum("件");
priceSheet2.setSeqid("GXJG-20250228012");
priceSheet2.setGxinfo("玻璃封接电镀去氧化皮");
priceSheet2.setPrtlotno("JI和JHT");
priceSheet2.setStairflag("单批阶梯价(按单件面积)");
priceSheet2.setLower("5");
priceSheet2.setUpper("0");
priceSheet2.setPrtno("21E6-575-10724-%螺母");
priceSheet2.setStartdat("2026-01-15");
priceSheetAllList.add(priceSheet2);
PriceSheetVO priceSheet3 = new PriceSheetVO();
priceSheet3.setPrice("34");
priceSheet3.setSplyname(oemName);
priceSheet3.setPrtum("件");
priceSheet3.setSeqid("GXJG-20250228012");
priceSheet3.setGxinfo("玻璃封接电镀去氧化皮");
priceSheet3.setPrtlotno("JI和JHT");
priceSheet3.setStairflag("单批阶梯价(按单件面积)");
priceSheet3.setLower("10");
priceSheet3.setUpper("5.00001");
priceSheet3.setPrtno("21E6-575-10724-%螺母");
priceSheet3.setStartdat("2026-01-15");
priceSheetAllList.add(priceSheet3);
PriceSheetVO priceSheet4 = new PriceSheetVO();
priceSheet4.setPrice("15");
priceSheet4.setSplyname(oemName);
priceSheet4.setPrtum("件");
priceSheet4.setSeqid("GXJG-20250228012");
priceSheet4.setGxinfo("玻璃封接电镀去氧化皮");
priceSheet4.setPrtlotno("JHT");
priceSheet4.setStairflag("非阶梯价");
priceSheet4.setPrtno("21E6-575-10724-%螺母");
priceSheet4.setStartdat("2026-01-15");
priceSheetAllList.add(priceSheet4);
PriceSheetVO priceSheet5 = new PriceSheetVO();
priceSheet5.setPrice("99");
priceSheet5.setSplyname(oemName);
priceSheet5.setPrtum("件");
priceSheet5.setSeqid("GXJG-20250228012");
priceSheet5.setGxinfo("玻璃封接电镀去氧化皮");
priceSheet5.setStairflag("非阶梯价");
priceSheet5.setPrtno("21E6-575-10724-%螺母");
priceSheet5.setRemark("氰化亚金钾380.01-400元/克(未税)");
priceSheet5.setStartdat("2026-01-15");
priceSheetAllList.add(priceSheet5);
PriceSheetVO priceSheet6 = new PriceSheetVO();
priceSheet6.setPrice("200");
priceSheet6.setSplyname(oemName);
priceSheet6.setPrtum("件");
priceSheet6.setSeqid("GXJG-20250228012");
priceSheet6.setGxinfo("玻璃封接电镀去氧化皮");
priceSheet6.setStairflag("非阶梯价");
priceSheet6.setPrtno("21E6-575-10724-%螺母");
priceSheet6.setRemark("氰化亚金钾400.01-500元/克(未税)");
priceSheet6.setStartdat("2026-01-16");
priceSheetAllList.add(priceSheet6);
if (priceSheetAllList.isEmpty()) {
//【结算异常】
statementVOList.forEach(statementVO -> {
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】匹配无报价记录", oemName));
statementVO.setMemo(String.format("外协厂商【%s】-未找到报价", oemName));
});
} else {
//工序分组Map<工序, 报价列表>
@ -292,76 +401,76 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
BigDecimal price, LocalDate putStoreDate,
AtomicInteger countSuccess, AtomicInteger countError) {
// 1. 查询报价单
List<PriceSheetVO> priceSheetAllList = getPriceSheets(oemName, putStoreDate);
// List<PriceSheetVO> priceSheetAllList = getPriceSheets(oemName, putStoreDate);
//假数据测试用
// List<PriceSheetVO> priceSheetAllList = new ArrayList<>();
// PriceSheetVO priceSheet1 = new PriceSheetVO();
// priceSheet1.setPrice("60");
// priceSheet1.setSplyname(oemName);
// priceSheet1.setPrtum("件");
// priceSheet1.setWono("WO-N2510424439-R002");
// priceSheet1.setSeqid("GXJG-20250228018");
// priceSheet1.setGxinfo("玻璃封接电化学抛光");
// priceSheetAllList.add(priceSheet1);
// PriceSheetVO priceSheet2 = new PriceSheetVO();
// priceSheet2.setPrice("26");
// priceSheet2.setSplyname(oemName);
// priceSheet2.setPrtum("件");
// priceSheet2.setSeqid("GXJG-20250228012");
// priceSheet2.setGxinfo("玻璃封接电镀去氧化皮");
// priceSheet2.setPrtlotno("JI和JHT");
// priceSheet2.setStairflag("单批阶梯价(按单件面积)");
// priceSheet2.setLower("5");
// priceSheet2.setUpper("0");
// priceSheet2.setPrtno("21E6-575-10724-%螺母");
// priceSheetAllList.add(priceSheet2);
// PriceSheetVO priceSheet3 = new PriceSheetVO();
// priceSheet3.setPrice("34");
// priceSheet3.setSplyname(oemName);
// priceSheet3.setPrtum("件");
// priceSheet3.setSeqid("GXJG-20250228012");
// priceSheet3.setGxinfo("玻璃封接电镀去氧化皮");
// priceSheet3.setPrtlotno("JI和JHT");
// priceSheet3.setStairflag("单批阶梯价(按单件面积)");
// priceSheet3.setLower("10");
// priceSheet3.setUpper("5.00001");
// priceSheet3.setPrtno("21E6-575-10724-%螺母");
// priceSheetAllList.add(priceSheet3);
// PriceSheetVO priceSheet4 = new PriceSheetVO();
// priceSheet4.setPrice("15");
// priceSheet4.setSplyname(oemName);
// priceSheet4.setPrtum("件");
// priceSheet4.setSeqid("GXJG-20250228012");
// priceSheet4.setGxinfo("玻璃封接电镀去氧化皮");
// priceSheet4.setPrtlotno("JHT");
// priceSheet4.setStairflag("非阶梯价");
// priceSheet4.setPrtno("21E6-575-10724-%螺母");
// priceSheetAllList.add(priceSheet4);
// PriceSheetVO priceSheet5 = new PriceSheetVO();
// priceSheet5.setPrice("99");
// priceSheet5.setSplyname(oemName);
// priceSheet5.setPrtum("件");
// priceSheet5.setSeqid("GXJG-20250228012");
// priceSheet5.setGxinfo("玻璃封接电镀去氧化皮");
// priceSheet5.setStairflag("非阶梯价");
// priceSheet5.setPrtno("21E6-575-10724-%螺母");
// priceSheet5.setRemark("氰化亚金钾380.01-400元/克(未税)");
// priceSheetAllList.add(priceSheet5);
// PriceSheetVO priceSheet6 = new PriceSheetVO();
// priceSheet6.setPrice("200");
// priceSheet6.setSplyname(oemName);
// priceSheet6.setPrtum("件");
// priceSheet6.setSeqid("GXJG-20250228012");
// priceSheet6.setGxinfo("玻璃封接电镀去氧化皮");
// priceSheet6.setStairflag("非阶梯价");
// priceSheet6.setPrtno("21E6-575-10724-%螺母");
// priceSheet6.setRemark("氰化亚金钾400.01-500元/克(未税)");
// priceSheetAllList.add(priceSheet6);
List<PriceSheetVO> priceSheetAllList = new ArrayList<>();
PriceSheetVO priceSheet1 = new PriceSheetVO();
priceSheet1.setPrice("60");
priceSheet1.setSplyname(oemName);
priceSheet1.setPrtum("件");
priceSheet1.setWono("WO-N2510424439-R002");
priceSheet1.setSeqid("GXJG-20250228018");
priceSheet1.setGxinfo("玻璃封接电化学抛光");
priceSheetAllList.add(priceSheet1);
PriceSheetVO priceSheet2 = new PriceSheetVO();
priceSheet2.setPrice("26");
priceSheet2.setSplyname(oemName);
priceSheet2.setPrtum("件");
priceSheet2.setSeqid("GXJG-20250228012");
priceSheet2.setGxinfo("玻璃封接电镀去氧化皮");
priceSheet2.setPrtlotno("JI和JHT");
priceSheet2.setStairflag("单批阶梯价(按单件面积)");
priceSheet2.setLower("5");
priceSheet2.setUpper("0");
priceSheet2.setPrtno("21E6-575-10724-%螺母");
priceSheetAllList.add(priceSheet2);
PriceSheetVO priceSheet3 = new PriceSheetVO();
priceSheet3.setPrice("34");
priceSheet3.setSplyname(oemName);
priceSheet3.setPrtum("件");
priceSheet3.setSeqid("GXJG-20250228012");
priceSheet3.setGxinfo("玻璃封接电镀去氧化皮");
priceSheet3.setPrtlotno("JI和JHT");
priceSheet3.setStairflag("单批阶梯价(按单件面积)");
priceSheet3.setLower("10");
priceSheet3.setUpper("5.00001");
priceSheet3.setPrtno("21E6-575-10724-%螺母");
priceSheetAllList.add(priceSheet3);
PriceSheetVO priceSheet4 = new PriceSheetVO();
priceSheet4.setPrice("15");
priceSheet4.setSplyname(oemName);
priceSheet4.setPrtum("件");
priceSheet4.setSeqid("GXJG-20250228012");
priceSheet4.setGxinfo("玻璃封接电镀去氧化皮");
priceSheet4.setPrtlotno("JHT");
priceSheet4.setStairflag("非阶梯价");
priceSheet4.setPrtno("21E6-575-10724-%螺母");
priceSheetAllList.add(priceSheet4);
PriceSheetVO priceSheet5 = new PriceSheetVO();
priceSheet5.setPrice("99");
priceSheet5.setSplyname(oemName);
priceSheet5.setPrtum("件");
priceSheet5.setSeqid("GXJG-20250228012");
priceSheet5.setGxinfo("玻璃封接电镀去氧化皮");
priceSheet5.setStairflag("非阶梯价");
priceSheet5.setPrtno("21E6-575-10724-%螺母");
priceSheet5.setRemark("氰化亚金钾380.01-400元/克(未税)");
priceSheetAllList.add(priceSheet5);
PriceSheetVO priceSheet6 = new PriceSheetVO();
priceSheet6.setPrice("200");
priceSheet6.setSplyname(oemName);
priceSheet6.setPrtum("件");
priceSheet6.setSeqid("GXJG-20250228012");
priceSheet6.setGxinfo("玻璃封接电镀去氧化皮");
priceSheet6.setStairflag("非阶梯价");
priceSheet6.setPrtno("21E6-575-10724-%螺母");
priceSheet6.setRemark("氰化亚金钾400.01-500元/克(未税)");
priceSheetAllList.add(priceSheet6);
if (priceSheetAllList.isEmpty()) {
// 【结算异常】
statementVOList.forEach(statementVO -> {
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】匹配无报价记录", oemName));
statementVO.setMemo(String.format("外协厂商【%s】-未找到报价", oemName));
});
} else {
// 2. 工序分组Map<工序, 报价列表>
@ -435,7 +544,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
@Override
public R approval(OemSettleAccountsApproval oemSettleAccountsApproval) {
List<Long> ids = oemSettleAccountsApproval.getIds();
List<Long> ids = Func.toLongList(oemSettleAccountsApproval.getIds());
if (CollectionUtils.isEmpty(ids)) {
return R.fail("未选取结算单");
}
@ -568,7 +677,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
if (!priceSheetMap.containsKey(psName)) {
//【结算异常】
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】匹配无报价记录", statementVO.getOcName(), psName));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】-未找到报价", statementVO.getOcName(), psName));
return null;
}
//获得外协厂商该工序下报价单列表
@ -599,7 +708,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
//多条【结算异常】
if (woNoPriceSheetList.size() > 1 && flag) {
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,工作订单号【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), statementVO.getWoCode()));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,工作订单号【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), statementVO.getWoCode()));
//结算异常:多条报价记录结算结果
return true;
}
@ -621,7 +730,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
priceSheetList = woNoPriceSheetMap.get("EMPTY_WONO");
if (priceSheetList.size() < 1) {
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】匹配无报价记录", statementVO.getOcName(), statementVO.getPartName()));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】-未找到报价", statementVO.getOcName(), statementVO.getPartName()));
//结算异常:无报价记录结算结果
return true;
} else {
@ -649,7 +758,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
if (priceSheetList.size() < 1) {
//结算异常:无报价记录结算结果
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,物料名【%s】,质量等级【%s】匹配无报价记录", statementVO.getOcName(), statementVO.getPartName(), statementVO.getPartName(), statementVO.getProdIdent()));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,物料名【%s】,质量等级【%s】-未找到报价", statementVO.getOcName(), statementVO.getPartName(), statementVO.getPartName(), statementVO.getProdIdent()));
return true;
}
//保存结果,结束当前规则匹配,进入下一规则匹配
@ -682,7 +791,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
if (remarksByPrice.size() < 1) {
//结算异常:无报价记录结算结果
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,金价银价【%s】匹配无报价记录", statementVO.getOcName(), statementVO.getPartName(), price));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,金价银价【%s】-未找到报价", statementVO.getOcName(), statementVO.getPartName(), price));
return true;
}
//保存结果,结束当前规则匹配,进入下一规则匹配
@ -726,7 +835,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
if (prtnoPriceSheetMap.isEmpty()) {
//结算异常:无报价记录结算结果
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】涂色标、涂色带、涂箭头匹配无报价记录", statementVO.getOcName(), statementVO.getPartName()));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】涂色标、涂色带、涂箭头-未找到报价", statementVO.getOcName(), statementVO.getPartName()));
return true;
}
//总价
@ -744,7 +853,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
if (tjtPriceSheetList.size() > 1 && flag) {
//结算异常:多条报价记录结算结果
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,涂箭头数量【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), tjtNum));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,涂箭头数量【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), tjtNum));
return true;
}
//唯一使用此报价单**结算**
@ -758,7 +867,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
if (tsdPriceSheetList.size() > 1 && flag) {
//结算异常:多条报价记录结算结果
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,涂色带数量【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), tsdNum));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,涂色带数量【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), tsdNum));
return true;
}
//唯一使用此报价单**结算**
@ -772,7 +881,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
if (tsbPriceSheetList.size() > 1 && flag) {
//结算异常:多条报价记录结算结果
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,涂色标数量【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), tsbNum));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,涂色标数量【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), tsbNum));
return true;
}
//唯一使用此报价单**结算**
@ -792,7 +901,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
} else {
//结算异常:无报价记录结算结果
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】涂色标、涂色带、涂箭头匹配无报价记录", statementVO.getOcName(), statementVO.getPartName()));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】涂色标、涂色带、涂箭头-未找到报价", statementVO.getOcName(), statementVO.getPartName()));
return true;
}
}
@ -829,12 +938,12 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
} else if (trueCount > 1) {
//结算异常:多条报价记录结算结果
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,物料号匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName()));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,物料号-报价不唯一", statementVO.getOcName(), statementVO.getPartName()));
return true;
} else {
//结算异常:无报价记录结算结果
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,物料号匹配无报价记录", statementVO.getOcName(), statementVO.getPartName()));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,物料号-未找到报价", statementVO.getOcName(), statementVO.getPartName()));
return true;
}
}
@ -951,7 +1060,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
//如果无报价,结算异常:无报价记录结算结果
if (null == priceSheetList || priceSheetList.isEmpty()) {
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价匹配无报价记录", statementVO.getOcName(), statementVO.getPartName()));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价-未找到报价", statementVO.getOcName(), statementVO.getPartName()));
return true;
}
//如果只剩唯一报价,则直接使用
@ -978,11 +1087,11 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
}).collect(Collectors.groupingBy(PriceSheetVO::getStairflag));
if (StairPriceSheetMap.keySet().size() > 1) {
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价类型【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), String.join(", ", StairPriceSheetMap.keySet())));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价类型【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), String.join(", ", StairPriceSheetMap.keySet())));
return true;
} else if (StairPriceSheetMap.keySet().size() < 1) {
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价匹配无报价记录", statementVO.getOcName(), statementVO.getPartName()));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价-未找到报价", statementVO.getOcName(), statementVO.getPartName()));
return true;
}
if (StairPriceSheetMap.keySet().contains("非阶梯价")) {
@ -990,11 +1099,11 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
List<PriceSheetVO> priceSheetVOS = StairPriceSheetMap.get("非阶梯价");
if (null == priceSheetVOS || priceSheetVOS.isEmpty()) {
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】匹配无报价记录", statementVO.getOcName(), statementVO.getPartName(), "非阶梯价"));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】-未找到报价", statementVO.getOcName(), statementVO.getPartName(), "非阶梯价"));
return true;
} else if (null != priceSheetVOS && priceSheetVOS.size() > 1 && flag) {
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), "非阶梯价"));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), "非阶梯价"));
return true;
}
//唯一使用此报价单**结算**
@ -1028,7 +1137,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
}).collect(Collectors.toList());
if (null != priceSheetVOList && priceSheetVOList.size() > 1 && flag) {
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), "单批阶梯价(按单件面积)"));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), "单批阶梯价(按单件面积)"));
return true;
} else if ((null != priceSheetVOList && priceSheetVOList.size() == 1) || (!flag && null != priceSheetVOList && priceSheetVOList.size() > 1)) {
//唯一使用此报价单**结算**
@ -1045,7 +1154,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
return true;
}
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】匹配无报价记录", statementVO.getOcName(), statementVO.getPartName(), "单批阶梯价(按单件面积)"));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】-未找到报价", statementVO.getOcName(), statementVO.getPartName(), "单批阶梯价(按单件面积)"));
return true;
}
return true;
@ -1068,7 +1177,7 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
}).collect(Collectors.toList());
if (null != priceSheetVOList && priceSheetVOList.size() > 1 && flag) {
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】匹配多条报价记录", statementVO.getOcName(), statementVO.getPartName(), "单批阶梯价(按单批面积)"));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】-报价不唯一", statementVO.getOcName(), statementVO.getPartName(), "单批阶梯价(按单批面积)"));
return true;
} else if (null != priceSheetVOList && priceSheetVOList.size() == 1 || (!flag && null != priceSheetVOList && priceSheetVOList.size() > 1)) {
//唯一使用此报价单**结算**
@ -1085,14 +1194,14 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
return true;
}
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】匹配无报价记录", statementVO.getOcName(), statementVO.getPartName(), "单批阶梯价(按单批面积)"));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价【%s】-未找到报价", statementVO.getOcName(), statementVO.getPartName(), "单批阶梯价(按单批面积)"));
return true;
}
return true;
} else {
//todo:qyl 5.其他阶梯价类型暂不处理,找客户确认
statementVO.setRosStatus(StatementVO.ERR_SETTLEMENT);
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价匹配无报价记录", statementVO.getOcName(), statementVO.getPartName()));
statementVO.setMemo(String.format("外协厂商【%s】,工序内容【%s】,阶梯价-未找到报价", statementVO.getOcName(), statementVO.getPartName()));
return true;
}
}

@ -215,10 +215,10 @@ public class CycleTestTaskService2 {
// 判断结果对象
Object objAdvance = JobExtUtil.isAdvanceTargetDay(je, ct.getGenBefore());
if (objAdvance != null) {
MesNotifyMessageEntity mesNotifyMessageEntity = new MesNotifyMessageEntity();
mesNotifyMessageEntity.setContent("您有实验任务");
mesNotifyMessageEntity.setReceiveUserId(ct.getProcessUserId());
mesNotifyMessageClient.save(mesNotifyMessageEntity);
// MesNotifyMessageEntity mesNotifyMessageEntity = new MesNotifyMessageEntity();
// mesNotifyMessageEntity.setContent("您有实验任务");
// mesNotifyMessageEntity.setReceiveUserId(ct.getProcessUserId());
// mesNotifyMessageClient.save(mesNotifyMessageEntity);
log.info("match je config = {}", objAdvance);
// 试验时间
@ -564,6 +564,11 @@ public class CycleTestTaskService2 {
task.setFlagOut(BaseValue.NO);
task.setFlagApproach(BaseValue.YES);
// todo:消息中心 进行临期提醒
MesNotifyMessageEntity mesNotifyMessageEntity = new MesNotifyMessageEntity();
mesNotifyMessageEntity.setContent("您有实验任务临期");
mesNotifyMessageEntity.setReceiveUserId(task.getProcessUserId());
mesNotifyMessageClient.save(mesNotifyMessageEntity);
}
// 设置临期天数
task.setDayToPlanedFinish(getCountDayToOut(task.getId()));
@ -595,6 +600,12 @@ public class CycleTestTaskService2 {
task.setFlagOut(BaseValue.YES);
task.setFlagApproach(BaseValue.NO);
// todo:消息中心 进行超期提醒
MesNotifyMessageEntity mesNotifyMessageEntity = new MesNotifyMessageEntity();
mesNotifyMessageEntity.setContent("您有实验任务超期");
mesNotifyMessageEntity.setReceiveUserId(task.getProcessUserId());
mesNotifyMessageClient.save(mesNotifyMessageEntity);
// 更新状态
service.updateById(task);
}

@ -32,9 +32,7 @@ import org.springblade.desk.quality.constant.InspectionTaskConst;
import org.springblade.desk.quality.constant.ReviewSheetConst;
import org.springblade.desk.quality.excel.ReviewSheetExcel;
import org.springblade.desk.quality.mapper.ReviewSheetMapper;
import org.springblade.desk.quality.pojo.dto.ReviewDutyDTO;
import org.springblade.desk.quality.pojo.dto.ReviewFaultDTO;
import org.springblade.desk.quality.pojo.dto.ReviewSheetDTO;
import org.springblade.desk.quality.pojo.dto.*;
import org.springblade.desk.quality.pojo.entity.InspectionTask;
import org.springblade.desk.quality.pojo.entity.ReviewDuty;
import org.springblade.desk.quality.pojo.entity.ReviewFault;
@ -48,14 +46,19 @@ import org.springblade.desk.quality.service.IReviewDutyService;
import org.springblade.desk.quality.service.IReviewFaultService;
import org.springblade.desk.quality.service.IReviewSheetService;
import org.springblade.desk.quality.wrapper.ReviewSheetDetailWrapper;
import org.springblade.erpdata.feign.IErpMesRbPkpqryClient;
import org.springblade.system.feign.IDictClient;
import org.springblade.system.feign.ISysClient;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.UserInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.http.HttpEntity;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import org.springblade.desk.quality.pojo.dto.PpmReportDetailDTO;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@ -70,12 +73,14 @@ import org.springframework.http.MediaType;
*/
@Service
@Data
@AllArgsConstructor
//@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Slf4j
//@RefreshScope
public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper, ReviewSheet>
implements IReviewSheetService {
@Value("${request.newErp.url}")
private String newErpUrl;
@Resource
private IInspectionTaskService taskService;
@Resource
@ -91,6 +96,8 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
private IDictClient dictClient;
@Resource
private RestTemplate httpClientTemplate;
@Resource
private IErpMesRbPkpqryClient erpMesRbPkpqryClient;
@Override
public IPage<ReviewSheetDetailVO> selectReviewSheetPage(IPage<ReviewSheetDetailVO> page, ReviewSheetDetailVO reviewSheet) {
@ -427,7 +434,10 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
ResponseEntity<JSONObject> responseEntity;
JSONObject responseBody;
try {
responseEntity = httpClientTemplate.postForEntity("http://192.168.119.68:10113" +
// responseEntity = httpClientTemplate.postForEntity("http://192.168.119.68:10113" +
// "/api/mms/qms/qmsrepairapply/qmsRepairApplyRest/saveQmsRepairApply/v1", entity, JSONObject.class);
responseEntity = httpClientTemplate.postForEntity(newErpUrl +
"/api/mms/qms/qmsrepairapply/qmsRepairApplyRest/saveQmsRepairApply/v1", entity, JSONObject.class);
JSONObject result = responseEntity.getBody();
@ -545,7 +555,12 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
@Override
public IPage<PpmReportDetailDTO> listErp(IPage<PpmReportDetailDTO> page, ReviewSheetErpSearch search) {
List<PpmReportDetailDTO> listVO = baseMapper.listErpNew(page, search);
// List<PpmReportDetailDTO> listVO = baseMapper.listErpNew(page, search);
ErpQueryRequest erpQueryRequest = new ErpQueryRequest();
erpQueryRequest.setCurrent(Integer.parseInt(page.getCurrent()+""));
erpQueryRequest.setSize(Integer.parseInt(page.getSize()+""));
erpQueryRequest.setSearch(search);
List<PpmReportDetailDTO> listVO = erpMesRbPkpqryClient.listErpNew(erpQueryRequest);
for (PpmReportDetailDTO oneVO : listVO) {
oneVO.setSheetNo(oneVO.getCode());
oneVO.setP5layer1(oneVO.getP5layer1());

@ -159,31 +159,32 @@ public class JobExtUtil {
} else if (type == YEAR) {
String config = je.getJobTypeYearValue();
// 获取当月最后一天
LocalDate lastLD = LocalDate.of(today.getYear(), today.getMonth(), 1)
.with(TemporalAdjusters.lastDayOfMonth());
log.info("当月最后一天:{}", lastLD);
// 当月最多多少天
Integer maxDay = lastLD.getDayOfMonth();
//如果超了就设置为最后一天
List<String> list = Arrays.asList(config.split(","));
String str = "";
for(String one : list){
String m = one.substring(0, 2);
String d = one.substring(2);
int month = Integer.parseInt(one.substring(0, 2));
int day = Integer.parseInt(one.substring(2));
if(day>maxDay){
day = maxDay;
d = day+"";
}
str = str+m+""+d+",";
}
str = str.substring(0,str.length()-1);
// // 获取当月最后一天
// LocalDate lastLD = LocalDate.of(today.getYear(), today.getMonth(), 1)
// .with(TemporalAdjusters.lastDayOfMonth());
// log.info("当月最后一天:{}", lastLD);
// // 当月最多多少天
// Integer maxDay = lastLD.getDayOfMonth();
//
//
// //如果超了就设置为最后一天
// List<String> list = Arrays.asList(config.split(","));
// String str = "";
// for(String one : list){
//
// String m = one.substring(0, 2);
// String d = one.substring(2);
//
// int month = Integer.parseInt(one.substring(0, 2));
// int day = Integer.parseInt(one.substring(2));
// if(day>maxDay){
// day = maxDay;
// d = day+"";
// }
// str = str+m+""+d+",";
// }
// str = str.substring(0,str.length()-1);
String str = config;
// 解析配置为年度目标日期(MonthDay 仅存月+日,不关联年份)
Set<MonthDay> targetMonthDays = Arrays.stream(str.split(","))
.map(String::trim)

@ -47,6 +47,8 @@ role-config:
sj-checker-alias: "rb_checker"
request:
newErp:
url: "http://192.168.119.68:10113"
#用水用电接口请求地址(iot)
iot:
#热表分厂组织id(部门id)

@ -2,17 +2,26 @@ package org.springblade.erpdata.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.Hidden;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.desk.quality.pojo.dto.ErpQueryRequest;
import org.springblade.desk.quality.pojo.dto.PpmReportDetailDTO;
import org.springblade.desk.quality.pojo.request.ReviewSheetErpSearch;
import org.springblade.erpdata.mapper.ErpMesRbPkpqryMapper;
import org.springblade.erpdata.pojo.dto.MesRbPkpqryDTO;
import org.springblade.erpdata.service.IErpMesRbPkpqryService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 字典服务Feign实现类
@ -27,6 +36,8 @@ public class ErpMesRbPkpqryClient implements IErpMesRbPkpqryClient {
private final IErpMesRbPkpqryService mesRbPkpqryService;
private final ErpMesRbPkpqryMapper erpMesRbPkpqryMapper;
@GetMapping(SELECT_PAGE)
@Override
public R<IPage<MesRbPkpqryDTO>> selectPage(Integer current, Integer size, String pkno, String prtmdept, String subpkdateStart, String subpkdateEnd) {
@ -35,4 +46,15 @@ public class ErpMesRbPkpqryClient implements IErpMesRbPkpqryClient {
query.setSize(size);
return R.data(mesRbPkpqryService.page(Condition.getPage(query), pkno, prtmdept, subpkdateStart, subpkdateEnd));
}
@Override
public List<PpmReportDetailDTO> listErpNew(ErpQueryRequest erpQueryRequest) {
IPage<PpmReportDetailDTO> page = new Page<>(erpQueryRequest.getCurrent(), erpQueryRequest.getSize());
List<PpmReportDetailDTO> result = erpMesRbPkpqryMapper.listErpNew(page, erpQueryRequest.getSearch());
return result;
}
}

@ -2,6 +2,9 @@ package org.springblade.erpdata.mapper;
import com.baomidou.mybatisplus.core.mapper.Mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.desk.quality.pojo.dto.PpmReportDetailDTO;
import org.springblade.desk.quality.pojo.request.ReviewSheetErpSearch;
import org.springblade.erpdata.pojo.dto.MesRbPkpqryDTO;
import java.util.List;
@ -24,4 +27,7 @@ public interface ErpMesRbPkpqryMapper extends Mapper {
* @return
*/
List<MesRbPkpqryDTO> selectPage(IPage page, String pkno, String prtmdept, String subpkdateStart, String subpkdateEnd);
List<PpmReportDetailDTO> listErpNew(IPage<PpmReportDetailDTO> page,
@Param("q") ReviewSheetErpSearch search);
}

@ -19,4 +19,23 @@
</if>
</where>
</select>
<select id="listErpNew"
resultType="org.springblade.desk.quality.pojo.dto.PpmReportDetailDTO">
select a.code,a.p5layer1,a.p5layer3,a.useproc,a.useseq,a.precode,
a.redodeptcode,a.p1remark,a.disposename,a.deptcode,a.p2layer1,a.chker,a.prtno,a.lotno
from dba_mgr.v_mes_rb_qisbillqry a
where 1=1
<if test="q.rsCode != null and q.rsCode != ''">
and code = #{q.rsCode}
</if>
<if test="q.dutyPart != null and q.dutyPart != ''">
and prtno like concat(concat('%', #{q.dutyPart}),'%')
</if>
<if test="q.dutyBatNo != null and q.dutyBatNo != ''">
and lotno like concat(concat('%', #{q.dutyBatNo}),'%')
</if>
</select>
</mapper>

Loading…
Cancel
Save