lc/lc123/cloud/app/plugin/operate/sys/ValiddaysSavePlugin.java

179 lines
9.3 KiB
Java
Raw Normal View History

package tqq9.lc123.cloud.app.plugin.operate.sys;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
import kd.bos.dataentity.utils.StringUtils;
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
import kd.bos.entity.plugin.PreparePropertysEventArgs;
import kd.bos.entity.plugin.args.AfterOperationArgs;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
import kd.bos.servicehelper.operation.SaveServiceHelper;
import kd.sdk.plugin.Plugin;
import tqq9.lc123.cloud.app.plugin.operate.pm.RebateRulesReverPurOrderPlugin;
import tqq9.lc123.cloud.app.plugin.utils.DateDifferenceCalculator;
import java.util.Date;
/**
* 单据操作插件
*/
public class ValiddaysSavePlugin extends AbstractOperationServicePlugIn implements Plugin {
private final static Log logger = LogFactory.getLog(ValiddaysSavePlugin.class);
@Override
public void onPreparePropertys(PreparePropertysEventArgs e) {
super.onPreparePropertys(e);
e.getFieldKeys().add("tqq9_datefield1");
e.getFieldKeys().add("tqq9_validdays_ylqxsc");
e.getFieldKeys().add("tqq9_datefield21");
e.getFieldKeys().add("tqq9_validdays_ylqxjy");
e.getFieldKeys().add("tqq9_datefield4");
e.getFieldKeys().add("tqq9_validdays_ylqxjy2");
e.getFieldKeys().add("tqq9_datefield22");
e.getFieldKeys().add("tqq9_validdays_yljg");
e.getFieldKeys().add("tqq9_licenseenddate");
e.getFieldKeys().add("tqq9_validdays_hzp");
e.getFieldKeys().add("tqq9_zlbzxyyxqz");
e.getFieldKeys().add("tqq9_validdays_zlbz");
e.getFieldKeys().add("tqq9_datefield2");
e.getFieldKeys().add("tqq9_validdays_gmp");
e.getFieldKeys().add("tqq9_datefield7");
e.getFieldKeys().add("tqq9_validdays_frsq");
e.getFieldKeys().add("tqq9_datefield9");
e.getFieldKeys().add("tqq9_validdays_yyzz");
e.getFieldKeys().add("tqq9_gspyxqz");
e.getFieldKeys().add("tqq9_validdays_gsp");
e.getFieldKeys().add("tqq9_enddate");
e.getFieldKeys().add("tqq9_validdays");
2025-08-05 10:08:00 +00:00
e.getFieldKeys().add("tqq9_minvaliddays");
}
@Override
public void afterExecuteOperationTransaction(AfterOperationArgs e) {
super.afterExecuteOperationTransaction(e);
DynamicObject[] dataEntities = e.getDataEntities();
for (DynamicObject dataEntity : dataEntities) {
String dynamicObjectType = dataEntity.getDynamicObjectType().getName();
Date currentDate = new Date();//当前日期
2025-08-05 10:08:00 +00:00
Long remainingDays = null;
if (StringUtils.equals(dynamicObjectType, "bd_supplier")) {
//医疗器械生生产许可证
Date tqq9_datefield1 = dataEntity.getDate("tqq9_datefield1");//失效日期
if (tqq9_datefield1 != null) {
remainingDays = DateDifferenceCalculator.calculateRemainingDays(tqq9_datefield1, currentDate);
dataEntity.set("tqq9_validdays_ylqxsc", remainingDays);
2025-08-05 10:08:00 +00:00
dataEntity.set("tqq9_minvaliddays", remainingDays);
}
//医疗器械经营许可证
Date tqq9_datefield21 = dataEntity.getDate("tqq9_datefield21");//失效日期
if (tqq9_datefield21 != null) {
remainingDays = DateDifferenceCalculator.calculateRemainingDays(tqq9_datefield21, currentDate);
dataEntity.set("tqq9_validdays_ylqxjy", remainingDays);
2025-08-05 10:08:00 +00:00
Long tqq9_minvaliddays = dataEntity.getLong("tqq9_minvaliddays");
if (Long.compare(remainingDays, tqq9_minvaliddays) < 0) {
dataEntity.set("tqq9_minvaliddays", remainingDays);
}
}
//第二类医疗器械经营备案凭证
Date tqq9_datefield4 = dataEntity.getDate("tqq9_datefield4");//失效日期
if (tqq9_datefield4 != null) {
remainingDays = DateDifferenceCalculator.calculateRemainingDays(tqq9_datefield4, currentDate);
dataEntity.set("tqq9_validdays_ylqxjy2", remainingDays);
2025-08-05 10:08:00 +00:00
Long tqq9_minvaliddays = dataEntity.getLong("tqq9_minvaliddays");
if (Long.compare(remainingDays, tqq9_minvaliddays) < 0) {
dataEntity.set("tqq9_minvaliddays", remainingDays);
}
}
//医疗机构执行许可证
Date tqq9_datefield22 = dataEntity.getDate("tqq9_datefield22");//失效日期
if (tqq9_datefield22 != null) {
remainingDays = DateDifferenceCalculator.calculateRemainingDays(tqq9_datefield22, currentDate);
dataEntity.set("tqq9_validdays_yljg", remainingDays);
2025-08-05 10:08:00 +00:00
Long tqq9_minvaliddays = dataEntity.getLong("tqq9_minvaliddays");
if (Long.compare(remainingDays, tqq9_minvaliddays) < 0) {
dataEntity.set("tqq9_minvaliddays", remainingDays);
}
}
//化妆品许可证
Date tqq9_licenseenddate = dataEntity.getDate("tqq9_licenseenddate");//失效日期
if (tqq9_licenseenddate != null) {
remainingDays = DateDifferenceCalculator.calculateRemainingDays(tqq9_licenseenddate, currentDate);
dataEntity.set("tqq9_validdays_hzp", remainingDays);
2025-08-05 10:08:00 +00:00
Long tqq9_minvaliddays = dataEntity.getLong("tqq9_minvaliddays");
if (Long.compare(remainingDays, tqq9_minvaliddays) < 0) {
dataEntity.set("tqq9_minvaliddays", remainingDays);
}
}
//质量保证书
Date tqq9_zlbzxyyxqz = dataEntity.getDate("tqq9_zlbzxyyxqz");//失效日期
if (tqq9_zlbzxyyxqz != null) {
remainingDays = DateDifferenceCalculator.calculateRemainingDays(tqq9_zlbzxyyxqz, currentDate);
dataEntity.set("tqq9_validdays_zlbz", remainingDays);
2025-08-05 10:08:00 +00:00
Long tqq9_minvaliddays = dataEntity.getLong("tqq9_minvaliddays");
if (Long.compare(remainingDays, tqq9_minvaliddays) < 0) {
dataEntity.set("tqq9_minvaliddays", remainingDays);
}
}
//GMP证书
Date tqq9_datefield2 = dataEntity.getDate("tqq9_datefield2");//失效日期
if (tqq9_datefield2 != null) {
remainingDays = DateDifferenceCalculator.calculateRemainingDays(tqq9_datefield2, currentDate);
dataEntity.set("tqq9_validdays_gmp", remainingDays);
2025-08-05 10:08:00 +00:00
Long tqq9_minvaliddays = dataEntity.getLong("tqq9_minvaliddays");
if (Long.compare(remainingDays, tqq9_minvaliddays) < 0) {
dataEntity.set("tqq9_minvaliddays", remainingDays);
}
}
//法人委托授权书
Date tqq9_datefield7 = dataEntity.getDate("tqq9_datefield7");//失效日期
if (tqq9_datefield7 != null) {
remainingDays = DateDifferenceCalculator.calculateRemainingDays(tqq9_datefield7, currentDate);
dataEntity.set("tqq9_validdays_frsq", remainingDays);
2025-08-05 10:08:00 +00:00
Long tqq9_minvaliddays = dataEntity.getLong("tqq9_minvaliddays");
if (Long.compare(remainingDays, tqq9_minvaliddays) < 0) {
dataEntity.set("tqq9_minvaliddays", remainingDays);
}
}
//营业执照
Date tqq9_datefield9 = dataEntity.getDate("tqq9_datefield9");//失效日期
if (tqq9_datefield9 != null) {
remainingDays = DateDifferenceCalculator.calculateRemainingDays(tqq9_datefield9, currentDate);
dataEntity.set("tqq9_validdays_yyzz", remainingDays);
2025-08-05 10:08:00 +00:00
Long tqq9_minvaliddays = dataEntity.getLong("tqq9_minvaliddays");
if (Long.compare(remainingDays, tqq9_minvaliddays) < 0) {
dataEntity.set("tqq9_minvaliddays", remainingDays);
}
}
//GSP证书
Date tqq9_gspyxqz = dataEntity.getDate("tqq9_gspyxqz");//失效日期
if (tqq9_gspyxqz != null) {
remainingDays = DateDifferenceCalculator.calculateRemainingDays(tqq9_gspyxqz, currentDate);
dataEntity.set("tqq9_validdays_gsp", remainingDays);
2025-08-05 10:08:00 +00:00
Long tqq9_minvaliddays = dataEntity.getLong("tqq9_minvaliddays");
if (Long.compare(remainingDays, tqq9_minvaliddays) < 0) {
dataEntity.set("tqq9_minvaliddays", remainingDays);
}
}
} else if (StringUtils.equals(dynamicObjectType, "tqq9_registration")) {
//商品注册证
Date tqq9_enddate = dataEntity.getDate("tqq9_enddate");//失效日期
if (tqq9_enddate != null) {
remainingDays = DateDifferenceCalculator.calculateRemainingDays(tqq9_enddate, currentDate);
dataEntity.set("tqq9_validdays", remainingDays);
}
}
}
SaveServiceHelper.save(dataEntities);
}
}