Compare commits
597 Commits
release_1.2.0
...
master
Author | SHA1 | Date |
---|---|---|
zengchenxi | bbc2867c7e | 7 months ago |
qiuhongwu | f961e0bea1 | 7 months ago |
qiuhongwu | a001f64285 | 7 months ago |
qiuhongwu | fc418e6c15 | 7 months ago |
qiuhongwu | 8ed3590403 | 7 months ago |
qiuhongwu | fca1253478 | 7 months ago |
qiuhongwu | 98558f3385 | 7 months ago |
zengchenxi | dfa17a1941 | 7 months ago |
zengchenxi | 47b8988d3c | 7 months ago |
qiuhongwu | 836da147c7 | 7 months ago |
qiuhongwu | 7c6d3fe9d2 | 7 months ago |
qiuhongwu | 0f9f342808 | 7 months ago |
zengchenxi | 7736336d4c | 7 months ago |
zengchenxi | bca04d8b6e | 7 months ago |
zengchenxi | 0a437d7c91 | 7 months ago |
zengchenxi | 395e4eca89 | 7 months ago |
qiuhongwu | 03d80dd4c5 | 7 months ago |
qiuhongwu | f12161c96d | 7 months ago |
siontion | 465b26b0b8 | 7 months ago |
siontion | 1b7cf6564d | 7 months ago |
zengchenxi | d0f7ec39af | 7 months ago |
zengchenxi | 0e72febc37 | 7 months ago |
zengchenxi | 789852e157 | 7 months ago |
qiuhongwu | 0faf8858cc | 7 months ago |
qiuhongwu | 8e5744a6d2 | 7 months ago |
qiuhongwu | 7dae610b70 | 7 months ago |
qiuhongwu | ff7be7d37a | 7 months ago |
qiuhongwu | 8f9e9bfd2c | 7 months ago |
siontion | f8d8c5fed0 | 7 months ago |
siontion | 86c05d894c | 7 months ago |
siontion | 28b1e618f3 | 7 months ago |
siontion | dbe809034e | 7 months ago |
zengchenxi | d59e7ce58d | 7 months ago |
zengchenxi | 4a1fa91bbe | 7 months ago |
qiuhongwu | d41cc1e2de | 7 months ago |
qiuhongwu | ab3c315bcd | 7 months ago |
zengchenxi | 9614a27843 | 7 months ago |
zengchenxi | f3b05f21ed | 7 months ago |
qiuhongwu | 9614805179 | 7 months ago |
qiuhongwu | 80a37fab3a | 7 months ago |
siontion | d8fcb5d660 | 7 months ago |
siontion | 7c5a52d6f0 | 7 months ago |
siontion | ca956dcc62 | 7 months ago |
qiuhongwu | 42b331302c | 7 months ago |
qiuhongwu | ffb41f4674 | 7 months ago |
siontion | 29aa08ccfb | 7 months ago |
siontion | 5733af88b0 | 7 months ago |
qiuhongwu | 66dc5efc3f | 7 months ago |
zengchenxi | 30c4a22f14 | 7 months ago |
zengchenxi | 0c87a22829 | 7 months ago |
qiuhongwu | f20aaa3558 | 7 months ago |
qiuhongwu | 518bd8f5c0 | 7 months ago |
siontion | 793007c9db | 7 months ago |
siontion | 794a753ea1 | 7 months ago |
qiuhongwu | 203cb834b4 | 7 months ago |
zengchenxi | 7845a0d8b5 | 7 months ago |
zengchenxi | 6466abb14d | 7 months ago |
qiuhongwu | 1c0f109f41 | 7 months ago |
qiuhongwu | 04d64d0899 | 7 months ago |
qiuhongwu | b9ed94eeb8 | 7 months ago |
siontion | a80535c6b7 | 7 months ago |
siontion | b4f3c7d9a3 | 7 months ago |
siontion | b40a32fed3 | 7 months ago |
siontion | 80ea81053c | 7 months ago |
siontion | 7e29b3e585 | 7 months ago |
siontion | 2464d14fa6 | 7 months ago |
siontion | 1021c7e908 | 7 months ago |
siontion | faeef0f0c1 | 7 months ago |
siontion | bcb2e767b9 | 7 months ago |
siontion | 8aeb8902c0 | 7 months ago |
siontion | d80c9472eb | 7 months ago |
zengchenxi | 5a3cef16ab | 7 months ago |
zengchenxi | 70fe0579c1 | 7 months ago |
siontion | 5ba533a230 | 7 months ago |
siontion | 7a88a3edf3 | 7 months ago |
siontion | 7e1037d3b1 | 7 months ago |
siontion | 9524452c8e | 7 months ago |
siontion | 12e160ca37 | 7 months ago |
siontion | 895c32379b | 7 months ago |
siontion | 0be830c893 | 7 months ago |
qiuhongwu | 2de792955f | 7 months ago |
qiuhongwu | 9123224051 | 7 months ago |
qiuhongwu | c86e4266d7 | 7 months ago |
siontion | 55c577b0b0 | 7 months ago |
siontion | 8588b9b600 | 7 months ago |
qiuhongwu | 8ea967e2da | 7 months ago |
qiuhongwu | 0a08886ef2 | 7 months ago |
zengchenxi | 4b72a78262 | 7 months ago |
zengchenxi | bf4151a49f | 7 months ago |
qiuhongwu | 771e49e568 | 7 months ago |
zengchenxi | c92db1688b | 7 months ago |
zengchenxi | 6943d46472 | 7 months ago |
qiuhongwu | 8b96f856af | 7 months ago |
qiuhongwu | 3d6ab4955a | 7 months ago |
qiuhongwu | 8ac8394a94 | 7 months ago |
qiuhongwu | 3f418b8849 | 7 months ago |
zengchenxi | aeaef9fb92 | 7 months ago |
zengchenxi | 790c3fc878 | 7 months ago |
zengchenxi | ab58ec5286 | 7 months ago |
qiuhongwu | 2b0ca9d141 | 7 months ago |
zengchenxi | dd67674233 | 7 months ago |
zengchenxi | 93be931005 | 7 months ago |
qiuhongwu | 2679b4e043 | 7 months ago |
zengchenxi | eb5a6cc205 | 7 months ago |
zengchenxi | 2e7b2173b1 | 7 months ago |
qiuhongwu | 977e9d2580 | 7 months ago |
zengchenxi | 55fb78223d | 7 months ago |
zengchenxi | 71f7ebdcee | 7 months ago |
qiuhongwu | 23420b3de4 | 7 months ago |
qiuhongwu | 9d45afd9fd | 7 months ago |
zengchenxi | 3810edff77 | 7 months ago |
zengchenxi | 5ab458f0b1 | 7 months ago |
zengchenxi | 2ddc8a2332 | 7 months ago |
zengchenxi | e48fdfb170 | 7 months ago |
qiuhongwu | 815f582a88 | 7 months ago |
qiuhongwu | fb76468cc5 | 7 months ago |
qiuhongwu | 7be775e845 | 7 months ago |
zengchenxi | 2f8ea83699 | 7 months ago |
zengchenxi | 9c4b6bc7da | 7 months ago |
zengchenxi | bbfb2a6726 | 7 months ago |
qiuhongwu | 20e9e4653a | 7 months ago |
zengchenxi | 966e938f0f | 7 months ago |
zengchenxi | 95d3ab73d4 | 7 months ago |
siontion | 5fa48afc06 | 7 months ago |
siontion | 36a4801ba6 | 7 months ago |
siontion | 7f0e6c13b4 | 7 months ago |
qiuhongwu | 350b3f0f1f | 7 months ago |
qiuhongwu | cb6b072558 | 7 months ago |
siontion | 437e6eab25 | 7 months ago |
siontion | 4996f0b5ff | 7 months ago |
siontion | 579892eed0 | 7 months ago |
qiuhongwu | c9a0e4a657 | 7 months ago |
qiuhongwu | 90433f6768 | 7 months ago |
siontion | c372133ab5 | 7 months ago |
siontion | 22e80d6c5d | 7 months ago |
siontion | 6e755160da | 7 months ago |
zengchenxi | c33181b7c6 | 7 months ago |
zengchenxi | 732789d400 | 7 months ago |
qiuhongwu | 77814d960c | 7 months ago |
zengchenxi | 55c863f330 | 7 months ago |
zengchenxi | e1dd3d2c2d | 7 months ago |
zengchenxi | 2f66e75a4a | 7 months ago |
qiuhongwu | 09892498a4 | 7 months ago |
qiuhongwu | 9d98fa1096 | 7 months ago |
qiuhongwu | 7c706572b4 | 7 months ago |
qiuhongwu | 996b66ca46 | 7 months ago |
qiuhongwu | e0478db2b7 | 7 months ago |
zengchenxi | dbd91ee581 | 7 months ago |
zengchenxi | 25de6b9b6c | 7 months ago |
qiuhongwu | f668fdbae8 | 7 months ago |
zengchenxi | 43af697a73 | 7 months ago |
zengchenxi | e2fef42584 | 7 months ago |
qiuhongwu | 577161c261 | 7 months ago |
zengchenxi | 92d8bf6fab | 7 months ago |
zengchenxi | 29241d2765 | 7 months ago |
qiuhongwu | 14c888d9b8 | 7 months ago |
qiuhongwu | 2f4bbf3272 | 7 months ago |
zengchenxi | d3574d9220 | 7 months ago |
zengchenxi | a6e8cba474 | 7 months ago |
zengchenxi | f25fd0cd8b | 7 months ago |
zengchenxi | e3e5551d12 | 7 months ago |
zengchenxi | 88a820c88f | 7 months ago |
zengchenxi | dd1d0ba022 | 7 months ago |
zengchenxi | 0c79766f59 | 7 months ago |
zengchenxi | 378f4bcf65 | 7 months ago |
siontion | 7a8ad652a6 | 7 months ago |
siontion | 380c640eab | 7 months ago |
zengchenxi | fd70830dfe | 7 months ago |
zengchenxi | 52c5340249 | 7 months ago |
qiuhongwu | 83cafa780a | 8 months ago |
qiuhongwu | 3dea2a212d | 8 months ago |
zengchenxi | 6e67610601 | 8 months ago |
zengchenxi | bdf6dc9719 | 8 months ago |
zengchenxi | 12122fbb65 | 8 months ago |
qiuhongwu | f632f61cc3 | 8 months ago |
zengchenxi | d92ca511da | 8 months ago |
zengchenxi | de8e00f29d | 8 months ago |
qiuhongwu | 31ac902403 | 8 months ago |
zengchenxi | 9c1453ce64 | 8 months ago |
qiuhongwu | 4d7f9d11ba | 8 months ago |
qiuhongwu | 97dc32085f | 8 months ago |
qiuhongwu | 6690305233 | 8 months ago |
zengchenxi | fa3878f9b0 | 8 months ago |
zengchenxi | e53f349fd4 | 8 months ago |
zengchenxi | 5def0102bc | 8 months ago |
qiuhongwu | caf55bfb12 | 8 months ago |
qiuhongwu | 25e64adaa6 | 8 months ago |
qiuhongwu | de349879db | 8 months ago |
zengchenxi | db5ed1071b | 8 months ago |
qiuhongwu | 0184834ec8 | 8 months ago |
siontion | d8dcd19377 | 8 months ago |
zengchenxi | 6a491ef962 | 8 months ago |
siontion | 636eea9d3d | 8 months ago |
siontion | b173018ea5 | 8 months ago |
siontion | d3c99645b8 | 8 months ago |
qiuhongwu | fb96296033 | 8 months ago |
qiuhongwu | 9e9f943928 | 8 months ago |
zengchenxi | 007e290bf8 | 8 months ago |
siontion | 7d2e9a3f0e | 8 months ago |
siontion | 696c6c658d | 8 months ago |
siontion | 95724dce6c | 8 months ago |
siontion | 9640e0e1d2 | 8 months ago |
qiuhongwu | ea3553b3f3 | 8 months ago |
qiuhongwu | 0f08e555ec | 8 months ago |
siontion | dfc81d9a2c | 8 months ago |
siontion | 7719050783 | 8 months ago |
zengchenxi | e4ebe6cc53 | 8 months ago |
zengchenxi | 00f37397aa | 8 months ago |
qiuhongwu | 86c54456ad | 8 months ago |
siontion | 58ea8e4814 | 8 months ago |
siontion | 634351f83e | 8 months ago |
zengchenxi | 9183d539aa | 8 months ago |
siontion | aeaa97671a | 8 months ago |
siontion | ae9059ec31 | 8 months ago |
qiuhongwu | 770cc39159 | 8 months ago |
zengchenxi | fa58e3b0e9 | 8 months ago |
zengchenxi | 2cab1bc30e | 8 months ago |
zengchenxi | eb2191f646 | 8 months ago |
qiuhongwu | 59c9c6b7b8 | 8 months ago |
qiuhongwu | 5391d262f6 | 8 months ago |
siontion | f9eecdb2c3 | 8 months ago |
siontion | 97881fd837 | 8 months ago |
siontion | c148ca80f4 | 8 months ago |
siontion | 67ef9de7e6 | 8 months ago |
siontion | dfc8eabf4a | 8 months ago |
siontion | b1b1a11ccf | 8 months ago |
siontion | cba27b3c6c | 8 months ago |
zengchenxi | 38c6665042 | 8 months ago |
zengchenxi | eb278d6c98 | 8 months ago |
zengchenxi | a6d9c61aba | 8 months ago |
zengchenxi | 85e503d119 | 8 months ago |
qiuhongwu | 4953005b4d | 8 months ago |
qiuhongwu | 48dac377d7 | 8 months ago |
qiuhongwu | ed8a3999a5 | 8 months ago |
qiuhongwu | 9f72900ce2 | 8 months ago |
qiuhongwu | cb81864ed6 | 8 months ago |
zengchenxi | 7f1f16777f | 8 months ago |
qiuhongwu | 40ce037c65 | 8 months ago |
siontion | 6583b2a0e5 | 8 months ago |
qiuhongwu | ff5131e289 | 8 months ago |
siontion | 7c57b7560f | 8 months ago |
siontion | 5f52b645c8 | 8 months ago |
qiuhongwu | e27b0a9dca | 8 months ago |
siontion | 28b14030bd | 8 months ago |
siontion | af41059934 | 8 months ago |
siontion | 2aaff50a11 | 8 months ago |
siontion | 297cadd32d | 8 months ago |
qiuhongwu | b140ee5e28 | 8 months ago |
qiuhongwu | b6fd5ec3c9 | 8 months ago |
siontion | 44491d90fb | 8 months ago |
siontion | 830ae38b0d | 8 months ago |
siontion | ac2ad4ec51 | 8 months ago |
siontion | 65220620d8 | 8 months ago |
qiuhongwu | 653cccdc1a | 8 months ago |
qiuhongwu | a74469150c | 8 months ago |
zengchenxi | 4afc2d2699 | 8 months ago |
zengchenxi | cb9809398a | 8 months ago |
qiuhongwu | 09bf4dfdee | 8 months ago |
zengchenxi | 0deeb7ea14 | 8 months ago |
zengchenxi | 54d60ce661 | 8 months ago |
zengchenxi | b1138cb777 | 8 months ago |
qiuhongwu | fd4e8a12b9 | 8 months ago |
qiuhongwu | 0b513add12 | 8 months ago |
zengchenxi | 2642e68573 | 8 months ago |
zengchenxi | 4ebe8e6450 | 8 months ago |
qiuhongwu | 398bbd101c | 8 months ago |
zengchenxi | 13e07e62e6 | 8 months ago |
qiuhongwu | 2211599f40 | 8 months ago |
qiuhongwu | 9f4888f2e9 | 8 months ago |
zengchenxi | 2549519688 | 8 months ago |
zengchenxi | e73b202281 | 8 months ago |
qiuhongwu | 70837c7c3e | 8 months ago |
qiuhongwu | 2debd78b9c | 8 months ago |
qiuhongwu | 68d9c17f3a | 8 months ago |
qiuhongwu | 860746b4dc | 8 months ago |
siontion | 359ad39db9 | 8 months ago |
zengchenxi | 37a62f1752 | 8 months ago |
zengchenxi | 772ed36b43 | 8 months ago |
qiuhongwu | 1ce6bc16ce | 8 months ago |
zengchenxi | 7e521d6be5 | 8 months ago |
siontion | deff30bf07 | 8 months ago |
siontion | f5961d5d8b | 8 months ago |
qiuhongwu | 0940910c69 | 8 months ago |
siontion | 5189b76361 | 8 months ago |
siontion | 415bf92fed | 8 months ago |
zengchenxi | 6e1cee0898 | 8 months ago |
zengchenxi | 28edfde268 | 8 months ago |
siontion | 0b5beaf4b5 | 8 months ago |
zengchenxi | 6faf22a2d3 | 8 months ago |
qiuhongwu | 7ee5fe3a20 | 8 months ago |
zengchenxi | c20f3cd8d2 | 8 months ago |
zengchenxi | e855c0e600 | 8 months ago |
zengchenxi | b228d5e2d8 | 8 months ago |
zengchenxi | fb7f8a7049 | 8 months ago |
qiuhongwu | 6ab2c19608 | 8 months ago |
zengchenxi | 72b8550e00 | 8 months ago |
qiuhongwu | 3d3e3540f3 | 8 months ago |
qiuhongwu | 8486f6bf07 | 8 months ago |
qiuhongwu | a81e19e4f1 | 8 months ago |
qiuhongwu | bcfef4b969 | 8 months ago |
zengchenxi | fc924825aa | 8 months ago |
qiuhongwu | 3955475b4a | 8 months ago |
siontion | b49866f95f | 8 months ago |
qiuhongwu | 40cbd7dc84 | 8 months ago |
zengchenxi | b104320c27 | 8 months ago |
qiuhongwu | d5be503399 | 8 months ago |
qiuhongwu | 98a2836da1 | 8 months ago |
qiuhongwu | 64b0851552 | 8 months ago |
zengchenxi | 779d2be5ec | 8 months ago |
siontion | 0e03e685ec | 8 months ago |
siontion | 93b9254fde | 8 months ago |
siontion | 7056783851 | 8 months ago |
siontion | c9e4f749df | 8 months ago |
siontion | e51794e900 | 8 months ago |
siontion | 6c32d75d7f | 8 months ago |
qiuhongwu | 5b96759681 | 8 months ago |
qiuhongwu | 03e08705a1 | 8 months ago |
zengchenxi | 6435fe9329 | 8 months ago |
zengchenxi | d65b99a05e | 8 months ago |
zengchenxi | b1725702a1 | 8 months ago |
qiuhongwu | 7f2edfe4e2 | 8 months ago |
qiuhongwu | f43c38086e | 8 months ago |
qiuhongwu | 59d8ae4382 | 8 months ago |
zengchenxi | df4d5ab5a7 | 8 months ago |
siontion | 8146ad6516 | 8 months ago |
siontion | fc228fa6b3 | 8 months ago |
siontion | b6d38c5ee3 | 8 months ago |
siontion | afa39f7cff | 8 months ago |
siontion | b9463a550e | 8 months ago |
siontion | dc480730be | 8 months ago |
siontion | 8a481e6adc | 8 months ago |
qiuhongwu | 63668f31c5 | 8 months ago |
zengchenxi | 94d8c82d50 | 8 months ago |
zengchenxi | 40cb2543b4 | 8 months ago |
qiuhongwu | 1782d55ace | 8 months ago |
qiuhongwu | dddd984c31 | 8 months ago |
qiuhongwu | 20c0ecb109 | 8 months ago |
siontion | cd36d7125e | 8 months ago |
zengchenxi | 9c09851332 | 8 months ago |
zengchenxi | 1708f33271 | 8 months ago |
qiuhongwu | fa31dfd261 | 8 months ago |
zengchenxi | f7ad2273cd | 8 months ago |
zengchenxi | c074eaaec3 | 8 months ago |
zengchenxi | 0d6fe35ead | 8 months ago |
qiuhongwu | 7c9ede2af6 | 8 months ago |
qiuhongwu | d117014c9b | 8 months ago |
qiuhongwu | 1cd843e272 | 8 months ago |
qiuhongwu | 6b301ac06f | 8 months ago |
qiuhongwu | a00eb67a75 | 8 months ago |
siontion | 889cf8fc10 | 8 months ago |
qiuhongwu | 5715f2a134 | 8 months ago |
siontion | 16dc0fdda4 | 8 months ago |
siontion | f86f915c94 | 8 months ago |
qiuhongwu | 68326e7250 | 8 months ago |
siontion | 46b1e5c28b | 8 months ago |
siontion | 7a824573ee | 8 months ago |
zengchenxi | fddeda466f | 8 months ago |
zengchenxi | a59a198e16 | 8 months ago |
siontion | 427fd33751 | 8 months ago |
siontion | 09b382d0c6 | 8 months ago |
siontion | 32b8dec3ab | 8 months ago |
qiuhongwu | 43da37d14d | 8 months ago |
siontion | 85354b486f | 8 months ago |
siontion | 6558e97c2c | 8 months ago |
siontion | a385d7d325 | 8 months ago |
qiuhongwu | b59a6ed2c6 | 8 months ago |
siontion | bbce93db7d | 8 months ago |
qiuhongwu | 820048a1ce | 8 months ago |
zengchenxi | 54ac85277c | 8 months ago |
siontion | aca26fd060 | 8 months ago |
zengchenxi | 546ec316e0 | 8 months ago |
zengchenxi | 3b945c2655 | 8 months ago |
qiuhongwu | 6a9833be16 | 8 months ago |
qiuhongwu | 8d052fa277 | 8 months ago |
siontion | 511c09e023 | 8 months ago |
qiuhongwu | ade045dbff | 8 months ago |
zengchenxi | ede8c52cc4 | 8 months ago |
siontion | 5652a71423 | 8 months ago |
siontion | 739e5b4a1c | 8 months ago |
zengchenxi | 8943ba5f11 | 8 months ago |
zengchenxi | 907ddb3a67 | 8 months ago |
zengchenxi | 2b71b63d2e | 8 months ago |
qiuhongwu | 3dc3812fc3 | 8 months ago |
qiuhongwu | 0517c2bbd3 | 8 months ago |
qiuhongwu | ec44c55338 | 8 months ago |
zengchenxi | bdbd390cd5 | 8 months ago |
qiuhongwu | 56aa10ece1 | 8 months ago |
qiuhongwu | f4cc689b5a | 8 months ago |
siontion | ebb112f8b3 | 8 months ago |
zengchenxi | 8130db9f25 | 8 months ago |
qiuhongwu | a8702ce3d3 | 8 months ago |
siontion | f36dfde9e1 | 8 months ago |
siontion | eeaf391d3e | 8 months ago |
siontion | 91713f2450 | 8 months ago |
siontion | a987166ca9 | 8 months ago |
qiuhongwu | 0e7d284c7a | 8 months ago |
qiuhongwu | d1392e4b83 | 8 months ago |
siontion | be72e4f37f | 8 months ago |
siontion | b510dce751 | 8 months ago |
qiuhongwu | bb6036aa2d | 8 months ago |
zengchenxi | 359036a915 | 8 months ago |
zengchenxi | a20ebfddff | 8 months ago |
zengchenxi | 236510d24e | 8 months ago |
qiuhongwu | 0f6ccfb46e | 8 months ago |
zengchenxi | 6d0a9992bf | 8 months ago |
zengchenxi | f106a92256 | 8 months ago |
qiuhongwu | c17277ee5d | 8 months ago |
zengchenxi | c79a956369 | 8 months ago |
zengchenxi | 5d0d646a27 | 8 months ago |
zengchenxi | d4ccffb1f6 | 8 months ago |
zengchenxi | 34999265e3 | 8 months ago |
siontion | bf6d5a37d7 | 8 months ago |
qiuhongwu | 0330250028 | 8 months ago |
qiuhongwu | 1bc96f6e6f | 8 months ago |
siontion | ac05659313 | 8 months ago |
siontion | 3712bdd76e | 8 months ago |
qiuhongwu | 362adc4b88 | 8 months ago |
qiuhongwu | acabafa8e8 | 8 months ago |
siontion | 0f139e169e | 8 months ago |
zengchenxi | 6f2c9b66e9 | 8 months ago |
qiuhongwu | 8eb572ea2c | 8 months ago |
zengchenxi | 34e2810acf | 8 months ago |
siontion | 19086b7364 | 8 months ago |
siontion | d5548fddde | 8 months ago |
qiuhongwu | 345ab3f022 | 8 months ago |
qiuhongwu | 28a554f123 | 8 months ago |
zengchenxi | 66b6e0d0bd | 8 months ago |
qiuhongwu | aa93a444a4 | 8 months ago |
qiuhongwu | ced36bfe69 | 8 months ago |
siontion | 47fe291ed0 | 8 months ago |
zengchenxi | 9f8cf8f198 | 8 months ago |
zengchenxi | 0c1b34f472 | 8 months ago |
qiuhongwu | fdf2707d53 | 8 months ago |
qiuhongwu | f60c642939 | 8 months ago |
qiuhongwu | 664aae0ef3 | 8 months ago |
qiuhongwu | abbc9383f5 | 8 months ago |
qiuhongwu | 1bfbd7871b | 8 months ago |
qiuhongwu | 1128f80a6a | 8 months ago |
qiuhongwu | 1631d165f1 | 8 months ago |
qiuhongwu | 7257e36506 | 8 months ago |
qiuhongwu | 04f368a397 | 8 months ago |
qiuhongwu | 9f7b6fffb5 | 8 months ago |
qiuhongwu | cea7aab719 | 8 months ago |
zengchenxi | 840f562afa | 8 months ago |
zengchenxi | b34e1c646c | 8 months ago |
siontion | 9bc78d239f | 8 months ago |
zengchenxi | a972cf272a | 8 months ago |
zengchenxi | a40d9429a9 | 8 months ago |
siontion | e5db1db169 | 8 months ago |
siontion | 8df36cb0a3 | 8 months ago |
siontion | 5e045615ad | 8 months ago |
zengchenxi | db3e135df4 | 8 months ago |
zengchenxi | 1645d93e20 | 8 months ago |
qiuhongwu | cb3f1cefef | 8 months ago |
zengchenxi | edb2aac013 | 8 months ago |
zengchenxi | 1171ebe835 | 8 months ago |
siontion | 595dc70bf6 | 8 months ago |
qiuhongwu | 4c30da1592 | 8 months ago |
qiuhongwu | 6c8c096b7e | 8 months ago |
qiuhongwu | c032b2bc60 | 8 months ago |
qiuhongwu | 6190801297 | 8 months ago |
qiuhongwu | 88dfe85d6a | 8 months ago |
qiuhongwu | 411428d486 | 8 months ago |
qiuhongwu | 7cc80a5602 | 8 months ago |
qiuhongwu | d10767ac13 | 8 months ago |
qiuhongwu | a9291c9eda | 8 months ago |
qiuhongwu | 9ce0a237d2 | 8 months ago |
qiuhongwu | e8b387a545 | 8 months ago |
siontion | 522d302246 | 8 months ago |
siontion | 49ddb9c3b7 | 8 months ago |
siontion | 32e9fe8135 | 8 months ago |
qiuhongwu | cb0540b9ab | 8 months ago |
siontion | 7389c5d418 | 8 months ago |
qiuhongwu | d880d03bac | 8 months ago |
qiuhongwu | 228bf02e6f | 8 months ago |
qiuhongwu | da89c798b8 | 8 months ago |
siontion | 8beed27c5c | 8 months ago |
siontion | 6a01952b50 | 8 months ago |
qiuhongwu | 6a1cce6ed4 | 8 months ago |
qiuhongwu | e7d223b6b0 | 8 months ago |
siontion | d92fc905da | 8 months ago |
siontion | 590514c8fb | 8 months ago |
siontion | b2f4fadf9a | 8 months ago |
siontion | d20ea2c83a | 8 months ago |
siontion | 98d16154bf | 8 months ago |
siontion | f27df81383 | 8 months ago |
siontion | bc2a6c8098 | 8 months ago |
siontion | 9477f4e68e | 8 months ago |
siontion | af425f41f9 | 8 months ago |
qiuhongwu | 5db437404a | 8 months ago |
siontion | 1cbc705d7c | 8 months ago |
siontion | 213006655a | 8 months ago |
siontion | 47b69f43fd | 9 months ago |
siontion | 061036ee8e | 9 months ago |
siontion | 0a086e19e8 | 9 months ago |
siontion | 64c2d830fc | 9 months ago |
siontion | 5d7783cb62 | 9 months ago |
siontion | acfbf42432 | 9 months ago |
siontion | 302f014c75 | 9 months ago |
siontion | bba7458485 | 9 months ago |
siontion | ba7301b2a3 | 9 months ago |
siontion | 8c2db2f559 | 9 months ago |
siontion | d1f55736ec | 9 months ago |
siontion | 635398f64d | 9 months ago |
zengchenxi | 9ad27ce94e | 9 months ago |
zengchenxi | 5a8cc4b752 | 9 months ago |
zengchenxi | 406952e62f | 9 months ago |
qiuhongwu | c303f1a63b | 9 months ago |
zengchenxi | 4329804d67 | 9 months ago |
zengchenxi | 291643d60c | 9 months ago |
siontion | 572a45ec38 | 9 months ago |
siontion | 1eee2a8568 | 9 months ago |
siontion | db6a5fa7e4 | 9 months ago |
zengchenxi | a039fd30ca | 9 months ago |
zengchenxi | 707536f990 | 9 months ago |
zengchenxi | 37f110a762 | 9 months ago |
qiuhongwu | e14d1cc180 | 9 months ago |
qiuhongwu | 02ba46dbab | 9 months ago |
qiuhongwu | c3531c3b37 | 9 months ago |
siontion | 34fe9ea7dc | 9 months ago |
qiuhongwu | 475fc57f83 | 9 months ago |
zengchenxi | 372234cf2b | 9 months ago |
zengchenxi | cdc4a3ec21 | 9 months ago |
siontion | 3b6038c837 | 9 months ago |
siontion | 2bc3366202 | 9 months ago |
qiuhongwu | 7973118dde | 9 months ago |
qiuhongwu | 9046d103f4 | 9 months ago |
zengchenxi | f11c70bcc7 | 9 months ago |
zengchenxi | 5c3069b214 | 9 months ago |
zengchenxi | 083c56a22e | 9 months ago |
qiuhongwu | 41829d973a | 9 months ago |
qiuhongwu | 9e209c9295 | 9 months ago |
zengchenxi | 3332692fca | 9 months ago |
zengchenxi | 2cb37e8098 | 9 months ago |
qiuhongwu | caa4192f90 | 9 months ago |
siontion | b9bc527a0b | 9 months ago |
qiuhongwu | d9399d6a21 | 9 months ago |
zengchenxi | 49f2e197be | 9 months ago |
qiuhongwu | 4d56e27b0d | 9 months ago |
zengchenxi | 1ec60b162d | 9 months ago |
qiuhongwu | 75874a7533 | 9 months ago |
siontion | 4bdeaf65ba | 9 months ago |
siontion | 6049fbbde9 | 9 months ago |
qiuhongwu | 02d84e60ae | 9 months ago |
qiuhongwu | ab55a61c4c | 9 months ago |
siontion | 6b82aa61d7 | 9 months ago |
siontion | e2ca1b937a | 9 months ago |
qiuhongwu | 5ce94e7299 | 9 months ago |
siontion | 609934644e | 9 months ago |
siontion | 3710fea2cc | 9 months ago |
siontion | edbef358d3 | 9 months ago |
siontion | d789e0a980 | 9 months ago |
siontion | 156b28e50c | 9 months ago |
siontion | 8960d93c21 | 9 months ago |
siontion | 9e5e584822 | 9 months ago |
qiuhongwu | f3a88b1088 | 9 months ago |
qiuhongwu | 1add0300ef | 9 months ago |
qiuhongwu | 255b51285b | 9 months ago |
zengchenxi | 686c07b29e | 9 months ago |
qiuhongwu | ff9432941c | 9 months ago |
qiuhongwu | 0b0dd01033 | 9 months ago |
qiuhongwu | df33a96186 | 9 months ago |
qiuhongwu | e7da493c6e | 9 months ago |
zengchenxi | 86b99db249 | 9 months ago |
zengchenxi | ccdde891f2 | 9 months ago |
zengchenxi | a8d78e07a3 | 9 months ago |
qiuhongwu | 4d9a13fb3d | 9 months ago |
qiuhongwu | 6578599214 | 9 months ago |
siontion | b6cf6c1ec9 | 9 months ago |
zengchenxi | 7e17c48f35 | 9 months ago |
zengchenxi | cb2a2b40e3 | 9 months ago |
siontion | 10a64879ad | 9 months ago |
siontion | 2a0f04ced0 | 9 months ago |
qiuhongwu | 232cfdef95 | 9 months ago |
qiuhongwu | 7b88f34d52 | 9 months ago |
zengchenxi | 09a8182079 | 9 months ago |
qiuhongwu | f09b4249f7 | 9 months ago |
siontion | 547e4d9d68 | 9 months ago |
zengchenxi | db66895c9a | 9 months ago |
zengchenxi | c2befa3821 | 9 months ago |
qiuhongwu | 35e9b68eef | 9 months ago |
siontion | 46309d6647 | 9 months ago |
zengchenxi | 3c68a6e606 | 9 months ago |
zengchenxi | 48cef0447a | 9 months ago |
qiuhongwu | 4b33585809 | 9 months ago |
siontion | db5a9a8bdd | 9 months ago |
siontion | c79f76a06b | 9 months ago |
siontion | e4d37d22cb | 9 months ago |
qiuhongwu | 3857b0c162 | 9 months ago |
qiuhongwu | b949dfd2ec | 9 months ago |
qiuhongwu | 26f65ef3d8 | 9 months ago |
qiuhongwu | 993c1fe8aa | 9 months ago |
qiuhongwu | 178ef2fbb9 | 9 months ago |
zengchenxi | fcee01e355 | 9 months ago |
qiuhongwu | dd076ccaf3 | 9 months ago |
qiuhongwu | 4066f7937f | 9 months ago |
qiuhongwu | d3babf69a4 | 9 months ago |
@ -0,0 +1,42 @@
|
||||
package com.chanko.yunxi.mes.framework.excel.core.convert;
|
||||
|
||||
|
||||
import com.alibaba.excel.converters.Converter;
|
||||
import com.alibaba.excel.metadata.GlobalConfiguration;
|
||||
import com.alibaba.excel.metadata.data.WriteCellData;
|
||||
import com.alibaba.excel.metadata.property.ExcelContentProperty;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 日期转换器
|
||||
*
|
||||
* @author chenxi
|
||||
* @date 2024-02-28 09:01
|
||||
*/
|
||||
public class TimestampToDateConvert implements Converter<Object> {
|
||||
|
||||
@Override
|
||||
public WriteCellData<?> convertToExcelData(Object value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
|
||||
try {
|
||||
String date = "";
|
||||
if(value instanceof Long){
|
||||
long timestamp = (Long) value;
|
||||
date = new SimpleDateFormat("yyyy-MM-dd").format(new Date(timestamp));
|
||||
}else if(value instanceof String){
|
||||
long timestamp = Long.parseLong((String) value);
|
||||
date = new SimpleDateFormat("yyyy-MM-dd").format(new Date(timestamp));
|
||||
}else if(value instanceof LocalDateTime){
|
||||
LocalDateTime local = (LocalDateTime) value;
|
||||
date = DateTimeFormatter.ofPattern("yyyy-MM-dd").format(local);
|
||||
}
|
||||
return new WriteCellData<>(date);
|
||||
}catch (Exception e){
|
||||
}
|
||||
return Converter.super.convertToExcelData(value, contentProperty, globalConfiguration);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 物料类型
|
||||
* @author chenxi
|
||||
* @date 2024-02-01 04:42
|
||||
*/
|
||||
@Getter
|
||||
public enum BoomDetailTypeEnum {
|
||||
|
||||
MATERIAL("1", "原材料"),
|
||||
OTHER("2", "加工件");
|
||||
|
||||
private String code;
|
||||
private String description;
|
||||
|
||||
BoomDetailTypeEnum(String code, String description) {
|
||||
this.code = code;
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 项目订单状态枚举
|
||||
* @author chenxi
|
||||
* @date 2024-01-18 01:19
|
||||
*/
|
||||
@Getter
|
||||
public enum DeliverSubCategoryEnum {
|
||||
DELIVER_LIST("发货清单"),
|
||||
OTHER_LIST("其他清单")
|
||||
;
|
||||
|
||||
private String description;
|
||||
|
||||
DeliverSubCategoryEnum(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum DictTypeConstants {
|
||||
|
||||
MATERIAL_TYPE("heli_material_type", "物料类型"),
|
||||
MATERIAL_UNIT("heli_material_unit", "物料单位");
|
||||
|
||||
private String code;
|
||||
private String description;
|
||||
|
||||
DictTypeConstants(String code, String description) {
|
||||
this.code = code;
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 发票状态枚举
|
||||
* @author chenxi
|
||||
* @date 2024-02-26 11:25
|
||||
*/
|
||||
@Getter
|
||||
public enum InvoiceStatusEnum {
|
||||
|
||||
SAVE(1, "已保存"),
|
||||
SUBMIT(2, "已提交"),
|
||||
CANCEL(3, "已作废");
|
||||
|
||||
private int code;
|
||||
private String description;
|
||||
|
||||
InvoiceStatusEnum(int code, String description) {
|
||||
this.code = code;
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* 物料类型
|
||||
* @author chenxi
|
||||
* @date 2024-02-01 04:42
|
||||
*/
|
||||
@Getter
|
||||
public enum MaterialTypeEnum {
|
||||
|
||||
RAW("1", "原材料", "2"),
|
||||
ACCESSORY("2", "副资材", "4"),
|
||||
OFFICE("3", "办公/劳保", "3"),
|
||||
GIVING("4", "赠送物品", "5"),
|
||||
STANDARD("5", "标准件", "1"),
|
||||
VIRTUAL("6", "虚拟物料", "0");
|
||||
|
||||
private String code;
|
||||
private String description;
|
||||
private String prefix;
|
||||
|
||||
MaterialTypeEnum(String code, String description, String prefix) {
|
||||
this.code = code;
|
||||
this.description = description;
|
||||
this.prefix = prefix;
|
||||
}
|
||||
|
||||
public static MaterialTypeEnum getMaterialType(String code){
|
||||
return Arrays.stream(MaterialTypeEnum.values()).filter(materialTypeEnum -> materialTypeEnum.code.equals(code)).findFirst().get();
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 工艺bom状态枚举
|
||||
* @author chenxi
|
||||
* @date 2024-02-26 11:25
|
||||
*/
|
||||
@Getter
|
||||
public enum ProcessBomStatusEnum {
|
||||
|
||||
SAVE(1, "已保存"),
|
||||
SUBMIT(2, "已提交"),
|
||||
CANCEL_SUBMIT(1, "取消提交"),
|
||||
TERMINATE(3, "已终止");
|
||||
|
||||
private int code;
|
||||
private String description;
|
||||
|
||||
ProcessBomStatusEnum(int code, String description) {
|
||||
this.code = code;
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 工艺设计类型枚举
|
||||
* @author chenxi
|
||||
* @date 2024-02-21 01:09
|
||||
*/
|
||||
@Getter
|
||||
public enum ProcessDesignTypeEnum {
|
||||
|
||||
BLUEPRINT_FOUNDRY_TECHNOLOGY("铸造工艺"),
|
||||
BLUEPRINT_3D("3D图纸"),
|
||||
BLUEPRINT_2D("2D图纸"),
|
||||
BLUEPRINT_WORKBLANK("毛坯图纸");
|
||||
|
||||
private String description;
|
||||
|
||||
ProcessDesignTypeEnum(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 项目订单状态枚举
|
||||
* @author chenxi
|
||||
* @date 2024-01-18 01:19
|
||||
*/
|
||||
@Getter
|
||||
public enum ProjectOrderDeliverStatusEnum {
|
||||
NOT(1, "未发货"),
|
||||
PART(2, "部分发货"),
|
||||
ALL(3, "全部发货")
|
||||
;
|
||||
|
||||
private int code;
|
||||
private String description;
|
||||
|
||||
ProjectOrderDeliverStatusEnum(int code, String description) {
|
||||
this.code = code;
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 项目订单状态枚举
|
||||
* @author chenxi
|
||||
* @date 2024-01-18 01:19
|
||||
*/
|
||||
@Getter
|
||||
public enum ProjectPlanStatusEnum {
|
||||
START(1, "未开始"),
|
||||
PRODUCING(2, "生产中"),
|
||||
COMPLETE(3, "已完成"),
|
||||
TERMINATE(4, "已终止"),
|
||||
CHANGE(5, "已变更"),
|
||||
;
|
||||
|
||||
private int code;
|
||||
private String description;
|
||||
|
||||
ProjectPlanStatusEnum(int code, String description) {
|
||||
this.code = code;
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 项目订单状态枚举
|
||||
* @author chenxi
|
||||
* @date 2024-01-18 01:19
|
||||
*/
|
||||
@Getter
|
||||
public enum PurchaseStatusEnum {
|
||||
START(1, "已保存"),
|
||||
SUBMIT(2, "已送审"),
|
||||
AUDIT(3, "已审核"),
|
||||
REFUSE(4, "已打回"),
|
||||
;
|
||||
|
||||
private int code;
|
||||
private String description;
|
||||
|
||||
PurchaseStatusEnum(int code, String description) {
|
||||
this.code = code;
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 出库类型
|
||||
* @author chenxi
|
||||
* @date 2024-02-01 02:31
|
||||
*/
|
||||
@Getter
|
||||
public enum StockInTypeEnum {
|
||||
|
||||
RECEIVE(1, "采购入库"),
|
||||
GAIN(2, "盘盈入库"),
|
||||
PRODUCTION(3, "生产入库"),
|
||||
OTHER(4, "其他入库"),
|
||||
RETURN(5, "车间退料")
|
||||
;
|
||||
|
||||
private int code;
|
||||
private String description;
|
||||
|
||||
StockInTypeEnum(int code, String description) {
|
||||
this.code = code;
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 出库类型
|
||||
* @author chenxi
|
||||
* @date 2024-02-01 02:31
|
||||
*/
|
||||
@Getter
|
||||
public enum StockOutTypeEnum {
|
||||
|
||||
RECEIVE(1, "领料出库"),
|
||||
SALE(2, "销售出库"),
|
||||
LOSS(3, "盘亏出库"),
|
||||
OTHER(4, "其他出库");
|
||||
|
||||
private int code;
|
||||
private String description;
|
||||
|
||||
StockOutTypeEnum(int code, String description) {
|
||||
this.code = code;
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 库表类型
|
||||
* @author chenxi
|
||||
* @date 2024-02-01 02:28
|
||||
*/
|
||||
@Getter
|
||||
public enum StockTypeEnum {
|
||||
|
||||
IN(1, "入库"),
|
||||
OUT(2, "出库");
|
||||
|
||||
private int code;
|
||||
private String description;
|
||||
|
||||
StockTypeEnum(int code, String description) {
|
||||
this.code = code;
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum StorageStatusEnum {
|
||||
|
||||
SAVE(1, "保存"),
|
||||
SUBMIT(2, "提交"),
|
||||
INVALID(3, "作废");
|
||||
|
||||
private int code;
|
||||
private String description;
|
||||
|
||||
StorageStatusEnum(int code, String description) {
|
||||
this.code = code;
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 派工单工序状态枚举
|
||||
* @author chenxi
|
||||
* @date 2024-03-04 04:44
|
||||
*/
|
||||
@Getter
|
||||
public enum TaskDispatchProcedureStatusEnum {
|
||||
|
||||
DEFAULT(0, "默认"),
|
||||
SUBMITTED(1, "已提交"),
|
||||
COMPLETED(2, "已完成");
|
||||
|
||||
private int code;
|
||||
private String description;
|
||||
|
||||
TaskDispatchProcedureStatusEnum(int code, String description) {
|
||||
this.code = code;
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 派工单状态枚举
|
||||
* @author chenxi
|
||||
* @date 2024-02-26 11:25
|
||||
*/
|
||||
@Getter
|
||||
public enum TaskDispatchStatusEnum {
|
||||
|
||||
SAVE(1, "已保存"),
|
||||
SUBMIT(2, "已提交"),
|
||||
CANCEL_SUBMIT(1, "取消提交"),
|
||||
TERMINATE(3, "已终止");
|
||||
|
||||
private int code;
|
||||
private String description;
|
||||
|
||||
TaskDispatchStatusEnum(int code, String description) {
|
||||
this.code = code;
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
import static com.chanko.yunxi.mes.module.heli.enums.CodeEnum.TASK_DISPATCH_ASSEMBLE;
|
||||
import static com.chanko.yunxi.mes.module.heli.enums.CodeEnum.TASK_DISPATCH_PRODUCTION;
|
||||
|
||||
/**
|
||||
* 派工单类型枚举
|
||||
* @author chenxi
|
||||
* @date 2024-03-12 02:28
|
||||
*/
|
||||
@Getter
|
||||
public enum TaskDispatchTypeEnum {
|
||||
|
||||
PRODUCTION(BusinesTypeEnum.TASK_DISPATCH_PRODUCTION, TASK_DISPATCH_PRODUCTION, "生产任务"),
|
||||
ASSEMBLE(BusinesTypeEnum.TASK_DISPATCH_ASSEMBLE, TASK_DISPATCH_ASSEMBLE, "装配任务");
|
||||
|
||||
private BusinesTypeEnum businesTypeEnum;
|
||||
private CodeEnum codeEnum;
|
||||
private String description;
|
||||
|
||||
TaskDispatchTypeEnum(BusinesTypeEnum businesTypeEnum, CodeEnum codeEnum, String description) {
|
||||
this.businesTypeEnum = businesTypeEnum;
|
||||
this.codeEnum = codeEnum;
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 任务报工操作枚举
|
||||
* @author chenxi
|
||||
* @date 2024-03-08 10:03
|
||||
*/
|
||||
@Getter
|
||||
public enum TaskReportOperateEnum {
|
||||
START("开始"),
|
||||
END("结束"),
|
||||
SUBMIT("提交"),
|
||||
FINISH("完成")
|
||||
;
|
||||
|
||||
private String description;
|
||||
|
||||
TaskReportOperateEnum(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 派工单状态枚举
|
||||
* @author chenxi
|
||||
* @date 2024-02-26 11:25
|
||||
*/
|
||||
@Getter
|
||||
public enum UnqualifiedNotificationStatusEnum {
|
||||
|
||||
SAVE(1, "已保存"),
|
||||
SUBMIT(2, "已送审"),
|
||||
AUDIT(3, "已审核");
|
||||
|
||||
private int code;
|
||||
private String description;
|
||||
|
||||
UnqualifiedNotificationStatusEnum(int code, String description) {
|
||||
this.code = code;
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 有效状态枚举
|
||||
* @author chenxi
|
||||
* @date 2024-02-27 10:28
|
||||
*/
|
||||
@Getter
|
||||
public enum ValidStatusEnum {
|
||||
VALID(1, "有效"),
|
||||
INVALID(2, "无效");
|
||||
|
||||
private int code;
|
||||
private String description;
|
||||
|
||||
ValidStatusEnum(int code, String description) {
|
||||
this.code = code;
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package com.chanko.yunxi.mes.module.heli.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 预警类型
|
||||
* @author chenxi
|
||||
* @date 2024-02-23 10:15
|
||||
*/
|
||||
@Getter
|
||||
public enum WarningEnum {
|
||||
|
||||
PROCESS_DESIGN_DEFERRED_WARNING("工艺设计延期预警");
|
||||
|
||||
private String description;
|
||||
|
||||
WarningEnum(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
package com.chanko.yunxi.mes.module.heli.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 预警信息
|
||||
*
|
||||
* @author chenxi
|
||||
* @date 2024-02-23 09:54
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class WarningMessageVO {
|
||||
|
||||
@Schema(description = "是否包含预警信息")
|
||||
private boolean hasWarning = false;
|
||||
|
||||
@Schema(description = "预警信息")
|
||||
private List<WarningVO> warnings;
|
||||
|
||||
|
||||
public static abstract class WarningVO {}
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public static class ProcessDesignDeferredWarningVO extends WarningVO {
|
||||
|
||||
/**
|
||||
* {@link com.chanko.yunxi.mes.module.heli.enums.WarningEnum}
|
||||
*/
|
||||
@Schema(description = "预警类型")
|
||||
private String warningType;
|
||||
|
||||
/**
|
||||
* {@link com.chanko.yunxi.mes.module.heli.enums.ProcessDesignTypeEnum}
|
||||
*/
|
||||
@Schema(description = "工艺设计类型")
|
||||
private String processDesignType;
|
||||
|
||||
@Schema(description = "预警接收人")
|
||||
private String ownerName;
|
||||
|
||||
@Schema(description = "项目编号")
|
||||
private String projectCode;
|
||||
|
||||
@Schema(description = "子项目编号")
|
||||
private String projectSubCode;
|
||||
|
||||
@Schema(description = "剩余时间")
|
||||
private long remainingTime;
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package com.chanko.yunxi.mes.module.heli.config;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.swagger.config.MesSwaggerAutoConfiguration;
|
||||
import org.springdoc.core.GroupedOpenApi;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
/**
|
||||
* system 模块的 web 组件的 Configuration
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
public class HeliWebConfiguration {
|
||||
|
||||
/**
|
||||
* system 模块的 API 分组
|
||||
*/
|
||||
@Bean
|
||||
public GroupedOpenApi heliGroupedOpenApi() {
|
||||
return MesSwaggerAutoConfiguration.buildGroupedOpenApi("heli");
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,110 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.equip;
|
||||
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
||||
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.equip.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.equip.EquipDO;
|
||||
import com.chanko.yunxi.mes.module.heli.service.equip.EquipService;
|
||||
|
||||
@Tag(name = "管理后台 - 设备信息")
|
||||
@RestController
|
||||
@RequestMapping("/heli/equip")
|
||||
@Validated
|
||||
public class EquipController {
|
||||
|
||||
@Resource
|
||||
private EquipService equipService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建设备信息")
|
||||
@PreAuthorize("@ss.hasPermission('heli:equip:create')")
|
||||
public CommonResult<Long> createEquip(@Valid @RequestBody EquipSaveReqVO createReqVO) {
|
||||
return success(equipService.createEquip(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新设备信息")
|
||||
@PreAuthorize("@ss.hasPermission('heli:equip:update')")
|
||||
public CommonResult<Boolean> updateEquip(@Valid @RequestBody EquipSaveReqVO updateReqVO) {
|
||||
equipService.updateEquip(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除设备信息")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('heli:equip:delete')")
|
||||
public CommonResult<Boolean> deleteEquip(@RequestParam("id") Long id) {
|
||||
equipService.deleteEquip(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得设备信息")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('heli:equip:query')")
|
||||
public CommonResult<EquipRespVO> getEquip(@RequestParam("id") Long id) {
|
||||
EquipDO equip = equipService.getEquip(id);
|
||||
return success(BeanUtils.toBean(equip, EquipRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得设备信息分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:equip:query')")
|
||||
public CommonResult<PageResult<EquipRespVO>> getEquipPage(@Valid EquipPageReqVO pageReqVO) {
|
||||
PageResult<EquipDO> pageResult = equipService.getEquipPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, EquipRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出设备信息 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('heli:equip:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportEquipExcel(@Valid EquipPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<EquipDO> list = equipService.getEquipPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "设备信息.xls", "数据", EquipRespVO.class,
|
||||
BeanUtils.toBean(list, EquipRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping({"/all-simples"})
|
||||
@Operation(summary = "TODO:获取设备信息信息列表", description = "只包含被开启的设备信息,主要用于前端的下拉选项")
|
||||
public CommonResult<List<Map<String, Object>> > getSimpleList() {
|
||||
List<Map<String, Object>> list = equipService.getEquipSimpleList();
|
||||
// 拼接数据
|
||||
return success(list);
|
||||
}
|
||||
|
||||
@GetMapping({"/all-no-status-simples"})
|
||||
@Operation(summary = "TODO:获取无状态设备信息信息列表", description = "设备信息,主要用于前端的下拉选项")
|
||||
public CommonResult<List<Map<String, Object>> > getNoStatusSimpleList() {
|
||||
List<Map<String, Object>> list = equipService.getEquipNoStatusSimpleList();
|
||||
// 拼接数据
|
||||
return success(list);
|
||||
}
|
||||
}
|
@ -0,0 +1,95 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.equipmanufacture;
|
||||
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
||||
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.equipmanufacture.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.equipmanufacture.EquipManufactureDO;
|
||||
import com.chanko.yunxi.mes.module.heli.service.equipmanufacture.EquipManufactureService;
|
||||
|
||||
@Tag(name = "管理后台 - 制造设备")
|
||||
@RestController
|
||||
@RequestMapping("/heli/equip-manufacture")
|
||||
@Validated
|
||||
public class EquipManufactureController {
|
||||
|
||||
@Resource
|
||||
private EquipManufactureService equipManufactureService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建制造设备")
|
||||
@PreAuthorize("@ss.hasPermission('heli:equip-manufacture:create')")
|
||||
public CommonResult<Long> createEquipManufacture(@Valid @RequestBody EquipManufactureSaveReqVO createReqVO) {
|
||||
return success(equipManufactureService.createEquipManufacture(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新制造设备")
|
||||
@PreAuthorize("@ss.hasPermission('heli:equip-manufacture:update')")
|
||||
public CommonResult<Boolean> updateEquipManufacture(@Valid @RequestBody EquipManufactureSaveReqVO updateReqVO) {
|
||||
equipManufactureService.updateEquipManufacture(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除制造设备")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('heli:equip-manufacture:delete')")
|
||||
public CommonResult<Boolean> deleteEquipManufacture(@RequestParam("id") Long id) {
|
||||
equipManufactureService.deleteEquipManufacture(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得制造设备")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('heli:equip-manufacture:query')")
|
||||
public CommonResult<EquipManufactureRespVO> getEquipManufacture(@RequestParam("id") Long id) {
|
||||
EquipManufactureDO equipManufacture = equipManufactureService.getEquipManufacture(id);
|
||||
return success(BeanUtils.toBean(equipManufacture, EquipManufactureRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得制造设备分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:equip-manufacture:query')")
|
||||
public CommonResult<PageResult<EquipManufactureRespVO>> getEquipManufacturePage(@Valid EquipManufacturePageReqVO pageReqVO) {
|
||||
PageResult<EquipManufactureDO> pageResult = equipManufactureService.getEquipManufacturePage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, EquipManufactureRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出制造设备 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('heli:equip-manufacture:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportEquipManufactureExcel(@Valid EquipManufacturePageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<EquipManufactureDO> list = equipManufactureService.getEquipManufacturePage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "制造设备.xls", "数据", EquipManufactureRespVO.class,
|
||||
BeanUtils.toBean(list, EquipManufactureRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,103 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.invoice;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.invoice.vo.InvoicePageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.invoice.vo.InvoiceRespVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.invoice.vo.InvoiceSaveReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.invoice.InvoiceDO;
|
||||
import com.chanko.yunxi.mes.module.heli.service.invoice.InvoiceService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
|
||||
@Tag(name = "管理后台 - 财务发票")
|
||||
@RestController
|
||||
@RequestMapping("/heli/invoice")
|
||||
@Validated
|
||||
public class InvoiceController {
|
||||
|
||||
@Resource
|
||||
private InvoiceService invoiceService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建财务发票")
|
||||
@PreAuthorize("@ss.hasPermission('heli:invoice:create')")
|
||||
public CommonResult<Long> createInvoice(@Valid @RequestBody InvoiceSaveReqVO createReqVO) {
|
||||
return success(invoiceService.createInvoice(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新财务发票")
|
||||
@PreAuthorize("@ss.hasPermission('heli:invoice:update')")
|
||||
public CommonResult<Boolean> updateInvoice(@Valid @RequestBody InvoiceSaveReqVO updateReqVO) {
|
||||
invoiceService.updateInvoice(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@PostMapping("/operate")
|
||||
@Operation(summary = "操作发票")
|
||||
@PreAuthorize("@ss.hasPermission('heli:invoice:update')")
|
||||
@OperateLog(enable = false)
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public CommonResult operate(@Valid @RequestBody InvoiceSaveReqVO operateReqVO) {
|
||||
return success(invoiceService.operate(operateReqVO));
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除财务发票")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('heli:invoice:delete')")
|
||||
public CommonResult<Boolean> deleteInvoice(@RequestParam("id") Long id) {
|
||||
invoiceService.deleteInvoice(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得财务发票")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('heli:invoice:query')")
|
||||
public CommonResult<InvoiceRespVO> getInvoice(@RequestParam("id") Long id, @RequestParam("businessType") String businessType) {
|
||||
InvoiceDO invoice = invoiceService.getInvoice(id, businessType);
|
||||
return success(BeanUtils.toBean(invoice, InvoiceRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得财务发票分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:invoice:query')")
|
||||
public CommonResult<PageResult<InvoiceRespVO>> getInvoicePage(@Valid InvoicePageReqVO pageReqVO) {
|
||||
PageResult<InvoiceDO> pageResult = invoiceService.getInvoicePage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, InvoiceRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出财务发票 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('heli:invoice:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportInvoiceExcel(@Valid InvoicePageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<InvoiceDO> list = invoiceService.getInvoicePage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "财务发票.xls", "数据", InvoiceRespVO.class,
|
||||
BeanUtils.toBean(list, InvoiceRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,68 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.invoice.vo;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import java.math.BigDecimal;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 财务发票分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class InvoicePageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "业务类型 FINANCE_MAKE|FINANCE_RECEIVE 开票|收票", example = "2")
|
||||
private String businessType;
|
||||
|
||||
@Schema(description = "订单id", example = "30302")
|
||||
private Long orderId;
|
||||
|
||||
@Schema(description = "发票号码")
|
||||
private String number;
|
||||
|
||||
@Schema(description = "发票类型", example = "1")
|
||||
private String type;
|
||||
|
||||
@Schema(description = "开票日期")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] billingDate;
|
||||
|
||||
@Schema(description = "发票金额")
|
||||
private BigDecimal amount;
|
||||
|
||||
@Schema(description = "税率")
|
||||
private BigDecimal rate;
|
||||
|
||||
@Schema(description = "备注", example = "你说的对")
|
||||
private String remark;
|
||||
|
||||
@Schema(description = "提交人")
|
||||
private Long submitter;
|
||||
|
||||
@Schema(description = "提交时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] submitTime;
|
||||
|
||||
@Schema(description = "作废人")
|
||||
private Long canceller;
|
||||
|
||||
@Schema(description = "作废时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] cancelTime;
|
||||
|
||||
@Schema(description = "单据状态 已保存|已提交|已作废 1|2|3", example = "1")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
@Schema(description = "订单编号", example = "30302")
|
||||
private String orderCode;
|
||||
|
||||
}
|
@ -0,0 +1,90 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.invoice.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.chanko.yunxi.mes.framework.excel.core.annotations.DictFormat;
|
||||
import com.chanko.yunxi.mes.framework.excel.core.convert.DictConvert;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 财务发票 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class InvoiceRespVO {
|
||||
|
||||
@Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED, example = "9244")
|
||||
@ExcelProperty("自增字段,唯一")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "业务类型 FINANCE_MAKE|FINANCE_RECEIVE 开票|收票", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@ExcelProperty("业务类型 FINANCE_MAKE|FINANCE_RECEIVE 开票|收票")
|
||||
private String businessType;
|
||||
|
||||
@Schema(description = "订单id", example = "30302")
|
||||
@ExcelProperty("订单id")
|
||||
private Long orderId;
|
||||
|
||||
@Schema(description = "发票号码", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("发票号码")
|
||||
private String number;
|
||||
|
||||
@Schema(description = "发票类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@ExcelProperty(value = "发票类型", converter = DictConvert.class)
|
||||
@DictFormat("heli_invoice_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
|
||||
private String type;
|
||||
|
||||
@Schema(description = "开票日期", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("开票日期")
|
||||
private LocalDateTime billingDate;
|
||||
|
||||
@Schema(description = "发票金额", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("发票金额")
|
||||
private BigDecimal amount;
|
||||
|
||||
@Schema(description = "税率", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("税率")
|
||||
private BigDecimal rate;
|
||||
|
||||
@Schema(description = "备注", example = "你说的对")
|
||||
@ExcelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
@Schema(description = "提交人")
|
||||
@ExcelProperty("提交人")
|
||||
private Long submitter;
|
||||
|
||||
@Schema(description = "提交时间")
|
||||
@ExcelProperty("提交时间")
|
||||
private LocalDateTime submitTime;
|
||||
|
||||
@Schema(description = "作废人")
|
||||
@ExcelProperty("作废人")
|
||||
private Long canceller;
|
||||
|
||||
@Schema(description = "作废时间")
|
||||
@ExcelProperty("作废时间")
|
||||
private LocalDateTime cancelTime;
|
||||
|
||||
@Schema(description = "单据状态 已保存|已提交|已作废 1|2|3", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@ExcelProperty("单据状态 已保存|已提交|已作废 1|2|3")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "提交人名称")
|
||||
private String submitterName;
|
||||
|
||||
@Schema(description = "创建人名称")
|
||||
private String creatorName;
|
||||
|
||||
@Schema(description = "作废人名称")
|
||||
private String cancellerName;
|
||||
|
||||
@Schema(description = "订单编号")
|
||||
private String orderCode;
|
||||
}
|
@ -0,0 +1,73 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.invoice.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 财务发票新增/修改 Request VO")
|
||||
@Data
|
||||
public class InvoiceSaveReqVO {
|
||||
|
||||
@Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED, example = "9244")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "业务类型 FINANCE_MAKE|FINANCE_RECEIVE 开票|收票", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@NotEmpty(message = "业务类型 FINANCE_MAKE|FINANCE_RECEIVE 开票|收票不能为空")
|
||||
private String businessType;
|
||||
|
||||
@Schema(description = "订单id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "订单不能为空")
|
||||
private Long orderId;
|
||||
|
||||
@Schema(description = "发票号码", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "发票号码不能为空")
|
||||
private String number;
|
||||
|
||||
@Schema(description = "发票类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotEmpty(message = "发票类型不能为空")
|
||||
private String type;
|
||||
|
||||
@Schema(description = "开票日期", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "开票日期不能为空")
|
||||
private LocalDateTime billingDate;
|
||||
|
||||
@Schema(description = "发票金额", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "发票金额不能为空")
|
||||
private BigDecimal amount;
|
||||
|
||||
@Schema(description = "税率", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "税率不能为空")
|
||||
private BigDecimal rate;
|
||||
|
||||
@Schema(description = "备注", example = "你说的对")
|
||||
private String remark;
|
||||
|
||||
@Schema(description = "提交人")
|
||||
private Long submitter;
|
||||
|
||||
@Schema(description = "提交时间")
|
||||
private LocalDateTime submitTime;
|
||||
|
||||
@Schema(description = "作废人")
|
||||
private Long canceller;
|
||||
|
||||
@Schema(description = "作废时间")
|
||||
private LocalDateTime cancelTime;
|
||||
|
||||
@Schema(description = "单据状态 已保存|已提交|已作废 1|2|3", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotNull(message = "单据状态 已保存|已提交|已作废 1|2|3不能为空")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description = "操作类型")
|
||||
@NotBlank(message = "操作类型不能为空")
|
||||
private String active;
|
||||
|
||||
@Schema(description = "操作意见")
|
||||
private String activeOpinion;
|
||||
|
||||
}
|
@ -1,95 +1,125 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.material;
|
||||
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
||||
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.material.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO;
|
||||
import com.chanko.yunxi.mes.module.heli.service.material.MaterialService;
|
||||
|
||||
@Tag(name = "管理后台 - 物料")
|
||||
@RestController
|
||||
@RequestMapping("/heli/material")
|
||||
@Validated
|
||||
public class MaterialController {
|
||||
|
||||
@Resource
|
||||
private MaterialService materialService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建物料")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material:create')")
|
||||
public CommonResult<Long> createMaterial(@Valid @RequestBody MaterialSaveReqVO createReqVO) {
|
||||
return success(materialService.createMaterial(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新物料")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material:update')")
|
||||
public CommonResult<Boolean> updateMaterial(@Valid @RequestBody MaterialSaveReqVO updateReqVO) {
|
||||
materialService.updateMaterial(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除物料")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('heli:material:delete')")
|
||||
public CommonResult<Boolean> deleteMaterial(@RequestParam("id") Long id) {
|
||||
materialService.deleteMaterial(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得物料")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material:query')")
|
||||
public CommonResult<MaterialRespVO> getMaterial(@RequestParam("id") Long id) {
|
||||
MaterialDO material = materialService.getMaterial(id);
|
||||
return success(BeanUtils.toBean(material, MaterialRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得物料分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material:query')")
|
||||
public CommonResult<PageResult<MaterialRespVO>> getMaterialPage(@Valid MaterialPageReqVO pageReqVO) {
|
||||
PageResult<MaterialDO> pageResult = materialService.getMaterialPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, MaterialRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出物料 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportMaterialExcel(@Valid MaterialPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<MaterialDO> list = materialService.getMaterialPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "物料.xls", "数据", MaterialRespVO.class,
|
||||
BeanUtils.toBean(list, MaterialRespVO.class));
|
||||
}
|
||||
|
||||
}
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.material;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.material.vo.MaterialExcelVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.material.vo.MaterialPageReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.material.vo.MaterialRespVO;
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.material.vo.MaterialSaveReqVO;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO;
|
||||
import com.chanko.yunxi.mes.module.heli.service.material.MaterialService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Parameters;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
|
||||
@Tag(name = "管理后台 - 物料")
|
||||
@RestController
|
||||
@RequestMapping("/heli/material")
|
||||
@Validated
|
||||
public class MaterialController {
|
||||
|
||||
@Resource
|
||||
private MaterialService materialService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建物料")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material:create')")
|
||||
public CommonResult<Long> createMaterial(@Valid @RequestBody MaterialSaveReqVO createReqVO) {
|
||||
return success(materialService.createMaterial(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新物料")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material:update')")
|
||||
public CommonResult<Boolean> updateMaterial(@Valid @RequestBody MaterialSaveReqVO updateReqVO) {
|
||||
materialService.updateMaterial(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除物料")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('heli:material:delete')")
|
||||
public CommonResult<Boolean> deleteMaterial(@RequestParam("id") Long id) {
|
||||
materialService.deleteMaterial(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得物料")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material:query')")
|
||||
public CommonResult<MaterialRespVO> getMaterial(@RequestParam("id") Long id) {
|
||||
MaterialDO material = materialService.getMaterial(id);
|
||||
return success(BeanUtils.toBean(material, MaterialRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得物料分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material:query')")
|
||||
public CommonResult<PageResult<MaterialRespVO>> getMaterialPage(@Valid MaterialPageReqVO pageReqVO) {
|
||||
PageResult<MaterialDO> pageResult = materialService.getMaterialPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, MaterialRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出物料 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportMaterialExcel(@Valid MaterialPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<MaterialDO> list = materialService.getMaterialPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "物料.xls", "数据", MaterialRespVO.class,
|
||||
BeanUtils.toBean(list, MaterialRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping({"/all-simples"})
|
||||
@Operation(summary = "TODO:获取物料精简信息列表", description = "只包含被开启的物料,主要用于前端的下拉选项")
|
||||
public CommonResult<List<Map<String, Object>> > getSimpleList() {
|
||||
List<Map<String, Object>> list = materialService.getSimpleList();
|
||||
// 拼接数据
|
||||
return success(list);
|
||||
}
|
||||
|
||||
@GetMapping({"/all-simples-virtual"})
|
||||
@Operation(summary = "TODO:获取物料精简信息列表", description = "只包含被开启的物料,主要用于前端的下拉选项")
|
||||
public CommonResult<List<Map<String, Object>> > getSimpleVirtualList() {
|
||||
List<Map<String, Object>> list = materialService.selectSimpleVirtualList();
|
||||
// 拼接数据
|
||||
return success(list);
|
||||
}
|
||||
|
||||
@PostMapping("/import")
|
||||
@Operation(summary = "导入用户")
|
||||
@Parameters({
|
||||
@Parameter(name = "file", description = "Excel 文件", required = true),
|
||||
@Parameter(name = "updateSupport", description = "是否支持更新,默认为 false", example = "true")
|
||||
})
|
||||
public CommonResult<Void> importExcel(@RequestParam("file") MultipartFile file,
|
||||
@RequestParam(value = "updateSupport", required = false, defaultValue = "false") Boolean updateSupport) throws Exception {
|
||||
List<MaterialExcelVO> list = ExcelUtils.read(file, MaterialExcelVO.class);
|
||||
materialService.importExcel(list, updateSupport);
|
||||
return success(null);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,95 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.materialplan;
|
||||
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
||||
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.materialplan.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplan.MaterialPlanDO;
|
||||
import com.chanko.yunxi.mes.module.heli.service.materialplan.MaterialPlanService;
|
||||
|
||||
@Tag(name = "管理后台 - 物料需求计划")
|
||||
@RestController
|
||||
@RequestMapping("/heli/material-plan")
|
||||
@Validated
|
||||
public class MaterialPlanController {
|
||||
|
||||
@Resource
|
||||
private MaterialPlanService materialPlanService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建物料需求计划")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan:create')")
|
||||
public CommonResult<Long> createMaterialPlan(@Valid @RequestBody MaterialPlanSaveReqVO createReqVO) {
|
||||
return success(materialPlanService.createMaterialPlan(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新物料需求计划")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan:update')")
|
||||
public CommonResult<Boolean> updateMaterialPlan(@Valid @RequestBody MaterialPlanSaveReqVO updateReqVO) {
|
||||
materialPlanService.updateMaterialPlan(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除物料需求计划")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan:delete')")
|
||||
public CommonResult<Boolean> deleteMaterialPlan(@RequestParam("id") Long id) {
|
||||
materialPlanService.deleteMaterialPlan(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得物料需求计划")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan:query')")
|
||||
public CommonResult<MaterialPlanRespVO> getMaterialPlan(@RequestParam("id") Long id) {
|
||||
MaterialPlanDO materialPlan = materialPlanService.getMaterialPlan(id);
|
||||
return success(BeanUtils.toBean(materialPlan, MaterialPlanRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得物料需求计划分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan:query')")
|
||||
public CommonResult<PageResult<MaterialPlanRespVO>> getMaterialPlanPage(@Valid MaterialPlanPageReqVO pageReqVO) {
|
||||
PageResult<MaterialPlanDO> pageResult = materialPlanService.getMaterialPlanPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, MaterialPlanRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出物料需求计划 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportMaterialPlanExcel(@Valid MaterialPlanPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<MaterialPlanDO> list = materialPlanService.getMaterialPlanPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "物料需求计划.xls", "数据", MaterialPlanRespVO.class,
|
||||
BeanUtils.toBean(list, MaterialPlanRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,115 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.materialplanboom;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO;
|
||||
import com.chanko.yunxi.mes.module.heli.service.processbom.ProcessBomService;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
||||
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.materialplanboom.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplanboom.MaterialPlanBoomDO;
|
||||
import com.chanko.yunxi.mes.module.heli.service.materialplanboom.MaterialPlanBoomService;
|
||||
|
||||
@Tag(name = "管理后台 - 物料需求计划加工件明细")
|
||||
@RestController
|
||||
@RequestMapping("/heli/material-plan-boom")
|
||||
@Validated
|
||||
public class MaterialPlanBoomController {
|
||||
|
||||
@Resource
|
||||
private MaterialPlanBoomService materialPlanBoomService;
|
||||
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建物料需求计划加工件明细")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan-boom:create')")
|
||||
public CommonResult<Long> createMaterialPlanBoom(@Valid @RequestBody MaterialPlanBoomSaveReqVO createReqVO) {
|
||||
return success(materialPlanBoomService.createMaterialPlanBoom(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新物料需求计划加工件明细")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan-boom:update')")
|
||||
public CommonResult<Boolean> updateMaterialPlanBoom(@Valid @RequestBody MaterialPlanBoomSaveReqVO updateReqVO) {
|
||||
materialPlanBoomService.updateMaterialPlanBoom(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除物料需求计划加工件明细")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan-boom:delete')")
|
||||
public CommonResult<Boolean> deleteMaterialPlanBoom(@RequestParam("id") Long id) {
|
||||
materialPlanBoomService.deleteMaterialPlanBoom(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得物料需求计划加工件明细")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan-boom:query')")
|
||||
public CommonResult<MaterialPlanBoomRespVO> getMaterialPlanBoom(@RequestParam("id") Long id) {
|
||||
MaterialPlanBoomDO materialPlanBoom = materialPlanBoomService.getMaterialPlanBoom(id);
|
||||
return success(BeanUtils.toBean(materialPlanBoom, MaterialPlanBoomRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得物料需求计划加工件明细分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan-boom:query')")
|
||||
public CommonResult<PageResult<MaterialPlanBoomRespVO>> getMaterialPlanBoomPage(@Valid MaterialPlanBoomPageReqVO pageReqVO) {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
PageResult<MaterialPlanBoomDO> pageResult = materialPlanBoomService.getMaterialPlanBoomPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, MaterialPlanBoomRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page-sum")
|
||||
@Operation(summary = "获得物料需求计划加工件明细分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan-boom:query')")
|
||||
public CommonResult<PageResult<MaterialPlanBoomRespVO>> getMaterialPlanBoomSumPage(@Valid MaterialPlanBoomPageReqVO pageReqVO) {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
PageResult<MaterialPlanBoomDO> pageResult = materialPlanBoomService.getMaterialPlanBoomSumPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, MaterialPlanBoomRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出物料需求计划加工件明细 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan-boom:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportMaterialPlanBoomExcel(@Valid MaterialPlanBoomPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<MaterialPlanBoomDO> list = materialPlanBoomService.getMaterialPlanBoomPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "物料需求计划加工件明细.xls", "数据", MaterialPlanBoomRespVO.class,
|
||||
BeanUtils.toBean(list, MaterialPlanBoomRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/boom")
|
||||
@Operation(summary = "获得物料需求计划加工件明细分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan-boom:query')")
|
||||
public CommonResult<PageResult<ProcessBomDetailDO>> getBoomByProjectPlanId(@Valid ProcessBoomPageReqVO pageReqVO) {
|
||||
PageResult<ProcessBomDetailDO> pageResult = materialPlanBoomService.getProcessBoomDetailList(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, ProcessBomDetailDO.class));
|
||||
}
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.materialplanboom.vo;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 物料需求计划加工件明细分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class ProcessBoomPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "生产计划id")
|
||||
private Long planId;
|
||||
|
||||
@Schema(description = "加工件名称")
|
||||
private String materialName;
|
||||
|
||||
@Schema(description = "生产计划子项目编号")
|
||||
private String projectSubCode;
|
||||
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.materialplanboom.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 物料需求计划加工件明细 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ProcessBoomRespVO {
|
||||
|
||||
@Schema(description = "生产计划Id")
|
||||
private Long planId;
|
||||
|
||||
@Schema(description = "物料Id")
|
||||
private Long materialId;
|
||||
|
||||
@Schema(description = "零件名称")
|
||||
private String materialName;
|
||||
|
||||
@Schema(description = "生产计划子项目id")
|
||||
private Long projectPlanSubId;
|
||||
|
||||
@Schema(description = "子项目编号")
|
||||
private String projectSubCode;
|
||||
|
||||
@Schema(description = "加工件Id")
|
||||
private Long boomDetailId;
|
||||
|
||||
@Schema(description = "需求数量")
|
||||
private BigDecimal boomAmount;
|
||||
|
||||
@Schema(description = "需求到货日期")
|
||||
private LocalDateTime boomArriveDate;
|
||||
|
||||
@Schema(description = "备注")
|
||||
@ExcelProperty("备注")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "规格型号")
|
||||
@ExcelProperty("规格型号")
|
||||
private String boomSpec;
|
||||
|
||||
@Schema(description = "系统单位")
|
||||
@ExcelProperty("系统单位")
|
||||
private String boomUnit;
|
||||
|
||||
@Schema(description = "材质")
|
||||
@ExcelProperty("材质")
|
||||
private String compositionName;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,103 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.materialplandetail;
|
||||
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
||||
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.materialplandetail.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplandetail.MaterialPlanDetailDO;
|
||||
import com.chanko.yunxi.mes.module.heli.service.materialplandetail.MaterialPlanDetailService;
|
||||
|
||||
@Tag(name = "管理后台 - 物料需求计划物料详情")
|
||||
@RestController
|
||||
@RequestMapping("/heli/material-plan-detail")
|
||||
@Validated
|
||||
public class MaterialPlanDetailController {
|
||||
|
||||
@Resource
|
||||
private MaterialPlanDetailService materialPlanDetailService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建物料需求计划物料详情")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan-detail:create')")
|
||||
public CommonResult<Long> createMaterialPlanDetail(@Valid @RequestBody MaterialPlanDetailSaveReqVO createReqVO) {
|
||||
return success(materialPlanDetailService.createMaterialPlanDetail(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新物料需求计划物料详情")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan-detail:update')")
|
||||
public CommonResult<Boolean> updateMaterialPlanDetail(@Valid @RequestBody MaterialPlanDetailSaveReqVO updateReqVO) {
|
||||
materialPlanDetailService.updateMaterialPlanDetail(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除物料需求计划物料详情")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan-detail:delete')")
|
||||
public CommonResult<Boolean> deleteMaterialPlanDetail(@RequestParam("id") Long id) {
|
||||
materialPlanDetailService.deleteMaterialPlanDetail(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得物料需求计划物料详情")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan-detail:query')")
|
||||
public CommonResult<MaterialPlanDetailRespVO> getMaterialPlanDetail(@RequestParam("id") Long id) {
|
||||
MaterialPlanDetailDO materialPlanDetail = materialPlanDetailService.getMaterialPlanDetail(id);
|
||||
return success(BeanUtils.toBean(materialPlanDetail, MaterialPlanDetailRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得物料需求计划物料详情分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan-detail:query')")
|
||||
public CommonResult<PageResult<MaterialPlanDetailRespVO>> getMaterialPlanDetailPage(@Valid MaterialPlanDetailPageReqVO pageReqVO) {
|
||||
PageResult<MaterialPlanDetailDO> pageResult = materialPlanDetailService.getMaterialPlanDetailPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, MaterialPlanDetailRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page-sum")
|
||||
@Operation(summary = "获得物料需求计划物料详情分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan-detail:query')")
|
||||
public CommonResult<PageResult<MaterialPlanDetailRespVO>> getMaterialPlanDetailSumPage(@Valid MaterialPlanDetailPageReqVO pageReqVO) {
|
||||
PageResult<MaterialPlanDetailDO> pageResult = materialPlanDetailService.getMaterialPlanDetailSumPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, MaterialPlanDetailRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出物料需求计划物料详情 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('heli:material-plan-detail:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportMaterialPlanDetailExcel(@Valid MaterialPlanDetailPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<MaterialPlanDetailDO> list = materialPlanDetailService.getMaterialPlanDetailPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "物料需求计划物料详情.xls", "数据", MaterialPlanDetailRespVO.class,
|
||||
BeanUtils.toBean(list, MaterialPlanDetailRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.materialplandetail.vo;
|
||||
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 物料需求计划物料详情分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class MaterialPlanDetailPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "自增字段,唯一")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "物料需求采购计划id")
|
||||
private Long projectMaterialPlanId;
|
||||
|
||||
@Schema(description = "物料id")
|
||||
private Long materialId;
|
||||
|
||||
@Schema(description = "物料名称")
|
||||
private String matName;
|
||||
|
||||
@Schema(description = "物料编码")
|
||||
private String matCode;
|
||||
|
||||
@Schema(description = "物料类型")
|
||||
private Long matType;
|
||||
|
||||
@Schema(description = "子项目编号")
|
||||
private Long projectSubId;
|
||||
|
||||
@Schema(description = "需求数量")
|
||||
private BigDecimal requireAmount;
|
||||
|
||||
@Schema(description = "需求到货日期")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] requireArriveTime;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,78 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.materialplandetail.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.util.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.excel.annotation.*;
|
||||
|
||||
@Schema(description = "管理后台 - 物料需求计划物料详情 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class MaterialPlanDetailRespVO {
|
||||
|
||||
@Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("自增字段,唯一")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "物料需求采购计划id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("物料需求采购计划id")
|
||||
private Long projectMaterialPlanId;
|
||||
|
||||
@Schema(description = "物料id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("物料id")
|
||||
private Long materialId;
|
||||
|
||||
@Schema(description = "子项目编号")
|
||||
@ExcelProperty("子项目编号")
|
||||
private Long projectSubId;
|
||||
|
||||
@Schema(description = "需求数量")
|
||||
@ExcelProperty("需求数量")
|
||||
private BigDecimal requireAmount;
|
||||
|
||||
@Schema(description = "库存数量")
|
||||
@ExcelProperty("库存数量")
|
||||
private BigDecimal matRest;
|
||||
|
||||
@Schema(description = "需求到货日期")
|
||||
@ExcelProperty("需求到货日期")
|
||||
private LocalDateTime requireArriveTime;
|
||||
|
||||
@Schema(description = "备注")
|
||||
@ExcelProperty("备注")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "物料id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("物料id")
|
||||
private Long matId;
|
||||
|
||||
@Schema(description = "备注")
|
||||
@ExcelProperty("物料名称")
|
||||
private String matName;
|
||||
|
||||
@Schema(description = "备注")
|
||||
@ExcelProperty("物料编码")
|
||||
private String matCode;
|
||||
|
||||
@Schema(description = "备注")
|
||||
@ExcelProperty("物料规格型号")
|
||||
private String matSpec;
|
||||
|
||||
@Schema(description = "备注")
|
||||
@ExcelProperty("物料单位")
|
||||
private String matUnit;
|
||||
|
||||
@Schema(description = "备注")
|
||||
@ExcelProperty("物料类型")
|
||||
private String matType;
|
||||
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.materialplandetail.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
import java.util.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 物料需求计划物料详情新增/修改 Request VO")
|
||||
@Data
|
||||
public class MaterialPlanDetailSaveReqVO {
|
||||
|
||||
@Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "物料需求采购计划id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "物料需求采购计划id不能为空")
|
||||
private Long projectMaterialPlanId;
|
||||
|
||||
@Schema(description = "物料id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "物料id不能为空")
|
||||
private Long materialId;
|
||||
|
||||
@Schema(description = "子项目编号")
|
||||
private Long projectSubId;
|
||||
|
||||
@Schema(description = "需求数量")
|
||||
private BigDecimal requireAmount;
|
||||
|
||||
@Schema(description = "需求到货日期")
|
||||
private LocalDateTime requireArriveTime;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String description;
|
||||
|
||||
}
|
@ -1,95 +1,110 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.mouldtype;
|
||||
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
||||
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.mouldtype.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.mouldtype.MouldTypeDO;
|
||||
import com.chanko.yunxi.mes.module.heli.service.mouldtype.MouldTypeService;
|
||||
|
||||
@Tag(name = "管理后台 - 模具类型")
|
||||
@RestController
|
||||
@RequestMapping("/heli/mould-type")
|
||||
@Validated
|
||||
public class MouldTypeController {
|
||||
|
||||
@Resource
|
||||
private MouldTypeService mouldTypeService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建模具类型")
|
||||
@PreAuthorize("@ss.hasPermission('heli:mould-type:create')")
|
||||
public CommonResult<Long> createMouldType(@Valid @RequestBody MouldTypeSaveReqVO createReqVO) {
|
||||
return success(mouldTypeService.createMouldType(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新模具类型")
|
||||
@PreAuthorize("@ss.hasPermission('heli:mould-type:update')")
|
||||
public CommonResult<Boolean> updateMouldType(@Valid @RequestBody MouldTypeSaveReqVO updateReqVO) {
|
||||
mouldTypeService.updateMouldType(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除模具类型")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('heli:mould-type:delete')")
|
||||
public CommonResult<Boolean> deleteMouldType(@RequestParam("id") Long id) {
|
||||
mouldTypeService.deleteMouldType(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得模具类型")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('heli:mould-type:query')")
|
||||
public CommonResult<MouldTypeRespVO> getMouldType(@RequestParam("id") Long id) {
|
||||
MouldTypeDO mouldType = mouldTypeService.getMouldType(id);
|
||||
return success(BeanUtils.toBean(mouldType, MouldTypeRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得模具类型分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:mould-type:query')")
|
||||
public CommonResult<PageResult<MouldTypeRespVO>> getMouldTypePage(@Valid MouldTypePageReqVO pageReqVO) {
|
||||
PageResult<MouldTypeDO> pageResult = mouldTypeService.getMouldTypePage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, MouldTypeRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出模具类型 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('heli:mould-type:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportMouldTypeExcel(@Valid MouldTypePageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<MouldTypeDO> list = mouldTypeService.getMouldTypePage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "模具类型.xls", "数据", MouldTypeRespVO.class,
|
||||
BeanUtils.toBean(list, MouldTypeRespVO.class));
|
||||
}
|
||||
|
||||
}
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.mouldtype;
|
||||
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
||||
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.mouldtype.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.mouldtype.MouldTypeDO;
|
||||
import com.chanko.yunxi.mes.module.heli.service.mouldtype.MouldTypeService;
|
||||
|
||||
@Tag(name = "管理后台 - 模具类型")
|
||||
@RestController
|
||||
@RequestMapping("/heli/mould-type")
|
||||
@Validated
|
||||
public class MouldTypeController {
|
||||
|
||||
@Resource
|
||||
private MouldTypeService mouldTypeService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建模具类型")
|
||||
@PreAuthorize("@ss.hasPermission('heli:mould-type:create')")
|
||||
public CommonResult<Long> createMouldType(@Valid @RequestBody MouldTypeSaveReqVO createReqVO) {
|
||||
return success(mouldTypeService.createMouldType(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新模具类型")
|
||||
@PreAuthorize("@ss.hasPermission('heli:mould-type:update')")
|
||||
public CommonResult<Boolean> updateMouldType(@Valid @RequestBody MouldTypeSaveReqVO updateReqVO) {
|
||||
mouldTypeService.updateMouldType(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除模具类型")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('heli:mould-type:delete')")
|
||||
public CommonResult<Boolean> deleteMouldType(@RequestParam("id") Long id) {
|
||||
mouldTypeService.deleteMouldType(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得模具类型")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('heli:mould-type:query')")
|
||||
public CommonResult<MouldTypeRespVO> getMouldType(@RequestParam("id") Long id) {
|
||||
MouldTypeDO mouldType = mouldTypeService.getMouldType(id);
|
||||
return success(BeanUtils.toBean(mouldType, MouldTypeRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得模具类型分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:mould-type:query')")
|
||||
public CommonResult<PageResult<MouldTypeRespVO>> getMouldTypePage(@Valid MouldTypePageReqVO pageReqVO) {
|
||||
PageResult<MouldTypeDO> pageResult = mouldTypeService.getMouldTypePage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, MouldTypeRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出模具类型 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('heli:mould-type:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportMouldTypeExcel(@Valid MouldTypePageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<MouldTypeDO> list = mouldTypeService.getMouldTypePage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "模具类型.xls", "数据", MouldTypeRespVO.class,
|
||||
BeanUtils.toBean(list, MouldTypeRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping({"/all-simples"})
|
||||
@Operation(summary = "TODO:获取模块类型信息列表", description = "只包含被开启的模块类型,主要用于前端的下拉选项")
|
||||
public CommonResult<List<Map<String, Object>> > getSimpleList() {
|
||||
List<Map<String, Object>> list = mouldTypeService.getMouldTypeSimpleList();
|
||||
// 拼接数据
|
||||
return success(list);
|
||||
}
|
||||
|
||||
@GetMapping({"/all-no-status-simples"})
|
||||
@Operation(summary = "TODO:获取无状态模块类型信息列表", description = "模块类型,主要用于前端的下拉选项")
|
||||
public CommonResult<List<Map<String, Object>> > getNoStatusSimpleList() {
|
||||
List<Map<String, Object>> list = mouldTypeService.getMouldTypeNoStatusSimpleList();
|
||||
// 拼接数据
|
||||
return success(list);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,103 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.plan;
|
||||
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
||||
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.plan.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO;
|
||||
import com.chanko.yunxi.mes.module.heli.service.plan.PlanService;
|
||||
|
||||
@Tag(name = "管理后台 - 生产计划")
|
||||
@RestController
|
||||
@RequestMapping("/heli/plan")
|
||||
@Validated
|
||||
public class PlanController {
|
||||
|
||||
@Resource
|
||||
private PlanService planService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建生产计划")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan:create')")
|
||||
public CommonResult<Long> createPlan(@Valid @RequestBody PlanSaveReqVO createReqVO) {
|
||||
return success(planService.createPlan(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新生产计划")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan:update')")
|
||||
public CommonResult<Boolean> updatePlan(@Valid @RequestBody PlanSaveReqVO updateReqVO) {
|
||||
planService.updatePlan(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除生产计划")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan:delete')")
|
||||
public CommonResult<Boolean> deletePlan(@RequestParam("id") Long id) {
|
||||
planService.deletePlan(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得生产计划")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan:query')")
|
||||
public CommonResult<PlanRespVO> getPlan(@RequestParam("id") Long id) {
|
||||
PlanDO plan = planService.getPlan(id);
|
||||
return success(BeanUtils.toBean(plan, PlanRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得生产计划分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan:query')")
|
||||
public CommonResult<PageResult<PlanRespVO>> getPlanPage(@Valid PlanPageReqVO pageReqVO) {
|
||||
PageResult<PlanDO> pageResult = planService.getPlanPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, PlanRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page-by-status")
|
||||
@Operation(summary = "获得生产计划分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan:query')")
|
||||
public CommonResult<PageResult<PlanRespVO>> getPlanPageByStatus(@Valid PlanPageReqVO pageReqVO) {
|
||||
PageResult<PlanDO> pageResult = planService.getPlanPageByStatus(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, PlanRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出生产计划 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportPlanExcel(@Valid PlanPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<PlanDO> list = planService.getPlanPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "生产计划.xls", "数据", PlanRespVO.class,
|
||||
BeanUtils.toBean(list, PlanRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,95 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.plansub;
|
||||
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
||||
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.plansub.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plansub.PlanSubDO;
|
||||
import com.chanko.yunxi.mes.module.heli.service.plansub.PlanSubService;
|
||||
|
||||
@Tag(name = "管理后台 - 生产计划子项目")
|
||||
@RestController
|
||||
@RequestMapping("/heli/plan-sub")
|
||||
@Validated
|
||||
public class PlanSubController {
|
||||
|
||||
@Resource
|
||||
private PlanSubService planSubService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建生产计划子项目")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan-sub:create')")
|
||||
public CommonResult<Long> createPlanSub(@Valid @RequestBody PlanSubSaveReqVO createReqVO) {
|
||||
return success(planSubService.createPlanSub(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新生产计划子项目")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan-sub:update')")
|
||||
public CommonResult<Boolean> updatePlanSub(@Valid @RequestBody PlanSubSaveReqVO updateReqVO) {
|
||||
planSubService.updatePlanSub(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除生产计划子项目")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan-sub:delete')")
|
||||
public CommonResult<Boolean> deletePlanSub(@RequestParam("id") Long id) {
|
||||
planSubService.deletePlanSub(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得生产计划子项目")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan-sub:query')")
|
||||
public CommonResult<PlanSubRespVO> getPlanSub(@RequestParam("id") Long id) {
|
||||
PlanSubDO planSub = planSubService.getPlanSub(id);
|
||||
return success(BeanUtils.toBean(planSub, PlanSubRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得生产计划子项目分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan-sub:query')")
|
||||
public CommonResult<PageResult<PlanSubRespVO>> getPlanSubPage(@Valid PlanSubPageReqVO pageReqVO) {
|
||||
PageResult<PlanSubDO> pageResult = planSubService.getPlanSubPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, PlanSubRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出生产计划子项目 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan-sub:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportPlanSubExcel(@Valid PlanSubPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<PlanSubDO> list = planSubService.getPlanSubPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "生产计划子项目.xls", "数据", PlanSubRespVO.class,
|
||||
BeanUtils.toBean(list, PlanSubRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.plansub.vo;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 生产计划子项目分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class PlanSubPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "自增字段,唯一")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "计划id")
|
||||
private Long projectPlanId;
|
||||
|
||||
@Schema(description = "项目id")
|
||||
private Long projectId;
|
||||
|
||||
@Schema(description = "子项目id")
|
||||
private Long projectSubId;
|
||||
|
||||
@Schema(description = "模具类型id")
|
||||
private Long mouldId;
|
||||
|
||||
@Schema(description = "设备id")
|
||||
private Long equipId;
|
||||
|
||||
@Schema(description = "毛坯结束日期")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] blankDate;
|
||||
|
||||
@Schema(description = "毛坯负责人")
|
||||
private String blankOwner;
|
||||
|
||||
@Schema(description = "2D结束日期")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] twoDimDate;
|
||||
|
||||
@Schema(description = "2D负责人")
|
||||
private String twoDimOwner;
|
||||
|
||||
@Schema(description = "3D结束日期")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] threeDimDate;
|
||||
|
||||
@Schema(description = "3D负责人")
|
||||
private String threeDimOwner;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,79 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.plansub.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.util.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.excel.annotation.*;
|
||||
|
||||
@Schema(description = "管理后台 - 生产计划子项目 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class PlanSubRespVO {
|
||||
|
||||
@Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("自增字段,唯一")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "计划id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("计划id")
|
||||
private Long projectPlanId;
|
||||
|
||||
@Schema(description = "项目id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("项目id")
|
||||
private Long projectId;
|
||||
|
||||
@Schema(description = "子项目id")
|
||||
@ExcelProperty("子项目id")
|
||||
private Long projectSubId;
|
||||
|
||||
@Schema(description = "子项目简称")
|
||||
@ExcelProperty("子项目简称")
|
||||
private String projectSubShortName;
|
||||
|
||||
@Schema(description = "子项目编码")
|
||||
@ExcelProperty("子项目编码")
|
||||
private String projectSubCode;
|
||||
|
||||
@Schema(description = "模具类型id")
|
||||
@ExcelProperty("模具类型id")
|
||||
private Long mouldId;
|
||||
|
||||
@Schema(description = "设备id")
|
||||
@ExcelProperty("设备id")
|
||||
private Long equipId;
|
||||
|
||||
@Schema(description = "毛坯结束日期")
|
||||
@ExcelProperty("毛坯结束日期")
|
||||
private LocalDateTime blankDate;
|
||||
|
||||
@Schema(description = "毛坯负责人")
|
||||
@ExcelProperty("毛坯负责人")
|
||||
private Long blankOwner;
|
||||
|
||||
@Schema(description = "2D结束日期")
|
||||
@ExcelProperty("2D结束日期")
|
||||
private LocalDateTime twoDimDate;
|
||||
|
||||
@Schema(description = "2D负责人")
|
||||
@ExcelProperty("2D负责人")
|
||||
private Long twoDimOwner;
|
||||
|
||||
@Schema(description = "3D结束日期")
|
||||
@ExcelProperty("3D结束日期")
|
||||
private LocalDateTime threeDimDate;
|
||||
|
||||
@Schema(description = "3D负责人")
|
||||
@ExcelProperty("3D负责人")
|
||||
private Long threeDimOwner;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "子项目名称")
|
||||
private String projectSubName;
|
||||
|
||||
}
|
@ -0,0 +1,58 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.plansub.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
import java.util.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 生产计划子项目新增/修改 Request VO")
|
||||
@Data
|
||||
public class PlanSubSaveReqVO {
|
||||
|
||||
@Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "计划id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long projectPlanId;
|
||||
|
||||
@Schema(description = "项目id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "项目id不能为空")
|
||||
private Long projectId;
|
||||
|
||||
@Schema(description = "子项目id")
|
||||
private Long projectSubId;
|
||||
|
||||
@Schema(description = "子项目简称")
|
||||
private String projectSubShortName;
|
||||
|
||||
@Schema(description = "子项目编号")
|
||||
private String projectSubCode;
|
||||
|
||||
@Schema(description = "模具类型id")
|
||||
private Long mouldId;
|
||||
|
||||
@Schema(description = "设备id")
|
||||
private Long equipId;
|
||||
|
||||
@Schema(description = "毛坯结束日期")
|
||||
private LocalDateTime blankDate;
|
||||
|
||||
@Schema(description = "毛坯负责人")
|
||||
private String blankOwner;
|
||||
|
||||
@Schema(description = "2D结束日期")
|
||||
private LocalDateTime twoDimDate;
|
||||
|
||||
@Schema(description = "2D负责人")
|
||||
private String twoDimOwner;
|
||||
|
||||
@Schema(description = "3D结束日期")
|
||||
private LocalDateTime threeDimDate;
|
||||
|
||||
@Schema(description = "3D负责人")
|
||||
private String threeDimOwner;
|
||||
|
||||
}
|
@ -0,0 +1,130 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.plantask;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum;
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.service.OperateLogFrameworkService;
|
||||
import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
||||
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.plantask.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plantask.PlanTaskDO;
|
||||
import com.chanko.yunxi.mes.module.heli.service.plantask.PlanTaskService;
|
||||
|
||||
@Tag(name = "管理后台 - 生产计划任务")
|
||||
@RestController
|
||||
@RequestMapping("/heli/plan-task")
|
||||
@Validated
|
||||
public class PlanTaskController {
|
||||
|
||||
@Resource
|
||||
private PlanTaskService planTaskService;
|
||||
|
||||
@Resource
|
||||
private OperateLogFrameworkService operateLogFrameworkService;
|
||||
|
||||
@Resource
|
||||
private HttpServletRequest request;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建生产计划任务")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan-task:create')")
|
||||
public CommonResult<Long> createPlanTask(@Valid @RequestBody PlanTaskSaveReqVO createReqVO) {
|
||||
return success(planTaskService.createPlanTask(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新生产计划任务")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan-task:update')")
|
||||
public CommonResult<Boolean> updatePlanTask(@Valid @RequestBody PlanTaskSaveReqVO updateReqVO) {
|
||||
LocalDateTime startTime = LocalDateTime.now();
|
||||
planTaskService.updatePlanTask(updateReqVO);
|
||||
|
||||
// 手动记录日志
|
||||
operateLogFrameworkService.createOperateLog(request,
|
||||
startTime,
|
||||
BusinesTypeEnum.PLAN_TASK.name(),
|
||||
updateReqVO.getId(),
|
||||
OperateTypeEnum.valueOf(updateReqVO.getActive()).getType(),
|
||||
"");
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除生产计划任务")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan-task:delete')")
|
||||
public CommonResult<Boolean> deletePlanTask(@RequestParam("id") Long id) {
|
||||
planTaskService.deletePlanTask(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得生产计划任务")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan-task:query')")
|
||||
public CommonResult<PlanTaskRespVO> getPlanTask(@RequestParam("id") Long id) {
|
||||
PlanTaskDO planTask = planTaskService.getPlanTask(id);
|
||||
return success(BeanUtils.toBean(planTask, PlanTaskRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得生产计划任务分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan-task:query')")
|
||||
public CommonResult<PageResult<PlanTaskRespVO>> getPlanTaskPage(@Valid PlanTaskPageReqVO pageReqVO) {
|
||||
PageResult<PlanTaskDO> pageResult = planTaskService.getPlanTaskPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, PlanTaskRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出生产计划任务 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan-task:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportPlanTaskExcel(@Valid PlanTaskPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<PlanTaskDO> list = planTaskService.getPlanTaskPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "生产计划任务.xls", "数据", PlanTaskRespVO.class,
|
||||
BeanUtils.toBean(list, PlanTaskRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/get-version-status")
|
||||
@Operation(summary = "获得bom需要更新的状态")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan-task:query')")
|
||||
public CommonResult<Integer> getPlanTaskBomStatus(@RequestParam("id") Long id) {
|
||||
return success(planTaskService.getPlanTaskBomStatus(id));
|
||||
}
|
||||
|
||||
@GetMapping("/refresh")
|
||||
@Operation(summary = "刷新生产计划任务单最新数据")
|
||||
@Parameter(name = "id", description = "生产计划id", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan-task:query')")
|
||||
public CommonResult<Integer> refreshPlanTaskByPlanId(@RequestParam("id") Long id) {
|
||||
return success(planTaskService.refreshPlanTaskByPlanId(id));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,95 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.plantaskbom;
|
||||
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
|
||||
import static com.chanko.yunxi.mes.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.operatelog.core.annotations.OperateLog;
|
||||
import static com.chanko.yunxi.mes.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import com.chanko.yunxi.mes.module.heli.controller.admin.plantaskbom.vo.*;
|
||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.plantaskbom.PlanTaskBomDO;
|
||||
import com.chanko.yunxi.mes.module.heli.service.plantaskbom.PlanTaskBomService;
|
||||
|
||||
@Tag(name = "管理后台 - 生产计划任务Bom")
|
||||
@RestController
|
||||
@RequestMapping("/heli/plan-task-bom")
|
||||
@Validated
|
||||
public class PlanTaskBomController {
|
||||
|
||||
@Resource
|
||||
private PlanTaskBomService planTaskBomService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建生产计划任务Bom")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan-task-bom:create')")
|
||||
public CommonResult<Long> createPlanTaskBom(@Valid @RequestBody PlanTaskBomSaveReqVO createReqVO) {
|
||||
return success(planTaskBomService.createPlanTaskBom(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新生产计划任务Bom")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan-task-bom:update')")
|
||||
public CommonResult<Boolean> updatePlanTaskBom(@Valid @RequestBody PlanTaskBomSaveReqVO updateReqVO) {
|
||||
planTaskBomService.updatePlanTaskBom(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除生产计划任务Bom")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan-task-bom:delete')")
|
||||
public CommonResult<Boolean> deletePlanTaskBom(@RequestParam("id") Long id) {
|
||||
planTaskBomService.deletePlanTaskBom(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得生产计划任务Bom")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan-task-bom:query')")
|
||||
public CommonResult<PlanTaskBomRespVO> getPlanTaskBom(@RequestParam("id") Long id) {
|
||||
PlanTaskBomDO planTaskBom = planTaskBomService.getPlanTaskBom(id);
|
||||
return success(BeanUtils.toBean(planTaskBom, PlanTaskBomRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得生产计划任务Bom分页")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan-task-bom:query')")
|
||||
public CommonResult<PageResult<PlanTaskBomRespVO>> getPlanTaskBomPage(@Valid PlanTaskBomPageReqVO pageReqVO) {
|
||||
PageResult<PlanTaskBomDO> pageResult = planTaskBomService.getPlanTaskBomPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, PlanTaskBomRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出生产计划任务Bom Excel")
|
||||
@PreAuthorize("@ss.hasPermission('heli:plan-task-bom:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportPlanTaskBomExcel(@Valid PlanTaskBomPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<PlanTaskBomDO> list = planTaskBomService.getPlanTaskBomPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "生产计划任务Bom.xls", "数据", PlanTaskBomRespVO.class,
|
||||
BeanUtils.toBean(list, PlanTaskBomRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.plantaskbom.vo;
|
||||
|
||||
import com.chanko.yunxi.mes.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 生产计划任务Bom分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class PlanTaskBomPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "自增字段,唯一")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "生产任务id")
|
||||
private Long taskId;
|
||||
|
||||
@Schema(description = "bom明细id")
|
||||
private Long bomDetailId;
|
||||
|
||||
@Schema(description = "负责人")
|
||||
private String owner;
|
||||
|
||||
@Schema(description = "要求完成日期")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] requireEndDate;
|
||||
|
||||
@Schema(description = "项目id")
|
||||
private Long projectId;
|
||||
|
||||
@Schema(description = "子项目id")
|
||||
private Long projectSubId;
|
||||
|
||||
@Schema(description = "零件类型 1 标准件|2 其它")
|
||||
private String materialType;
|
||||
|
||||
private Long projectPlanId;
|
||||
|
||||
private Long projectPlanSubId;
|
||||
|
||||
private Boolean sortByBlueprintNo;
|
||||
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.plantaskbom.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 生产计划任务Bom Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class PlanTaskBomRespVO {
|
||||
|
||||
@Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("自增字段,唯一")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "生产任务id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("生产任务id")
|
||||
private Long taskId;
|
||||
|
||||
@Schema(description = "bom明细id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("bom明细id")
|
||||
private Long bomDetailId;
|
||||
|
||||
@Schema(description = "负责人")
|
||||
@ExcelProperty("负责人")
|
||||
private String owner;
|
||||
|
||||
@Schema(description = "要求完成日期")
|
||||
@ExcelProperty("要求完成日期")
|
||||
private LocalDateTime requireEndDate;
|
||||
|
||||
@Schema(description = "零件名称")
|
||||
private String materialName;
|
||||
|
||||
@Schema(description = "物料名称")
|
||||
private String compositionName;
|
||||
|
||||
@Schema(description = "图号")
|
||||
private String blueprintNo;
|
||||
|
||||
@Schema(description = "零件类型 1 标准件|2 其它")
|
||||
private String type;
|
||||
|
||||
@Schema(description = "物料id")
|
||||
private Long materialId;
|
||||
|
||||
@Schema(description = "物料编码")
|
||||
private String materialCode;
|
||||
|
||||
@Schema(description = "材质id")
|
||||
private Long compositionId;
|
||||
|
||||
@Schema(description = "规格")
|
||||
private String spec;
|
||||
|
||||
@Schema(description = "单位")
|
||||
private String unit;
|
||||
|
||||
@Schema(description = "数量")
|
||||
private Integer amount;
|
||||
|
||||
@Schema(description = "负责人名称")
|
||||
private String ownerName;
|
||||
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
package com.chanko.yunxi.mes.module.heli.controller.admin.plantaskbom.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
import java.util.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 生产计划任务Bom新增/修改 Request VO")
|
||||
@Data
|
||||
public class PlanTaskBomSaveReqVO {
|
||||
|
||||
@Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "生产任务id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "生产任务id不能为空")
|
||||
private Long taskId;
|
||||
|
||||
@Schema(description = "bom明细id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "bom明细id不能为空")
|
||||
private Long bomDetailId;
|
||||
|
||||
@Schema(description = "负责人")
|
||||
private String owner;
|
||||
|
||||
@Schema(description = "要求完成日期")
|
||||
private LocalDateTime requireEndDate;
|
||||
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue