liweidong-hj 2 weeks ago
commit 954c32b4ce
  1. 44
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/MesMacToolUseDTO.java
  2. 45
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/MesMacToolUseVO.java
  3. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/InspectionItem.java
  4. 12
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClient.java
  5. 8
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClientFallback.java
  6. 1
      blade-service-api/blade-scheduling-api/src/main/java/org/springblade/scheduling/pojo/entity/CraftAbilityEntity.java
  7. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/CraftAbilityController.java
  8. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java
  9. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/ReworkProcessController.java
  10. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/WorkProcessController.java
  11. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/DeductionPreserveMapper.xml
  12. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/MacToolUseMapper.java
  13. 45
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/MacToolUseMapper.xml
  14. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IMacToolUseService.java
  15. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/DeductionPreserveServiceImpl.java
  16. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MacToolUseServiceImpl.java
  17. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MakeRecServiceImpl.java
  18. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionItemController.java
  19. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/ReviewSheetMapper.xml
  20. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestService2.java
  21. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService2.java
  22. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ReviewSheetServiceImpl.java
  23. 10
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataProduceClient.java
  24. 4
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataProduceMapper.java
  25. 32
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataProduceMapper.xml
  26. 4
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataProduceService.java
  27. 12
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataProduceServiceImpl.java
  28. 5
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/dto/WorkOrderDto.java
  29. 3
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.java
  30. 19
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.xml
  31. 27
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java

@ -0,0 +1,44 @@
package org.springblade.desk.produce.pojo.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Date;
/**
* 同炉查询 数据传输对象实体类
*
* @author BladeX
* @since 2026-02-04
*/
@Data
public class MesMacToolUseDTO {
@Schema(description = "绑定编号")
private String code;
@Schema(description = "车间订单号")
private String woCode;
@Schema(description = "物料号")
private String partCode;
@Schema(description = "批次号")
private String batchNo;
@Schema(description = "设备编号")
private String deviceCode;
@Schema(description = "挂具编号")
private String rsCode;
@Schema(description = "飞靶编号")
private String fsCode;
@Schema(description = "开始时间")
private Date startTime;
@Schema(description = "结束时间")
private Date endTime;
}

@ -0,0 +1,45 @@
package org.springblade.desk.produce.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* 同炉查询 视图实体类
*
* @author BladeX
* @since 2026-02-04
*/
@Data
public class MesMacToolUseVO {
@Schema(description = "绑定编号")
private String code;
@Schema(description = "车间订单号")
private String woCode;
@Schema(description = "物料号")
private String partCode;
@Schema(description = "批次号")
private String batchNo;
@Schema(description = "数量")
private String makeQty;
@Schema(description = "设备编号")
private String deviceCode;
@Schema(description = "挂具编号")
private String rsCode;
@Schema(description = "飞靶编号")
private String fsCode;
@Schema(description = "绑定时间")
private String bindTime;
@Schema(description = "绑定人员")
private String name;
}

