Ejemplo n.º 1
0
 public void save() {
   try {
     boolean settleTypeFlag = false;
     Jhpay jhpay = null;
     Ckjhcheck m = getModel(Ckjhcheck.class, "ckjhcheck");
     Jbsupplier supplier = getModel(Jbsupplier.class, "supplier");
     Jbstore store = getModel(Jbstore.class, "store");
     m.set("SupplierCode", supplier.getStr("supplierCode"));
     m.set("StoreCode", store.getStr("StoreCode"));
     Double amount = Double.parseDouble(getPara("amount"));
     m.set("CKAmount", amount);
     if (getPara("typeFlg") != null && getParaToInt("typeFlg") == 1) {
       m.set("SettleTypeFlag", getParaToInt("typeFlg"));
       settleTypeFlag = true;
     }
     if (m.getLong("id") != null) {
       m.update();
     } else {
       m.save();
     }
     // 当面付模式
     if (settleTypeFlag) {
       jhpay =
           Jhpay.dao.findFirst("select * from jhpay where BillOrderNo = ?", m.getStr("OrderDate"));
       if (jhpay == null) {
         // 生成付款单信息
         jhpay = new Jhpay();
         synchronized (lock) {
           String ordCdNw = BsUtil.getMaxOrdNo("OrderCode", "CF", "jhpay");
           jhpay.set("OrderCode", ordCdNw);
         }
         jhpay.set(
             "OrderDate",
             DateUtil.string2Date(
                 DateUtil.date2String(new Date(), DateUtil.FORMAT_DATE), DateUtil.FORMAT_DATE));
         jhpay.set("SupplierCode", m.get("SupplierCode"));
         jhpay.set("DeptCode", m.get("DeptCode"));
         jhpay.set("EmpCode", m.get("EmpCode"));
         jhpay.set("PayType", BsUtil.DIR_PAY);
         jhpay.set("BankNo", supplier.get("BankNo"));
         jhpay.set("Amount", amount);
         jhpay.set("BillOrderNo", m.get("OrderCode"));
         Record man = getCurrentUser();
         jhpay.set("checkman", man.getStr("usr_name"));
         jhpay.set("CheckDate", new Date());
         jhpay.set("CheckFlag", 1);
         jhpay.save();
         Jhpaydetail jhpaydetail = new Jhpaydetail();
         jhpaydetail.set("OrderCode", m.get("OrderCode"));
         jhpaydetail.set("PayOrderNo", jhpay.get("OrderCode"));
         jhpaydetail.set("CollateType", "采购入库单");
         jhpaydetail.set("NowCollated", amount);
         jhpaydetail.set("Adjust", 0);
         jhpaydetail.set("Amount", amount);
       }
     }
     String orderCode = m.get("OrderCode");
     // 保存明细
     int size = 0;
     // 通过【新建商品明细】按钮新追加记录
     String[] index = getParaValues("lineId");
     size =
         Db.queryLong(
                 "select count(*)  from ckjhcheckdetail where orderCode = '" + orderCode + "'")
             .intValue();
     if (!(index == null || index.length == 0)) {
       size = size + index.length;
     }
     // 不足10条,补足10条显示并保存
     if (size < 10) {
       size = 10;
     }
     for (int i = 0; i < size; i++) {
       Ckjhcheckdetail md = getModel(Ckjhcheckdetail.class, "ckjhcheckDetail" + i);
       Jbgoods goods = getModel(Jbgoods.class, "goods" + i);
       if (goods.getStr("GoodsCode") != null) {
         md.set("GoodsCode", goods.get("GoodsCode"));
         Ckjhcheckdetail tmp = Ckjhcheckdetail.dao.findById(md.getLong("id"));
         if (tmp != null) {
           md.set("price", goods.get("BRefPrice"));
           md.update();
         } else {
           md.set("ordercode", orderCode);
           md.set("price", goods.get("BRefPrice"));
           md.save();
         }
       }
     }
     toDwzJson(200, "保存成功!", navTabId, "closeCurrent");
   } catch (Exception e) {
     log.error("保存仓库分类异常", e);
     toDwzJson(300, "保存异常!");
   }
 }