|
|
@@ -710,7 +710,7 @@ public class OrderItemsHelper extends BaseClass {
|
|
|
|
|
|
public UpdateSQL getUpdateSQL(long sa_orderitemsid, JSONObject item, Row itemRow, String type, BigDecimal defaultprice, BigDecimal price, BigDecimal saleprice, long width, long length) throws YosException {
|
|
|
BigDecimal qty = item.getBigDecimal("qty");
|
|
|
-
|
|
|
+ Long itemid = item.getLong("itemid");
|
|
|
UpdateSQL updateSQL = SQLFactory.createUpdateSQL(controller, sa_orderitems);
|
|
|
//订购数量
|
|
|
updateSQL.setValue("qty", qty);
|
|
|
@@ -719,7 +719,7 @@ public class OrderItemsHelper extends BaseClass {
|
|
|
if (conversionrate.compareTo(BigDecimal.ZERO) <= 0) {
|
|
|
conversionrate = BigDecimal.valueOf(1);
|
|
|
}
|
|
|
- updateSQL.setValue("itemid", item.getLongValue("itemid"));
|
|
|
+ updateSQL.setValue("itemid", itemid);
|
|
|
updateSQL.setValue("itemno", itemRow.getString("itemno"));
|
|
|
updateSQL.setValue("itemname", itemRow.getString("itemname"));
|
|
|
updateSQL.setValue("model", itemRow.getString("model"));
|
|
|
@@ -792,6 +792,20 @@ public class OrderItemsHelper extends BaseClass {
|
|
|
|
|
|
updateSQL.setValue("length", length);
|
|
|
|
|
|
+
|
|
|
+ if (type.equals("配件订单") && StringUtils.isNotBlank(item.getStringValue("cardno"))) {
|
|
|
+ Rows aftersalesbomrows = dbConnect.runSqlQuery("select t2.sa_aftersalesbomid from sa_warrantycard t1 inner join sa_aftersalesbom_items t2 on t1.itemid=t2.itemid inner join sa_aftersalesbom t3 on t2.sa_aftersalesbomid=t3.sa_aftersalesbomid where t1.cardno='" + item.getStringValue("cardno") + "' and t3.status='审核'");
|
|
|
+ if (aftersalesbomrows.isNotEmpty() && (controller.usertype == 21 || controller.usertype == 22)) {
|
|
|
+ Rows aftersalesbompjrows = dbConnect.runSqlQuery("select qty from sa_aftersalesbom_pjs t1 where t1.sa_aftersalesbomid=" + aftersalesbomrows.get(0).getString("sa_aftersalesbomid") + " and t1.itemid=" + itemid);
|
|
|
+ if (aftersalesbompjrows.isNotEmpty()) {
|
|
|
+ updateSQL.setValue("canoffqty", aftersalesbompjrows.get(0).getBigDecimal("qty").compareTo(qty) > 0 ? qty : aftersalesbompjrows.get(0).getBigDecimal("qty"));
|
|
|
+ } else {
|
|
|
+ updateSQL.setValue("canoffqty", 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
updateSQL.setWhere("siteid", controller.siteid);
|
|
|
updateSQL.setWhere("sa_orderitemsid", sa_orderitemsid);
|
|
|
|