销售出库保存校验在销售发票业务日期6.26号之前的不参与控制
This commit is contained in:
		
							parent
							
								
									772c31c693
								
							
						
					
					
						commit
						f7b2ab6dfa
					
				|  | @ -18,6 +18,7 @@ import nc.vo.ic.m4c.entity.SaleOutVO; | |||
| import nc.vo.pub.BusinessException; | ||||
| import nc.vo.pub.lang.UFDouble; | ||||
| import nc.vo.pubapp.AppContext; | ||||
| import nc.vo.pubapp.pattern.pub.SqlBuilder; | ||||
| import nc.vo.tmpub.util.ModuleEnum; | ||||
| import nc.vo.tmpub.util.ModuleUtil; | ||||
| import nccloud.baseapp.core.log.NCCForUAPLogger; | ||||
|  | @ -66,6 +67,14 @@ public class saveBeforeCheck implements IBusinessListener { | |||
|                     if (storedDate.isBefore(targetDate)) { | ||||
|                         return; | ||||
|                     } | ||||
|                     // 在销售发票业务日期6.26号之前的不参与控制 | ||||
|                     String invDateStr = (String) valMap.get("dbilldate"); | ||||
|                     String invTargetDateStr = "2025-06-26 00:00:00"; | ||||
|                     LocalDateTime invDate = LocalDateTime.parse(invDateStr, formatter); | ||||
|                     LocalDateTime invTargetDate = LocalDateTime.parse(invTargetDateStr, formatter); | ||||
|                     if (invDate.isBefore(invTargetDate)) { | ||||
|                         return; | ||||
|                     } | ||||
|                     // ÏúÊÛ·¢Æ±±íÍ·pk_billtypecode=30-Cxx-12 | ||||
|                     Set<String> billTypeCodes = Set.of( | ||||
|                             "30-Cxx-12", "30-Cxx-02", "30-Cxx-08", "30-Cxx-13", "30-Cxx-16" | ||||
|  | @ -125,19 +134,30 @@ public class saveBeforeCheck implements IBusinessListener { | |||
| 
 | ||||
|     private Map<String, Object> getSaleorderPK(String csourcebillbidStr) throws BusinessException { | ||||
|         IUAPQueryBS queryBS = NCLocator.getInstance().lookup(IUAPQueryBS.class); | ||||
|         String sql = " SELECT s.creationtime,bt.pk_billtypecode,sb.csaleorderbid,sb.vbdef2 AS sQty,\n" + "s.vdef11,\n" | ||||
|                 + "si.vdef20,\n" + "sbv.nassistnum,\n" + "sbv.ntotaloutnums\n" + "FROM so_saleinvoice_b sib\n" | ||||
|                 + "INNER JOIN so_saleinvoice si ON si.csaleinvoiceid = sib.csaleinvoiceid\n" | ||||
|                 + "INNER JOIN so_saleorder_b sb ON sb.csaleorderbid = sib.csrcbid\n" | ||||
|                 + "left join (SELECT SUM(b.nshouldassistnum) AS ntotaloutnums,sum(nassistnum) as nassistnum,c.csaleorderbid\n" | ||||
|                 + "FROM so_saleorder_b c\n" + "INNER JOIN so_saleinvoice_b a ON c.csaleorderbid = a.csrcbid\n" | ||||
|                 + "INNER JOIN ic_saleout_b b ON b.csourcebillbid = a.csaleinvoicebid\n" + "where a.dr=0 and b.dr=0 \n" | ||||
|                 + "GROUP BY c.csaleorderbid) sbv on sbv.csaleorderbid=sb.csaleorderbid\n" | ||||
|                 + "INNER JOIN so_saleorder s ON s.csaleorderid = sb.csaleorderid\n" | ||||
|                 + "INNER JOIN bd_billtype bt on bt.pk_billtypeid=s.ctrantypeid\n" | ||||
|                 + "INNER JOIN so_saleorder_exe se ON sb.csaleorderbid = se.csaleorderbid\n" | ||||
|                 + "WHERE sib.csaleinvoicebid = '" + csourcebillbidStr + "' "; | ||||
| 
 | ||||
|         SqlBuilder sqlBuilder = new SqlBuilder(); | ||||
|         sqlBuilder.append("SELECT s.creationtime, bt.pk_billtypecode, sb.csaleorderbid, si.dbilldate, "); | ||||
|         sqlBuilder.append("sb.vbdef2 AS sQty, s.vdef11, si.vdef20, sbv.nassistnum, sbv.ntotaloutnums "); | ||||
|         sqlBuilder.append("FROM so_saleinvoice_b sib "); | ||||
|         sqlBuilder.append("INNER JOIN so_saleinvoice si ON si.csaleinvoiceid = sib.csaleinvoiceid "); | ||||
|         sqlBuilder.append("INNER JOIN so_saleorder_b sb ON sb.csaleorderbid = sib.csrcbid "); | ||||
|         sqlBuilder.append("LEFT JOIN ( "); | ||||
|         sqlBuilder.append("    SELECT SUM(b.nshouldassistnum) AS ntotaloutnums, SUM(nassistnum) AS nassistnum, c.csaleorderbid "); | ||||
|         sqlBuilder.append("    FROM so_saleorder_b c "); | ||||
|         sqlBuilder.append("    INNER JOIN so_saleinvoice_b a ON c.csaleorderbid = a.csrcbid "); | ||||
|         sqlBuilder.append("    INNER JOIN ic_saleout_b b ON b.csourcebillbid = a.csaleinvoicebid "); | ||||
|         sqlBuilder.append("    WHERE a.dr = 0 AND b.dr = 0 "); | ||||
|         sqlBuilder.append("    GROUP BY c.csaleorderbid "); | ||||
|         sqlBuilder.append(") sbv ON sbv.csaleorderbid = sb.csaleorderbid "); | ||||
|         sqlBuilder.append("INNER JOIN so_saleorder s ON s.csaleorderid = sb.csaleorderid "); | ||||
|         sqlBuilder.append("INNER JOIN bd_billtype bt ON bt.pk_billtypeid = s.ctrantypeid "); | ||||
|         sqlBuilder.append("INNER JOIN so_saleorder_exe se ON sb.csaleorderbid = se.csaleorderbid "); | ||||
|         sqlBuilder.append("WHERE "); | ||||
|         sqlBuilder.append("sib.csaleinvoicebid", csourcebillbidStr); | ||||
| 
 | ||||
|         String sql = sqlBuilder.toString(); | ||||
|         Map<String, Object> valList = (Map<String, Object>) queryBS.executeQuery(sql, new MapProcessor()); | ||||
| 
 | ||||
|         return valList; | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue