def ajax_save(self): id = _g("id") type = _g('form_type') if type not in ['sendout', 'transit', 'exception', 'arrived']: return jsonify({'code' :-1, 'msg' : unicode(MSG_NO_SUCH_ACTION)}) header = DeliverHeader.get(id) if type == 'sendout': header.status = SEND_OUT[0] DBSession.add(TransferLog( refer_id = header.id, transfer_date = _g('send_out_time'), type = 1, remark = _g('send_out_remark') )) header.sendout_time = _g('send_out_time') DBSession.add(SystemLog( type = header.__class__.__name__, ref_id = header.id, remark = u'%s 确认该记录状态为已发货。' % session['user_profile']['name'] )) DBSession.commit() self._sms(header, u'已发货。') return jsonify({'code' : 0 , 'msg' : unicode(MSG_SAVE_SUCC)}) if type == 'transit': DBSession.add(TransferLog( refer_id = header.id, transfer_date = _g('transit_time'), type = 1, remark = _g('transit_remark') )) DBSession.commit() return jsonify({'code' : 0 , 'msg' : unicode(MSG_SAVE_SUCC)}) if type == 'arrived' : header.status = GOODS_ARRIVED[0] DBSession.add(TransferLog( refer_id = header.id, transfer_date = _g('arrived_time'), type = 1, remark = _g('arrived_remark') )) DBSession.add(SystemLog( type = header.__class__.__name__, ref_id = header.id, remark = u'%s 确认记录状态为货物已到达目的站。' % session['user_profile']['name'] )) for d in header.details: order_header = d.order_header order_header.actual_time = _g('arrived_time') DBSession.commit() self._sms(header, u'已到达。') return jsonify({'code' : 0 , 'msg' : unicode(MSG_SAVE_SUCC)})
def vendor_input(self): if not session.get('supplier_profile', None) or not session['supplier_profile'].get('id', None): flash(MSG_NO_SUCH_ACTION, MESSAGE_ERROR) return redirect(url_for('bpRoot.view', action = "index")) header = DeliverHeader.get(_g('id')) if not header : flash(MSG_RECORD_NOT_EXIST, MESSAGE_ERROR) return redirect(url_for('.view', action = 'vendor_select')) elif header.supplier_id != session['supplier_profile']['id']: flash(MSG_NO_SUCH_ACTION, MESSAGE_ERROR) return redirect(url_for('bpRoot.view', action = "index")) return {'values' : header.populate(), 'details' : header.details }
def vendor_input_save(self): if not session.get('supplier_profile', None) or not session['supplier_profile'].get('id', None): flash(MSG_NO_SUCH_ACTION, MESSAGE_ERROR) return redirect(url_for('bpRoot.view', action = "index")) header = DeliverHeader.get(_g('id')) if not header : flash(MSG_RECORD_NOT_EXIST, MESSAGE_ERROR) return redirect(url_for('.view', action = 'vendor_select')) elif header.supplier_id != session['supplier_profile']['id']: flash(MSG_NO_SUCH_ACTION, MESSAGE_ERROR) return redirect(url_for('bpRoot.view', action = "index")) if _g('type') == "IN_TRAVEL" : new_status = IN_TRAVEL[0] remark = u'货物在途。备注 :%s' % _g('remark') elif _g('type') == "GOODS_ARRIVED" : new_status = GOODS_ARRIVED[0] remark = u'货物到达。备注 :%s' % _g('remark') elif _g('type') == "GOODS_SIGNED" : new_status = GOODS_SIGNED[0] remark = u'货物签收。备注 :%s' % _g('remark') else: flash(MSG_NO_SUCH_ACTION, MESSAGE_ERROR) return redirect(url_for('.view', action = 'vendor_select')) try: header.update_status(new_status) for d in header.details: d.order_detail.update_status(new_status) # log = DeliverLog(deliver_header_id = header.id, remark = _g('remark')) # DBSession.add(log) DBSession.add(TransferLog( refer_id = header.id, transfer_date = dt.now().strftime(SYSTEM_DATETIME_FORMAT), type = 1, remark = remark )) DBSession.commit() except: DBSession.rollback() _error(traceback.print_exc()) flash(MSG_SERVER_ERROR, MESSAGE_ERROR) return redirect(url_for('.view', action = 'vendor_select')) else: flash(MSG_SAVE_SUCC, MESSAGE_INFO) return redirect(url_for('.view', action = 'vendor_select'))