package tqq9.lc123.cloud.app.plugin.operate.sys; import kd.bos.dataentity.entity.DynamicObject; 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.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"); 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();//当前日期 int remainingDays = 0; 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); 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); 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); 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); 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); 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); 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); 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); 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); 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); 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); } }