liweidong-hj 1 week ago
commit 71ea03e845
  1. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkPlan.java
  2. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/ByCardNoByPlanVO.java
  3. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/constant/ReviewSheetConst.java
  4. 13
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/InspectionTask.java
  5. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/ReviewSheet.java
  6. 23
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataLogisticsClient.java
  7. 10
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataLogisticsClientFallback.java
  8. 19
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/AiWebApiController.java
  9. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/DisTaskingMapper.xml
  10. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IWorkOrderService.java
  11. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderRunServiceImpl.java
  12. 15
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java
  13. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkPlanServiceImpl.java
  14. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/PlanTestController.java
  15. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/ReviewSheetMapper.java
  16. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/ReviewSheetMapper.xml
  17. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/WorkPlanItemMapper.java
  18. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/WorkPlanItemMapper.xml
  19. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IInspectionTaskService.java
  20. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IWorkPlanItemService.java
  21. 20
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java
  22. 212
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ReviewSheetServiceImpl.java
  23. 15
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/WorkPlanItemServiceImpl.java
  24. 10
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataLogisticsClient.java
  25. 18
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataLogisticsMapper.java
  26. 221
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataLogisticsMapper.xml
  27. 18
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataLogisticsService.java
  28. 10
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataLogisticsServiceImpl.java

