Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Функция для определения action в xml*/
- function check_order_action()
- {
- cdown.add("_max_line",0);
- /* Проверяем пришел заказ с отправкой или без */
- if (cdown.field("shipment_id") != "")
- {
- var sqlShip = "select id from shipment where sdid= :host_id<char[255]>";
- var dsShip = new jotl_stream(1, sqlShip, cdb);
- var valueShip = new Array(1);
- dsShip.bind(cdown.field("shipment_id"));
- /* Проверяем есть ли отправка в системе*/
- if (dsShip.eof())
- {
- var sql = "select id, status from orders where sdid = :host_id<char[256]>";
- var ds = new jotl_stream( 1, sql, cdb );
- var value = new Array( 2 );
- ds.bind( cdown.field( "order_id" ) );
- /* Проверяем есть ли заказ в системе */
- if( ds.eof() ) {
- /* Выбираем action по типу заказа */
- if (cdown.field("type") == "100"){
- create_user_internal_id("seq_shipment_id", "_internal_id_s");
- create_internal_id( "seq_requirement_id" );
- if( cdown.action == "insert"){
- cdown.set_action( "insert_shipment_wave" );
- }else if (cdown.action == "unset" || cdown.action == "delete"){
- cdown.set_error( -1, "Нельзя удалить запись, данные в WMS не найдены.");
- }else if (cdown.action == "update"){
- cdown.set_error( -1, "Нельзя обновить запись, данные в WMS не найдены.");}
- } else {
- create_user_internal_id("seq_shipment_id", "_internal_id_s");
- create_internal_id( "seq_requirement_id" );
- if( cdown.action == "insert"){
- cdown.set_action( "insert_shipment" );
- }else if (cdown.action == "unset" || cdown.action == "delete"){
- cdown.set_error( -1, "Нельзя удалить запись, данные в WMS не найдены.");
- }else if (cdown.action == "update"){
- cdown.set_error( -1, "Нельзя обновить запись, данные в WMS не найдены.");}
- }
- return;
- } else {
- ds.fetch( value );
- set_internal_id( value[0] );
- create_user_internal_id("seq_shipment_id", "_internal_id_s");
- if(cdown.action == "insert" || cdown.action == "update")
- {
- if(value[1] == "R")
- { if (cdown.field("type") == "100")
- {cdown.set_action( "insert_only_shipment_wave" );}
- else
- {cdown.set_action( "update_shipment" );}
- }
- else
- { cdown.set_action( "update" ); }
- }
- else if(cdown.action == "unset")
- { cdown.set_action( "delete" ); }
- }
- } else {
- var sql = "select id, status from orders where sdid = :host_id<char[256]>";
- var ds = new jotl_stream( 1, sql, cdb );
- var value = new Array( 2 );
- ds.bind( cdown.field( "order_id" ) );
- if( ds.eof() ) {
- if (cdown.field("type") == "100"){
- create_internal_id( "seq_requirement_id" );
- if( cdown.action == "insert"){
- cdown.set_action( "insert_wave" );
- }else if (cdown.action == "unset" || cdown.action == "delete"){
- cdown.set_error( -1, "Нельзя удалить запись, данные в WMS не найдены.");
- }else if (cdown.action == "update"){
- cdown.set_error( -1, "Нельзя обновить запись, данные в WMS не найдены.");}
- } else {
- create_internal_id( "seq_requirement_id" );
- if( cdown.action == "insert"){
- cdown.set_action( "insert" );
- }else if (cdown.action == "unset" || cdown.action == "delete"){
- cdown.set_error( -1, "Нельзя удалить запись, данные в WMS не найдены.");
- }else if (cdown.action == "update"){
- cdown.set_error( -1, "Нельзя обновить запись, данные в WMS не найдены.");}
- }
- return;
- } else {
- ds.fetch( value );
- set_internal_id( value[0] );
- if(cdown.action == "insert" || cdown.action == "update")
- {
- if(value[1] != "R")
- { if (cdown.field("type") == "100")
- { cdown.set_action( "update_wave" );}
- else
- { cdown.set_action( "update_shipment" );}
- }
- else { if (cdown.field("type") == "100")
- { cdown.set_action( "update_wave" );}
- else
- { cdown.set_action( "update_shipment" );}
- }
- }
- else if(cdown.action == "unset")
- { cdown.set_action( "delete" ); }
- }
- }
- }
- else
- {
- var sql = "select id, status from orders where sdid = :host_id<char[256]>";
- var ds = new jotl_stream( 1, sql, cdb );
- var value = new Array( 2 );
- ds.bind( cdown.field( "order_id" ) );
- if( ds.eof() ){
- create_internal_id( "seq_requirement_id" );
- if( cdown.action == "set"){
- cdown.set_action( "insert" );
- }else if (cdown.action == "unset" || cdown.action == "delete"){
- cdown.set_error( -1, "Нельзя удалить запись, данные в WMS не найдены.");
- }else if (cdown.action == "update"){
- cdown.set_error( -1, "Нельзя обновить запись, данные в WMS не найдены.");
- }
- return;
- }else{
- ds.fetch( value );
- set_internal_id( value[0] );
- if(cdown.action == "insert" || cdown.action == "update")
- {
- if(value[1] != "R")
- {
- cdown.set_action( "update_shipment" );
- }
- else
- {
- cdown.set_action( "update" );
- }
- }
- else if(cdown.action == "unset")
- {
- cdown.set_action( "delete" );
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement