This is system  existing called system1...................which involve on azure function in java..............
 springboot java azure hosted environemnet
 partnercode/inbound/interfacename
 
 
 8468/inbound/i3555.....
 chech partner will post the file here sftp everyday
 partnersalesnonprod logic app
 it will copy the file ...inbound container....002 from 001
 create archive folder and copy file
 and delete the file as we are daily getting 
 
 
 once file come to 002 container/inboiund folder....inbound/path/filename.... they azure function chech sales will blob trigger automatically...chech sales azure function...
 conversion to json schema and to outbound folder json file
 
 get configuration from table to get partnercode
 
 read the file....normally....we get txt file fromm partner....
 change to txt....if partner sending non txt file
 so that other extractor code we dont have to change
 
 common json schema.....map fields in txt file based on on this schema only to produce final json to be sent to beam 
 there final json strcuture will be based on comoon json schema file
 So according to the schema we have to form the Jason and then finally the Jason structure, we will form it.
 
header - in that schema if you see we have something 
 We have a header, in header we have message ID, create a time stamp, source application....interfacename
 
So these are some these are all static values in header we can actually get it from the database itself.
 
 
payload type - dynamic section values which we have to get from the file what the partner txt file is sending.
 
So from the partner txt file we will get the values from the columns like site ID, site name, everything we will get it and then we will actually map it to the final Jason structure.
Suppose if the partner is not sharing this GP in UPC and all right.
So this field itself we we will not be sending to beam in the final Jason structure.

So if we are having values for some of the fields, then only we will map it.

So these are the values we will have in said thrice we have these values like that this structure will be common for all the partners
Only thing is the values will be different and for some partner they will be sharing some more fields
So for that field alone will be coming over here.
So it will be a common structure which we will be following for all the partners

processor.process method calling

upload  file from storage acc container 002 inbound  to storage container  002 /outbound/path/filename upload (like /outbound/8468) the file to our storage acc....java process
 move file from our storage acc container outbound our storage acc....to /landing/inbound/intl_partner_sales/ beam share path storage acc to share file with beam....second logic app process - BeamConnectionNOnprod logic app
 trigger after file is upoad to blob /outbound/8468 - second logic app process BeamConnectionNOnprod logic app
 copy to archive also....by 2nd logic app
 we use second logic app file as we dont have any trigger for file storage transfer upload in outbound...we only have blob upload trigger...
 we will do blob container transfer 002 outbound/path/filename upload.....and not file share tranfer
 we will do file share path tranfer also for archive 
 we will delete from inboiund and outbound containers also
 we will archive also .... 
 

What this audit batch table will do is like how we have done for sales talk and all.
It will just track it actually then the process has started, what is the status of the upload.
So those things they will track using this audit batch table and it will update the status also in the table.
And finally we will close this connection.


sql queries 
There is a separate file for queries to get the data from the table like partner code, partner name and all right.

......below this is future  system2 .....which planned to be involve on azure AKS .............
 Database configuration -> not going to change.  2. Partner wise reading file -> not going to change.  3. Logic app -> ReadFileTrigger PerPartner -> Call endpoint (Partner information, file data) - 3  4. Codebase setup, Pipeline (dev, stage) -  5  I  5. Req  6. StockController -> General Services -> Partnerwise Services ->Generate Object based on file type -  7. Selling PriceController -> General Services -> Partnerwise Services -> Generate  Object based on file type -  8. StoreController -> General Services -> Partnerwise Services -> Generate Object based on file type -  9. ObjectForStock (Input Partner wise), ObjectForSelling (Input Partner wise ), ObjectForSale(Input Partner wise), Common object, Output Object -  10. Validator (Partner wise), Common validator -  11. Audited (Partner wise), Common Audited Message (Coding perspective)  tions On Editor Suggestions Showing  100%.............we need to migrate from system1  to system2 ....................create a tech doc to

highlight these below points in system2

Mention that based on single responsibility principal of SOLID we are using 3 controllers for 3 interfaces involved in partner sales services module

File format variablity
read the file....normally....we get txt file fromm partner....
 change to txt....if partner sending non txt file like csv xml 
 so that other extractor code we dont have to change
 
 Emphasisze to involve Azure Aks migration to replace  Azure function