@ -159,7 +159,7 @@ public class WorkPlan extends BaseEntity {
* 不合格数量
*/
@Schema(description = "不合格数量")
private Integer unqualifiedQty;
private Double unqualifiedQty;
/**
* 实际开始
*/

@ -52,5 +52,7 @@ public class ByCardNoByPlanVO {
@Schema(description = "接收人名称")
private String userName;
@Schema(description = "主加工班组")
private String mainTsName;
}

@ -55,7 +55,7 @@ public interface ReviewSheetConst {
/**
* 初始化
*/
Integer REVIEW_STATUS_INIT = -1;
Short REVIEW_STATUS_INIT = -1;
/**
* 让步接收
*/

@ -180,6 +180,19 @@ public class InspectionTask extends BaseEntity {
*/
public static final String COL_PREPARE_WORK_MINUTE = "PREPARE_WORK_MINUTE";
/**
* 未检验
*/
public static Integer CHECK_RESULT_NOT = -1;
/**
* 合格
*/
public static Integer CHECK_RESULT_OK = 1;
/**
* 不合格
*/
public static Integer CHECK_RESULT_NO = 2;
/**
* [检验任务]编码
*/

@ -306,7 +306,7 @@ public class ReviewSheet extends BaseEntity {
* 审理状态
*/
@Schema(description = "审理状态")
private Integer reviewStatus;
private Short reviewStatus;
/**
* 业务类型-[1]:内部审理返修;[2]:内部审理报废;[3]:ERP审理;
*/

@ -26,8 +26,11 @@ public interface IErpDataLogisticsClient {
String QUERY_ALLOCATION_MESS = API_PREFIX + "/queryAllocationMess";
String QUERY_ALLOCATION_MESS_NUM = API_PREFIX + "/queryAllocationMessNum";
String QUERY_ALLOCATION_STATISTICS = API_PREFIX + "/queryAllocationStatistics";
String QUERY_ALLOCATION_STATISTICS_NUM = API_PREFIX + "/queryAllocationStatisticsNum";
/**
* 查询调拨单
* 查询配套信息详情
* @param dto 查询条件
* @return 调拨单
*/
@ -35,10 +38,26 @@ public interface IErpDataLogisticsClient {
R<List<AllocationMessVO>> queryAllocationMess(@RequestBody AllocationMessPageDTO dto);
/**
* 查询调拨单数量
* 查询配套信息详情数量
* @param dto 查询条件
* @return 数量
*/
@PostMapping(QUERY_ALLOCATION_MESS_NUM)
R<Integer> queryAllocationMessNum(@RequestBody AllocationMessPageDTO dto);
/**
* 查询配套信息统计
* @param dto 查询条件
* @return 调拨单
*/
@PostMapping(QUERY_ALLOCATION_STATISTICS)
R<List<AllocationMessVO>> queryAllocationStatistics(@RequestBody AllocationMessPageDTO dto);
/**
* 查询配套信息统计数量
* @param dto 查询条件
* @return 数量
*/
@PostMapping(QUERY_ALLOCATION_STATISTICS_NUM)
R<Integer> queryAllocationStatisticsNum(@RequestBody AllocationMessPageDTO dto);
}

@ -24,4 +24,14 @@ public class IErpDataLogisticsClientFallback implements IErpDataLogisticsClient{
public R<Integer> queryAllocationMessNum(AllocationMessPageDTO dto) {
return R.fail("获取数据失败");
}
@Override
public R<List<AllocationMessVO>> queryAllocationStatistics(AllocationMessPageDTO dto) {
return R.fail("获取数据失败");
}
@Override
public R<Integer> queryAllocationStatisticsNum(AllocationMessPageDTO dto) {
return R.fail("获取数据失败");
}
}

@ -7,6 +7,7 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest;
import lombok.AllArgsConstructor;
import org.springblade.common.exception.BusinessException;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.desk.oldv1.constant.Constant;
import org.springblade.desk.oldv1.pojo.ResultInfo;
@ -52,4 +53,22 @@ public class AiWebApiController extends BladeController {
return ResultInfo.ok();
}
@PostMapping(value = "/deleteReviewOrder")
@Operation(summary = "审理结束回调接口")
public ResultInfo deleteReviewOrder(HttpServletRequest request) throws Exception {
JSONObject params = (JSONObject) request.getAttribute(Constant.WEBAPI_REQUEST_PARAMETERS);
// 添加 调试log
log.info("审理单删除调用接口 params = {}", params);
if (params == null || params.size() == 0) {
throw new BusinessException("参数传递异常!");
}
try {
String trialId = params.getString("trialId");
qcReviewSheetService.deleteReviewOrder(trialId);
} catch (Exception e) {
log.error("审理单删除调用接口{}", params.toJSONString(), e);
}
return ResultInfo.ok();
}
}

@ -17,7 +17,8 @@
b.change_no as changeNo,
b.craft_time as craftTime,
a.DIS_ASSIGN_TIME as taskTime,
case a.DIS_TASK_STATUS when 0 then '待分派' when 1 then '已分派' when 2 then '已处理' when 3 then '待质量处理' end as status
case a.DIS_TASK_STATUS when 0 then '待分派' when 1 then '已分派' when 2 then '已处理' when 3 then '待质量处理'
end as status
FROM
MES_DIS_TASKING a INNER JOIN DS_TASKING b ON a.DT_ID = b.ID
<where>
@ -58,13 +59,15 @@
a.WORK_QTY AS workQty,
a.MAKE_TEAM AS tsId,
e.TS_NAME AS tsName,
a.RECEIVE_MAN AS userId
a.RECEIVE_MAN AS userId,
f.TS_NAME AS mainTsName
FROM
MES_WORK_PLAN a
INNER JOIN MES_WORK_ORDER b ON a.WO_ID = b.ID
INNER JOIN MES_YIELD_ORDER c ON b.yo_id = c.id
LEFT JOIN BS_PROCESS_SET d ON a.PPS_ID = d.ID
LEFT JOIN BS_TEAM_SET e ON a.MAKE_TEAM = e.ID
LEFT JOIN BS_TEAM_SET f ON b.TS_ID = f.ID
WHERE a.WO_ID = #{id}
ORDER BY a.ORDERS
</select>

@ -11,6 +11,7 @@ import org.springblade.desk.produce.pojo.vo.BatchPrepareVO;
import org.springblade.desk.produce.pojo.vo.QueryByReadStatusVO;
import org.springblade.desk.produce.pojo.vo.WorkOrderVO;
import org.springblade.desk.produce.pojo.vo.WorkPlanRunVO;
import org.springblade.desk.quality.pojo.entity.InspectionTask;
import org.springblade.scheduling.pojo.entity.WorkOrderEntity;
import org.springblade.desk.produce.pojo.vo.*;
import java.util.List;
@ -217,7 +218,7 @@ public interface IWorkOrderService extends BaseService<WorkOrder> {
* @param wp 工单计划
* @param wo 工单
*/
void qualified(WorkPlan wp, WorkOrder wo, String userName);
void qualified(WorkPlan wp, InspectionTask taskWorkOrder ,WorkOrder wo, String userName);
/**
* <p>方法名: setRbFilePreserveData </p>
@ -263,9 +264,16 @@ public interface IWorkOrderService extends BaseService<WorkOrder> {
void launchTest(Map<String,Object> data, BladeUser user) throws Exception;
/**
* 查询配信息
* 查询配信息
* @param dto 查询条件
* @return 分配信息
*/
Map<String,Object> queryAllocationMess(AllocationMessPageDTO dto);
/**
* 查询配套统计信息
* @param dto 查询条件
* @return 分配信息
*/
Map<String, Object> queryAllocationStatistics(AllocationMessPageDTO dto);
}

@ -213,7 +213,7 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl<WorkOrderRunMapper,
if (wp.getStatus() <= WorkPlan.STATUS_START) {
// 修改本序
wp.setFactStartTime(null);
wp.setUnqualifiedQty(0);
wp.setUnqualifiedQty(0d);
wp.setStatus(WorkPlan.STATUS_NO_START);
workPlanMapper.updateById(wp);
WorkPlan frontWorkPlan = workPlanMapper.selectOne(new LambdaQueryWrapper<WorkPlan>()
@ -344,7 +344,7 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl<WorkOrderRunMapper,
wp.setMakeTeam(teamSet.getId());
wp.setOem(null);
wp.setPlanStartTime(null);
wp.setUnqualifiedQty(0);
wp.setUnqualifiedQty(0d);
wp.setWorkQty(0d);
wp.setPlanEndTime(null);
wp.setSubsidiaryTeam(null);

@ -2121,7 +2121,9 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
}
@Override
public void qualified(WorkPlan wp, WorkOrder wo, String userName) {
public void qualified(WorkPlan wp, InspectionTask wc, WorkOrder wo, String userName) {
wc.setQualifiedQty(wo.getMakeQty());
wc.setCheckResult(InspectionTask.CHECK_RESULT_OK);
// 检验完成修改车间订单状态(注意如果wp中状态是已完成,则不更改订单状态和工序状态,只对后续工序的接收数和完工数进行更改)
WorkPlan nextWorkPlan = workPlanService.getById(wp.getNextWpId());
if (wp.getStatus() < WorkPlan.STATUS_COMPLETE) {
@ -2680,6 +2682,17 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
return result;
}
@Override
public Map<String,Object> queryAllocationStatistics(AllocationMessPageDTO dto) {
List<AllocationMessVO> allocationMessList = erpDataLogisticsClient.queryAllocationStatistics(dto).getData();
int totalAllocationMessNum = erpDataLogisticsClient.queryAllocationStatisticsNum(dto).getData();
Map<String,Object> result = new HashMap<>(3);
result.put("current",dto.getCurrent());
result.put("record",allocationMessList);
result.put("total",totalAllocationMessNum);
return result;
}
@Override
public void launchTest(Map<String, Object> data, BladeUser user) throws Exception {
// 提取参数

@ -100,7 +100,7 @@ public class WorkPlanServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPla
wp.setTestQty(0d);
wp.setScrapQty(0d);
wp.setCreateTime(new Date());
wp.setUnqualifiedQty(0);
wp.setUnqualifiedQty(0d);
//判定工序是否特殊工序,如果是,则附属班组存在值
if (wp.getMakeTeam() != null) {
BsProcessSetEntity processSet = bsProcessSetService.getById(wp.getPpsId());

@ -316,4 +316,11 @@ public class PlanTestController extends BladeController {
public R<Map<String,Object>> queryAllocationMess(@RequestBody AllocationMessPageDTO allocationMessPageDTO) {
return R.data(workOrderService.queryAllocationMess(allocationMessPageDTO));
}
@PostMapping(value = "/queryAllocationStatistics")
@ApiOperationSupport(order = 1)
@Operation(summary = "加载配套信息统计", description = "filterContext 查询参数")
public R<Map<String,Object>> queryAllocationStatistics(@RequestBody AllocationMessPageDTO allocationMessPageDTO) {
return R.data(workOrderService.queryAllocationStatistics(allocationMessPageDTO));
}
}

@ -14,6 +14,7 @@ import org.springblade.desk.quality.pojo.request.ReviewSheetInitSearch;
import org.springblade.desk.quality.pojo.request.ReviewSheetRedoScrapSearch;
import org.springblade.desk.quality.pojo.vo.*;
import org.springblade.desk.quality.pojo.dto.PpmReportDetailDTO;
import org.springblade.wms.pojo.entity.SyDockingLog;
import java.util.List;
@ -61,4 +62,6 @@ public interface ReviewSheetMapper extends BaseMapper<ReviewSheet> {
List<PpmReportDetailDTO> listErpNew(IPage<PpmReportDetailDTO> page,
@Param("q") ReviewSheetErpSearch search);
List<SyDockingLog> queryGdByCode(String trialId);
}

@ -346,4 +346,7 @@
and lotno like concat(concat('%', #{q.dutyBatNo}),'%')
</if>
</select>
<select id="queryGdByCode" resultType="org.springblade.wms.pojo.entity.SyDockingLog">
select * from SY_DOCKING_LOG where read_type = '审理结束回调接口' and code = #{trialId}
</select>
</mapper>

@ -37,4 +37,6 @@ public interface WorkPlanItemMapper extends BaseMapper<WorkPlanItem> {
* @return List<WorkPlanItemExcel>
*/
List<WorkPlanItemExcel> exportWorkPlanItem(@Param("ew") Wrapper<WorkPlanItem> queryWrapper);
List<WorkPlanItem> listByWoId(Long woId);
}

@ -37,4 +37,16 @@
SELECT *
FROM QA_WORK_PLAN_ITEM ${ew.customSqlSegment}
</select>
<select id="listByWoId" resultType="org.springblade.desk.quality.pojo.entity.WorkPlanItem">
SELECT
a.*
FROM
QA_WORK_PLAN_ITEM a
INNER JOIN mes_work_plan b ON a.wp_id = b.ID
LEFT JOIN BS_PROCESS_SET c ON b.PPS_ID = c.ID
WHERE
b.wo_id = #{woId}
AND a.ITEM_NAME != '单件包装材料数量'
AND c.NAME != '烧结包装防护'
</select>
</mapper>

@ -16,6 +16,8 @@ import org.springblade.core.tool.api.R;
import org.springblade.desk.produce.pojo.dto.PrintThicknessCraftCard;
import org.springblade.desk.produce.pojo.entity.MesRbFilePreserveDetailEntity;
import org.springblade.desk.produce.pojo.entity.MesRbFilePreserveSlotEntity;
import org.springblade.desk.produce.pojo.entity.WorkOrder;
import org.springblade.desk.produce.pojo.entity.WorkPlan;
import org.springblade.desk.quality.excel.InspectionTaskExcel;
import org.springblade.desk.quality.pojo.entity.InspectionTask;
import org.springblade.desk.quality.pojo.request.InspectionTaskSearch;
@ -131,5 +133,7 @@ public interface IInspectionTaskService extends BaseService<InspectionTask> {
List<PrintThicknessCraftCard> printThicknessList(List<Long> idArr);
List<MesRbFilePreserveDetailEntity> getByRfpsIdMesNew(Long rfpsId);
public void saveOrEditMes(List<MesRbFilePreserveSlotEntity> submitList, List<Long> deleteIds, BladeUser curUserInfo,Long rfpId);
void saveOrEditMes(List<MesRbFilePreserveSlotEntity> submitList, List<Long> deleteIds, BladeUser curUserInfo, Long rfpId);
void computeOrderQty(WorkPlan wp, InspectionTask task, WorkOrder wo, int checkQ, int testQty, int lossQty, int scrapQty);
}

@ -55,4 +55,10 @@ public interface IWorkPlanItemService extends BaseService<WorkPlanItem> {
void saveCheckItem(WorkPlan wp, List<WorkPlanItem> checkItemList, List<Long> deleteIds, String s);
void deleteItem(List<Long> deleteIds);
List<WorkPlanItem> listByWpId(Long wpId, Integer checkResultNo);
List<WorkPlanItem> listByWpId(Long wpId);
List<WorkPlanItem> listByWoId(Long woId);
}

@ -189,7 +189,6 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
}
vo.setOrderInfo(detailDetail);
if (null == detailDetail.getCurrentProcessName()) {
vo.setProcessName("");
@ -590,7 +589,6 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
}
@Override
public IPage<InspectionTaskListVO> listSearch(IPage<InspectionTaskListVO> page, InspectionTaskSearch search) {
List<InspectionTaskListVO> listVO = baseMapper.listSearch(page, search);
@ -978,7 +976,6 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
}
//222222222222222222222222222222222222222222222
// 根据电子档案维护组装数据(线下)
@ -1536,10 +1533,9 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
task.setCheckUserId(AuthUtil.getUserId());
task.setCheckDate(LocalDateTime.now());
this.computeOrderQty(wp, wo, sumCheckQ, sumTestQty, sumLossQty, 0);
// this.qualified(wp, wc, wo);
this.computeOrderQty(wp, task, wo, sumCheckQ, sumTestQty, sumLossQty, 0);
IWorkOrderService workOrderService = context.getBean(IWorkOrderService.class);
workOrderService.qualified(wp,wo,AuthUtil.getUserName());
workOrderService.qualified(wp, task, wo, AuthUtil.getUserName());
} else if (countNA == itemList.size()) { // 全部item NA
checkResult = InspectionTaskConst.CHECK_RESULT_NA;
} else if (countNO >= 0 && countNO <= itemList.size()) { // 不合格
@ -1572,8 +1568,14 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
public void setApplicationContext(ApplicationContext context) {
this.context = context;
}
public void computeOrderQty(WorkPlan wp, WorkOrder wo, int checkQ, int testQty, int lossQty, int scrapQty) {
@Override
public void computeOrderQty(WorkPlan wp, InspectionTask wc, WorkOrder wo, int checkQ, int testQty, int lossQty, int scrapQty) {
if (wc != null) {
wc.setScrapQty(wc.getScrapQty() + scrapQty);
wc.setCheckQty(wc.getCheckQty() + checkQ);
wc.setLossQty(wc.getLossQty() + lossQty);
}
if (wo != null) {
wo.setMakeQty(wo.getMakeQty() - (testQty + lossQty + scrapQty));
wo.setTestQty(wo.getTestQty() + testQty);
@ -1761,6 +1763,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
}
return obj;
}
public List<PrintChildCheck> getCheckListDetail(List<PrintChildCheck> checkList, List<WorkPlanItem> piLst, Boolean eleOrPrint) {
if (piLst != null && piLst.size() > 0) {
@ -1813,7 +1816,6 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
String checkManByNewErp = workPlanMapper.getCheckManByNewErpMes(userName);
if (eleOrPrint) {
cc.setImgUrl(checkManByNewErp);
} else {
@ -1889,7 +1891,6 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
}
@Override
public Object pagePrintSjEleFiles(Long woId, Integer yieldType, List<Boolean> planList, List<Boolean> moduleList) {
@ -1971,6 +1972,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
List<MesRbFilePreserveDetailEntity> list = workPlanMapper.getByRfpsIdMesNew(id);
return list;
}
@Override
public void saveOrEditMes(List<MesRbFilePreserveSlotEntity> submitList, List<Long> deleteIds, BladeUser curUserInfo, Long rfpId) {
Map<String, Long> slotNameCountMap = submitList.stream()

@ -1,6 +1,3 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.service.impl;
import cn.hutool.core.bean.BeanUtil;
@ -9,14 +6,15 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.annotation.Resource;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springblade.common.exception.BusinessException;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
@ -27,40 +25,41 @@ import org.springblade.desk.basic.constant.BaseRequest;
import org.springblade.desk.basic.constant.BaseValue;
import org.springblade.desk.basic.service.en.impl.EnBaseServiceImpl;
import org.springblade.desk.basic.util.IdUtil;
import org.springblade.desk.order.mapper.YieldOrderMapper;
import org.springblade.desk.order.pojo.entity.YieldOrder;
import org.springblade.desk.produce.mapper.WorkOrderRunMapper;
import org.springblade.desk.produce.pojo.entity.WorkOrder;
import org.springblade.desk.produce.pojo.entity.WorkOrderRun;
import org.springblade.desk.produce.pojo.entity.WorkPlan;
import org.springblade.desk.produce.service.IWorkOrderService;
import org.springblade.desk.produce.service.IWorkPlanService;
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.*;
import org.springblade.desk.quality.pojo.entity.InspectionTask;
import org.springblade.desk.quality.pojo.entity.ReviewDuty;
import org.springblade.desk.quality.pojo.entity.ReviewFault;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
import org.springblade.desk.quality.pojo.entity.*;
import org.springblade.desk.quality.pojo.request.ReviewSheetErpSearch;
import org.springblade.desk.quality.pojo.request.ReviewSheetInitSearch;
import org.springblade.desk.quality.pojo.request.ReviewSheetRedoScrapSearch;
import org.springblade.desk.quality.pojo.vo.*;
import org.springblade.desk.quality.service.IInspectionTaskService;
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.service.*;
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.User;
import org.springblade.system.pojo.entity.UserInfo;
import org.springblade.wms.pojo.entity.SyDockingLog;
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.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.springframework.web.client.RestTemplate;
import org.springframework.http.HttpHeaders;
@ -73,12 +72,9 @@ import org.springframework.http.MediaType;
*/
@Service
@Data
//@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Slf4j
//@RefreshScope
public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper, ReviewSheet>
implements IReviewSheetService {
public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper, ReviewSheet> implements IReviewSheetService {
@Value("${request.newErp.url}")
private String newErpUrl;
@Resource
@ -99,6 +95,18 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
@Resource
private IErpMesRbPkpqryClient erpMesRbPkpqryClient;
@Lazy
@Autowired
private IWorkOrderService workOrderService;
private final IInspectionTaskService inspectionTaskService;
private final WorkOrderRunMapper workOrderRunMapper;
private final YieldOrderMapper yieldOrderMapper;
private final IWorkPlanItemService workPlanItemService;
@Override
public IPage<ReviewSheetDetailVO> selectReviewSheetPage(IPage<ReviewSheetDetailVO> page, ReviewSheetDetailVO reviewSheet) {
return page.setRecords(baseMapper.selectReviewSheetPage(page, reviewSheet));
@ -283,44 +291,186 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
}
@Override
public void reviewResult(String trialId, Short resultStatus, String reviewMan, String liabilityPart,
Integer scrapQty, Integer reworkQty, Integer concedeQty, String memo) throws Exception {
public void reviewResult(String trialId, Short resultStatus, String reviewMan, String liabilityPart, Integer scrapQty, Integer reworkQty, Integer concedeQty, String memo) throws Exception {
ReviewSheet rs = getByTrialId(trialId);
if (rs == null) {
throw new BusinessException("审理单信息不存在!");
}
InspectionTask wc = taskService.getById(rs.getTaskId());
WorkPlan wp = workPlanService.getById(wc.getWpId());
WorkOrder wo = workOrderService.getById(wp.getWoId());
// rs.setReviewUserId(); "reviewMan"
if (WorkOrder.RUN_STATUS_HANDOVER.equals(wo.getRunStatus())) {
log.error("车间订单状态为已交接,不处理审理单!{}", wo.getWoCode());
return;
}
List<User> users = userClient.userListByName(reviewMan);
rs.setReviewUserId(CollectionUtils.isNotEmpty(users) ? users.get(0).getId() : null);
rs.setMemo(memo);
rs.setReviewDate(LocalDateTime.now());
rs.setReviewStatus((int) resultStatus); // todo:
rs.setReviewStatus(resultStatus);
rs.setStatus(ReviewSheetConst.STATUS.S_COMPLETE);
// 装配模式
if (ReviewSheetConst.MODE_ASSEMBLY.equals(rs.getReviewOrderMode())) {
// 如果相关零件号存在 报废数量直接扣除
if (StringUtils.isNotBlank(liabilityPart)) {
if (scrapQty != null && scrapQty > 0) {
//20250407 zxh 装配模式有报废且有相关零件时,校验订单加工数需大于报废数后再进行扣数
if (wo.getMakeQty() >= scrapQty) {
inspectionTaskService.computeOrderQty(wp, wc, wo, 0, 0, 0, scrapQty);
}
}
} else { // 将报废数累加,不扣生产数量
if (scrapQty != null && scrapQty > 0) {
if (wc != null) {
wc.setScrapQty(wc.getScrapQty() + scrapQty);
}
if (wo != null) {
wo.setScrapQty(wo.getScrapQty() + scrapQty);
}
}
}
}
// 零件模式
if (ReviewSheetConst.MODE_PART.equals(rs.getReviewOrderMode())) {
else if (ReviewSheetConst.MODE_PART.equals(rs.getReviewOrderMode())) {
// 如果有报废数量直接扣除
if (scrapQty != null && scrapQty > 0) {
//20250329 zxh 审理单多次归档问题处理
List<SyDockingLog> queryGdByCode = baseMapper.queryGdByCode(trialId);
if (queryGdByCode != null && !queryGdByCode.isEmpty()) {
wo.setScrapQty(wo.getScrapQty() - wc.getScrapQty());
wo.setMakeQty(wo.getMakeQty() + wc.getScrapQty());
wp.setWorkQty(wp.getWorkQty() + wc.getScrapQty());
wp.setScrapQty(wp.getScrapQty() - wc.getScrapQty());
wc.setScrapQty(0d);
}
inspectionTaskService.computeOrderQty(wp, wc, wo, 0, 0, 0, scrapQty);
}
}
//如果有返工数量,则直接返工
if (reworkQty != null && reworkQty > 0) {
wc.setUnqualifiedQty(wo.getMakeQty());
wc.setReworkQty(Double.valueOf(reworkQty));
wp.setUnqualifiedQty(wo.getMakeQty());
} else {
//如果全部报废则更改车间订单为全部报废
if (wo.getMakeQty().intValue() <= 0) {
//检验完成修改车间订单
workOrderService.updateStatus(Collections.singletonList(wo.getId()), WorkOrder.RUN_STATUS_SCRAP, null, null);
} else {
// 查询此工序是否有试验项目,如果有说明是检验工序
List<WorkPlanItem> list = workPlanItemService.listByWpId(wp.getId());
if (list != null && !list.isEmpty()) {
//修改检验明细为合格
list = workPlanItemService.listByWpId(wp.getId(), InspectionTask.CHECK_RESULT_NO);
list.forEach(item -> item.setCheckResult(InspectionTask.CHECK_RESULT_OK));
//判定是否还有未检验,如果没有,修改检验为合格
list = workPlanItemService.listByWpId(wp.getId(), InspectionTask.CHECK_RESULT_NOT);
if (list.isEmpty()) {
// 扣除实验数、消耗数
List<WorkPlanItem> prWorkPlanItemList = workPlanItemService.listByWpId(wp.getId());
int sumCheckQ = 0, sumTestQty = 0, sumLossQty = 0;
for (WorkPlanItem wpi : prWorkPlanItemList) {
sumCheckQ += wpi.getCheckQty();
sumTestQty += wpi.getTestQty();
sumLossQty += wpi.getLossQty();
}
List<WorkPlanItem> prWorkPlanItems = workPlanItemService.listByWoId(wo.getId());
int sumAllTestQty = 0;
int sumAllLostQty = 0;
for (WorkPlanItem prWorkPlanItem : prWorkPlanItems) {
sumAllTestQty += prWorkPlanItem.getTestQty();
sumAllLostQty += prWorkPlanItem.getLossQty();
}
//周新昊 20241104 加日志
//zxh 20241128 审理单归档后扣除实验数前增加校验
//zxh 20250423 条件增加||损耗数校验
if (!(wo.getTestQty().equals(sumAllTestQty)) || !(wo.getLossQty().equals(sumAllLostQty))) {
inspectionTaskService.computeOrderQty(wp, wc, wo, sumCheckQ, sumTestQty, sumLossQty, 0);
}
workOrderService.qualified(wp, wc, wo, userClient.userInfoById(wc.getCheckUserId()).getData().getRealName());
} else {
wc.setCheckResult(InspectionTask.CHECK_RESULT_NOT);
// 如果还有未检验得试验项目、继续检验
wo.setRunStatus(WorkOrder.RUN_STATUS_CHECK);
log.info("审理结束回调接口修改订单状态为检验中");
workOrderService.updateById(wo);
}
} else {
wc.setCheckResult(InspectionTask.CHECK_RESULT_NOT);
wo.setRunStatus(WorkOrder.RUN_STATUS_RECEIVE);
workOrderService.updateById(wo);
}
if (wo.getMakeQty() < 1) {
//检验完成修改车间订单
workOrderService.updateStatus(Collections.singletonList(wo.getId()), WorkOrder.RUN_STATUS_SCRAP, null, null);
}
}
}
//zxh 20250617 审理结论为让步接收时,将检验记录中不合格数清零,检验状态改为合格
if (resultStatus == 3) {
wc.setUnqualifiedQty(0d);
wc.setCheckResult(InspectionTaskConst.CHECK_RESULT_OK);
}
WorkOrderRun wor = workOrderRunMapper.selectById(wo.getWorId());
YieldOrder yieldOrder = yieldOrderMapper.selectById(wo.getYoId());
if (wor != null && wor.getInCustomer() != null && !yieldOrder.getManualIncrease()) {
//外协交件单号为空不调用erp检验接口
if (StringUtils.isNotBlank(wor.getDeliverKey())) {
//调用erp检验接口
// erpMesRbPkpqryClient.checkCompleteErpBackFill(wor.getWoCode(), wor.getDeliverKey(), wp.getWorkQty(), 0, userClient.userInfoById(wc.getCheckUserId()).getData().getRealName());
}
}
}
@Override
public void deleteReviewOrder(String trialId) throws Exception {
public void deleteReviewOrder(String trialId) {
ReviewSheet reviewSheet = getByTrialId(trialId);
if (reviewSheet == null) {
throw new BusinessException("审理单信息不存在!");
throw new ServiceException("审理单信息不存在!");
}
// todo: mes v1
//责任零件
dutyService.remove(Wrappers.lambdaQuery(ReviewDuty.class).eq(ReviewDuty::getReviewSheetId, reviewSheet.getId()));
//问题故障
faultService.remove(Wrappers.lambdaQuery(ReviewFault.class).eq(ReviewFault::getReviewSheetId, reviewSheet.getId()));
InspectionTask prWorkCheck = inspectionTaskService.getById(reviewSheet.getTaskId());
if (prWorkCheck != null) {
// 将审理状态改为初始值
prWorkCheck.setReviewStatus((short) 0);
inspectionTaskService.updateById(prWorkCheck);
WorkPlan workPlan = workPlanService.getById(prWorkCheck.getWpId());
if (workPlan != null) {
WorkOrder workOrder = workOrderService.getById(workPlan.getWoId());
if (workOrder != null && workOrder.getRunStatus() < WorkOrder.RUN_STATUS_COMPLETED) {
workOrder.setRunStatus(WorkOrder.RUN_STATUS_RECEIVE);
//zxh 20250522 增加记录订单变更为加工中日志
// 判定当前序是否还有未检验得项目,如果有修改状态未检验中,如果没有修改未加工中
List<WorkPlanItem> prWorkPlanItems;
prWorkPlanItems = workPlanItemService.listByWpId(prWorkCheck.getWpId(), InspectionTask.CHECK_RESULT_NOT);
if (prWorkPlanItems != null && !prWorkPlanItems.isEmpty()) {
workOrder.setRunStatus(WorkOrder.RUN_STATUS_CHECK);
log.info("审理单删除调用接口修改订单状态为检验中1");
} else if (prWorkPlanItems.isEmpty()) {
// 判断是否有试验项目不合格
prWorkPlanItems = workPlanItemService.listByWpId(prWorkCheck.getWpId(), InspectionTask.CHECK_RESULT_NO);
if (prWorkPlanItems != null && !prWorkPlanItems.isEmpty()) {
workOrder.setRunStatus(WorkOrder.RUN_STATUS_CHECK);
log.info("审理单删除调用接口修改订单状态为检验中2");
}
}
workOrderService.updateById(workOrder);
}
}
}
this.removeById(reviewSheet);
}
@Override
@ -494,10 +644,10 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
rs.setStatus(ReviewSheetConst.STATUS.S_COMPLETE);
if(1==selfReviewFlag){
//通过
rs.setReviewStatus(3);
rs.setReviewStatus((short) 3);
}else{
//驳回
rs.setReviewStatus(4);
rs.setReviewStatus((short) 4);
}
BladeUser bu = AuthUtil.getUser();
log.info("ReviewSheet bu = {}", bu);

@ -228,4 +228,19 @@ public class WorkPlanItemServiceImpl extends BaseServiceImpl<WorkPlanItemMapper,
wpItemDetailService.remove(Wrappers.lambdaQuery(WorkPlanItemDetail.class).in(WorkPlanItemDetail::getWorkPlanItemId, deleteIds));
}
}
@Override
public List<WorkPlanItem> listByWpId(Long wpId, Integer checkResultNo) {
return this.list(Wrappers.lambdaQuery(WorkPlanItem.class).eq(WorkPlanItem::getWpId, wpId).eq(WorkPlanItem::getCheckResult, checkResultNo));
}
@Override
public List<WorkPlanItem> listByWpId(Long wpId) {
return this.list(Wrappers.lambdaQuery(WorkPlanItem.class).eq(WorkPlanItem::getWpId, wpId));
}
@Override
public List<WorkPlanItem> listByWoId(Long woId) {
return baseMapper.listByWoId(woId);
}
}

@ -34,4 +34,14 @@ public class ErpDataLogisticsClient implements IErpDataLogisticsClient {
public R<Integer> queryAllocationMessNum(AllocationMessPageDTO dto) {
return R.data(erpDataLogisticsService.queryAllocationMessNum(dto));
}
@Override
public R<List<AllocationMessVO>> queryAllocationStatistics(AllocationMessPageDTO dto) {
return R.data(erpDataLogisticsService.queryAllocationStatistics(dto));
}
@Override
public R<Integer> queryAllocationStatisticsNum(AllocationMessPageDTO dto) {
return R.data(erpDataLogisticsService.queryAllocationStatisticsNum(dto));
}
}

@ -14,16 +14,30 @@ import java.util.List;
public interface ErpDataLogisticsMapper extends Mapper {
/**
* 查询调拨单
* 查询配置信息详情
* @param dto 查询条件
* @return 调拨单列表
*/
List<AllocationMessVO> queryAllocationMess(@Param("dto") AllocationMessPageDTO dto);
/**
* 查询调拨单数量
* 查询配置信息详情数量
* @param dto 查询条件
* @return 调拨单数量
*/
Integer queryAllocationMessNum(@Param("dto") AllocationMessPageDTO dto);
/**
* 查询配置信息统计
* @param dto 查询条件
* @return 调拨单列表
*/
List<AllocationMessVO> queryAllocationStatistics(@Param("dto") AllocationMessPageDTO dto);
/**
* 查询配置信息统计数量
* @param dto 查询条件
* @return 调拨单数量
*/
Integer queryAllocationStatisticsNum(@Param("dto") AllocationMessPageDTO dto);
}

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.erpdata.mapper.ErpDataLogisticsMapper">
<!-- 查询调拨单列表 -->
<!-- 查询配套明细列表 -->
<select id="queryAllocationMess" resultType="org.springblade.desk.logistics.pojo.vo.AllocationMessVO">
SELECT * FROM (
SELECT t1.*, ROWNUM no FROM (
@ -20,6 +20,24 @@
<if test="dto.prtlotno != null and dto.prtlotno != ''">
AND a.prtlotno = #{dto.prtlotno}
</if>
<if test="dto.pkreqdat != null and dto.pkreqdat != ''">
AND a.pkreqdat = #{dto.pkreqdat}
</if>
<if test="dto.fjSplcode != null and dto.fjSplcode != ''">
AND a.fj_splcode = #{dto.fjSplcode}
</if>
<if test="dto.fjPkavqty != null and dto.fjPkavqty != ''">
AND a.fj_pkavqty = #{dto.fjPkavqty}
</if>
<if test="dto.serialno != null and dto.serialno != ''">
AND a.serialno = #{dto.serialno}
</if>
<if test="dto.prtmdept != null and dto.prtmdept != ''">
AND a.prtmdept = #{dto.prtmdept}
</if>
<if test="dto.plnsign != null and dto.plnsign != ''">
AND a.plnsign = #{dto.plnsign}
</if>
<if test="dto.mono != null and dto.mono != ''">
AND a.mono = #{dto.mono}
</if>
@ -29,12 +47,21 @@
<if test="dto.planner1 != null and dto.planner1 != ''">
AND a.planner1 = #{dto.planner1}
</if>
<if test="dto.subpkdate != null and dto.subpkdate != ''">
AND a.subpkdate = #{dto.subpkdate}
</if>
<if test="dto.warctlr != null and dto.warctlr != ''">
AND a.warctlr = #{dto.warctlr}
</if>
<if test="dto.barcodeno != null and dto.barcodeno != ''">
AND a.barcodeno = #{dto.barcodeno}
</if>
<if test="dto.plandept != null and dto.plandept != ''">
AND a.plandept = #{dto.plandept}
</if>
<if test="dto.remark != null and dto.remark != ''">
AND a.remark LIKE '%' || #{dto.remark} || '%'
</if>
<if test="dto.prtclass != null and dto.prtclass != ''">
AND a.prtclass = #{dto.prtclass}
</if>
@ -47,41 +74,211 @@
</select>
<!-- 查询调拨单数量 -->
<!-- 查询配套明细数量 -->
<select id="queryAllocationMessNum" resultType="java.lang.Integer">
SELECT COUNT(1) FROM dba_mgr.v_mes_rb_pkpqry
<where>
<if test="dto.pkno != null and dto.pkno != ''">
AND pkno LIKE CONCAT('%', #{dto.pkno}, '%')
AND a.pkno LIKE '%' || #{dto.pkno} || '%'
</if>
<if test="dto.prntno != null and dto.prntno != ''">
AND a.prntno LIKE '%' || #{dto.prntno} || '%'
</if>
<if test="dto.mtltmrk != null and dto.mtltmrk != ''">
AND a.mtltmrk = #{dto.mtltmrk}
</if>
<if test="dto.prtlotno != null and dto.prtlotno != ''">
AND a.prtlotno = #{dto.prtlotno}
</if>
<if test="dto.pkreqdat != null and dto.pkreqdat != ''">
AND a.pkreqdat = #{dto.pkreqdat}
</if>
<if test="dto.fjSplcode != null and dto.fjSplcode != ''">
AND a.fj_splcode = #{dto.fjSplcode}
</if>
<if test="dto.fjPkavqty != null and dto.fjPkavqty != ''">
AND a.fj_pkavqty = #{dto.fjPkavqty}
</if>
<if test="dto.serialno != null and dto.serialno != ''">
AND a.serialno = #{dto.serialno}
</if>
<if test="dto.prtmdept != null and dto.prtmdept != ''">
AND a.prtmdept = #{dto.prtmdept}
</if>
<if test="dto.plnsign != null and dto.plnsign != ''">
AND a.plnsign = #{dto.plnsign}
</if>
<if test="dto.mono != null and dto.mono != ''">
AND a.mono = #{dto.mono}
</if>
<if test="dto.schemer != null and dto.schemer != ''">
AND a.schemer = #{dto.schemer}
</if>
<if test="dto.planner1 != null and dto.planner1 != ''">
AND a.planner1 = #{dto.planner1}
</if>
<if test="dto.subpkdate != null and dto.subpkdate != ''">
AND a.subpkdate = #{dto.subpkdate}
</if>
<if test="dto.warctlr != null and dto.warctlr != ''">
AND a.warctlr = #{dto.warctlr}
</if>
<if test="dto.barcodeno != null and dto.barcodeno != ''">
AND a.barcodeno = #{dto.barcodeno}
</if>
<if test="dto.plandept != null and dto.plandept != ''">
AND a.plandept = #{dto.plandept}
</if>
<if test="dto.remark != null and dto.remark != ''">
AND a.remark LIKE '%' || #{dto.remark} || '%'
</if>
<if test="dto.prtclass != null and dto.prtclass != ''">
AND a.prtclass = #{dto.prtclass}
</if>
</where>
</select>
<select id="queryAllocationStatistics" resultType="org.springblade.desk.logistics.pojo.vo.AllocationMessVO">
SELECT * FROM (
SELECT t.*, ROWNUM no FROM (
SELECT
a.prtmdept,
a.subpkdate,
SUM(NVL(a.fj_pkavqty, 0)) AS fjpkavqty
FROM dba_mgr.v_mes_rb_pkpqry a
<where>
<if test="dto.pkno != null and dto.pkno != ''">
AND a.pkno LIKE '%' || #{dto.pkno} || '%'
</if>
<if test="dto.prntno != null and dto.prntno != ''">
AND a.prntno LIKE '%' || #{dto.prntno} || '%'
</if>
<if test="dto.mtltmrk != null and dto.mtltmrk != ''">
AND a.mtltmrk = #{dto.mtltmrk}
</if>
<if test="dto.prtlotno != null and dto.prtlotno != ''">
AND a.prtlotno = #{dto.prtlotno}
</if>
<if test="dto.pkreqdat != null and dto.pkreqdat != ''">
AND a.pkreqdat = #{dto.pkreqdat}
</if>
<if test="dto.fjSplcode != null and dto.fjSplcode != ''">
AND a.fj_splcode = #{dto.fjSplcode}
</if>
<if test="dto.fjPkavqty != null and dto.fjPkavqty != ''">
AND a.fj_pkavqty = #{dto.fjPkavqty}
</if>
<if test="dto.serialno != null and dto.serialno != ''">
AND a.serialno = #{dto.serialno}
</if>
<if test="dto.prtmdept != null and dto.prtmdept != ''">
AND a.prtmdept = #{dto.prtmdept}
</if>
<if test="dto.plnsign != null and dto.plnsign != ''">
AND a.plnsign = #{dto.plnsign}
</if>
<if test="dto.mono != null and dto.mono != ''">
AND a.mono = #{dto.mono}
</if>
<if test="dto.schemer != null and dto.schemer != ''">
AND a.schemer = #{dto.schemer}
</if>
<if test="dto.planner1 != null and dto.planner1 != ''">
AND a.planner1 = #{dto.planner1}
</if>
<if test="dto.subpkdate != null and dto.subpkdate != ''">
AND a.subpkdate = #{dto.subpkdate}
</if>
<if test="dto.warctlr != null and dto.warctlr != ''">
AND a.warctlr = #{dto.warctlr}
</if>
<if test="dto.barcodeno != null and dto.barcodeno != ''">
AND a.barcodeno = #{dto.barcodeno}
</if>
<if test="dto.plandept != null and dto.plandept != ''">
AND a.plandept = #{dto.plandept}
</if>
<if test="dto.remark != null and dto.remark != ''">
AND a.remark LIKE '%' || #{dto.remark} || '%'
</if>
<if test="dto.prtclass != null and dto.prtclass != ''">
AND a.prtclass = #{dto.prtclass}
</if>
</where>
GROUP BY a.prtmdept, a.subpkdate
ORDER BY a.subpkdate DESC, a.prtmdept DESC
) t
WHERE ROWNUM &lt;= #{dto.current} * #{dto.size}
)
WHERE no &gt;= (#{dto.current} - 1) * #{dto.size} + 1
</select>
<select id="queryAllocationStatisticsNum" resultType="java.lang.Integer">
SELECT COUNT(1)
FROM (
SELECT 1
FROM dba_mgr.v_mes_rb_pkpqry a
<where>
<if test="dto.pkno != null and dto.pkno != ''">
AND a.pkno LIKE '%' || #{dto.pkno} || '%'
</if>
<if test="dto.prntno != null and dto.prntno != ''">
AND prntno LIKE CONCAT('%', #{dto.prntno}, '%')
AND a.prntno LIKE '%' || #{dto.prntno} || '%'
</if>
<if test="dto.mtltmrk != null and dto.mtltmrk != ''">
AND mtltmrk = #{dto.mtltmrk}
AND a.mtltmrk = #{dto.mtltmrk}
</if>
<if test="dto.prtlotno != null and dto.prtlotno != ''">
AND prtlotno = #{dto.prtlotno}
AND a.prtlotno = #{dto.prtlotno}
</if>
<if test="dto.pkreqdat != null and dto.pkreqdat != ''">
AND a.pkreqdat = #{dto.pkreqdat}
</if>
<if test="dto.fjSplcode != null and dto.fjSplcode != ''">
AND a.fj_splcode = #{dto.fjSplcode}
</if>
<if test="dto.fjPkavqty != null and dto.fjPkavqty != ''">
AND a.fj_pkavqty = #{dto.fjPkavqty}
</if>
<if test="dto.serialno != null and dto.serialno != ''">
AND a.serialno = #{dto.serialno}
</if>
<if test="dto.prtmdept != null and dto.prtmdept != ''">
AND a.prtmdept = #{dto.prtmdept}
</if>
<if test="dto.plnsign != null and dto.plnsign != ''">
AND a.plnsign = #{dto.plnsign}
</if>
<if test="dto.mono != null and dto.mono != ''">
AND mono = #{dto.mono}
AND a.mono = #{dto.mono}
</if>
<if test="dto.schemer != null and dto.schemer != ''">
AND schemer = #{dto.schemer}
AND a.schemer = #{dto.schemer}
</if>
<if test="dto.planner1 != null and dto.planner1 != ''">
AND planner1 = #{dto.planner1}
AND a.planner1 = #{dto.planner1}
</if>
<if test="dto.subpkdate != null and dto.subpkdate != ''">
AND a.subpkdate = #{dto.subpkdate}
</if>
<if test="dto.warctlr != null and dto.warctlr != ''">
AND warctlr = #{dto.warctlr}
AND a.warctlr = #{dto.warctlr}
</if>
<if test="dto.barcodeno != null and dto.barcodeno != ''">
AND a.barcodeno = #{dto.barcodeno}
</if>
<if test="dto.plandept != null and dto.plandept != ''">
AND plandept = #{dto.plandept}
AND a.plandept = #{dto.plandept}
</if>
<if test="dto.remark != null and dto.remark != ''">
AND a.remark LIKE '%' || #{dto.remark} || '%'
</if>
<if test="dto.prtclass != null and dto.prtclass != ''">
AND prtclass = #{dto.prtclass}
AND a.prtclass = #{dto.prtclass}
</if>
</where>
GROUP BY a.prtmdept, a.subpkdate
) c
</select>
</mapper>

@ -13,16 +13,30 @@ import java.util.List;
public interface IErpDataLogisticsService {
/**
* 查询调拨单
* 查询配置信息明细
* @param dto 查询参数
* @return 调拨单
*/
List<AllocationMessVO> queryAllocationMess(AllocationMessPageDTO dto);
/**
* 查询调拨单数量
* 查询配置信息明细数量
* @param dto 查询参数
* @return 调拨单
*/
Integer queryAllocationMessNum(AllocationMessPageDTO dto);
/**
* 查询配置信息统计
* @param dto 查询参数
* @return 调拨单
*/
List<AllocationMessVO> queryAllocationStatistics(AllocationMessPageDTO dto);
/**
* 查询配置信息统计数量
* @param dto 查询参数
* @return 调拨单
*/
Integer queryAllocationStatisticsNum(AllocationMessPageDTO dto);
}

@ -31,4 +31,14 @@ public class ErpDataLogisticsServiceImpl implements IErpDataLogisticsService {
public Integer queryAllocationMessNum(AllocationMessPageDTO dto) {
return erpDataLogisticsServiceMapper.queryAllocationMessNum(dto);
}
@Override
public List<AllocationMessVO> queryAllocationStatistics(AllocationMessPageDTO dto) {
return erpDataLogisticsServiceMapper.queryAllocationStatistics(dto);
}
@Override
public Integer queryAllocationStatisticsNum(AllocationMessPageDTO dto) {
return erpDataLogisticsServiceMapper.queryAllocationStatisticsNum(dto);
}
}

Loading…
Cancel
Save