|
|
@@ -15,7 +15,9 @@ import common.data.*;
|
|
|
import restcontroller.R;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
|
|
|
public class dbstockbill extends Controller {
|
|
|
@@ -230,12 +232,13 @@ public class dbstockbill extends Controller {
|
|
|
} else {
|
|
|
return getErrReturnObject().setErrMsg("货品" + row.getString("itemname") + "序列号不存在").toString();
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
/******************* 检查序列号是否有效 ********************/
|
|
|
- Rows skurows = dbConnect.runSqlQuery("select * from sa_itemsku where siteid='" + siteid + "'");
|
|
|
- RowsMap skurowsmap = skurows.toRowsMap("sku");
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_itemsku");
|
|
|
+ querySQL.setWhere("siteid",siteid);
|
|
|
+ querySQL.setWhere("sku",dbstockbilldetailskus.toArrayList("sku"));
|
|
|
+ RowsMap skurowsmap = querySQL.query().toRowsMap("sku");
|
|
|
for (Row row : dbstockbilldetailskus) {
|
|
|
if (!skurowsmap.containsKey(row.getString("sku"))) {
|
|
|
return getErrReturnObject().setErrMsg("序列号" + row.getString("sku") + "不存在于序列号表中").toString();
|
|
|
@@ -278,6 +281,7 @@ public class dbstockbill extends Controller {
|
|
|
insertSQL.setValue("checkby", username);
|
|
|
insertSQL.setDateValue("checkdate");
|
|
|
insertSQL.setValue("billdate", dbstockbillrows.get(0).getString("billdate"));
|
|
|
+ insertSQL.setValue("period", getPeriod(dbstockbillrows.get(0).getDate("billdate")));
|
|
|
sqllist.add(insertSQL.getSQL());
|
|
|
|
|
|
int i = 1;
|
|
|
@@ -333,6 +337,7 @@ public class dbstockbill extends Controller {
|
|
|
insertSQL.setValue("checkby", username);
|
|
|
insertSQL.setDateValue("checkdate");
|
|
|
insertSQL.setValue("billdate", dbstockbillrows.get(0).getString("billdate"));
|
|
|
+ insertSQL.setValue("period", getPeriod(dbstockbillrows.get(0).getDate("billdate")));
|
|
|
sqllist.add(insertSQL.getSQL());
|
|
|
int j = 1;
|
|
|
for (Row row : dbstockbilldetailrows) {
|
|
|
@@ -384,6 +389,16 @@ public class dbstockbill extends Controller {
|
|
|
return getSucReturnObject().toString();
|
|
|
}
|
|
|
|
|
|
+ public String getPeriod(Date date) throws YosException {
|
|
|
+ String preioddate = new SimpleDateFormat("yyyy-MM-dd").format(date);
|
|
|
+ Rows rows = dbConnect.runSqlQuery("select CONCAT_WS('-', year, LPAD(month, 2, '0')) period from st_period where begdate<='" + preioddate + "' and enddate>='" + preioddate + "'");
|
|
|
+ if (rows.size() != 1) {
|
|
|
+ throw new YosException("单据日期所属会计期间未生成");
|
|
|
+ } else {
|
|
|
+ return rows.get(0).getString("period");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@API(title = "反审核", apiversion = R.ID2025061914490803.v1.class)
|
|
|
@CACHEING_CLEAN(apiClass = {dbstockbill.class, dbstockbilldetail.class})
|
|
|
public String uncheck() throws YosException {
|
|
|
@@ -394,8 +409,10 @@ public class dbstockbill extends Controller {
|
|
|
RowsMap dbstockbilldetailrowsMap = dbstockbilldetailrows.toRowsMap("st_dbstockbilldetailid");
|
|
|
|
|
|
/******************* 检查序列号是否有效 ********************/
|
|
|
- Rows skurows = dbConnect.runSqlQuery("select * from sa_itemsku where siteid='" + siteid + "'");
|
|
|
- RowsMap skurowsmap = skurows.toRowsMap("sku");
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_itemsku");
|
|
|
+ querySQL.setWhere("siteid",siteid);
|
|
|
+ querySQL.setWhere("sku",dbstockbilldetailskus.toArrayList("sku"));
|
|
|
+ RowsMap skurowsmap = querySQL.query().toRowsMap("sku");
|
|
|
for (Row row : dbstockbilldetailskus) {
|
|
|
if (!skurowsmap.containsKey(row.getString("sku"))) {
|
|
|
return getErrReturnObject().setErrMsg("序列号" + row.getString("sku") + "不存在于序列号表中").toString();
|