Commit bb3fccae authored by KeYong's avatar KeYong

Merge branch 'develop_dl_plan6' of http://39.98.45.134:8090/moa/amos-boot-biz into develop_dl_plan6

parents 9f9cefcc 2ed750c3
...@@ -59,7 +59,7 @@ public class PeopleBasicInfoDto { ...@@ -59,7 +59,7 @@ public class PeopleBasicInfoDto {
private String certificatesNumber; private String certificatesNumber;
@ApiModelProperty(value = "出生日期") @ApiModelProperty(value = "出生日期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date birthdayTime; private Date birthdayTime;
@ApiModelProperty(value = "性别") @ApiModelProperty(value = "性别")
......
...@@ -142,6 +142,13 @@ public interface DynamicFormInstanceMapper extends BaseMapper<DynamicFormInstanc ...@@ -142,6 +142,13 @@ public interface DynamicFormInstanceMapper extends BaseMapper<DynamicFormInstanc
List<Map<String, Object>> getOrgPersonTelphone(List<Map<String, Object>> companyIds); List<Map<String, Object>> getOrgPersonTelphone(List<Map<String, Object>> companyIds);
List<Map<String, Object>> personInfoList(String groupCode, HashSet<String> userIdSet); List<Map<String, Object>> personInfoList(String groupCode, HashSet<String> userIdSet);
/**
* 查询运维人员
* @param page
* @return
*/
Page<Map<String, Object>> getPersonInfoByPage(Page page, @Param("bizOrgCode") String bizOrgCode);
} }
...@@ -32,7 +32,7 @@ public interface IDutyCommonService { ...@@ -32,7 +32,7 @@ public interface IDutyCommonService {
* @return * @return
* @throws ParseException * @throws ParseException
*/ */
IPage<Map<String, Object>> pageListDetail(int current, int size, String beginDate, String endDate) throws ParseException; IPage<Map<String, Object>> pageListDetail(int current, int size, String beginDate, String endDate, String bizOrgCode) throws ParseException;
/** /**
* 值班明细 * 值班明细
......
...@@ -594,5 +594,33 @@ WHERE ...@@ -594,5 +594,33 @@ WHERE
GROUP BY GROUP BY
i.instance_id i.instance_id
</select> </select>
<select id="getPersonInfoByPage" resultType="java.util.Map">
SELECT
ou.sequence_nbr as id,
ou.biz_org_name as userName,
IFNULL( MAX( CASE WHEN cfi.field_code = 'telephone' THEN field_value END ), '' ) AS telephone,
IFNULL( MAX( CASE WHEN cfi.field_code = 'postTypeName' THEN field_value END ), '' ) AS postTypeName,
IFNULL( MAX( CASE WHEN cfi.field_code = 'personImg' THEN field_value END ), '' ) AS personImg,
IFNULL( MAX( CASE WHEN cfi.field_code = 'peopleType' THEN field_value END ), '' ) AS peopleType
FROM
(
SELECT
IFNULL( max( CASE WHEN fi.field_code = 'userId' THEN fi.field_value END ), ps.instance_id ) AS id
FROM
cb_duty_person_shift ps
LEFT JOIN cb_dynamic_form_instance fi ON fi.instance_id = ps.instance_id
WHERE
ps.duty_date = CURRENT_DATE
GROUP BY
fi.instance_id
) a
LEFT JOIN cb_org_usr ou ON ou.sequence_nbr = a.id
LEFT JOIN cb_dynamic_form_instance cfi ON ou.sequence_nbr = cfi.instance_id
where ou.biz_org_code like concat(#{bizOrgCode}, '%')
GROUP BY
a.id
HAVING
peopleType = 1602
</select>
</mapper> </mapper>
package com.yeejoin.amos.boot.module.common.biz.controller; package com.yeejoin.amos.boot.module.common.biz.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.common.api.dto.DutyPersonDto; import com.yeejoin.amos.boot.module.common.api.dto.DutyPersonDto;
import com.yeejoin.amos.boot.module.common.api.service.IDutyPersonService; import com.yeejoin.amos.boot.module.common.api.service.IDutyPersonService;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateFormatUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -68,7 +71,12 @@ public class DutyPersonController extends BaseController { ...@@ -68,7 +71,12 @@ public class DutyPersonController extends BaseController {
beginDate = date; beginDate = date;
endDate = date; endDate = date;
} }
return ResponseHelper.buildResponse(iDutyPersonService.pageListDetail(current, size, beginDate, endDate)); ReginParams selectedOrgInfo = getSelectedOrgInfo();
String bizOrgCode = ObjectUtils.isEmpty(selectedOrgInfo) || ObjectUtils.isEmpty(selectedOrgInfo.getPersonIdentity()) ? "" : selectedOrgInfo.getPersonIdentity().getBizOrgCode();
if (StringUtils.isEmpty(bizOrgCode)) {
return ResponseHelper.buildResponse(null);
}
return ResponseHelper.buildResponse(iDutyPersonService.pageListDetail(current, size, beginDate, endDate, bizOrgCode));
} }
/** /**
......
...@@ -19,8 +19,10 @@ import java.util.stream.Stream; ...@@ -19,8 +19,10 @@ import java.util.stream.Stream;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary; import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.IDataDictionaryService; import com.yeejoin.amos.boot.biz.common.service.IDataDictionaryService;
import com.yeejoin.amos.boot.module.common.api.mapper.DynamicFormInstanceMapper;
import com.yeejoin.amos.boot.module.common.biz.enums.DataDictionaryTypeEnum; import com.yeejoin.amos.boot.module.common.biz.enums.DataDictionaryTypeEnum;
import com.yeejoin.amos.boot.module.common.biz.enums.DynamicGroupCodeEnum; import com.yeejoin.amos.boot.module.common.biz.enums.DynamicGroupCodeEnum;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
...@@ -88,6 +90,8 @@ public class DutyCommonServiceImpl implements IDutyCommonService { ...@@ -88,6 +90,8 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
@Autowired @Autowired
IDataDictionaryService dataDictionaryService; IDataDictionaryService dataDictionaryService;
@Autowired
DynamicFormInstanceMapper dynamicFormInstanceMapper;
/** /**
* 每天单个班次执勤人数全部小于等于3人 * 每天单个班次执勤人数全部小于等于3人
...@@ -115,33 +119,34 @@ public class DutyCommonServiceImpl implements IDutyCommonService { ...@@ -115,33 +119,34 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
} }
@Override @Override
public IPage<Map<String, Object>> pageListDetail(int current, int size, String beginDate, String endDate) public IPage<Map<String, Object>> pageListDetail(int current, int size, String beginDate, String endDate, String bizOrgCode)
throws ParseException { throws ParseException {
// 1.已column为准 进行返回 // // 1.已column为准 进行返回
String groupCode = this.getGroupCode(); // String groupCode = this.getGroupCode();
// 不存在值班数据则不查找 修改sql 方法去除 by kongfm 2021-09-14 // // 不存在值班数据则不查找 修改sql 方法去除 by kongfm 2021-09-14
IPage<Map<String, Object>> iPage = dynamicFormInstanceService.pageListNew(current, size, groupCode, beginDate, endDate); // IPage<Map<String, Object>> iPage = dynamicFormInstanceService.pageListNew(current, size, groupCode, beginDate, endDate);
List<Map<String, Object>> records = iPage.getRecords(); // List<Map<String, Object>> records = iPage.getRecords();
HashSet<String> userIdSet = new HashSet<>(); // HashSet<String> userIdSet = new HashSet<>();
if (!CollectionUtils.isEmpty(records)) { // if (!CollectionUtils.isEmpty(records)) {
records.forEach(x -> { // records.forEach(x -> {
userIdSet.add(x.get("userId").toString()); // userIdSet.add(x.get("userId").toString());
}); // });
} // }
// 获取人员详细信息 // // 获取人员详细信息
List<Map<String, Object>> personInfoList = dynamicFormInstanceService.personInfoList(DynamicGroupCodeEnum.JCS_PERSON.getCode(), userIdSet); // List<Map<String, Object>> personInfoList = dynamicFormInstanceService.personInfoList(DynamicGroupCodeEnum.JCS_PERSON.getCode(), userIdSet);
if (!CollectionUtils.isEmpty(personInfoList)) { // if (!CollectionUtils.isEmpty(personInfoList)) {
Map<String, List<Map<String, Object>>> listMap = personInfoList.stream().collect(Collectors.groupingBy((Map m) -> String.valueOf(m.get("userId")))); // Map<String, List<Map<String, Object>>> listMap = personInfoList.stream().collect(Collectors.groupingBy((Map m) -> String.valueOf(m.get("userId"))));
records.forEach(x -> { // records.forEach(x -> {
String userId = x.get("userId").toString(); // String userId = x.get("userId").toString();
List<Map<String, Object>> list = listMap.get(userId); // List<Map<String, Object>> list = listMap.get(userId);
if (!CollectionUtils.isEmpty(list)) { // if (!CollectionUtils.isEmpty(list)) {
list.forEach(x::putAll); // list.forEach(x::putAll);
} // }
}); // });
iPage.setRecords(records); // iPage.setRecords(records);
} // }
return iPage; // return iPage;
return dynamicFormInstanceMapper.getPersonInfoByPage(new Page(current, size), bizOrgCode);
} }
private void fillDutyShiftData(String beginDate, String endDate, Map<String, Object> m) throws ParseException { private void fillDutyShiftData(String beginDate, String endDate, Map<String, Object> m) throws ParseException {
......
...@@ -3087,6 +3087,10 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp ...@@ -3087,6 +3087,10 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
} }
DynamicFormInstance dynamicFormInstance = new DynamicFormInstance(); DynamicFormInstance dynamicFormInstance = new DynamicFormInstance();
BeanUtils.copyProperties(dynamicFormInstanceDto, dynamicFormInstance); BeanUtils.copyProperties(dynamicFormInstanceDto, dynamicFormInstance);
// 修改bug 8364
if ("gender".equals(dynamicFormInstance.getFieldCode())){
dynamicFormInstance.setFieldValueLabel("346".equals(String.valueOf(dynamicFormInstance.getFieldValue()))?"男":"女");
}
dynamicFormInstancelist.add(dynamicFormInstance); dynamicFormInstancelist.add(dynamicFormInstance);
}); });
......
...@@ -23,7 +23,6 @@ import org.typroject.tyboot.core.foundation.enumeration.UserType; ...@@ -23,7 +23,6 @@ import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.text.ParseException; import java.text.ParseException;
......
...@@ -608,7 +608,7 @@ public interface FireFightingSystemMapper extends BaseMapper<FireFightingSystemE ...@@ -608,7 +608,7 @@ public interface FireFightingSystemMapper extends BaseMapper<FireFightingSystemE
BigDecimal getWaterPoolLevelByEquipSpeId(@Param("equipSpeId") String equipSpeId); BigDecimal getWaterPoolLevelByEquipSpeId(@Param("equipSpeId") String equipSpeId);
List<Map<String, String>> getEquipExpiryStatistics(@Param("bizOrgCode") String bizOrgCode, @Param("expiryDayNum") Integer expiryDayNum); List<Map<String, Object>> getEquipExpiryStatistics(@Param("bizOrgCode") String bizOrgCode, @Param("expiryDayNum") Integer expiryDayNum);
Page<Map<String, String>> getEquipExpiryListByPage(@Param("page") Page page, @Param("bizOrgCode") String bizOrgCode, @Param("expiryDayNum") Integer expiryDayNum); Page<Map<String, String>> getEquipExpiryListByPage(@Param("page") Page page, @Param("bizOrgCode") String bizOrgCode, @Param("expiryDayNum") Integer expiryDayNum);
......
...@@ -12,11 +12,7 @@ import com.yeejoin.amos.feign.morphic.model.ResourceDTO; ...@@ -12,11 +12,7 @@ import com.yeejoin.amos.feign.morphic.model.ResourceDTO;
import com.yeejoin.equipmanage.common.datasync.entity.FireFightingSystem; import com.yeejoin.equipmanage.common.datasync.entity.FireFightingSystem;
import com.yeejoin.equipmanage.common.entity.FireFightingSystemEntity; import com.yeejoin.equipmanage.common.entity.FireFightingSystemEntity;
import com.yeejoin.equipmanage.common.entity.dto.EquipTypeAmountPageDTO; import com.yeejoin.equipmanage.common.entity.dto.EquipTypeAmountPageDTO;
import com.yeejoin.equipmanage.common.entity.vo.EquipCountBySystemVO; import com.yeejoin.equipmanage.common.entity.vo.*;
import com.yeejoin.equipmanage.common.entity.vo.EquipTypeImgAmountVO;
import com.yeejoin.equipmanage.common.entity.vo.EquiplistSpecificBySystemVO;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentAlarmBySystemIdOrSourceIdVO;
import com.yeejoin.equipmanage.common.entity.vo.PointTreeVo;
import com.yeejoin.equipmanage.common.vo.*; import com.yeejoin.equipmanage.common.vo.*;
public interface IFireFightingSystemService extends IService<FireFightingSystemEntity> { public interface IFireFightingSystemService extends IService<FireFightingSystemEntity> {
...@@ -288,7 +284,7 @@ public interface IFireFightingSystemService extends IService<FireFightingSystemE ...@@ -288,7 +284,7 @@ public interface IFireFightingSystemService extends IService<FireFightingSystemE
Page<Map<String, Object>> getSystemInfo(Page page, String companyCode, String systemCode); Page<Map<String, Object>> getSystemInfo(Page page, String companyCode, String systemCode);
List<Map<String, String>> getEquipExpiryStatistics(String bizOrgCode, Integer expiryDayNum); List<Map<String, Object>> getEquipExpiryStatistics(String bizOrgCode, Integer expiryDayNum);
Page<Map<String, String>> getEquipExpiryListByPage(String bizOrgCode, Integer expiryDayNum, Page page); Page<Map<String, String>> getEquipExpiryListByPage(String bizOrgCode, Integer expiryDayNum, Page page);
......
...@@ -220,7 +220,10 @@ public class EquipmentServiceImpl extends ServiceImpl<EquipmentMapper, Equipment ...@@ -220,7 +220,10 @@ public class EquipmentServiceImpl extends ServiceImpl<EquipmentMapper, Equipment
equipment1.setImg(""); equipment1.setImg("");
} }
int savedEquipment = equipmentMapper.updateById(equipment1); int savedEquipment = equipmentMapper.updateById(equipment1);
iEquipmentDetailService.update(new UpdateWrapper<EquipmentDetail>().eq("equipment_id", equipment1.getId()).set("name", equipment1.getName())); iEquipmentDetailService.update(new UpdateWrapper<EquipmentDetail>().eq("equipment_id", equipment1.getId())
.set("name", equipment1.getName())
.set("expiry_date", equipment1.getExpiryDate())
.set("maintenance_cycle", equipment1.getMaintenanceCycle()));
JSONObject equipRuleParams = new JSONObject(); JSONObject equipRuleParams = new JSONObject();
equipRuleParams.put("name", equipment1.getName()); equipRuleParams.put("name", equipment1.getName());
equipRuleParams.put("inspectionSpecId", equipment1.getInspectionSpec()); equipRuleParams.put("inspectionSpecId", equipment1.getInspectionSpec());
......
...@@ -1828,8 +1828,8 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -1828,8 +1828,8 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
List<Map<String, Object>> equipSpecificScrap = equipmentSpecificIndexMapper.getEquipSpecificScrap(); List<Map<String, Object>> equipSpecificScrap = equipmentSpecificIndexMapper.getEquipSpecificScrap();
equipSpecificScrap.forEach(e->{ equipSpecificScrap.forEach(e->{
try { try {
if(e.get("wesExpiry") != null) { if(e.get("weExpiry") != null) {
int year = Integer.parseInt(e.get("wesExpiry").toString()); int year = Integer.parseInt(e.get("weExpiry").toString());
Date productDate = DateUtils.dateParse(e.get("product").toString(),"yyyy-MM-dd'T'HH:mm"); Date productDate = DateUtils.dateParse(e.get("product").toString(),"yyyy-MM-dd'T'HH:mm");
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
calendar.setTime(productDate); calendar.setTime(productDate);
...@@ -1857,7 +1857,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -1857,7 +1857,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
model.setTitle("报废到期提醒"); model.setTitle("报废到期提醒");
String equipName = map.get("name").toString(); String equipName = map.get("name").toString();
String location = map.get("sname").toString() + map.get("position").toString() ; String location = map.get("position").toString() + map.get("area").toString();
String body = String.format("%s-%s于%s报废,请提前更换处理", equipName, location, scrapTime); String body = String.format("%s-%s于%s报废,请提前更换处理", equipName, location, scrapTime);
String join = String.format("设备还剩%s天报废,请提前更换", i); String join = String.format("设备还剩%s天报废,请提前更换", i);
......
...@@ -2001,8 +2001,12 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste ...@@ -2001,8 +2001,12 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste
} }
@Override @Override
public List<Map<String, String>> getEquipExpiryStatistics(String bizOrgCode, Integer expiryDayNum) { public List<Map<String, Object>> getEquipExpiryStatistics(String bizOrgCode, Integer expiryDayNum) {
return fireFightingSystemMapper.getEquipExpiryStatistics(bizOrgCode, expiryDayNum); List<Map<String, Object>> equipExpiryStatistics = fireFightingSystemMapper.getEquipExpiryStatistics(bizOrgCode, expiryDayNum);
equipExpiryStatistics.forEach(item -> {
item.put("value", Integer.parseInt(item.get("value").toString()));
});
return equipExpiryStatistics;
} }
@Override @Override
......
...@@ -472,7 +472,8 @@ ...@@ -472,7 +472,8 @@
wes.position, wes.position,
wes.name, wes.name,
we.expiry_date as weExpiry, we.expiry_date as weExpiry,
wed.expiry_date as wesExpiry, <!-- wed.expiry_date as wesExpiry,-->
wed.area as area,
wed.production_date as product wed.production_date as product
from wl_equipment_specific wes from wl_equipment_specific wes
left join wl_equipment_detail wed on wes.equipment_detail_id = wed.id left join wl_equipment_detail wed on wes.equipment_detail_id = wed.id
......
...@@ -5065,10 +5065,10 @@ ...@@ -5065,10 +5065,10 @@
LEFT JOIN wl_stock_detail sd ON sd.equipment_detail_id = ed.id LEFT JOIN wl_stock_detail sd ON sd.equipment_detail_id = ed.id
WHERE WHERE
ed.production_date IS NOT NULL ed.production_date IS NOT NULL
AND sd.`status` != 7 AND ( (sd.`status` != 7) or (sd.`status` is null) or (sd.`status` = ''))
AND e.expiry_date IS NOT NULL AND e.expiry_date IS NOT NULL
AND es.biz_org_code like concat(#{bizOrgCode}, '%') AND es.biz_org_code like concat(#{bizOrgCode}, '%')
AND DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE ) > 0 <!-- AND DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE ) > 0-->
AND #{expiryDayNum} >= DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE ) AND #{expiryDayNum} >= DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE )
) a ) a
GROUP BY GROUP BY
...@@ -5094,10 +5094,10 @@ ...@@ -5094,10 +5094,10 @@
LEFT JOIN wl_stock_detail sd ON sd.equipment_detail_id = ed.id LEFT JOIN wl_stock_detail sd ON sd.equipment_detail_id = ed.id
WHERE WHERE
ed.production_date IS NOT NULL ed.production_date IS NOT NULL
AND sd.`status` != 7 AND ( (sd.`status` != 7) or (sd.`status` is null) or (sd.`status` = ''))
AND e.expiry_date IS NOT NULL AND e.expiry_date IS NOT NULL
AND es.biz_org_code like concat(#{bizOrgCode}, '%') AND es.biz_org_code like concat(#{bizOrgCode}, '%')
AND DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE ) > 0 <!-- AND DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE ) > 0-->
AND #{expiryDayNum} >= DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE ) AND #{expiryDayNum} >= DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE )
ORDER BY DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE ) ASC ORDER BY DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE ) ASC
</select> </select>
...@@ -5143,7 +5143,7 @@ ...@@ -5143,7 +5143,7 @@
LEFT JOIN wl_stock_detail sd ON sd.equipment_detail_id = ed.id LEFT JOIN wl_stock_detail sd ON sd.equipment_detail_id = ed.id
WHERE WHERE
ed.production_date IS NOT NULL ed.production_date IS NOT NULL
AND sd.`status` != 7 AND ( (sd.`status` != 7) or (sd.`status` is null) or (sd.`status` = ''))
AND e.expiry_date IS NOT NULL AND e.expiry_date IS NOT NULL
AND es.biz_org_code LIKE concat(#{bizOrgCode}, '%') AND es.biz_org_code LIKE concat(#{bizOrgCode}, '%')
AND 0 >= DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE ) AND 0 >= DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE )
...@@ -5161,10 +5161,10 @@ ...@@ -5161,10 +5161,10 @@
LEFT JOIN wl_stock_detail sd ON sd.equipment_detail_id = ed.id LEFT JOIN wl_stock_detail sd ON sd.equipment_detail_id = ed.id
WHERE WHERE
ed.production_date IS NOT NULL ed.production_date IS NOT NULL
AND sd.`status` != 7 AND ( (sd.`status` != 7) or (sd.`status` is null) or (sd.`status` = ''))
AND e.expiry_date IS NOT NULL AND e.expiry_date IS NOT NULL
AND es.biz_org_code LIKE concat(#{bizOrgCode}, '%') AND es.biz_org_code LIKE concat(#{bizOrgCode}, '%')
AND DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE ) > 0 <!-- AND DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE ) > 0-->
AND 60 >= DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE ) AND 60 >= DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE )
) AS countNum ) AS countNum
</select> </select>
......
...@@ -58,5 +58,6 @@ public class CheckResult { ...@@ -58,5 +58,6 @@ public class CheckResult {
@ApiModelProperty(value="模型名称") @ApiModelProperty(value="模型名称")
private String modelName; private String modelName;
@ApiModelProperty(value="提交记录id")
private Long submitRecordId;
} }
package com.yeejoin.amos.boot.module.tdc.api.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* @author xxz
*/
@Data
@Accessors(chain = true)
@TableName("tdc_model_item")
@ApiModel(value="ModelItem对象", description="模型填报项表")
public class ModelItem {
private static final long serialVersionUID = 1L;
@TableId(value = "sequence_nbr", type = IdType.ID_WORKER)
protected Long sequenceNbr;
@ApiModelProperty(value = "校验项名称")
private String checkItemLabel;
@ApiModelProperty(value = "校验项值")
private String checkItemValue;
@ApiModelProperty(value = "模型名称")
private String modelName;
@ApiModelProperty(value = "提交记录id")
private long submitRecordId;
}
package com.yeejoin.amos.boot.module.tdc.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.tdc.api.entity.ModelItem;
import org.mapstruct.Mapper;
/**
* @author DELL
*/
@Mapper
public interface ModelItemMapper extends BaseMapper<ModelItem> {
}
package com.yeejoin.amos.boot.module.tdc.api.service;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.springframework.stereotype.Service;
import java.util.Map;
/**
* @author xxz
*/
@Service
public interface ModelItemService {
void saveModelItem(JSONObject jsonObject, AgencyUserModel userInfo);
void editModelItem(JSONObject jsonObject, AgencyUserModel userInfo);
/**
* 获取详情接口
* @param sequenceNbr 记录id
* @return 项
*/
Map<String, Object> getModelItem(Long sequenceNbr);
void deleteModelItem(String sequenceNbr);
}
package com.yeejoin.amos.boot.module.tdc.api.service; package com.yeejoin.amos.boot.module.tdc.api.service;
import com.yeejoin.amos.boot.module.tdc.api.entity.SubmitRecord;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
...@@ -7,4 +8,9 @@ import org.springframework.stereotype.Service; ...@@ -7,4 +8,9 @@ import org.springframework.stereotype.Service;
*/ */
@Service @Service
public interface SubmitRecordService { public interface SubmitRecordService {
int saveSubmitRecord(SubmitRecord submitRecord);
SubmitRecord updateById(Long sequenceNbr, String batchNo);
} }
package com.yeejoin.amos.boot.module.tdc.api.service;
import com.yeejoin.amos.boot.module.tdc.api.entity.ModelItem;
import com.yeejoin.amos.boot.module.tdc.api.entity.SubmitRecord;
import java.util.List;
import java.util.Map;
/**
* @author xxz
*/
public interface SyncMethodService {
/**
* 校验
*/
void checkItem(Map<String, List<ModelItem>> itemValue, SubmitRecord record);
}
<?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="com.yeejoin.amos.boot.module.tdc.api.mapper.ModelItemMapper">
</mapper>
\ No newline at end of file
...@@ -70,7 +70,8 @@ public class CheckModelAction { ...@@ -70,7 +70,8 @@ public class CheckModelAction {
Map propertyValues = idxProjectModel.getPropertyValues(); Map propertyValues = idxProjectModel.getPropertyValues();
String batchNo = String.valueOf(propertyValues.get("batch_no")); String batchNo = String.valueOf(propertyValues.get("batch_no"));
Integer checkType = Integer.valueOf(String.valueOf(propertyValues.get("checkType"))); Long submitRecordId = Long.valueOf(String.valueOf(propertyValues.get("submitRecordId")));
// Integer checkType = Integer.valueOf(String.valueOf(propertyValues.get("checkType")));
String orgCode = String.valueOf(propertyValues.get("org_code")); String orgCode = String.valueOf(propertyValues.get("org_code"));
String checkPeopleName = String.valueOf(propertyValues.get("checkPeopleName")); String checkPeopleName = String.valueOf(propertyValues.get("checkPeopleName"));
String itemName = idxProjectModel.getItemName(); String itemName = idxProjectModel.getItemName();
...@@ -81,12 +82,12 @@ public class CheckModelAction { ...@@ -81,12 +82,12 @@ public class CheckModelAction {
return; return;
} }
if (!CollectionUtils.isEmpty(idxProjectModel.getPropertys()) && StringUtils.isNotEmpty(checkItem)) { // if (!CollectionUtils.isEmpty(idxProjectModel.getPropertys()) && StringUtils.isNotEmpty(checkItem)) {
Map<String, Object> item = idxProjectModel.getPropertys().stream().filter(map -> checkItem.equals(map.get("name"))).findFirst().orElse(null); // Map<String, Object> item = idxProjectModel.getPropertys().stream().filter(map -> checkItem.equals(map.get("name"))).findFirst().orElse(null);
if (ObjectUtils.isNotEmpty(item)) { // if (ObjectUtils.isNotEmpty(item)) {
checkResult.setCheckItemLabel(String.valueOf(item.get("title"))); // checkResult.setCheckItemLabel(String.valueOf(item.get("title")));
} // }
} // }
checkResult.setBatchNo(StringUtils.isNotEmpty(batchNo) ? batchNo : String.valueOf(propertyValues.get("id"))); checkResult.setBatchNo(StringUtils.isNotEmpty(batchNo) ? batchNo : String.valueOf(propertyValues.get("id")));
checkResult.setCheckItemResult(result); checkResult.setCheckItemResult(result);
...@@ -96,23 +97,24 @@ public class CheckModelAction { ...@@ -96,23 +97,24 @@ public class CheckModelAction {
checkResult.setModelId(String.valueOf(checkModel.getSequenceNbr())); checkResult.setModelId(String.valueOf(checkModel.getSequenceNbr()));
checkResult.setAmosOrgCode(checkModel.getAmosOrgCode()); checkResult.setAmosOrgCode(checkModel.getAmosOrgCode());
checkResult.setAmosOrgName(checkModel.getAmosOrgName()); checkResult.setAmosOrgName(checkModel.getAmosOrgName());
checkResult.setSubmitRecordId(submitRecordId);
checkResult.setCheckDate(new Date()); checkResult.setCheckDate(new Date());
checkResult.setCheckType(ObjectUtils.isNotEmpty(checkType) ? checkType : 1); // checkResult.setCheckType(ObjectUtils.isNotEmpty(checkType) ? checkType : 1);
checkResult.setModelName(checkModel.getModelName()); checkResult.setModelName(checkModel.getModelName());
checkResultService.save(checkResult); checkResultService.save(checkResult);
// 2. 判断是否检验结束 // // 2. 判断是否检验结束
if (ObjectUtils.isNotEmpty(checkType)) { // if (ObjectUtils.isNotEmpty(checkType)) {
if (checkType == 1) { // if (checkType == 1) {
// 2.2 单独模型校验,根据批次号查询已经入库的属性 // // 2.2 单独模型校验,根据批次号查询已经入库的属性
sendWebMessage(batchNo, checkModel.getCheckItemAmount(), orgCode, checkPeopleName, checkType, itemName); // sendWebMessage(batchNo, checkModel.getCheckItemAmount(), orgCode, checkPeopleName, checkType, itemName);
} else if (checkType == 0) { // } else if (checkType == 0) {
// 2.1 全站校验 // // 2.1 全站校验
List<CheckModel> checkModels = checkModelService.selectByOrgCode(orgCode); // List<CheckModel> checkModels = checkModelService.selectByOrgCode(orgCode);
int sum = checkModels.stream().mapToInt(CheckModel::getCheckItemAmount).sum(); // int sum = checkModels.stream().mapToInt(CheckModel::getCheckItemAmount).sum();
sendWebMessage(batchNo, sum, orgCode, checkPeopleName, checkType, itemName); // sendWebMessage(batchNo, sum, orgCode, checkPeopleName, checkType, itemName);
} // }
} // }
// else { // else {
// // 指标填报完自动调用,暂时不需要推送前端 // // 指标填报完自动调用,暂时不需要推送前端
// String number = ObjectUtils.isNotEmpty(checkType) ? batchNo : String.valueOf(propertyValues.get("id")); // String number = ObjectUtils.isNotEmpty(checkType) ? batchNo : String.valueOf(propertyValues.get("id"));
......
package com.yeejoin.amos.boot.module.tdc.biz.config;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import java.util.concurrent.Executor;
import java.util.concurrent.ThreadPoolExecutor;
/**
* @author DELL
*/
@Slf4j
@Configuration
@EnableAsync
public class SwjyExecutorConfig {
@Bean(name = "swjyAsyncExecutor")
public Executor asyncServiceExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
//配置核心线程数
executor.setCorePoolSize(10);
//配置最大线程数
executor.setMaxPoolSize(100);
//配置队列大小
executor.setQueueCapacity(1000);
//配置线程池中的线程的名称前缀
executor.setThreadNamePrefix("namePrefix");
//线程池维护线程所允许的空闲时间
executor.setKeepAliveSeconds(30);
// rejection-policy:当pool已经达到max size的时候,如何处理新任务
// CALLER_RUNS:不在新线程中执行任务,而是有调用者所在的线程来执行--拒绝策略
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
//执行初始化
executor.initialize();
//等待所有任务结束后再关闭线程池
executor.setWaitForTasksToCompleteOnShutdown(true);
return executor;
}
}
package com.yeejoin.amos.boot.module.tdc.biz.controller;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.tdc.api.service.ModelItemService;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.Map;
/**
* 校验项提交
* @author xxz
*/
@RestController
@Api(tags = "校验项提交")
@RequestMapping(value = "/check-item")
public class ModelItemController extends BaseController {
@Autowired
ModelItemService modelItemService;
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@PostMapping(value = "/saveModelItem")
@ApiOperation(httpMethod = "POST", value = "保存模型项", notes = "保存模型项")
public ResponseModel saveModelItem(@RequestBody JSONObject jsonObject){
AgencyUserModel userInfo = getUserInfo();
if (ObjectUtils.isEmpty(jsonObject)) {
return null;
}
Object sequenceNbr = jsonObject.get("sequenceNbr");
if (ObjectUtils.isEmpty(sequenceNbr)) {
modelItemService.saveModelItem(jsonObject, userInfo);
return ResponseHelper.buildResponse(true);
}
modelItemService.editModelItem(jsonObject, userInfo);
return ResponseHelper.buildResponse(true);
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/getModelItem")
@ApiOperation(httpMethod = "GET", value = "获取模型项", notes = "获取模型项")
public ResponseModel<Map<String, Object>> getModelItem(@RequestParam(value = "sequenceNbr") Long sequenceNbr){
return ResponseHelper.buildResponse(modelItemService.getModelItem(sequenceNbr));
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/deleteModelItem")
@ApiOperation(httpMethod = "GET", value = "删除模型项", notes = "删除模型项")
public ResponseModel deleteModelItem(@RequestParam(value = "sequenceNbr") String sequenceNbr){
modelItemService.deleteModelItem(sequenceNbr);
return ResponseHelper.buildResponse(true);
}
}
package com.yeejoin.amos.boot.module.tdc.biz.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.netflix.discovery.converters.Auto;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckResult;
import com.yeejoin.amos.boot.module.tdc.api.entity.ModelItem;
import com.yeejoin.amos.boot.module.tdc.api.entity.SubmitRecord;
import com.yeejoin.amos.boot.module.tdc.api.mapper.CheckResultMapper;
import com.yeejoin.amos.boot.module.tdc.api.mapper.ModelItemMapper;
import com.yeejoin.amos.boot.module.tdc.api.mapper.SubmitRecordMapper;
import com.yeejoin.amos.boot.module.tdc.api.service.ModelItemService;
import com.yeejoin.amos.boot.module.tdc.api.service.SubmitRecordService;
import com.yeejoin.amos.boot.module.tdc.api.service.SyncMethodService;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author DELL
*/
@Service
public class ModelItemServiceImpl extends ServiceImpl<ModelItemMapper, ModelItem> implements ModelItemService {
@Autowired
SubmitRecordService submitRecordService;
@Autowired
SyncMethodService syncMethodService;
@Autowired
CheckResultMapper checkResultMapper;
@Autowired
SubmitRecordMapper submitRecordMapper;
@Override
public void saveModelItem(JSONObject jsonObject, AgencyUserModel userInfo) {
long start = System.currentTimeMillis();
if (ObjectUtils.isEmpty(jsonObject)) {
return;
}
SubmitRecord submitRecord = new SubmitRecord();
userInfo.getUserName();
List<CompanyModel> company = userInfo.getCompanys();
if (!CollectionUtils.isEmpty(company)) {
String companyName = company.get(0).getCompanyName();
String orgCode = company.get(0).getOrgCode();
submitRecord.setAmosOrgCode(orgCode);
submitRecord.setAmosOrgName(companyName);
}
submitRecord.setSubmitPeople(userInfo.getRealName());
submitRecord.setSubmitTime(new Date());
String batchNo = UUID.randomUUID().toString();
submitRecord.setBatchNo(batchNo);
long start1 = System.currentTimeMillis();
log.error("=====记录入库前用时:"+(start1-start)+"======");
submitRecordService.saveSubmitRecord(submitRecord);
long end = System.currentTimeMillis();
log.error("=====记录入库用时:"+(end-start1)+"======");
if (StringUtils.isEmpty(submitRecord.getSequenceNbr())) {
return;
}
List<ModelItem> collect = jsonObject.entrySet().stream().map(e -> {
ModelItem modelItem = new ModelItem();
String key = e.getKey();
String[] s = key.split("_");
if (s.length > 0) {
modelItem.setModelName(s[0]);
modelItem.setCheckItemLabel(s[1]);
}
String value = String.valueOf(e.getValue());
modelItem.setCheckItemValue(value);
modelItem.setSubmitRecordId(submitRecord.getSequenceNbr());
return modelItem;
}).collect(Collectors.toList());
Map<String, List<ModelItem>> itemValue = collect.stream().collect(Collectors.groupingBy(ModelItem::getModelName));
long e1 = System.currentTimeMillis();
log.error("=====参数解析用时:"+(e1-end)+"======");
this.saveBatch(collect);
long e2 = System.currentTimeMillis();
log.error("=====入库用时:"+(e2-e1)+"======");
// 异步请求规则校验
syncMethodService.checkItem(itemValue, submitRecord);
}
@Override
public void editModelItem(JSONObject jsonObject, AgencyUserModel userInfo) {
Long sequenceNbr = Long.valueOf(String.valueOf(jsonObject.get("sequenceNbr")));
String batchNo = UUID.randomUUID().toString();
SubmitRecord submitRecord = submitRecordService.updateById(sequenceNbr, batchNo);
LambdaQueryWrapper<ModelItem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ModelItem::getSubmitRecordId, sequenceNbr);
this.baseMapper.delete(wrapper);
List<ModelItem> collect = jsonObject.entrySet().stream().map(e -> {
ModelItem modelItem = new ModelItem();
String key = e.getKey();
String[] s = key.split("_");
if (s.length > 1) {
modelItem.setModelName(s[0]);
modelItem.setCheckItemLabel(s[1]);
String value = String.valueOf(e.getValue());
modelItem.setCheckItemValue(value);
modelItem.setSubmitRecordId(submitRecord.getSequenceNbr());
return modelItem;
} else {
return null;
}
}).filter(item -> !ObjectUtils.isEmpty(item)).collect(Collectors.toList());
this.saveOrUpdateBatch(collect);
// 异步请求规则校验
Map<String, List<ModelItem>> itemValue = collect.stream().collect(Collectors.groupingBy(ModelItem::getModelName));
syncMethodService.checkItem(itemValue, submitRecord);
}
@Override
public Map<String, Object> getModelItem(Long sequenceNbr) {
LambdaQueryWrapper<ModelItem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ModelItem::getSubmitRecordId, sequenceNbr);
List<ModelItem> list = this.list(wrapper);
Map<String, Object> map = list.stream().collect(Collectors.toMap(e -> e.getModelName() + "_" + e.getCheckItemLabel(), ModelItem::getCheckItemValue));
map.put("sequenceNbr", sequenceNbr);
return map;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteModelItem(String sequenceNbr) {
if (!StringUtils.isEmpty(sequenceNbr)) {
String[] split = sequenceNbr.split(",");
List<String> list = Arrays.asList(split);
// 1. 删除记录
submitRecordMapper.deleteBatchIds(list);
// 2. 删除填报项
LambdaQueryWrapper<ModelItem> wrapper = new LambdaQueryWrapper<>();
wrapper.in(ModelItem::getSubmitRecordId, list);
this.baseMapper.delete(wrapper);
// 3. 删除校验记录
LambdaQueryWrapper<CheckResult> resultWrapper = new LambdaQueryWrapper<>();
resultWrapper.in(CheckResult::getSubmitRecordId, list);
checkResultMapper.delete(resultWrapper);
}
}
}
...@@ -5,6 +5,7 @@ import com.yeejoin.amos.boot.module.tdc.api.entity.SubmitRecord; ...@@ -5,6 +5,7 @@ import com.yeejoin.amos.boot.module.tdc.api.entity.SubmitRecord;
import com.yeejoin.amos.boot.module.tdc.api.mapper.SubmitRecordMapper; import com.yeejoin.amos.boot.module.tdc.api.mapper.SubmitRecordMapper;
import com.yeejoin.amos.boot.module.tdc.api.service.SubmitRecordService; import com.yeejoin.amos.boot.module.tdc.api.service.SubmitRecordService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
/** /**
...@@ -12,4 +13,17 @@ import org.springframework.stereotype.Service; ...@@ -12,4 +13,17 @@ import org.springframework.stereotype.Service;
*/ */
@Service @Service
public class SubmitRecordServiceImpl extends ServiceImpl<SubmitRecordMapper, SubmitRecord> implements SubmitRecordService { public class SubmitRecordServiceImpl extends ServiceImpl<SubmitRecordMapper, SubmitRecord> implements SubmitRecordService {
@Override
public int saveSubmitRecord(SubmitRecord submitRecord) {
return this.baseMapper.insert(submitRecord);
}
@Override
public SubmitRecord updateById(Long sequenceNbr, String batchNo) {
SubmitRecord submitRecord = this.getById(sequenceNbr);
submitRecord.setBatchNo(batchNo);
this.updateById(submitRecord);
return submitRecord;
}
} }
package com.yeejoin.amos.boot.module.tdc.biz.service.impl;
import com.yeejoin.amos.boot.module.tdc.api.entity.ModelItem;
import com.yeejoin.amos.boot.module.tdc.api.entity.SubmitRecord;
import com.yeejoin.amos.boot.module.tdc.api.service.SyncMethodService;
import com.yeejoin.amos.boot.module.tdc.biz.action.model.IdxProjectModel;
import com.yeejoin.amos.component.rule.RuleTrigger;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author DELL
*/
@Service
@Async("swjyAsyncExecutor")
@Slf4j
public class SyncMethodServiceImpl implements SyncMethodService {
@Autowired
RuleTrigger ruleTrigger;
@Override
public void checkItem(Map<String, List<ModelItem>> itemValue, SubmitRecord record) {
try {
itemValue.forEach((key, value) -> {
IdxProjectModel idxProjectModel = new IdxProjectModel();
idxProjectModel.setItemName(key);
Map<String, Object> mapValue = value.stream().collect(Collectors.toMap(ModelItem::getCheckItemLabel, ModelItem::getCheckItemValue));
mapValue.put("submitRecordId", record.getSequenceNbr());
mapValue.put("batch_no", record.getBatchNo());
mapValue.put("org_code", record.getAmosOrgCode());
idxProjectModel.setPropertyValues(mapValue);
// 调用规则校验模型
try {
// 没有配决策流,processIds传null即可
String packageId = "三维校验/" + key;
ruleTrigger.publish(idxProjectModel, packageId, null);
} catch (Exception e) {
e.printStackTrace();
}
});
} catch (Exception e) {
log.error("调用规则校验失败:");
}
}
}
...@@ -19,6 +19,7 @@ spring.datasource.hikari.pool-name=DatebookHikariCP ...@@ -19,6 +19,7 @@ spring.datasource.hikari.pool-name=DatebookHikariCP
spring.datasource.hikari.max-lifetime=120000 spring.datasource.hikari.max-lifetime=120000
spring.datasource.hikari.connection-timeout=30000 spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query=SELECT 1 spring.datasource.hikari.connection-test-query=SELECT 1
spring.main.allow-bean-definition-overriding=true
##liquibase ##liquibase
spring.liquibase.change-log=classpath:/db/changelog/changelog-master.xml spring.liquibase.change-log=classpath:/db/changelog/changelog-master.xml
spring.liquibase.enabled=true spring.liquibase.enabled=true
......
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