模版保存,详情查询

liweidong
pangyang 4 weeks ago
parent 022ddbe53f
commit bd391094a8
  1. 3
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/MesRbFilePreserveSlotEntity.java
  2. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkPlanMapper.xml
  3. 54
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java
  4. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IInspectionTaskService.java
  5. 68
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java

@ -7,6 +7,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.desk.produce.pojo.dto.MesRbFilePreserveDetailDTO;
import org.springblade.desk.quality.pojo.entity.ProReTemplate;
import java.io.Serial;
import java.math.BigDecimal;
@ -67,4 +68,6 @@ public class MesRbFilePreserveSlotEntity extends BaseEntity {
private List<MesRbFilePreserveDetailDTO> childrenList;
// @TableField(exist = false)
// List<MesRbFilePreserveDetailEntity> childrenListNew;
@TableField(exist = false)
private ProReTemplate dsRbFilePreserve;
}

@ -292,9 +292,9 @@
<select id="getByRfpId" resultType="org.springblade.desk.produce.pojo.entity.MesRbFilePreserveSlotEntity">
select a.* from MES_RB_FILE_PRESERVE_SLOT a
select a.* from MES_RB_FILE_PRESERVE_SLOT slot
-- left join DS_RB_FILE_PRESERVE slot on a.Id = slot.RFP_ID
left join MES_DS_RB_FILE_PRESERVE on a.Id = slot.RFP_ID
left join QA_PRO_RE_TEMPLATE a on a.Id = slot.RFP_ID
where slot.RFP_ID =#{rfpId}
</select>

