|
|
@@ -23,7 +23,6 @@ import java.time.temporal.TemporalAdjusters;
|
|
|
import java.util.*;
|
|
|
|
|
|
import static com.awspaas.user.apps.donenow_ctt.service.CityAbbreviationUtil.getCityAbbreviation;
|
|
|
-import static org.apache.fop.fonts.type1.AdobeStandardEncoding.period;
|
|
|
|
|
|
|
|
|
/**
|
|
|
@@ -130,25 +129,46 @@ public class contractService {
|
|
|
|
|
|
String contractNo = contractBO.getString("NO");
|
|
|
if (StringUtils.isBlank(contractNo) || contractNo.indexOf("XHT") != 0) {
|
|
|
- contractNo = SDK.getRuleAPI().executeAtScript("@sequenceYear(@companyId_contract,5)");
|
|
|
- String DISTRICT_ID = DBSql.getString("select DISTRICT_ID from BO_EU_DNCRM_ACCOUNT where ID=?", new Object[]{contractBO.getString("ACCOUNT_ID")});
|
|
|
- String cssx = "SH";//城市缩写
|
|
|
- if (StringUtils.isNotBlank(DISTRICT_ID)) {
|
|
|
- RowMap city = DBSql.getMap("SELECT EXTTEXT1,EXTTEXT2 FROM BO_ACT_DICT_KV_ITEM WHERE DICTKEY = 'GB.ADDR' AND ITEMNO= ?", new Object[]{DISTRICT_ID});
|
|
|
- if (city != null) {
|
|
|
- cssx = city.getString("EXTTEXT1");
|
|
|
- if (!cssx.contains("市")) {
|
|
|
- cssx = city.getString("EXTTEXT2");
|
|
|
+
|
|
|
+ //框架协议子合同编号:框架协议合同编码-S001
|
|
|
+ String FRAMEWORK = contractBO.getString("FRAMEWORK");
|
|
|
+ if (StringUtils.isNotBlank(FRAMEWORK)) {
|
|
|
+
|
|
|
+ String orgContractNo = DBSql.getString("select NO from BO_EU_DNCTT_CONTRACT where ID=? ORDER BY NO DESC", new Object[]{FRAMEWORK});
|
|
|
+ List<String> noList = DBSql.getList("select NO from BO_EU_DNCTT_CONTRACT where FRAMEWORK=? order by NO desc", String.class, new Object[]{FRAMEWORK});
|
|
|
+ if (noList.size() > 0) {
|
|
|
+ String lastNo = noList.get(0);
|
|
|
+ lastNo = lastNo.replace(orgContractNo + "-S", "");
|
|
|
+ // lastNo 去除前面的0
|
|
|
+ lastNo = lastNo.replaceAll("^0+", "");
|
|
|
+ contractNo = orgContractNo + "-S" + String.format("%03d", Integer.parseInt(lastNo) + 1);
|
|
|
+ contractBO.set("NO", contractNo);
|
|
|
+ } else {
|
|
|
+ contractNo = orgContractNo + "-SOO1";
|
|
|
+ contractBO.set("NO", contractNo);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ contractNo = SDK.getRuleAPI().executeAtScript("@sequenceYear(@companyId_contract,5)");
|
|
|
+ String DISTRICT_ID = DBSql.getString("select DISTRICT_ID from BO_EU_DNCRM_ACCOUNT where ID=?", new Object[]{contractBO.getString("ACCOUNT_ID")});
|
|
|
+ String cssx = "SH";//城市缩写
|
|
|
+ if (StringUtils.isNotBlank(DISTRICT_ID)) {
|
|
|
+ RowMap city = DBSql.getMap("SELECT EXTTEXT1,EXTTEXT2 FROM BO_ACT_DICT_KV_ITEM WHERE DICTKEY = 'GB.ADDR' AND ITEMNO= ?", new Object[]{DISTRICT_ID});
|
|
|
+ if (city != null) {
|
|
|
+ cssx = city.getString("EXTTEXT1");
|
|
|
+ if (!cssx.contains("市")) {
|
|
|
+ cssx = city.getString("EXTTEXT2");
|
|
|
+ }
|
|
|
+ //如果 cssx="上海市" 则输出 SH
|
|
|
+ cssx = getCityAbbreviation(cssx);
|
|
|
}
|
|
|
- //如果 cssx="上海市" 则输出 SH
|
|
|
- cssx = getCityAbbreviation(cssx);
|
|
|
}
|
|
|
+ contractNo = "XHT-" + cssx + "-" + LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")) + "-" + contractNo;
|
|
|
+ contractBO.set("NO", contractNo);
|
|
|
}
|
|
|
- contractNo = "XHT-" + cssx + "-" + LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")) + "-" + contractNo;
|
|
|
- contractBO.set("NO", contractNo);
|
|
|
}
|
|
|
|
|
|
- if (idApply) SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_APPLY", contractBO);//更新合同
|
|
|
+ if (idApply)
|
|
|
+ SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_APPLY", contractBO);//更新合同
|
|
|
else {
|
|
|
dn.recordFormChanges.record(uc, contractBO, "合同编辑");
|
|
|
SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT", contractBO);
|