I haven't moved the opc for a long time. I have been working on cadre management projects. I have posted two interfaces and asked all the experts to criticize and correct them.
After working for so long, I have some experience. There is no new technology in this system. The three-layer structure of delphi+Oracle, the code has about 50,000 lines, about 50 forms, and 83 Excel templates (this is the most painful). I think the more important technologies are:
1. Multi-threaded data + Excel template generate reports. Multi-threading is used because sometimes the reports generated are large, the data is large, and the time is long. They monitor the status of multi-threading in the status bar; Excel is used because they are familiar with Excel and are generating pie charts, stick charts, etc. When graphic, you can call Excel's powerful functions (just lazy :)). Due to the numerous reports, I refactored them again and again, hoping to find out the generality of the reports, but the situation is too complicated and the code is written very long. Finally, a custom report module was created, which can add new reports according to the rules and make full use of data.
2. Flexible data statistics. Since the data statistics are relatively high, it is very tiring to do it very flexibly. I have done a few steps in statistics. First, select a certain range of personnel and add or decrease this group of personnel arbitrarily (sometimes you have to count the situation of the top leaders of each unit. This is difficult to deal with in the program. Forget it, leave it to you. Choose for yourself, haha), and then combine any pair of statistics items (combination of pairs