Commit 87699619 authored by suhuiguang's avatar suhuiguang

1.增加约束正在报检的设备不允许重复报检

parent a0b65354
...@@ -3,15 +3,17 @@ package com.yeejoin.amos.boot.module.jyjc.api.mapper; ...@@ -3,15 +3,17 @@ package com.yeejoin.amos.boot.module.jyjc.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplication; import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplication;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationEquipDto;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationEquipModel; import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationEquipModel;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationModel; import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationModel;
import org.springframework.data.repository.query.Param; import org.springframework.data.repository.query.Param;
import java.util.List;
import java.util.Set; import java.util.Set;
/** /**
* Mapper 接口 * Mapper 接口
* *
* @author system_generator * @author system_generator
* @date 2023-12-14 * @date 2023-12-14
...@@ -19,20 +21,28 @@ import java.util.Set; ...@@ -19,20 +21,28 @@ import java.util.Set;
public interface JyjcInspectionApplicationMapper extends BaseMapper<JyjcInspectionApplication> { public interface JyjcInspectionApplicationMapper extends BaseMapper<JyjcInspectionApplication> {
public Page<JyjcInspectionApplicationModel> queryForDataList( Page<JyjcInspectionApplication> page, String applicationNo, String inspectionClassify, String applicationUnitCode,String applicationUnitName, String equipClassify, String inspectionUnitCode,String inspectionUnitName, String applicationDate, String acceptDate, String inspectionChargePerson, String status , String bizType); public Page<JyjcInspectionApplicationModel> queryForDataList(Page<JyjcInspectionApplication> page, String applicationNo, String inspectionClassify, String applicationUnitCode, String applicationUnitName, String equipClassify, String inspectionUnitCode, String inspectionUnitName, String applicationDate, String acceptDate, String inspectionChargePerson, String status, String bizType);
// public Page<JyjcInspectionApplicationModel> queryForDataList( Page<JyjcInspectionApplication> page, String applicationNo, String inspectionClassify, String applicationUnitCode,String applicationUnitName, String equipClassify, String inspectionUnitCode,String inspectionUnitName, String applicationDate, String acceptDate, String inspectionChargePerson, String status , String bizType, List<String> roleIds); // public Page<JyjcInspectionApplicationModel> queryForDataList( Page<JyjcInspectionApplication> page, String applicationNo, String inspectionClassify, String applicationUnitCode,String applicationUnitName, String equipClassify, String inspectionUnitCode,String inspectionUnitName, String applicationDate, String acceptDate, String inspectionChargePerson, String status , String bizType, List<String> roleIds);
Page<JyjcInspectionApplicationEquipModel> listByCategory(Page<JyjcInspectionApplicationEquipModel> page,@Param("equipClassify") String equipClassify); Page<JyjcInspectionApplicationEquipModel> listByCategory(Page<JyjcInspectionApplicationEquipModel> page, @Param("equipClassify") String equipClassify);
JyjcInspectionApplicationModel selectDataBySeq(Long sequenceNbr); JyjcInspectionApplicationModel selectDataBySeq(Long sequenceNbr);
void updatePromoter(@org.apache.ibatis.annotations.Param ("id") Long id); void updatePromoter(@org.apache.ibatis.annotations.Param("id") Long id);
Page<JyjcInspectionApplicationModel> selectForPage(@Param("page") Page<JyjcInspectionApplication> page, @Param("jyjcInspectionApplicationModel") JyjcInspectionApplicationModel jyjcInspectionApplicationModel, @Param("identity") String identity, @Param("currentApplicationUnitCode") String currentApplicationUnitCode, @Param("currentInspectionUnitCode") String currentInspectionUnitCode,@Param("currentUserId") String currentUserId); Page<JyjcInspectionApplicationModel> selectForPage(@Param("page") Page<JyjcInspectionApplication> page, @Param("jyjcInspectionApplicationModel") JyjcInspectionApplicationModel jyjcInspectionApplicationModel, @Param("identity") String identity, @Param("currentApplicationUnitCode") String currentApplicationUnitCode, @Param("currentInspectionUnitCode") String currentInspectionUnitCode, @Param("currentUserId") String currentUserId);
/**
* 查询待受理流流程状态的设备
*
* @return Set<String>
*/
Set<String> queryRecordInFlowing();
/** /**
* 查询待受理流流程状态的设备 * 查询待受理流流程状态的设备
* @return Set<String> * @param equips 需要判断的设备
* @return 在流程中的设备records
*/ */
Set<String> queryRecordInFlowing(); List<String> queryRecordListInFlowing(@org.apache.ibatis.annotations.Param("equips") List<JyjcInspectionApplicationEquipDto> equips);
} }
...@@ -203,6 +203,20 @@ ...@@ -203,6 +203,20 @@
a.sequence_nbr = ae.application_seq a.sequence_nbr = ae.application_seq
and a.status='6611' and a.status='6611'
</select> </select>
<select id="queryRecordListInFlowing" resultType="java.lang.String">
SELECT
DISTINCT ae.equip_unicode as records
FROM
tz_jyjc_inspection_application a,
tz_jyjc_inspection_application_equip ae
where
a.sequence_nbr = ae.application_seq
and a.status='6611'
and ae.equip_unicode in
<foreach collection="equips" item="equip" separator="," open="(" close=")">
#{equip.sequenceNbr}
</foreach>
</select>
<update id="updatePromoter"> <update id="updatePromoter">
UPDATE tz_jyjc_inspection_application set promoter = null UPDATE tz_jyjc_inspection_application set promoter = null
......
...@@ -79,7 +79,7 @@ public class JyjcInspectionApplicationController extends BaseController { ...@@ -79,7 +79,7 @@ public class JyjcInspectionApplicationController extends BaseController {
return CommonResponseUtil.failure("未选择报检设备时不可提交"); return CommonResponseUtil.failure("未选择报检设备时不可提交");
} }
} }
return ResponseHelper.buildResponse(Collections.singletonList(jyjcInspectionApplicationServiceImpl.save(model))); return ResponseHelper.buildResponse(Collections.singletonList(jyjcInspectionApplicationServiceImpl.save(model, selectedOrgInfo)));
} }
......
...@@ -165,17 +165,19 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec ...@@ -165,17 +165,19 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
private static final String SEQUENCE_NBR = "SEQUENCE_NBR"; private static final String SEQUENCE_NBR = "SEQUENCE_NBR";
private static final String SUMMIT_TYPE = "0";
@Autowired @Autowired
RestHighLevelClient restHighLevelClient; RestHighLevelClient restHighLevelClient;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public JyjcInspectionApplicationModel save(@RequestBody JSONObject obj) { public JyjcInspectionApplicationModel save(@RequestBody JSONObject obj, ReginParams reginParams) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
//接口通用 部分页面按钮无法分开配置类型 所以根据业务情况 将带有工作流实例id的数据 接口类型设置为2 走编辑逻辑 //接口通用 部分页面按钮无法分开配置类型 所以根据业务情况 将带有工作流实例id的数据 接口类型设置为2 走编辑逻辑
JyjcInspectionApplicationModel model = JSONObject.parseObject(JSON.toJSONString(obj), JyjcInspectionApplicationModel.class); JyjcInspectionApplicationModel model = JSONObject.parseObject(JSON.toJSONString(obj), JyjcInspectionApplicationModel.class);
model.setEquip((List<Map<String, Object>>) obj.get("equip")); model.setEquip((List<Map<String, Object>>) obj.get("equip"));
// 校验流程中的不能再次提交
this.checkForFlowingEquip(model);
if (CharSequenceUtil.isNotEmpty(model.getProcessInstanceId()) && model.getOperationType().equals("0")) { if (CharSequenceUtil.isNotEmpty(model.getProcessInstanceId()) && model.getOperationType().equals("0")) {
model.setOperationType("2"); model.setOperationType("2");
} }
...@@ -420,6 +422,23 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec ...@@ -420,6 +422,23 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
return this.buildRedundancyField(model); return this.buildRedundancyField(model);
} }
/**
* 提交时校验是否有在流程中(流程状态待受理)的设备
*
* @param model 提交对象
*/
private void checkForFlowingEquip(JyjcInspectionApplicationModel model) {
String operationType = model.getOperationType();
List<String> recordsInFlowing = new ArrayList<>();
if (SUMMIT_TYPE.equals(operationType)) {
List<JyjcInspectionApplicationEquipDto> equips = JSONObject.parseArray(JSON.toJSONString(model.getEquip()), JyjcInspectionApplicationEquipDto.class);
recordsInFlowing = this.getBaseMapper().queryRecordListInFlowing(equips);
}
if (recordsInFlowing.size() > 0) {
throw new BadRequest("存在设备已经在流程中,不允许重复提交检验!");
}
}
private void setInspectionUnitNameAfterSave(JyjcInspectionApplicationModel model) { private void setInspectionUnitNameAfterSave(JyjcInspectionApplicationModel model) {
CompanyModel companyModel = jyjcBaseMapper.selectOneCompanyByCode(model.getInspectionUnitCode()); CompanyModel companyModel = jyjcBaseMapper.selectOneCompanyByCode(model.getInspectionUnitCode());
if (companyModel != null) { if (companyModel != null) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment