177 lines
		
	
	
		
			9.2 KiB
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			177 lines
		
	
	
		
			9.2 KiB
		
	
	
	
		
			Java
		
	
	
	
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);
 | 
						|
    }
 | 
						|
} |