@ -289,26 +289,29 @@ public class InspectionTaskController extends BladeController {
private IMesRbFilePreserveSlotService mesRbFilePreserveSlotService;
@Operation(summary = "获取热表电子档案维护-槽子明细及对应的明细")
@RequestMapping(value = "/getByRfpId/{pssId}", method = RequestMethod.GET)
public R getByRfpId(@PathVariable Long pssId) {
@RequestMapping(value = "/getByRfpId/{rfpId}", method = RequestMethod.GET)
public R getByRfpId(@PathVariable Long rfpId) {
List<MesRbFilePreserveSlotEntity> preserveSlotList = new ArrayList<>();
QueryWrapper<WorkPlan> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("PPS_ID", pssId);
List<WorkPlan> workPlanList = workPlanMapper.selectList(queryWrapper);
WorkPlan plan = new WorkPlan();
if(null != workPlanList && workPlanList.size() > 0){
plan = workPlanList.get(0);
}
if(plan != null && plan.getId() != null){
List<MacToolUse> toolUseList = workPlanMapper.getDataByWpIdAndIndexListNew(plan.getId());
for(MacToolUse toolUse : toolUseList){
List<MesRbFilePreserveSlotEntity> list = mesRbFilePreserveSlotService.getByRfpId(Long.valueOf(toolUse.getRfpId()));
preserveSlotList.addAll(list);
}
}
QueryWrapper<MesRbFilePreserveSlotEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("RFP_ID", rfpId);
preserveSlotList = mesRbFilePreserveSlotService.list(queryWrapper);
// QueryWrapper<WorkPlan> queryWrapper = new QueryWrapper<>();
// queryWrapper.eq("PPS_ID", pssId);
// List<WorkPlan> workPlanList = workPlanMapper.selectList(queryWrapper);
// WorkPlan plan = new WorkPlan();
// if(null != workPlanList && workPlanList.size() > 0){
// plan = workPlanList.get(0);
// }
//
// if(plan != null && plan.getId() != null){
// List<MacToolUse> toolUseList = workPlanMapper.getDataByWpIdAndIndexListNew(plan.getId());
// for(MacToolUse toolUse : toolUseList){
// List<MesRbFilePreserveSlotEntity> list = mesRbFilePreserveSlotService.getByRfpId(Long.valueOf(toolUse.getRfpId()));
// preserveSlotList.addAll(list);
// }
// }
JSONObject obj = new JSONObject();
@ -339,6 +342,21 @@ public class InspectionTaskController extends BladeController {
}
@Operation(summary = "新增或修改热表电子档案维护-槽子明细及对应的明细")
@PostMapping(value = "/saveOrEdit")
public R saveOrEdit(@RequestBody JSONObject data, HttpServletRequest request) throws Exception {
List<MesRbFilePreserveSlotEntity> submitList = JSONArray.parseArray(data.get("submitList").toString(), MesRbFilePreserveSlotEntity.class);
List<Long> deleteIds = JSONArray.parseArray(data.get("deleteIds").toString(), Long.class);
BladeUser curUserInfo = AuthUtil.getUser();
// PfUserInfo curUserInfo = (PfUserInfo) ControllerUtils.getCurUserInfo(request);
Long rfpId = data.getLong("rfpId");
service.saveOrEditMes(submitList, deleteIds, curUserInfo, rfpId);
return R.status(true);
}
/**
* [检验任务] 自定义分页
*/

@ -11,9 +11,11 @@ import io.swagger.v3.oas.annotations.Parameter;
import org.apache.ibatis.annotations.Param;
import org.springblade.common.exception.BusinessException;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.secure.BladeUser;
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.quality.excel.InspectionTaskExcel;
import org.springblade.desk.quality.pojo.entity.InspectionTask;
import org.springblade.desk.quality.pojo.request.InspectionTaskSearch;
@ -128,4 +130,6 @@ public interface IInspectionTaskService extends BaseService<InspectionTask> {
Object pagePrintSjEleFiles(Long woId, Integer yieldType,List<Boolean> planList, List<Boolean> moduleList);
List<PrintThicknessCraftCard> printThicknessList(List<Long> idArr);
List<MesRbFilePreserveDetailEntity> getByRfpsIdMesNew(Long rfpsId);
public void saveOrEditMes(List<MesRbFilePreserveSlotEntity> submitList, List<Long> deleteIds, BladeUser curUserInfo,Long rfpId);
}

@ -51,10 +51,7 @@ import org.springblade.desk.produce.mapper.WorkPlanMapper;
import org.springblade.desk.produce.pojo.dto.*;
import org.springblade.desk.produce.pojo.entity.*;
import org.springblade.desk.produce.pojo.vo.ProduceMonitorSlotListVO;
import org.springblade.desk.produce.service.IMesEquipmentCardService;
import org.springblade.desk.produce.service.IMesRbFilePreserveSlotService;
import org.springblade.desk.produce.service.IWorkOrderService;
import org.springblade.desk.produce.service.IWorkPlanService;
import org.springblade.desk.produce.service.*;
import org.springblade.desk.quality.constant.InspectionItemConst;
import org.springblade.desk.quality.constant.InspectionTaskConst;
import org.springblade.desk.quality.constant.ReviewSheetConst;
@ -70,6 +67,7 @@ import org.springblade.scheduling.pojo.entity.ProcessSetEntity;
import org.springblade.system.feign.IDictClient;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
import org.springframework.beans.BeanUtils;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -142,6 +140,10 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
private ICenterTeamService centerTeamService;
@Resource
private IMesRbFilePreserveSlotService mesRbFilePreserveSlotService;
@Resource
private IProReTemplateService proReTemplateService;
@Resource
private IMesRbFilePreserveDetailService mesRbFilePreserveDetailService;
@Override
@ -1719,6 +1721,64 @@ 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()
// 按slotName分组,key=slotName,value=该名称的元素数量
.collect(Collectors.groupingBy(MesRbFilePreserveSlotEntity::getSlotName, Collectors.counting()));
List<String> duplicateSlotNames = slotNameCountMap.entrySet().stream().filter(entry -> entry.getValue() > 1).map(Map.Entry::getKey).collect(Collectors.toList());
if (!duplicateSlotNames.isEmpty()) {
String errorMsg = String.format("以下槽位名称存在重复,不允许保存:%s", String.join(",", duplicateSlotNames));
throw new RuntimeException(errorMsg);
}
if (submitList.size() > 0) {
ProReTemplate dsRbFilePreserve = proReTemplateService.getById(rfpId);
for (MesRbFilePreserveSlotEntity dsRbFilePreserveSlot : submitList) {
dsRbFilePreserveSlot.setKeepTime(new Date());
dsRbFilePreserveSlot.setKeepMan(curUserInfo.getNickName());
dsRbFilePreserveSlot.setDsRbFilePreserve(dsRbFilePreserve);
dsRbFilePreserveSlot.setRfpId(rfpId);
if(StringUtils.isBlank(dsRbFilePreserveSlot.getSlotName())){
throw new RuntimeException("请将槽号/工位填写完成");
}
if (dsRbFilePreserveSlot.getRfpId() != null) {
mesRbFilePreserveSlotService.updateById(dsRbFilePreserveSlot);
} else {
mesRbFilePreserveSlotService.save(dsRbFilePreserveSlot);
}
// List<DsRbFilePreserveDetail> subList = dsRbFilePreserveSlot.getChildrenList();
List<MesRbFilePreserveDetailDTO> subList = dsRbFilePreserveSlot.getChildrenList();
if (subList.size() > 0) {
for (MesRbFilePreserveDetailDTO dsRbFilePreserveDetail : subList) {
// dsRbFilePreserveDetail.setDsRbFilePreserveSlot(dsRbFilePreserveSlot);
dsRbFilePreserveDetail.setRfpsId(dsRbFilePreserveSlot.getId());
if (dsRbFilePreserveDetail.getRfpsId() != null) {
MesRbFilePreserveDetailEntity dsRbFilePreserveDetailDao = new MesRbFilePreserveDetailEntity();
BeanUtils.copyProperties(dsRbFilePreserveDetail, dsRbFilePreserveDetailDao);
mesRbFilePreserveDetailService.updateById(dsRbFilePreserveDetailDao);
} else {
mesRbFilePreserveDetailService.save(dsRbFilePreserveDetail);
}
}
}
if (deleteIds.size() > 0) {
for (Long rfpsId : deleteIds) {
// 删除槽号对应的明细
// dsRbFilePreserveDetailDao.deleteByRfpsId(rfpsId);
// dsRbFilePreserveSlotDao.delete(rfpsId);
mesRbFilePreserveSlotService.removeById(rfpsId);
QueryWrapper<MesRbFilePreserveDetailEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("rfps_id", rfpsId);
mesRbFilePreserveDetailService.remove(queryWrapper);
}
}
}
}
}
private JSONObject metalParts(Long woId) {
JSONObject obj = new JSONObject();

Loading…
Cancel
Save