|  | @@ -25,7 +25,6 @@ import java.util.HashMap;
 | 
	
		
			
				|  |  |  import java.util.Map;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  | - * 动态表单操作
 | 
	
		
			
				|  |  |   * 日结执行界面插件
 | 
	
		
			
				|  |  |   * 2024-06-28 wangj
 | 
	
		
			
				|  |  |   * 主要功能:日结执行按钮逻辑
 | 
	
	
		
			
				|  | @@ -64,6 +63,9 @@ public class DailyexcuteFormPlugin extends AbstractBillPlugIn implements CellCli
 | 
	
		
			
				|  |  |                  return;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +            //先清空分录
 | 
	
		
			
				|  |  | +            this.getModel().deleteEntryData("nckd_entryentity");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              String message = dailyData(orgCol,dailydate);
 | 
	
		
			
				|  |  |              this.getView().showMessage(message);
 | 
	
		
			
				|  |  |          }else if (StringUtils.equals(source.getKey(), KEY_UNDAILY)) {
 | 
	
	
		
			
				|  | @@ -114,7 +116,8 @@ public class DailyexcuteFormPlugin extends AbstractBillPlugIn implements CellCli
 | 
	
		
			
				|  |  |      private String dailyData(DynamicObjectCollection orgCol, Date dailydate) {
 | 
	
		
			
				|  |  |          String returnMessage = "";
 | 
	
		
			
				|  |  |          for(DynamicObject orgObj : orgCol){
 | 
	
		
			
				|  |  | -            boolean isCan = true;
 | 
	
		
			
				|  |  | +//            boolean isCan = true;
 | 
	
		
			
				|  |  | +            String messageInfo = "";
 | 
	
		
			
				|  |  |              DynamicObject orgObjReal = orgObj.getDynamicObject("fbasedataid");
 | 
	
		
			
				|  |  |              QFilter qFilter_org = new QFilter("org", QCP.equals,orgObjReal.getPkValue());
 | 
	
		
			
				|  |  |              QFilter qFilter_bizdate = new QFilter("bizdate",QCP.equals,dailydate);
 | 
	
	
		
			
				|  | @@ -123,10 +126,10 @@ public class DailyexcuteFormPlugin extends AbstractBillPlugIn implements CellCli
 | 
	
		
			
				|  |  |              for(DynamicObject voucherObj : voucherCol){
 | 
	
		
			
				|  |  |                  boolean ispost = voucherObj.getBoolean("ispost");
 | 
	
		
			
				|  |  |                  if(ispost!=true){//是否过账等于否
 | 
	
		
			
				|  |  | -                    isCan = false;
 | 
	
		
			
				|  |  | +//                    isCan = false;
 | 
	
		
			
				|  |  |                      int rowid = this.getModel().createNewEntryRow("nckd_entryentity");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                    this.getModel().setValue("nckd_voucherorg",orgObj,rowid);//设置组织
 | 
	
		
			
				|  |  | +                    this.getModel().setValue("nckd_voucherorg",orgObjReal,rowid);//设置组织
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                      String voucherid = voucherObj.getString("id");
 | 
	
		
			
				|  |  |                      this.getModel().setValue("nckd_vouherid",voucherid,rowid);//设置凭证id
 | 
	
	
		
			
				|  | @@ -139,34 +142,45 @@ public class DailyexcuteFormPlugin extends AbstractBillPlugIn implements CellCli
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                      String billstatus = voucherObj.getString("billstatus");
 | 
	
		
			
				|  |  |                      this.getModel().setValue("nckd_voucherstatus",billstatus,rowid);//设置凭证状态
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    messageInfo = orgObjReal.getString("name") + "日结失败,所选日期存在未过账凭证;";
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            if("".equals(messageInfo)){
 | 
	
		
			
				|  |  | +                QFilter qFilter_nckd_org = new QFilter("nckd_org", QCP.equals,orgObjReal.getPkValue());
 | 
	
		
			
				|  |  | +                QFilter qFilter_nckd_dailydate = new QFilter("nckd_dailydate",QCP.equals,dailydate);
 | 
	
		
			
				|  |  | +                DynamicObject[] dailybillCol = BusinessDataServiceHelper.load("nckd_gl_dailybill","id",
 | 
	
		
			
				|  |  | +                        new QFilter[]{qFilter_nckd_org,qFilter_nckd_dailydate});
 | 
	
		
			
				|  |  | +                if(dailybillCol!=null && dailybillCol.length>0){
 | 
	
		
			
				|  |  | +                    messageInfo = orgObjReal.getString("name") + "日结失败,所选日期已日结;";
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //写入日结记录
 | 
	
		
			
				|  |  | -            String messageInfo = writeDailybill(isCan,orgObjReal,dailydate);
 | 
	
		
			
				|  |  | +            if("".equals(messageInfo)){
 | 
	
		
			
				|  |  | +                //写入日结记录
 | 
	
		
			
				|  |  | +                messageInfo = writeDailybill(orgObjReal,dailydate);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              returnMessage = returnMessage + messageInfo + "\r\n";
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          return returnMessage;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    private String writeDailybill(boolean isCan, DynamicObject orgObjReal, Date dailydate) {
 | 
	
		
			
				|  |  | +    private String writeDailybill(DynamicObject orgObjReal, Date dailydate) {
 | 
	
		
			
				|  |  |          String messageInfo = "";
 | 
	
		
			
				|  |  |          try {
 | 
	
		
			
				|  |  | -            if (isCan == true) {
 | 
	
		
			
				|  |  | -                DynamicObject dailybillObj = BusinessDataServiceHelper.newDynamicObject("nckd_gl_dailybill");
 | 
	
		
			
				|  |  | -                dailybillObj.set("nckd_org", orgObjReal);
 | 
	
		
			
				|  |  | -                dailybillObj.set("nckd_dailydate", dailydate);
 | 
	
		
			
				|  |  | -                dailybillObj.set("status", "A");
 | 
	
		
			
				|  |  | -                dailybillObj.set("enable", "1");
 | 
	
		
			
				|  |  | -                RequestContext rc = RequestContext.get();
 | 
	
		
			
				|  |  | -                dailybillObj.set("creator", rc.getUid());
 | 
	
		
			
				|  |  | -                DynamicObject[] datalist = new DynamicObject[]{dailybillObj};
 | 
	
		
			
				|  |  | -                SaveServiceHelper.save(datalist);
 | 
	
		
			
				|  |  | -                messageInfo = orgObjReal.getString("name") + "日结成功;";
 | 
	
		
			
				|  |  | -            } else {
 | 
	
		
			
				|  |  | -                messageInfo = orgObjReal.getString("name") + "日结失败,所选日期存在未过账凭证;";
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | +            DynamicObject dailybillObj = BusinessDataServiceHelper.newDynamicObject("nckd_gl_dailybill");
 | 
	
		
			
				|  |  | +            dailybillObj.set("nckd_org", orgObjReal);
 | 
	
		
			
				|  |  | +            dailybillObj.set("nckd_dailydate", dailydate);
 | 
	
		
			
				|  |  | +            dailybillObj.set("status", "A");
 | 
	
		
			
				|  |  | +            dailybillObj.set("enable", "1");
 | 
	
		
			
				|  |  | +            RequestContext rc = RequestContext.get();
 | 
	
		
			
				|  |  | +            dailybillObj.set("creator", rc.getUid());
 | 
	
		
			
				|  |  | +            DynamicObject[] datalist = new DynamicObject[]{dailybillObj};
 | 
	
		
			
				|  |  | +            SaveServiceHelper.save(datalist);
 | 
	
		
			
				|  |  | +            messageInfo = orgObjReal.getString("name") + "日结成功;";
 | 
	
		
			
				|  |  |          }catch(Exception e){
 | 
	
		
			
				|  |  |              messageInfo = orgObjReal.getString("name") + "日结失败,"+e.getMessage()+";";
 | 
	
		
			
				|  |  |          }
 |