@ -104,7 +104,7 @@ public class InspectionItem extends BaseEntity {
* [检验项目]类型
*/
@Schema(description = "[检验项目]类型")
private Long itemType;
private String itemType;
/**
* [检验项目]名称
*/

@ -25,6 +25,7 @@ public interface IErpDataProduceClient {
String API_PREFIX = "/feign/erpdata/produce";
String QUERY_BATCH = API_PREFIX + "/queryBatch";
String REWORK_ORDER = API_PREFIX + "/loadReworkOrder";
String REWORK_ORDER_SIZE = API_PREFIX + "/loadReworkOrderSize";
String PRODUCT_APP_AREA = API_PREFIX + "/productAppArea";
String VERSION = API_PREFIX + "/version";
String CUSTODIAN = API_PREFIX + "/getCustodian";
@ -43,8 +44,17 @@ public interface IErpDataProduceClient {
@GetMapping(REWORK_ORDER)
R<List<ReworkProcessVO>> loadReworkOrder(@RequestParam(value = "reworkCode", required = false) String reworkCode,
@RequestParam(value = "partCode", required = false) String partCode,
@RequestParam(value = "batchNo", required = false) String batchNo);
@RequestParam(value = "batchNo", required = false) String batchNo,
@RequestParam(value = "current") Integer current,
@RequestParam(value = "size") Integer size);
/**
* 返工订单数量
*/
@GetMapping(REWORK_ORDER_SIZE)
R<Integer> loadReworkOrderSize(@RequestParam(value = "reworkCode", required = false) String reworkCode,
@RequestParam(value = "partCode", required = false) String partCode,
@RequestParam(value = "batchNo", required = false) String batchNo);
/**
* 获取产品区域
*/

@ -1,5 +1,6 @@
package org.springblade.erpdata.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.tool.api.R;
import org.springblade.erpdata.pojo.vo.QueryBatchVO;
import org.springblade.erpdata.pojo.vo.ReworkProcessVO;
@ -23,7 +24,12 @@ public class IErpDataProduceClientFallback implements IErpDataProduceClient {
}
@Override
public R<List<ReworkProcessVO>> loadReworkOrder(String reworkCode, String partCode, String batchNo) {
public R<List<ReworkProcessVO>> loadReworkOrder(String reworkCode, String partCode, String batchNo, Integer current, Integer size) {
return R.fail("获取数据失败");
}
@Override
public R<Integer> loadReworkOrderSize(String reworkCode, String partCode, String batchNo) {
return R.fail("获取数据失败");
}

@ -99,7 +99,6 @@ public class CraftAbilityEntity extends BaseEntity {
// @TableField(exist = false)
private String dispatcherName;
@Schema(description = "局部镀订单面积")
@JsonInclude(JsonInclude.Include.NON_NULL)
private BigDecimal localArea;
@Schema(description = "外协限制")
private String wxLimit;

@ -60,6 +60,7 @@ import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -196,6 +197,11 @@ public class CraftAbilityController extends BladeController {
if(craftAbilityService.count(queryWrapper) > 0){
return R.fail("编码已存在");
}
if(null == craftAbility.getLocalArea()){
craftAbility.setLocalArea(new BigDecimal("-1"));
}
return R.status(craftAbilityService.updateById(craftAbility));
}

@ -371,7 +371,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
// 5. 设置结束工位ID并处理不同回库类型
Long endWcId = returnToWarehouseDto.getEndWcId();
task.setWcId(endWcId);
if (!returnToWarehouseDto.getStationRegion().isEmpty()) {
if (returnToWarehouseDto.getStationRegion()!=null) {
task.setStationRegion(returnToWarehouseDto.getStationRegion());
}
if (endWcId == 0) {
@ -870,8 +870,10 @@ public class IOrderBoxServiceImpl implements IOrderBoxService {
// 异常处理:回滚任务
taskService.removeById(task);
List<Station> stationList = stationService.list(new LambdaQueryWrapper<Station>().eq(Station::getId, task.getStationId()));
stationList.get(0).setStationStatus(STATUS_FREE);
stationService.updateById(stationList.get(0));
if (stationList!=null&&stationList.size()!=0) {
stationList.get(0).setStationStatus(STATUS_FREE);
stationService.updateById(stationList.get(0));
}
log.error("【AGV调度】任务{}调度异常,已回滚", task.getId(), e);
return R.fail("AGV小车调用异常:" + e.getMessage());
}

@ -71,12 +71,12 @@ public class ReworkProcessController extends BladeController {
// records.add(reworkProcessVO);
// page.setRecords(records);
// return R.data(page);
IPage<ReworkProcessVO> page = Condition.getPage(query);
String reworkCode = prReworkProcess.getReworkCode();
String partCode = prReworkProcess.getPartCode();
String batchNo = prReworkProcess.getBatchNo();
R<List<ReworkProcessVO>> listR = erpDataProduceClient.loadReworkOrder(reworkCode, partCode, batchNo);
return R.data(page.setRecords(listR.getData()));
IPage<ReworkProcessVO> iPage = Condition.getPage(query);
List<ReworkProcessVO> process = erpDataProduceClient.loadReworkOrder(prReworkProcess.getReworkCode(), prReworkProcess.getPartCode(), prReworkProcess.getBatchNo(), query.getCurrent(), query.getSize()).getData();
iPage.setRecords(process);
int size = erpDataProduceClient.loadReworkOrderSize(prReworkProcess.getReworkCode(), prReworkProcess.getPartCode(), prReworkProcess.getBatchNo()).getData();
iPage.setTotal(size);
return R.data(iPage);
}
// @GetMapping("/treeProcess")

@ -9,7 +9,9 @@ import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.desk.produce.pojo.dto.MesMacToolUseDTO;
import org.springblade.desk.produce.pojo.entity.MacToolUse;
import org.springblade.desk.produce.pojo.vo.MesMacToolUseVO;
import org.springblade.desk.produce.service.IMacToolUseService;
import org.springframework.web.bind.annotation.*;
@ -29,8 +31,8 @@ public class WorkProcessController extends BladeController {
@GetMapping("/queryData")
@ApiOperationSupport(order = 1)
@Operation(summary = "分页", description = "传入macToolUse")
public R<IPage<MacToolUse>> page(MacToolUse macToolUse, Query query) {
IPage<MacToolUse> pages = macToolUseService.queryMacToolUse(Condition.getPage(query), macToolUse);
public R<IPage<MesMacToolUseVO>> page(MesMacToolUseDTO macToolUse, Query query) {
IPage<MesMacToolUseVO> pages = macToolUseService.queryMacToolUse(Condition.getPage(query), macToolUse);
return R.data(pages);
}

@ -9,17 +9,21 @@
c.PART_CODE AS partCode,
b.BATCH_NO AS batchNo,
d.PPS_ID AS ppsId,
e.NAME AS ppsName,
a.QTY AS qty,
a.TEST_QTY AS testQty,
a.SCRAP_QTY AS scrapQty,
a.LOSS_QTY AS lossQty,
a.MEMO AS memo,
a.CREATE_TIME AS maintenanceTime,
a.CREATE_USER AS maintenance
a.CREATE_USER AS maintenance,
f.REAL_NAME AS maintenanceName
FROM MES_DEDUCTION_PRESERVE 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
INNER JOIN MES_WORK_PLAN d ON a.WP_ID = d.ID
LEFT JOIN BS_PROCESS_SET e ON d.PPS_ID = e.ID
LEFT JOIN BLADE_USER f ON a.CREATE_USER = f.ID
<where>
a.IS_DELETED = 0
<if test="query.woCode != null and query.woCode != ''">

@ -2,8 +2,10 @@ package org.springblade.desk.produce.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.desk.produce.pojo.dto.MesMacToolUseDTO;
import org.springblade.desk.produce.pojo.entity.MacToolUse;
import org.springblade.desk.produce.pojo.entity.MesQcProduceRunEntity;
import org.springblade.desk.produce.pojo.vo.MesMacToolUseVO;
import org.springblade.desk.produce.pojo.vo.ProduceMonitorSlotListVO;
import java.util.List;
@ -17,7 +19,7 @@ import java.util.Map;
public interface MacToolUseMapper extends BaseMapper<MacToolUse> {
MacToolUse getTcDataByWoId(Long woId);
List<MacToolUse> queryMacToolUse(IPage<MacToolUse> page, MacToolUse macToolUse);
List<MesMacToolUseVO> queryMacToolUse(IPage<MesMacToolUseVO> page, MesMacToolUseDTO macToolUse);
List<ProduceMonitorSlotListVO> listSlotInfo(Long id, int isGr, int isCx);

@ -31,9 +31,7 @@
</resultMap>
<select id="queryMacToolUse" resultMap="mesMakeRecResultMap">
select * from MES_MAC_TOOL_USE where is_deleted = 0
</select>
<select id="listSlotInfo" resultType="org.springblade.desk.produce.pojo.vo.ProduceMonitorSlotListVO">
SELECT
a.PART_CODE, a.BATCH_NO, a.WORK_QTY as qua, a.WORK_QTY as poQty, a.area, a.sumArea, a.sumArea as areaTotal, a.sumArea as totalArea, a.MTN_CODE as mtnCode, a.MTN_CODE as mtuCode, a.MTN_CODE as sameNo, a.PRODUCT_IDENT as prodIdent, a.wo_code, a.material,
@ -129,6 +127,45 @@
)
ORDER BY a.create_time DESC) WHERE ROWNUM = 1
</select>
<select id="queryMacToolUse" resultType="org.springblade.desk.produce.pojo.vo.MesMacToolUseVO">
SELECT a.MTN_CODE AS code,
c.wo_code AS woCode,
c.PART_CODE AS partCode,
c.BATCH_NO AS batchNo,
a.BIND_TIME AS bindTime,
c.MAKE_QTY AS makeQty,
g.REAL_NAME AS name,
d.RS_CODE AS rsCode,
e.FS_CODE AS fsCode,
f.DEVICE_CODE AS deviceCode
FROM
MES_MAC_TOOL_USE a
INNER JOIN MES_WORK_PLAN b
ON a.wp_id = b.ID
INNER JOIN MES_WORK_ORDER c ON b.wo_id = c.ID
LEFT JOIN MES_RACK_SET d ON a.BS_RACK_SET = d.ID
LEFT JOIN MES_FEI_BA_SET e ON a.BS_FEI_BA_SET = e.ID
LEFT JOIN MES_EQUIPMENT f ON a.EQUIPMENT_CARD = f.ID
LEFT JOIN blade_user g ON a.CREATE_MAN = g.ID
<where>
a.is_deleted = 0
<if test="macToolUse.code != null and macToolUse.code != ''">
AND a.MTN_CODE LIKE '%' || #{macToolUse.code} || '%'
</if>
<if test="macToolUse.woCode != null and macToolUse.woCode != ''">
AND c.WO_CODE LIKE '%' || #{macToolUse.woCode} || '%'
</if>
<if test="macToolUse.partCode != null and macToolUse.partCode != ''">
AND c.PART_CODE LIKE '%' || #{macToolUse.partCode} || '%'
</if>
<if test="macToolUse.batchNo != null and macToolUse.batchNo != ''">
AND c.BATCH_NO LIKE '%' || #{macToolUse.batchNo} || '%'
</if>
<if test="macToolUse.startTime != null and macToolUse.endTime != null">
AND a.BIND_TIME BETWEEN #{macToolUse.startTime} AND #{macToolUse.endTime}
</if>
</where>
order by a.BIND_TIME DESC
</select>
</mapper>

@ -2,11 +2,13 @@ package org.springblade.desk.produce.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.produce.pojo.dto.MesMacToolUseDTO;
import org.springblade.desk.produce.pojo.entity.MacToolUse;
import org.springblade.desk.produce.pojo.entity.MesQcProduceRunEntity;
import org.springblade.desk.produce.pojo.entity.WorkOrder;
import org.springblade.desk.produce.pojo.entity.WorkPlan;
import org.springblade.desk.produce.pojo.vo.MacToolUseVO;
import org.springblade.desk.produce.pojo.vo.MesMacToolUseVO;
import org.springblade.desk.produce.pojo.vo.ProduceMonitorSlotListVO;
import java.util.List;
@ -33,7 +35,7 @@ public interface IMacToolUseService extends BaseService<MacToolUse> {
*/
void unMacToolUseBind(List<MacToolUse> mtuList);
IPage<MacToolUse> queryMacToolUse(IPage<MacToolUse> page, MacToolUse macToolUse);
IPage<MesMacToolUseVO> queryMacToolUse(IPage<MesMacToolUseVO> page, MesMacToolUseDTO macToolUse);
MacToolUse getTcDataByWoId(Long woId);

@ -98,10 +98,10 @@ public class DeductionPreserveServiceImpl extends BaseServiceImpl<DeductionPrese
this.save(deductionPreserve);
// 更新车间订单
workOrder.setLossQty(workOrder.getLossQty()+lossQty);
workOrder.setScrapQty(workOrder.getScrapQty()+scrapQty);
workOrder.setTestQty(workOrder.getTestQty()+testQty);
workOrder.setMakeQty(workOrder.getMakeQty()-lossQty-scrapQty-testQty);
workOrder.setLossQty(workOrder.getLossQty() + lossQty);
workOrder.setScrapQty(workOrder.getScrapQty() + scrapQty);
workOrder.setTestQty(workOrder.getTestQty() + testQty);
workOrder.setMakeQty(workOrder.getMakeQty() - lossQty - scrapQty - testQty);
log.info("车间订单:{}, 扣除测试数量:{}", workOrder.getWoCode(), workOrder.getTestQty());
return workOrderService.updateById(workOrder);
}

@ -15,11 +15,13 @@ import org.springblade.desk.device.pojo.entity.RackSetEntity;
import org.springblade.desk.device.service.IEquipmentService;
import org.springblade.desk.device.service.IRackSetService;
import org.springblade.desk.produce.mapper.MacToolUseMapper;
import org.springblade.desk.produce.pojo.dto.MesMacToolUseDTO;
import org.springblade.desk.produce.pojo.entity.MacToolUse;
import org.springblade.desk.produce.pojo.entity.MesQcProduceRunEntity;
import org.springblade.desk.produce.pojo.entity.WorkOrder;
import org.springblade.desk.produce.pojo.entity.WorkPlan;
import org.springblade.desk.produce.pojo.vo.MacToolUseVO;
import org.springblade.desk.produce.pojo.vo.MesMacToolUseVO;
import org.springblade.desk.produce.pojo.vo.ProduceMonitorSlotListVO;
import org.springblade.desk.produce.service.IMacToolUseService;
import org.springframework.stereotype.Service;
@ -99,7 +101,7 @@ public class MacToolUseServiceImpl extends BaseServiceImpl<MacToolUseMapper, Mac
}
@Override
public IPage<MacToolUse> queryMacToolUse(IPage<MacToolUse> page, MacToolUse macToolUse) {
public IPage<MesMacToolUseVO> queryMacToolUse(IPage<MesMacToolUseVO> page, MesMacToolUseDTO macToolUse) {
return page.setRecords(baseMapper.queryMacToolUse(page, macToolUse));
}

@ -303,7 +303,9 @@ public class MakeRecServiceImpl extends BaseServiceImpl<MakeRecMapper, MakeRec>
List<Long> ppsIds = new ArrayList<>();
List<Long> makeTeams = new ArrayList<>();
for (MesMakeRecVO record : records) {
ppsIds.add(record.getPpsId());
if (record.getPpsId() != null) {
ppsIds.add(record.getPpsId());
}
if (record.getFrontPpsId() != null) {
ppsIds.add(record.getFrontPpsId());
}

@ -146,6 +146,9 @@ public class InspectionItemController extends BladeController {
@ApiLog("修改检验项目")
@Operation(summary = "修改一条", description = "传入InspectionItem Obj")
public R update(@Valid @RequestBody InspectionItem updateOne) {
if(null == updateOne.getStandardWorkMinute()){
updateOne.setStandardWorkMinute(-1D);
}
return R.status(service.updateById(updateOne));
}

@ -181,10 +181,10 @@
AND wo.CARD_NO = #{q.cardNo}
</if>
<if test="q.createTimeStart != null"> <!-- todo -->
AND rs.CREATE_TIME &gt;= #{q.createTimeStart}
AND rs.CREATE_TIME &gt;= TO_DATE(#{q.createTimeStart}, 'YYYY-MM-DD HH24:MI:SS')
</if>
<if test="q.createTimeEnd != null"> <!-- todo -->
AND rs.CREATE_TIME &lt;= #{q.createTimeEnd}
AND rs.CREATE_TIME &lt;= TO_DATE(#{q.createTimeEnd}, 'YYYY-MM-DD HH24:MI:SS')
</if>
<if test="q.reviewTimeStart != null">
AND rs.REVIEW_DATE &gt;= #{q.reviewTimeStart}

@ -168,11 +168,11 @@ public class CycleTestService2 {
*/
public void setVOValue(CycleTestVO vo) {
R<UserInfo> uiUP = userClient.userInfo(vo.getUpdateUser());
if (uiUP.isSuccess() && uiUP.getData().getUser() != null) {
if (uiUP.isSuccess() && uiUP.getData() != null && uiUP.getData().getUser() != null) {
vo.setUpdateUserName(uiUP.getData().getUser().getName());
}
R<UserInfo> uiPro = userClient.userInfo(vo.getProcessUserId());
if (uiPro.isSuccess() && uiPro.getData().getUser() != null) {
if (uiPro.isSuccess() && uiPro.getData() != null && uiPro.getData().getUser() != null) {
vo.setProcessUserName(uiPro.getData().getUser().getName());
}
CycleTestItem item = itemService.getById(vo.getCycleTestItemId());

@ -435,8 +435,8 @@ public class CycleTestTaskService2 {
}
}
R<UserInfo> uiPro = userClient.userInfo(vo.getProcessUserId());
if (uiPro.getData().getUser() != null) {
vo.setProcessUserName(uiPro.getData().getUser().getName());
if (uiPro != null && uiPro.getData() != null && uiPro.getData().getUser() != null) {
vo.setProcessUserName(uiPro.getData().getUser().getRealName());
}
{
Instant instant = vo.getCreateTime().toInstant();

@ -464,6 +464,11 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
rs.setMemo(memo);
// 修改状态, 内部审理没有审理状态概念。
rs.setStatus(ReviewSheetConst.STATUS.S_COMPLETE);
if(1==selfReviewFlag){
rs.setReviewStatus(3);
}else{
rs.setReviewStatus(4);
}
BladeUser bu = AuthUtil.getUser();
log.info("ReviewSheet bu = {}", bu);
if (bu != null) {

@ -1,5 +1,6 @@
package org.springblade.erpdata.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.v3.oas.annotations.Hidden;
import lombok.AllArgsConstructor;
import org.springblade.core.tenant.annotation.NonDS;
@ -35,8 +36,13 @@ public class ErpDataProduceClient implements IErpDataProduceClient {
@Override
@GetMapping(REWORK_ORDER)
public R<List<ReworkProcessVO>> loadReworkOrder(String reworkCode, String partCode, String batchNo) {
return R.data(erpDataProduceService.loadReworkOrder(reworkCode, partCode, batchNo));
public R<List<ReworkProcessVO>> loadReworkOrder(String reworkCode, String partCode, String batchNo, Integer current, Integer size) {
return R.data(erpDataProduceService.loadReworkOrder(reworkCode, partCode, batchNo, current, size));
}
@Override
public R<Integer> loadReworkOrderSize(String reworkCode, String partCode, String batchNo) {
return R.data(erpDataProduceService.loadReworkOrderSize(reworkCode, partCode, batchNo));
}
@Override

@ -18,11 +18,13 @@ public interface ErpDataProduceMapper extends Mapper {
QueryBatchVO queryBatch(String partCode);
List<ReworkProcessVO> loadReworkOrder(String reworkCode, String partCode, String batchNo);
List<ReworkProcessVO> loadReworkOrder(String reworkCode, String partCode, String batchNo, Integer current, Integer size);
Map<String, String> getProductAppareaByPartCode(String partCode);
String getVersionByPartCode(String partCode);
String getCustodianByRecDept(String partCode, String recDept);
int loadReworkOrderSize(String reworkCode, String partCode, String batchNo);
}

@ -39,6 +39,10 @@
a.prtno = #{partCode}
</select>
<select id="loadReworkOrder" resultType="org.springblade.erpdata.pojo.vo.ReworkProcessVO">
SELECT *
FROM (
SELECT row_.*, ROWNUM rownum_
FROM (
SELECT
a.*,
b.usedept,
@ -51,16 +55,20 @@
<where>
a.redono = b.redono AND a.splcode = b.splcode AND a.prtno = b.prtno AND a.amount = b.amount
<if test="reworkCode != null and reworkCode != ''">
AND a.redono LIKE concat(concat('%', #{query.reworkCode}),'%')
AND a.redono LIKE concat(concat('%', #{reworkCode}),'%')
</if>
<if test="partCode != null and partCode != ''">
AND a.prtno LIKE concat(concat('%', #{query.partCode}),'%')
AND a.prtno LIKE concat(concat('%', #{partCode}),'%')
</if>
<if test="batchNo != null and batchNo != ''">
AND a.splcode LIKE concat(concat('%', #{query.batchNo}),'%')
AND a.splcode LIKE concat(concat('%', #{batchNo}),'%')
</if>
</where>
ORDER BY a.reqdate DESC
) row_
WHERE ROWNUM &lt;= (#{current} * #{size})
)
WHERE rownum_ &gt; (#{current} - 1) * #{size}
</select>
<select id="getProductAppareaByPartCode" resultType="java.util.Map">
select nvl(b.productapparea,'无') as productapparea, nvl(b.cgzmark,'无') as cgzmark from ( select a.* from dba_mgr.t_prtbasdef a
@ -78,4 +86,22 @@
and b.prtno = #{partCode}
and b.plndept = #{recDept}
</select>
<select id="loadReworkOrderSize" resultType="java.lang.Integer">
SELECT
count(*)
FROM
dba_mgr.v_mes_rb_redorout a
<where>
1 = 1
<if test="reworkCode != null and reworkCode != ''">
AND a.redono LIKE concat(concat('%', #{reworkCode}),'%')
</if>
<if test="partCode != null and partCode != ''">
AND a.prtno LIKE concat(concat('%', #{partCode}),'%')
</if>
<if test="batchNo != null and batchNo != ''">
AND a.splcode LIKE concat(concat('%', #{batchNo}),'%')
</if>
</where>
</select>
</mapper>

@ -18,7 +18,7 @@ public interface IErpDataProduceService {
QueryBatchVO queryBatch(String partCode);
List<ReworkProcessVO> loadReworkOrder(String reworkCode, String partCode, String batchNo);
List<ReworkProcessVO> loadReworkOrder(String reworkCode, String partCode, String batchNo, Integer current, Integer size);
Map<String, String> getProductAppareaByPartCode(String partCode);
@ -29,4 +29,6 @@ public interface IErpDataProduceService {
String chkSjjd(String ypCode, String batchNo);
String chkShjh(String woCode, String ypCode, String partCode, String productIdent, Double makeQty, String memo);
Integer loadReworkOrderSize(String reworkCode, String partCode, String batchNo);
}

@ -3,6 +3,8 @@ package org.springblade.erpdata.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.erpdata.mapper.ErpDataProduceMapper;
import org.springblade.erpdata.pojo.dto.ReworkProcessDTO;
import org.springblade.erpdata.pojo.vo.QueryBatchVO;
@ -15,6 +17,7 @@ import org.springframework.jdbc.core.simple.SimpleJdbcCall;
import org.springframework.stereotype.Service;
import java.sql.Types;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -38,8 +41,8 @@ public class ErpDataProduceServiceImpl implements IErpDataProduceService {
}
@Override
public List<ReworkProcessVO> loadReworkOrder(String reworkCode, String partCode, String batchNo) {
return erpDataProduceMapper.loadReworkOrder(reworkCode, partCode, batchNo);
public List<ReworkProcessVO> loadReworkOrder(String reworkCode, String partCode, String batchNo, Integer current, Integer size) {
return erpDataProduceMapper.loadReworkOrder(reworkCode, partCode, batchNo, current, size);
}
@Override
@ -128,4 +131,9 @@ public class ErpDataProduceServiceImpl implements IErpDataProduceService {
return excflag;
}
@Override
public Integer loadReworkOrderSize(String reworkCode, String partCode, String batchNo) {
return erpDataProduceMapper.loadReworkOrderSize(reworkCode, partCode, batchNo);
}
}

@ -37,7 +37,7 @@ public class WorkOrderDto {
private String makeQty;
private String workCenterName;
private String workCenterId;
private Long workCenterId;
private Integer totalCount;
private Integer schedulingCount;
private Integer unschedulingCount;
@ -54,4 +54,7 @@ public class WorkOrderDto {
private List<WorkOrderDto> workOrderList;
private List<Long> workCenterList;
}

@ -91,4 +91,7 @@ public interface WorkOrderMapper extends BaseMapper<WorkOrderEntity> {
List<WorkPlanVO> selectProcessExecuteDetailPage(IPage page, WorkPlanVO workPlan);
List<Long> selectUserCenter(@Param("userId") Long userId);
}

@ -108,7 +108,8 @@
b.equip_code AS "equipCode",
a.status AS "orderStatus",
b.status AS "planStatus",
b.team_members as "teamMembers"
b.team_members as "teamMembers",
b.work_center_id as "workCenterId"
FROM
MES_WORK_ORDER a
LEFT JOIN MES_WORK_PLAN b ON a.ID = b.WO_ID
@ -262,6 +263,12 @@
#{planStatus}
</foreach>
</if>
<if test="workCenterList !=null">
and b.work_center_id IN
<foreach collection="workCenterList" item="workCenterId" index="index" open="(" close=")" separator=",">
#{workCenterId}
</foreach>
</if>
</where>
GROUP BY
a.WO_CODE,
@ -624,5 +631,15 @@
</where>
</select>
<select id="selectUserCenter" resultType="java.lang.Long">
SELECT DISTINCT
a.WC_ID
FROM
BS_CENTER_TEAM a
INNER JOIN BS_REL_TEAM_SET_USER b ON a.TS_ID = b.TEAM_SET_ID
WHERE
b.user_id = #{userId}
</select>
</mapper>

@ -41,6 +41,8 @@ import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.jackson.JsonUtil;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.desk.dashboard.constant.DsPartConstant;
@ -243,6 +245,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
@Override
public List<WorkOrderDto> schedulingBoard(WorkOrderDto workOrder) {
List<WorkOrderDto> list = baseMapper.selectWorkOrderList(workOrder);
String yesterday = DateFormatUtils.format(DateUtils.addDays(new Date(), -1), "yyyy-MM-dd");
String twodaysAgo = DateFormatUtils.format(DateUtils.addDays(new Date(), -2), "yyyy-MM-dd");
@ -298,6 +302,23 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
LinkedHashMap::new
));
}
//非超级管理员,登陆人员只能看自己中心的数据
BladeUser user = AuthUtil.getUser();
if(!user.getRoleName().equals("administrator")){
Long userId = AuthUtil.getUserId();
List<Long> workCenterList = baseMapper.selectUserCenter(userId);
woCodeGroup = woCodeGroup.entrySet().stream()
.filter(entry -> {
return entry.getValue().stream()
.anyMatch(dto -> workCenterList.contains(dto.getWorkCenterId()));
})
.collect(Collectors.toMap(
Map.Entry::getKey,
Map.Entry::getValue,
(oldValue, newValue) -> oldValue,
LinkedHashMap::new
));
}
List<WorkOrderDto> resultList = new ArrayList<>();
for (Map.Entry<String, List<WorkOrderDto>> entry : woCodeGroup.entrySet()) {
//根据工序名称过滤订单
@ -376,6 +397,12 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
@Override
public List<SchedulingBoardExcel> exportSchedulingBoard(WorkOrderDto workOrder) {
BladeUser user = AuthUtil.getUser();
if(!user.getRoleName().equals("administrator")){
Long userId = AuthUtil.getUserId();
List<Long> workCenterList = baseMapper.selectUserCenter(userId);
workOrder.setWorkCenterList(workCenterList);
}
return baseMapper.exportSchedulingBoard(workOrder);
}

Loading…
Cancel
Save