|
|
@@ -111,18 +111,18 @@ public class tpartreimbursement extends Controller {
|
|
|
long sa_tpartreimbursementid = content.getLong("sa_tpartreimbursementid");
|
|
|
QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursement", "*");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.sys_enterpriseid = t2.sys_enterpriseid AND t1.siteid = t2.siteid","enterprisename","abbreviation");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t3", "t1.sys_enterpriseid = t3.sys_enterpriseid AND t1.siteid = t3.siteid","agentnum");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.sys_enterpriseid = t2.sys_enterpriseid AND t1.siteid = t2.siteid", "enterprisename", "abbreviation");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t3", "t1.sys_enterpriseid = t3.sys_enterpriseid AND t1.siteid = t3.siteid", "agentnum");
|
|
|
querySQL.setWhere("t1.siteid", siteid);
|
|
|
querySQL.setWhere("t1.sa_tpartreimbursementid", sa_tpartreimbursementid);
|
|
|
Rows rows = querySQL.query();
|
|
|
|
|
|
- QuerySQL querySQLdetail = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_tpartreimbursementid", "sa_tpartreimbursementdetailid","qty","isverified");
|
|
|
+ QuerySQL querySQLdetail = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_tpartreimbursementid", "sa_tpartreimbursementdetailid", "qty", "isverified");
|
|
|
querySQLdetail.setTableAlias("t1");
|
|
|
querySQLdetail.addJoinTable(JOINTYPE.left, "sa_orderitems", "t2", "t1.sa_orderitemsid = t2.sa_orderitemsid AND t1.siteid = t2.siteid", "price");
|
|
|
querySQLdetail.setWhere("t1.siteid", siteid);
|
|
|
querySQLdetail.setWhere("t1.sa_tpartreimbursementid", rows.toArrayList("sa_tpartreimbursementid"));
|
|
|
- querySQLdetail.addQueryFields("amount","ROUND(t2.price*t1.qty)");
|
|
|
+ querySQLdetail.addQueryFields("amount", "ROUND(t2.price*t1.qty)");
|
|
|
Rows rowsdetail = querySQLdetail.query();
|
|
|
RowsMap rowsMap = rowsdetail.toRowsMap("sa_tpartreimbursementid");
|
|
|
for (Row row : rows) {
|
|
|
@@ -164,15 +164,15 @@ public class tpartreimbursement extends Controller {
|
|
|
|
|
|
QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursement", "*");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.sys_enterpriseid = t2.sys_enterpriseid AND t1.siteid = t2.siteid","enterprisename","abbreviation");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t3", "t1.sys_enterpriseid = t3.sys_enterpriseid AND t1.siteid = t3.siteid","agentnum");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.sys_enterpriseid = t2.sys_enterpriseid AND t1.siteid = t2.siteid", "enterprisename", "abbreviation");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t3", "t1.sys_enterpriseid = t3.sys_enterpriseid AND t1.siteid = t3.siteid", "agentnum");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise_tradefield", "t4", "t4.sys_enterpriseid = t1.sys_enterpriseid AND t4.siteid = t1.siteid");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sa_salearea", "t5", "t5.sa_saleareaid = t4.sa_saleareaid AND t5.siteid = t4.siteid","areanum","areaname","areafullname");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_salearea", "t5", "t5.sa_saleareaid = t4.sa_saleareaid AND t5.siteid = t4.siteid", "areanum", "areaname", "areafullname");
|
|
|
querySQL.setWhere("t1.siteid", siteid);
|
|
|
querySQL.setWhere(where);
|
|
|
- if(sys_enterpriseid <= 0){
|
|
|
+ if (sys_enterpriseid <= 0) {
|
|
|
querySQL.setWhere("((t1.createflag=0 and t1.status!='新建') or t1.createflag=1)");
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
querySQL.setWhere("((t1.createflag=1 and t1.status!='新建') or t1.createflag=0)");
|
|
|
}
|
|
|
|
|
|
@@ -181,13 +181,12 @@ public class tpartreimbursement extends Controller {
|
|
|
Rows rows = querySQL.query();
|
|
|
|
|
|
|
|
|
-
|
|
|
- QuerySQL querySQLdetail = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_tpartreimbursementid", "sa_tpartreimbursementdetailid","qty","isverified");
|
|
|
+ QuerySQL querySQLdetail = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_tpartreimbursementid", "sa_tpartreimbursementdetailid", "qty", "isverified");
|
|
|
querySQLdetail.setTableAlias("t1");
|
|
|
querySQLdetail.addJoinTable(JOINTYPE.left, "sa_orderitems", "t2", "t1.sa_orderitemsid = t2.sa_orderitemsid AND t1.siteid = t2.siteid", "price");
|
|
|
querySQLdetail.setWhere("t1.siteid", siteid);
|
|
|
querySQLdetail.setWhere("t1.sa_tpartreimbursementid", rows.toArrayList("sa_tpartreimbursementid"));
|
|
|
- querySQLdetail.addQueryFields("amount","ROUND(t2.price*t1.qty)");
|
|
|
+ querySQLdetail.addQueryFields("amount", "ROUND(t2.price*t1.qty,2)");
|
|
|
Rows rowsdetail = querySQLdetail.query();
|
|
|
RowsMap rowsMap = rowsdetail.toRowsMap("sa_tpartreimbursementid");
|
|
|
for (Row row : rows) {
|
|
|
@@ -252,35 +251,35 @@ public class tpartreimbursement extends Controller {
|
|
|
|
|
|
QuerySQL tpartreimbursementdetailQuery = SQLFactory.createQuerySQL(dbConnect, "sa_tpartreimbursementdetail", "sa_orderitemsid");
|
|
|
tpartreimbursementdetailQuery.setTableAlias("t1");
|
|
|
- tpartreimbursementdetailQuery.addJoinTable(JOINTYPE.inner,"sa_tpartreimbursement","t2","t1.sa_tpartreimbursementid=t2.sa_tpartreimbursementid");
|
|
|
+ tpartreimbursementdetailQuery.addJoinTable(JOINTYPE.inner, "sa_tpartreimbursement", "t2", "t1.sa_tpartreimbursementid=t2.sa_tpartreimbursementid");
|
|
|
tpartreimbursementdetailQuery.addQueryFields("sumqty", "sum(t1.checkqty)");
|
|
|
tpartreimbursementdetailQuery.setWhere("t1.sa_orderitemsid", rowsdetail.toArrayList("sa_orderitemsid"));
|
|
|
- tpartreimbursementdetailQuery.setWhere("t1.sa_tpartreimbursementid !="+sa_tpartreimbursementid);
|
|
|
+ tpartreimbursementdetailQuery.setWhere("t1.sa_tpartreimbursementid !=" + sa_tpartreimbursementid);
|
|
|
tpartreimbursementdetailQuery.setWhere("t2.status in('审核','关闭')");
|
|
|
tpartreimbursementdetailQuery.addGroupBy("sa_orderitemsid");
|
|
|
|
|
|
|
|
|
QuerySQL orderitemsQuery = SQLFactory.createQuerySQL(dbConnect, "sa_orderitems", "sa_orderitemsid");
|
|
|
orderitemsQuery.setTableAlias("t1");
|
|
|
- orderitemsQuery.addJoinTable(JOINTYPE.left,tpartreimbursementdetailQuery,"t2","t1.sa_orderitemsid=t2.sa_orderitemsid");
|
|
|
+ orderitemsQuery.addJoinTable(JOINTYPE.left, tpartreimbursementdetailQuery, "t2", "t1.sa_orderitemsid=t2.sa_orderitemsid");
|
|
|
orderitemsQuery.setWhere("t1.sa_orderitemsid", rowsdetail.toArrayList("sa_orderitemsid"));
|
|
|
orderitemsQuery.addQueryFields("qty", "t1.tobeoffqty-ifnull(t2.sumqty,0)");
|
|
|
Rows orderitemsrows = orderitemsQuery.query();
|
|
|
RowsMap rowsMap = orderitemsrows.toRowsMap("sa_orderitemsid");
|
|
|
- if(!rows.get(0).getBoolean("createflag")){
|
|
|
- for (Row row :orderitemsrows) {
|
|
|
- if(row.getBigDecimal("qty").compareTo(BigDecimal.ZERO)<0){
|
|
|
+ if (!rows.get(0).getBoolean("createflag")) {
|
|
|
+ for (Row row : orderitemsrows) {
|
|
|
+ if (row.getBigDecimal("qty").compareTo(BigDecimal.ZERO) < 0) {
|
|
|
return getErrReturnObject().setErrMsg("该配件核销单数量不符合要求,请检查").toString();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
for (int i = 0; i < rowsdetail.size(); i++) {
|
|
|
- if(rowsMap.containsKey(rowsdetail.get(i).getString("sa_orderitemsid"))){
|
|
|
- if(rowsMap.get(rowsdetail.get(i).getString("sa_orderitemsid")).get(0).getBigDecimal("qty").compareTo(rowsdetail.get(i).getBigDecimal("checkqty"))<0){
|
|
|
+ if (rowsMap.containsKey(rowsdetail.get(i).getString("sa_orderitemsid"))) {
|
|
|
+ if (rowsMap.get(rowsdetail.get(i).getString("sa_orderitemsid")).get(0).getBigDecimal("qty").compareTo(rowsdetail.get(i).getBigDecimal("checkqty")) < 0) {
|
|
|
return getErrReturnObject().setErrMsg("该配件核销单数量不符合要求,请检查").toString();
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
return getErrReturnObject().setErrMsg("订单行不存在,请检查").toString();
|
|
|
}
|
|
|
}
|
|
|
@@ -325,35 +324,35 @@ public class tpartreimbursement extends Controller {
|
|
|
|
|
|
QuerySQL tpartreimbursementdetailQuery = SQLFactory.createQuerySQL(dbConnect, "sa_tpartreimbursementdetail", "sa_orderitemsid");
|
|
|
tpartreimbursementdetailQuery.setTableAlias("t1");
|
|
|
- tpartreimbursementdetailQuery.addJoinTable(JOINTYPE.inner,"sa_tpartreimbursement","t2","t1.sa_tpartreimbursementid=t2.sa_tpartreimbursementid");
|
|
|
+ tpartreimbursementdetailQuery.addJoinTable(JOINTYPE.inner, "sa_tpartreimbursement", "t2", "t1.sa_tpartreimbursementid=t2.sa_tpartreimbursementid");
|
|
|
tpartreimbursementdetailQuery.addQueryFields("sumqty", "sum(t1.checkqty)");
|
|
|
tpartreimbursementdetailQuery.setWhere("t1.sa_orderitemsid", rowsdetail.toArrayList("sa_orderitemsid"));
|
|
|
- tpartreimbursementdetailQuery.setWhere("t1.sa_tpartreimbursementid !="+sa_tpartreimbursementid);
|
|
|
+ tpartreimbursementdetailQuery.setWhere("t1.sa_tpartreimbursementid !=" + sa_tpartreimbursementid);
|
|
|
tpartreimbursementdetailQuery.setWhere("t2.status in('审核','关闭')");
|
|
|
tpartreimbursementdetailQuery.addGroupBy("sa_orderitemsid");
|
|
|
|
|
|
|
|
|
QuerySQL orderitemsQuery = SQLFactory.createQuerySQL(dbConnect, "sa_orderitems", "sa_orderitemsid");
|
|
|
orderitemsQuery.setTableAlias("t1");
|
|
|
- orderitemsQuery.addJoinTable(JOINTYPE.left,tpartreimbursementdetailQuery,"t2","t1.sa_orderitemsid=t2.sa_orderitemsid");
|
|
|
+ orderitemsQuery.addJoinTable(JOINTYPE.left, tpartreimbursementdetailQuery, "t2", "t1.sa_orderitemsid=t2.sa_orderitemsid");
|
|
|
orderitemsQuery.setWhere("t1.sa_orderitemsid", rowsdetail.toArrayList("sa_orderitemsid"));
|
|
|
orderitemsQuery.addQueryFields("qty", "t1.tobeoffqty-ifnull(t2.sumqty,0)");
|
|
|
Rows orderitemsrows = orderitemsQuery.query();
|
|
|
RowsMap rowsMap = orderitemsrows.toRowsMap("sa_orderitemsid");
|
|
|
- if(!rows.get(0).getBoolean("createflag")){
|
|
|
- for (Row row :orderitemsrows) {
|
|
|
- if(row.getBigDecimal("qty").compareTo(BigDecimal.ZERO)<0){
|
|
|
+ if (!rows.get(0).getBoolean("createflag")) {
|
|
|
+ for (Row row : orderitemsrows) {
|
|
|
+ if (row.getBigDecimal("qty").compareTo(BigDecimal.ZERO) < 0) {
|
|
|
return getErrReturnObject().setErrMsg("该配件核销单数量不符合要求,请检查").toString();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
for (int i = 0; i < rowsdetail.size(); i++) {
|
|
|
- if(rowsMap.containsKey(rowsdetail.get(i).getString("sa_orderitemsid"))){
|
|
|
- if(rowsMap.get(rowsdetail.get(i).getString("sa_orderitemsid")).get(0).getBigDecimal("qty").compareTo(rowsdetail.get(i).getBigDecimal("checkqty"))<0){
|
|
|
+ if (rowsMap.containsKey(rowsdetail.get(i).getString("sa_orderitemsid"))) {
|
|
|
+ if (rowsMap.get(rowsdetail.get(i).getString("sa_orderitemsid")).get(0).getBigDecimal("qty").compareTo(rowsdetail.get(i).getBigDecimal("checkqty")) < 0) {
|
|
|
return getErrReturnObject().setErrMsg("该配件核销单数量不符合要求,请检查").toString();
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
return getErrReturnObject().setErrMsg("订单行不存在,请检查").toString();
|
|
|
}
|
|
|
}
|
|
|
@@ -367,15 +366,15 @@ public class tpartreimbursement extends Controller {
|
|
|
updateSQL.setValue("status", "审核");
|
|
|
updateSQL.setValue("checkby", username);
|
|
|
updateSQL.setDateValue("checkdate");
|
|
|
- int count=0;
|
|
|
- for(Row row :rowsdetail){
|
|
|
- if(row.getBigDecimal("checkqty").compareTo(BigDecimal.ZERO)==0){
|
|
|
- sqlList.add("update sa_tpartreimbursementdetail set isverified=1 where sa_tpartreimbursementdetailid="+row.getLong("sa_tpartreimbursementdetailid"));
|
|
|
+ int count = 0;
|
|
|
+ for (Row row : rowsdetail) {
|
|
|
+ if (row.getBigDecimal("checkqty").compareTo(BigDecimal.ZERO) == 0) {
|
|
|
+ sqlList.add("update sa_tpartreimbursementdetail set isverified=1 where sa_tpartreimbursementdetailid=" + row.getLong("sa_tpartreimbursementdetailid"));
|
|
|
count++;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if(rowsdetail.size()==count){
|
|
|
+ if (rowsdetail.size() == count) {
|
|
|
updateSQL.setValue("status", "关闭");
|
|
|
}
|
|
|
|
|
|
@@ -403,7 +402,7 @@ public class tpartreimbursement extends Controller {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
- if(rowsdetail.isNotEmpty()){
|
|
|
+ if (rowsdetail.isNotEmpty()) {
|
|
|
return getErrReturnObject().setErrMsg("有配件行已核销,核销申请单不能反审核").toString();
|
|
|
}
|
|
|
|
|
|
@@ -415,7 +414,7 @@ public class tpartreimbursement extends Controller {
|
|
|
updateSQL.setSiteid(siteid);
|
|
|
updateSQL.setValue("status", "提交");
|
|
|
updateSQL.setValue("checkby", "");
|
|
|
- updateSQL.setValue("checkdate","null");
|
|
|
+ updateSQL.setValue("checkdate", "null");
|
|
|
|
|
|
sqlList.add(updateSQL.getSQL());
|
|
|
dbConnect.runSqlUpdate(sqlList);
|
|
|
@@ -442,10 +441,10 @@ public class tpartreimbursement extends Controller {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_tpartreimbursementdetailid", "remarks","qty","checkqty", "sa_orderitemsid", "sa_tpartreimbursementid");
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_tpartreimbursementdetailid", "remarks", "qty", "checkqty", "sa_orderitemsid", "sa_tpartreimbursementid");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
- querySQL.addJoinTable(JOINTYPE.inner, "sa_orderitems", "t2", "t1.sa_orderitemsid = t2.sa_orderitemsid AND t1.siteid = t2.siteid","price", "rowno", "cardno", "offstatus", "billingstatus","sa_orderid");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t3", "t2.itemid = t3.itemid AND t2.siteid = t3.siteid", "itemid","itemno", "itemname", "spec", "model");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.inner, "sa_orderitems", "t2", "t1.sa_orderitemsid = t2.sa_orderitemsid AND t1.siteid = t2.siteid", "price", "rowno", "cardno", "offstatus", "billingstatus", "sa_orderid");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t3", "t2.itemid = t3.itemid AND t2.siteid = t3.siteid", "itemid", "itemno", "itemname", "spec", "model");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "sa_order", "t4", "t2.sa_orderid = t4.sa_orderid AND t2.siteid = t4.siteid", "sonum");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "sa_warrantycard", "t5", "t2.cardno = t5.cardno AND t2.siteid = t5.siteid", "name", "phonenumber");
|
|
|
querySQL.addJoinTable(JOINTYPE.inner, "sa_tpartreimbursement", "t6", "t1.sa_tpartreimbursementid = t6.sa_tpartreimbursementid AND t1.siteid = t6.siteid", "billno", "submitdate", "checkdate", "remarks");
|
|
|
@@ -453,7 +452,7 @@ public class tpartreimbursement extends Controller {
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t8", "t8.sys_enterpriseid = t6.sys_enterpriseid AND t8.siteid = t6.siteid", "agentnum");
|
|
|
|
|
|
querySQL.setSiteid(siteid);
|
|
|
- querySQL.addQueryFields("amount","ROUND(t1.checkqty*t2.price, 2)");
|
|
|
+ querySQL.addQueryFields("amount", "ROUND(t1.checkqty*t2.price, 2)");
|
|
|
querySQL.setWhere("t6.status='审核' and t1.isverified=0 and t1.checkqty>0 and t6.sys_enterpriseid=" + sys_enterpriseid);
|
|
|
querySQL.setWhere(where.toString());
|
|
|
querySQL.setPage(pageSize, pageNumber);
|
|
|
@@ -471,16 +470,16 @@ public class tpartreimbursement extends Controller {
|
|
|
"inner join sa_order t3 on t2.sa_orderid=t3.sa_orderid and t2.siteid=t3.siteid" +
|
|
|
" where t1.siteid='" + siteid + "' and t1.status='审核' and t1.rb=1 and t1.type='销售出库' and t3.type='配件订单' and t3.sys_enterpriseid='" + sys_enterpriseid + "' and DATE_FORMAT( t1.billdate, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' ) group by t1.st_stockbillid");
|
|
|
|
|
|
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "st_stockbill","payamount","paydiscountamount");
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "st_stockbill", "payamount", "paydiscountamount");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
querySQL.setSiteid(siteid);
|
|
|
querySQL.setWhere("t1.sys_enterpriseid", sys_enterpriseid);
|
|
|
querySQL.setWhere("t1.departmentid=(select departmentid from sys_department where depname='售后部') and t1.rb=0 and t1.status='审核' and t1.type='销售出库' and DATE_FORMAT(t1.billdate, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )");
|
|
|
Rows rows = querySQL.query();
|
|
|
|
|
|
- HashMap<String,BigDecimal> map =new HashMap<>();
|
|
|
- map.put("amount",sumamountRows.sum("payamount").subtract(rows.sum("payamount")));
|
|
|
- map.put("discountamount",sumamountRows.sum("paydiscountamount").subtract(rows.sum("paydiscountamount")));
|
|
|
+ HashMap<String, BigDecimal> map = new HashMap<>();
|
|
|
+ map.put("amount", sumamountRows.sum("payamount").subtract(rows.sum("payamount")));
|
|
|
+ map.put("discountamount", sumamountRows.sum("paydiscountamount").subtract(rows.sum("paydiscountamount")));
|
|
|
return getSucReturnObject().setData(map).toString();
|
|
|
}
|
|
|
|
|
|
@@ -490,9 +489,9 @@ public class tpartreimbursement extends Controller {
|
|
|
JSONArray sa_tpartreimbursementdetailids = content.getJSONArray("sa_tpartreimbursementdetailids");
|
|
|
QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "checkqty");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sa_orderitems", "t2", "t1.sa_orderitemsid = t2.sa_orderitemsid AND t1.siteid = t2.siteid","price");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_orderitems", "t2", "t1.sa_orderitemsid = t2.sa_orderitemsid AND t1.siteid = t2.siteid", "price");
|
|
|
querySQL.setSiteid(siteid);
|
|
|
- querySQL.addQueryFields("amount","ROUND(t1.checkqty*t2.price, 2)");
|
|
|
+ querySQL.addQueryFields("amount", "ROUND(t1.checkqty*t2.price, 2)");
|
|
|
querySQL.setWhere("t1.sa_tpartreimbursementdetailid", sa_tpartreimbursementdetailids);
|
|
|
Rows rows = querySQL.query();
|
|
|
return getSucReturnObject().setData(rows.sum("amount")).toString();
|
|
|
@@ -503,8 +502,8 @@ public class tpartreimbursement extends Controller {
|
|
|
@CACHEING_CLEAN(apiClass = {tpartreimbursement.class, stockbill.class, Order.class, OrderItems.class})
|
|
|
public String hexiao() throws YosException {
|
|
|
ArrayList<String> sqllist = new ArrayList<>();
|
|
|
- BigDecimal amount =BigDecimal.ZERO;
|
|
|
- BigDecimal discountamount =BigDecimal.ZERO;
|
|
|
+ BigDecimal amount = BigDecimal.ZERO;
|
|
|
+ BigDecimal discountamount = BigDecimal.ZERO;
|
|
|
long sys_enterpriseid = content.getLong("sys_enterpriseid");
|
|
|
|
|
|
|
|
|
@@ -513,30 +512,30 @@ public class tpartreimbursement extends Controller {
|
|
|
"inner join sa_order t3 on t2.sa_orderid=t3.sa_orderid and t2.siteid=t3.siteid" +
|
|
|
" where t1.siteid='" + siteid + "' and t1.status='审核' and t1.rb=1 and t1.type='销售出库' and t3.type='配件订单' and t3.sys_enterpriseid='" + sys_enterpriseid + "' and DATE_FORMAT( t1.billdate, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' ) group by t1.st_stockbillid");
|
|
|
|
|
|
- QuerySQL querySQL1 = SQLFactory.createQuerySQL(this, "st_stockbill","payamount","paydiscountamount");
|
|
|
+ QuerySQL querySQL1 = SQLFactory.createQuerySQL(this, "st_stockbill", "payamount", "paydiscountamount");
|
|
|
querySQL1.setTableAlias("t1");
|
|
|
querySQL1.setSiteid(siteid);
|
|
|
querySQL1.setWhere("t1.sys_enterpriseid", sys_enterpriseid);
|
|
|
querySQL1.setWhere("t1.departmentid=(select departmentid from sys_department where depname='售后部') and t1.rb=0 and t1.status='审核' and t1.type='销售出库' and DATE_FORMAT(t1.billdate, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )");
|
|
|
Rows rows1 = querySQL1.query();
|
|
|
|
|
|
- HashMap<String,BigDecimal> map =new HashMap<>();
|
|
|
- amount=sumamountRows.sum("payamount").subtract(rows1.sum("payamount"));
|
|
|
- discountamount=sumamountRows.sum("paydiscountamount").subtract(rows1.sum("paydiscountamount"));
|
|
|
+ HashMap<String, BigDecimal> map = new HashMap<>();
|
|
|
+ amount = sumamountRows.sum("payamount").subtract(rows1.sum("payamount"));
|
|
|
+ discountamount = sumamountRows.sum("paydiscountamount").subtract(rows1.sum("paydiscountamount"));
|
|
|
|
|
|
- if(discountamount.compareTo(BigDecimal.ZERO)<0){
|
|
|
- discountamount=BigDecimal.ZERO;
|
|
|
+ if (discountamount.compareTo(BigDecimal.ZERO) < 0) {
|
|
|
+ discountamount = BigDecimal.ZERO;
|
|
|
}
|
|
|
- if(amount.compareTo(BigDecimal.ZERO)<0){
|
|
|
- amount=BigDecimal.ZERO;
|
|
|
+ if (amount.compareTo(BigDecimal.ZERO) < 0) {
|
|
|
+ amount = BigDecimal.ZERO;
|
|
|
}
|
|
|
|
|
|
JSONArray sa_tpartreimbursementdetailids = content.getJSONArray("sa_tpartreimbursementdetailids");
|
|
|
JSONArray iteminfos = content.getJSONArray("iteminfos");
|
|
|
- QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_tpartreimbursementdetailid","isverified","qty","sa_orderitemsid","hongbillno");
|
|
|
+ QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "sa_tpartreimbursementdetailid", "isverified", "qty", "sa_orderitemsid", "hongbillno");
|
|
|
querySQL.setTableAlias("t1");
|
|
|
querySQL.addJoinTable(JOINTYPE.left, "sa_orderitems", "t2", "t1.sa_orderitemsid = t2.sa_orderitemsid AND t1.siteid = t2.siteid");
|
|
|
- querySQL.addJoinTable(JOINTYPE.left, "sa_tpartreimbursement", "t3", "t1.sa_tpartreimbursementid = t3.sa_tpartreimbursementid AND t1.siteid = t2.siteid","sa_tpartreimbursementid","billno");
|
|
|
+ querySQL.addJoinTable(JOINTYPE.left, "sa_tpartreimbursement", "t3", "t1.sa_tpartreimbursementid = t3.sa_tpartreimbursementid AND t1.siteid = t2.siteid", "sa_tpartreimbursementid", "billno");
|
|
|
querySQL.setSiteid(siteid);
|
|
|
querySQL.setWhere("t1.sa_tpartreimbursementdetailid", sa_tpartreimbursementdetailids);
|
|
|
Rows rows = querySQL.query();
|
|
|
@@ -546,12 +545,12 @@ public class tpartreimbursement extends Controller {
|
|
|
QuerySQL stockbillquerySQL = SQLFactory.createQuerySQL(this, "st_stockbill", "billno");
|
|
|
stockbillquerySQL.setTableAlias("t1");
|
|
|
stockbillquerySQL.setSiteid(siteid);
|
|
|
- stockbillquerySQL.setWhere("t1.billno",billnolist);
|
|
|
- Rows stockbillrows =stockbillquerySQL.query();
|
|
|
+ stockbillquerySQL.setWhere("t1.billno", billnolist);
|
|
|
+ Rows stockbillrows = stockbillquerySQL.query();
|
|
|
RowsMap stockbillrowsMap = stockbillrows.toRowsMap("billno");
|
|
|
for (Row row : rows) {
|
|
|
if (StringUtils.isNotBlank(row.getString("hongbillno"))) {
|
|
|
- if(stockbillrowsMap.containsKey(row.getString("hongbillno"))){
|
|
|
+ if (stockbillrowsMap.containsKey(row.getString("hongbillno"))) {
|
|
|
return getErrReturnObject().setErrMsg("存在核销生成的红字出库单,无法核销").toString();
|
|
|
}
|
|
|
|
|
|
@@ -583,7 +582,7 @@ public class tpartreimbursement extends Controller {
|
|
|
List<Long> list = new ArrayList<>();
|
|
|
|
|
|
for (Object object : iteminfos) {
|
|
|
- list.add(((JSONObject)object).getLong("itemid"));
|
|
|
+ list.add(((JSONObject) object).getLong("itemid"));
|
|
|
}
|
|
|
RowsMap itemRowsMap = SQLFactory.createQuerySQL(this, "plm_item", "*").setWhere("itemid", list).query().toRowsMap("itemid");
|
|
|
|
|
|
@@ -615,21 +614,21 @@ public class tpartreimbursement extends Controller {
|
|
|
insertSQL.setValue("delivery", "");
|
|
|
Rows invoicerows = dbConnect.runSqlQuery("select * from sys_enterprise_finance where sys_enterpriseid=" + sys_enterpriseid + " order by isdefault desc");
|
|
|
Rows addressrows = dbConnect.runSqlQuery("select * from sys_enterprise_contacts where type='配件' and sys_enterpriseid=" + sys_enterpriseid + " order by isdefault desc");
|
|
|
- if(invoicerows.isNotEmpty()){
|
|
|
+ if (invoicerows.isNotEmpty()) {
|
|
|
insertSQL.setValue("invoice_enterprisename", invoicerows.get(0).getString("enterprisename"));
|
|
|
insertSQL.setValue("invoice_address", invoicerows.get(0).getString("address"));
|
|
|
insertSQL.setValue("invoice_taxno", invoicerows.get(0).getString("taxno"));
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
insertSQL.setValue("invoice_enterprisename", "");
|
|
|
insertSQL.setValue("invoice_address", "");
|
|
|
insertSQL.setValue("invoice_taxno", "");
|
|
|
}
|
|
|
|
|
|
- if(addressrows.isNotEmpty()){
|
|
|
+ if (addressrows.isNotEmpty()) {
|
|
|
insertSQL.setValue("name", addressrows.get(0).getString("name"));
|
|
|
insertSQL.setValue("address", addressrows.get(0).getString("address"));
|
|
|
insertSQL.setValue("phonenumber", addressrows.get(0).getString("phonenumber"));
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
insertSQL.setValue("name", "");
|
|
|
insertSQL.setValue("address", "");
|
|
|
insertSQL.setValue("phonenumber", "");
|
|
|
@@ -640,7 +639,6 @@ public class tpartreimbursement extends Controller {
|
|
|
insertSQL.setValue("sourceobject", "tpartreimbursement");
|
|
|
|
|
|
|
|
|
-
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
insertSQL.setValue("period", dateFormat.format(calendar.getTime()));
|
|
|
@@ -686,22 +684,22 @@ public class tpartreimbursement extends Controller {
|
|
|
insertDetailSQL.setValue("stockid", stocks.get(0).getLong("stockid"));
|
|
|
}
|
|
|
insertDetailSQL.setValue("remarks", "");
|
|
|
- insertDetailSQL.setValue("itemno", itemRowsMap.containsKey(iteminfo.getStringValue("itemid"))?itemRowsMap.get(iteminfo.getStringValue("itemid")).get(0).getString("itemno"):iteminfo.getString("itemno"));
|
|
|
- insertDetailSQL.setValue("itemname", itemRowsMap.containsKey(iteminfo.getStringValue("itemid"))?itemRowsMap.get(iteminfo.getStringValue("itemid")).get(0).getString("itemname"):iteminfo.getString("itemname"));
|
|
|
- insertDetailSQL.setValue("model", itemRowsMap.containsKey(iteminfo.getStringValue("itemid"))?itemRowsMap.get(iteminfo.getStringValue("itemid")).get(0).getString("model"):iteminfo.getString("model"));
|
|
|
+ insertDetailSQL.setValue("itemno", itemRowsMap.containsKey(iteminfo.getStringValue("itemid")) ? itemRowsMap.get(iteminfo.getStringValue("itemid")).get(0).getString("itemno") : iteminfo.getString("itemno"));
|
|
|
+ insertDetailSQL.setValue("itemname", itemRowsMap.containsKey(iteminfo.getStringValue("itemid")) ? itemRowsMap.get(iteminfo.getStringValue("itemid")).get(0).getString("itemname") : iteminfo.getString("itemname"));
|
|
|
+ insertDetailSQL.setValue("model", itemRowsMap.containsKey(iteminfo.getStringValue("itemid")) ? itemRowsMap.get(iteminfo.getStringValue("itemid")).get(0).getString("model") : iteminfo.getString("model"));
|
|
|
insertDetailSQL.setValue("price", iteminfo.getBigDecimal("price"));
|
|
|
insertDetailSQL.setValue("amount", iteminfo.getBigDecimal("qty").multiply(iteminfo.getBigDecimal("price")));
|
|
|
insertDetailSQL.setValue("untaxedprice", iteminfo.getBigDecimal("price").divide(new BigDecimal(1.13), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
insertDetailSQL.setValue("untaxedamount", iteminfo.getBigDecimal("qty").multiply(iteminfo.getBigDecimal("price").divide(new BigDecimal(1.13), 2, BigDecimal.ROUND_HALF_UP)));
|
|
|
- insertDetailSQL.setValue("skucontrol", itemRowsMap.containsKey(iteminfo.getStringValue("itemid"))?itemRowsMap.get(iteminfo.getStringValue("itemid")).get(0).getBoolean("skucontrol"):iteminfo.getBooleanValue("skucontrol"));
|
|
|
+ insertDetailSQL.setValue("skucontrol", itemRowsMap.containsKey(iteminfo.getStringValue("itemid")) ? itemRowsMap.get(iteminfo.getStringValue("itemid")).get(0).getBoolean("skucontrol") : iteminfo.getBooleanValue("skucontrol"));
|
|
|
i++;
|
|
|
sqllist.add(insertDetailSQL.getSQL());
|
|
|
totalamount = totalamount.add(iteminfo.getBigDecimal("qty").multiply(iteminfo.getBigDecimal("price")));
|
|
|
}
|
|
|
}
|
|
|
- for(Object object:sa_tpartreimbursementdetailids){
|
|
|
+ for (Object object : sa_tpartreimbursementdetailids) {
|
|
|
Integer sa_tpartreimbursementdetailid = (Integer) object;
|
|
|
- sqllist.add("update sa_tpartreimbursementdetail set hongbillno='"+billno+"' where sa_tpartreimbursementdetailid="+sa_tpartreimbursementdetailid);
|
|
|
+ sqllist.add("update sa_tpartreimbursementdetail set hongbillno='" + billno + "' where sa_tpartreimbursementdetailid=" + sa_tpartreimbursementdetailid);
|
|
|
}
|
|
|
// if (discountamount.compareTo(totalamount) > 0) {
|
|
|
// insertSQL.setValue("payamount", 0);
|
|
|
@@ -712,13 +710,13 @@ public class tpartreimbursement extends Controller {
|
|
|
// }
|
|
|
insertSQL.setValue("payamount", totalamount);
|
|
|
insertSQL.setValue("paydiscountamount", 0);
|
|
|
- if(totalamount.compareTo((discountamount.add(amount)))>0){
|
|
|
+ if (totalamount.compareTo((discountamount.add(amount))) > 0) {
|
|
|
return getErrReturnObject().setErrMsg("大于当月剩余可核销金额,无法核销").toString();
|
|
|
}
|
|
|
|
|
|
|
|
|
sqllist.add(insertSQL.getSQL());
|
|
|
- sqllist.add(DataContrlLog.createLog(this, "st_stockbill", st_stockbillid, "新增", "销售出库单新增成功,来源配件核销"+rows.toJsonArray("billno").toJSONString()).getSQL());
|
|
|
+ sqllist.add(DataContrlLog.createLog(this, "st_stockbill", st_stockbillid, "新增", "销售出库单新增成功,来源配件核销" + rows.toJsonArray("billno").toJSONString()).getSQL());
|
|
|
//Rows accountbalancerows = dbConnect.runSqlQuery("select * from sa_accountbalance t1 inner join sa_accountclass t2 on t1.sa_accountclassid=t2.sa_accountclassid and t1.siteid=t2.siteid where t2.accountname='现金账户' and t1.sys_enterpriseid=" + sys_enterpriseid);
|
|
|
|
|
|
//CashbillEntity entity = getCashbillEntity(totalamount.negate(), BigDecimal.ZERO, st_stockbillid, "销售出库单审核", billno, "由销售出库单" + billno + "审核时生成");
|
|
|
@@ -729,29 +727,29 @@ public class tpartreimbursement extends Controller {
|
|
|
Stockbill.check(this, st_stockbillid, true);
|
|
|
} catch (YosException e) {
|
|
|
// Code to handle the exception
|
|
|
- dbConnect.runSqlUpdate("delete from st_stockbill where st_stockbillid="+st_stockbillid);
|
|
|
- dbConnect.runSqlUpdate("delete from st_stockbill_items where st_stockbillid="+st_stockbillid);
|
|
|
- dbConnect.runSqlUpdate("delete from sys_contrllog where ownerid="+st_stockbillid+" and ownertable='st_stockbill'");
|
|
|
- for(Object object:sa_tpartreimbursementdetailids){
|
|
|
+ dbConnect.runSqlUpdate("delete from st_stockbill where st_stockbillid=" + st_stockbillid);
|
|
|
+ dbConnect.runSqlUpdate("delete from st_stockbill_items where st_stockbillid=" + st_stockbillid);
|
|
|
+ dbConnect.runSqlUpdate("delete from sys_contrllog where ownerid=" + st_stockbillid + " and ownertable='st_stockbill'");
|
|
|
+ for (Object object : sa_tpartreimbursementdetailids) {
|
|
|
Integer sa_tpartreimbursementdetailid = (Integer) object;
|
|
|
- dbConnect.runSqlUpdate("update sa_tpartreimbursementdetail set hongbillno='' where sa_tpartreimbursementdetailid="+sa_tpartreimbursementdetailid);
|
|
|
+ dbConnect.runSqlUpdate("update sa_tpartreimbursementdetail set hongbillno='' where sa_tpartreimbursementdetailid=" + sa_tpartreimbursementdetailid);
|
|
|
}
|
|
|
return getErrReturnObject().setErrMsg(e.getMessage())
|
|
|
.toString();
|
|
|
}
|
|
|
|
|
|
- sqllist=new ArrayList<>();
|
|
|
- QuerySQL tpartreimbursementSQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail","*");
|
|
|
+ sqllist = new ArrayList<>();
|
|
|
+ QuerySQL tpartreimbursementSQL = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail", "*");
|
|
|
tpartreimbursementSQL.setTableAlias("t1");
|
|
|
tpartreimbursementSQL.setSiteid(siteid);
|
|
|
tpartreimbursementSQL.setWhere("t1.sa_tpartreimbursementid", sa_tpartreimbursementidList);
|
|
|
- Rows tpartreimbursementrows= tpartreimbursementSQL.query();
|
|
|
+ Rows tpartreimbursementrows = tpartreimbursementSQL.query();
|
|
|
RowsMap tpartreimbursementrowsMap = tpartreimbursementrows.toRowsMap("sa_tpartreimbursementid");
|
|
|
- for(String sa_tpartreimbursementid :sa_tpartreimbursementidList){
|
|
|
- if(tpartreimbursementrowsMap.containsKey(sa_tpartreimbursementid)){
|
|
|
- if(tpartreimbursementrowsMap.get(sa_tpartreimbursementid).size()
|
|
|
- ==tpartreimbursementrowsMap.get(sa_tpartreimbursementid).toRowsMap("isverified").get("1").size()){
|
|
|
- sqllist.add("update sa_tpartreimbursement set status='关闭' where sa_tpartreimbursementid ='"+sa_tpartreimbursementid+"'");
|
|
|
+ for (String sa_tpartreimbursementid : sa_tpartreimbursementidList) {
|
|
|
+ if (tpartreimbursementrowsMap.containsKey(sa_tpartreimbursementid)) {
|
|
|
+ if (tpartreimbursementrowsMap.get(sa_tpartreimbursementid).size()
|
|
|
+ == tpartreimbursementrowsMap.get(sa_tpartreimbursementid).toRowsMap("isverified").get("1").size()) {
|
|
|
+ sqllist.add("update sa_tpartreimbursement set status='关闭' where sa_tpartreimbursementid ='" + sa_tpartreimbursementid + "'");
|
|
|
}
|
|
|
|
|
|
}
|